511 lines
14 KiB
XML
511 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<svg
|
||
width="1600"
|
||
height="900"
|
||
viewBox="0 0 1600 900"
|
||
version="1.1"
|
||
id="svg53"
|
||
sodipodi:docname="archicratie-web-edition-machine-editoriale-verbatim-v2.svg"
|
||
inkscape:version="1.3-alpha (95f74fb, 2023-03-31)"
|
||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||
xmlns="http://www.w3.org/2000/svg"
|
||
xmlns:svg="http://www.w3.org/2000/svg">
|
||
<sodipodi:namedview
|
||
id="namedview53"
|
||
pagecolor="#ffffff"
|
||
bordercolor="#000000"
|
||
borderopacity="0.25"
|
||
inkscape:showpageshadow="2"
|
||
inkscape:pageopacity="0.0"
|
||
inkscape:pagecheckerboard="0"
|
||
inkscape:deskcolor="#d1d1d1"
|
||
inkscape:zoom="0.82625"
|
||
inkscape:cx="655.97579"
|
||
inkscape:cy="478.66868"
|
||
inkscape:window-width="1472"
|
||
inkscape:window-height="1022"
|
||
inkscape:window-x="234"
|
||
inkscape:window-y="30"
|
||
inkscape:window-maximized="0"
|
||
inkscape:current-layer="svg53" />
|
||
<defs
|
||
id="defs4">
|
||
<!-- Fond clair lisible partout -->
|
||
<linearGradient
|
||
id="bg"
|
||
x1="0"
|
||
y1="0"
|
||
x2="1"
|
||
y2="1">
|
||
<stop
|
||
offset="0"
|
||
stop-color="#ffffff"
|
||
id="stop1" />
|
||
<stop
|
||
offset="1"
|
||
stop-color="#f1f5f9"
|
||
id="stop2" />
|
||
</linearGradient>
|
||
<!-- Flèches -->
|
||
<marker
|
||
id="arrow"
|
||
markerWidth="10"
|
||
markerHeight="10"
|
||
refX="9"
|
||
refY="3"
|
||
orient="auto">
|
||
<path
|
||
d="M0,0 L9,3 L0,6 Z"
|
||
fill="#334155"
|
||
id="path2" />
|
||
</marker>
|
||
<marker
|
||
id="arrowA"
|
||
markerWidth="10"
|
||
markerHeight="10"
|
||
refX="9"
|
||
refY="3"
|
||
orient="auto">
|
||
<path
|
||
d="M0,0 L9,3 L0,6 Z"
|
||
fill="#2563eb"
|
||
id="path3" />
|
||
</marker>
|
||
<marker
|
||
id="arrowG"
|
||
markerWidth="10"
|
||
markerHeight="10"
|
||
refX="9"
|
||
refY="3"
|
||
orient="auto">
|
||
<path
|
||
d="M0,0 L9,3 L0,6 Z"
|
||
fill="#059669"
|
||
id="path4" />
|
||
</marker>
|
||
<!-- Styles SANS variables CSS (compat max) -->
|
||
<style
|
||
id="style4"><![CDATA[
|
||
.title{font:800 28px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial;fill:#0f172a}
|
||
.subtitle{font:500 14px/1.3 system-ui,-apple-system,Segoe UI,Roboto,Arial;fill:#475569}
|
||
.h{font:800 16px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial;fill:#0f172a}
|
||
.t{font:500 13px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial;fill:#111827}
|
||
.s{font:500 12px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial;fill:#475569}
|
||
.mono{font:600 12px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;fill:#0f172a}
|
||
|
||
/* Cadres lisibles */
|
||
.box{fill:#ffffff;stroke:#0ea5e9;stroke-width:1.4}
|
||
.box2{fill:#f8fafc;stroke:#94a3b8;stroke-width:1.2}
|
||
|
||
/* Pills */
|
||
.chip{fill:#dbeafe;stroke:#2563eb;stroke-width:1}
|
||
.chip2{fill:#d1fae5;stroke:#059669;stroke-width:1}
|
||
.chipW{fill:#fef3c7;stroke:#d97706;stroke-width:1}
|
||
.chipD{fill:#fee2e2;stroke:#dc2626;stroke-width:1}
|
||
|
||
/* Traits / flèches */
|
||
.line{stroke:#334155;stroke-width:1.4;fill:none}
|
||
.dash{stroke-dasharray:6 6}
|
||
.arrow{stroke:#334155;stroke-width:1.8;fill:none;marker-end:url(#arrow)}
|
||
.arrowA{stroke:#2563eb;stroke-width:2.0;fill:none;marker-end:url(#arrowA)}
|
||
.arrowG{stroke:#059669;stroke-width:2.0;fill:none;marker-end:url(#arrowG)}
|
||
]]></style>
|
||
</defs>
|
||
<rect
|
||
x="0"
|
||
y="0"
|
||
width="1600"
|
||
height="900"
|
||
fill="url(#bg)"
|
||
id="rect4" />
|
||
<text
|
||
x="40"
|
||
y="56"
|
||
class="title"
|
||
id="text4">Archicratie — Machine éditoriale (v2, verbatim)</text>
|
||
<text
|
||
x="40"
|
||
y="84"
|
||
class="subtitle"
|
||
id="text5">Détails scripts/fichiers — 2026-02-20</text>
|
||
<rect
|
||
x="40"
|
||
y="140"
|
||
width="460"
|
||
height="236.05144"
|
||
class="box"
|
||
id="rect5" />
|
||
<text
|
||
x="58"
|
||
y="170"
|
||
class="h"
|
||
id="text6">Sources (repo)</text>
|
||
<text
|
||
x="58"
|
||
y="194"
|
||
class="t"
|
||
id="text7">Contenu : src/content/** (MD/MDX)</text>
|
||
<text
|
||
x="58"
|
||
y="212"
|
||
class="t"
|
||
id="text8">Annotations : src/annotations/** (YAML)</text>
|
||
<text
|
||
x="58"
|
||
y="230"
|
||
class="t"
|
||
id="text9">UI : src/layouts + src/components + global.css</text>
|
||
<text
|
||
x="58"
|
||
y="248"
|
||
class="s"
|
||
id="text10">Plugin paragraph-ids ajoute des ids stables sur paragraphes</text>
|
||
<rect
|
||
x="166"
|
||
y="296"
|
||
width="190"
|
||
height="28"
|
||
class="chip"
|
||
id="rect10" />
|
||
<text
|
||
x="180"
|
||
y="315"
|
||
class="mono"
|
||
id="text11"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">rehype-paragraph-ids.js</text>
|
||
<rect
|
||
x="560"
|
||
y="140"
|
||
width="500"
|
||
height="239.42511"
|
||
class="box"
|
||
id="rect11" />
|
||
<text
|
||
x="578"
|
||
y="170"
|
||
class="h"
|
||
id="text12">Build (Astro static)</text>
|
||
<text
|
||
x="578"
|
||
y="194"
|
||
class="t"
|
||
id="text13">astro build → dist/**/index.html</text>
|
||
<text
|
||
x="578"
|
||
y="212"
|
||
class="t"
|
||
id="text14">meta Pagefind: edition/level/status/version</text>
|
||
<text
|
||
x="578"
|
||
y="230"
|
||
class="t"
|
||
id="text15">Layout : EditionLayout + SiteLayout</text>
|
||
<text
|
||
x="578"
|
||
y="248"
|
||
class="s"
|
||
id="text16">data-pagefind-body = zone indexée</text>
|
||
<rect
|
||
x="750"
|
||
y="300"
|
||
width="128"
|
||
height="28"
|
||
class="chip2"
|
||
id="rect16" />
|
||
<text
|
||
x="764"
|
||
y="319"
|
||
class="mono"
|
||
id="text17"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">npm run build</text>
|
||
<rect
|
||
x="560"
|
||
y="430"
|
||
width="500"
|
||
height="280"
|
||
class="box2"
|
||
id="rect17" />
|
||
<text
|
||
x="578"
|
||
y="460"
|
||
class="h"
|
||
id="text18">Postbuild (qualité + recherche + indexes)</text>
|
||
<text
|
||
x="578"
|
||
y="484"
|
||
class="t"
|
||
id="text19">Aliases d'ancres (backward compat)</text>
|
||
<text
|
||
x="578"
|
||
y="502"
|
||
class="t"
|
||
id="text20">Dédoublonnage d'IDs (anti-régression)</text>
|
||
<text
|
||
x="578"
|
||
y="520"
|
||
class="t"
|
||
id="text21">Index des paragraphes (para-index)</text>
|
||
<text
|
||
x="578"
|
||
y="538"
|
||
class="t"
|
||
id="text22">Index des annotations (annotations-index)</text>
|
||
<text
|
||
x="578"
|
||
y="556"
|
||
class="t"
|
||
id="text23">Pagefind (recherche full-text)</text>
|
||
<rect
|
||
x="690.71106"
|
||
y="578.59302"
|
||
width="246"
|
||
height="28"
|
||
class="chip"
|
||
id="rect23" />
|
||
<text
|
||
x="704.71106"
|
||
y="597.59302"
|
||
class="mono"
|
||
id="text24"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">inject-anchor-aliases.mjs</text>
|
||
<rect
|
||
x="705"
|
||
y="622"
|
||
width="214"
|
||
height="28"
|
||
class="chip"
|
||
id="rect24" />
|
||
<text
|
||
x="719"
|
||
y="641"
|
||
class="mono"
|
||
id="text25"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">dedupe-ids-dist.mjs</text>
|
||
<rect
|
||
x="710.3858"
|
||
y="664.52344"
|
||
width="206"
|
||
height="28"
|
||
class="chip2"
|
||
id="rect25" />
|
||
<text
|
||
x="724.3858"
|
||
y="683.52344"
|
||
class="mono"
|
||
id="text26"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">build-para-index.mjs</text>
|
||
<rect
|
||
x="1265"
|
||
y="660"
|
||
width="254"
|
||
height="28"
|
||
class="chip2"
|
||
id="rect26" />
|
||
<text
|
||
x="1279"
|
||
y="679"
|
||
class="mono"
|
||
id="text27">build-annotations-index.mjs</text>
|
||
<rect
|
||
x="1120"
|
||
y="140"
|
||
width="440"
|
||
height="240"
|
||
class="box"
|
||
id="rect27" />
|
||
<text
|
||
x="1138"
|
||
y="170"
|
||
class="h"
|
||
id="text28">Artefacts (dist/)</text>
|
||
<text
|
||
x="1138"
|
||
y="194"
|
||
class="mono"
|
||
id="text29">HTML statique + assets</text>
|
||
<text
|
||
x="1138"
|
||
y="212"
|
||
class="mono"
|
||
id="text30">dist/pagefind/**</text>
|
||
<text
|
||
x="1138"
|
||
y="230"
|
||
class="mono"
|
||
id="text31">dist/para-index.json</text>
|
||
<text
|
||
x="1138"
|
||
y="248"
|
||
class="mono"
|
||
id="text32">dist/annotations-index.json</text>
|
||
<text
|
||
x="1138"
|
||
y="266"
|
||
class="s"
|
||
id="text33">(en dev) recopiés dans public/*-index.json</text>
|
||
<rect
|
||
x="1120"
|
||
y="430"
|
||
width="441.2103"
|
||
height="280.95309"
|
||
class="box2"
|
||
id="rect33" />
|
||
<text
|
||
x="1138"
|
||
y="460"
|
||
class="h"
|
||
id="text34">Runtime navigateur (lecture)</text>
|
||
<text
|
||
x="1138"
|
||
y="484"
|
||
class="t"
|
||
id="text35">LocalToc sync (H2/H3)</text>
|
||
<text
|
||
x="1138"
|
||
y="502"
|
||
class="t"
|
||
id="text36">banner-follow + reading-follow__inner</text>
|
||
<text
|
||
x="1138"
|
||
y="520"
|
||
class="t"
|
||
id="text37">SidePanel: niveaux + annotations + propose</text>
|
||
<text
|
||
x="1138"
|
||
y="538"
|
||
class="s"
|
||
id="text38">Comportement lecture: H2/H3 unifiés (plus d’accordéon gênant)</text>
|
||
<rect
|
||
x="1263.4493"
|
||
y="588.65356"
|
||
width="150"
|
||
height="28"
|
||
class="chip2"
|
||
id="rect38" />
|
||
<text
|
||
x="1277.4493"
|
||
y="607.65356"
|
||
class="mono"
|
||
id="text39"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">SidePanel.astro</text>
|
||
<rect
|
||
x="1260.8547"
|
||
y="633.4342"
|
||
width="160"
|
||
height="28"
|
||
class="chip"
|
||
id="rect39" />
|
||
<text
|
||
x="1274.8547"
|
||
y="652.4342"
|
||
class="mono"
|
||
id="text40"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">LevelToggle.astro</text>
|
||
<rect
|
||
x="41.210289"
|
||
y="431.52798"
|
||
width="462.42056"
|
||
height="275.41605"
|
||
class="box2"
|
||
id="rect40" />
|
||
<text
|
||
x="58"
|
||
y="470"
|
||
class="h"
|
||
id="text41"
|
||
style="font-style:normal;font-variant:normal;font-weight:800;font-stretch:normal;font-size:16px;line-height:1.2;font-family:system-ui, '-apple-system', 'Segoe UI', Roboto, Arial">Flux “Proposer” (tickets)</text>
|
||
<text
|
||
x="58"
|
||
y="494"
|
||
class="t"
|
||
id="text42"
|
||
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13px;line-height:1.35;font-family:system-ui, '-apple-system', 'Segoe UI', Roboto, Arial">UI collecte: page + paragraphe + type + message</text>
|
||
<text
|
||
x="58"
|
||
y="512"
|
||
class="t"
|
||
id="text43"
|
||
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13px;line-height:1.35;font-family:system-ui, '-apple-system', 'Segoe UI', Roboto, Arial">Création d'issue Gitea (labels)</text>
|
||
<text
|
||
x="58"
|
||
y="530"
|
||
class="t"
|
||
id="text44"
|
||
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:13px;line-height:1.35;font-family:system-ui, '-apple-system', 'Segoe UI', Roboto, Arial">Lien retour: issue → page + id</text>
|
||
<text
|
||
x="58"
|
||
y="548"
|
||
class="s"
|
||
id="text45"
|
||
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:12px;line-height:1.35;font-family:system-ui, '-apple-system', 'Segoe UI', Roboto, Arial">Option: bridge same-origin pour éviter CORS/auth</text>
|
||
<rect
|
||
x="60"
|
||
y="610"
|
||
width="150"
|
||
height="28"
|
||
class="chip"
|
||
id="rect45" />
|
||
<text
|
||
x="74"
|
||
y="629"
|
||
class="mono"
|
||
id="text46"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">PUBLIC_GITEA_*</text>
|
||
<rect
|
||
x="230"
|
||
y="610"
|
||
width="262"
|
||
height="28"
|
||
class="chip2"
|
||
id="rect46" />
|
||
<text
|
||
x="244"
|
||
y="629"
|
||
class="mono"
|
||
id="text47"
|
||
style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:12px;line-height:1.35;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace">PUBLIC_ISSUE_BRIDGE_PATH</text>
|
||
<path
|
||
d="M500 250 C530 250 530 250 560 250"
|
||
class="arrowA"
|
||
id="path47" />
|
||
<path
|
||
d="M810 400 C810 420 810 420 810 430"
|
||
class="arrowA"
|
||
id="path48" />
|
||
<path
|
||
d="M1060 250 C1090 250 1090 250 1120 250"
|
||
class="arrowA"
|
||
id="path49" />
|
||
<path
|
||
d="M1340 380 C1340 410 1340 410 1340 430"
|
||
class="arrow"
|
||
id="path50" />
|
||
<path
|
||
d="M500 540 C620 540 620 520 560 520"
|
||
class="arrow"
|
||
id="path51" />
|
||
<text
|
||
x="520"
|
||
y="525"
|
||
class="s"
|
||
id="text51">issues</text>
|
||
<rect
|
||
x="40"
|
||
y="820"
|
||
width="1520"
|
||
height="60"
|
||
class="box2"
|
||
id="rect51" />
|
||
<text
|
||
x="58"
|
||
y="850"
|
||
class="h"
|
||
id="text52">Conseil de maintenance</text>
|
||
<text
|
||
x="58"
|
||
y="874"
|
||
class="s"
|
||
id="text53">Toute évolution UI/indices doit rester déterministe : build identique sur Mac, CI, et NAS. En cas de hotfix, re-sync via PR.</text>
|
||
</svg>
|