Files
archicratie-edition/docs/diagrams/archicratie-web-edition-global-verbatim.svg
Archicratia 78eb9cbb58
All checks were successful
CI / build-and-anchors (push) Successful in 1m46s
SMOKE / smoke (push) Successful in 14s
chore: add diagrams + scripts + archicrat-ia route
2026-02-20 18:27:25 +01:00

829 lines
26 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="1600"
height="1020"
viewBox="0 0 1600 1020"
version="1.1"
id="svg80"
sodipodi:docname="archicratie-web-edition-global-verbatim.svg"
inkscape:version="1.3-alpha (95f74fb, 2023-03-31)"
inkscape:export-filename="out/archicratie-web-edition-global-verbatim.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
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="namedview80"
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="594.25113"
inkscape:cy="481.08926"
inkscape:window-width="1472"
inkscape:window-height="1022"
inkscape:window-x="234"
inkscape:window-y="30"
inkscape:window-maximized="0"
inkscape:current-layer="svg80" />
<defs
id="defs1">
<marker
id="arrow"
viewBox="0 0 10 10"
refX="9.5"
refY="5"
markerWidth="8"
markerHeight="8"
orient="auto-start-reverse">
<path
d="M 0 0 L 10 5 L 0 10 z"
fill="#222"
id="path1" />
</marker>
<style
id="style1">
.title { font: 700 22px sans-serif; fill:#111; }
.small { font: 12px sans-serif; fill:#111; }
.h2 { font: 700 16px sans-serif; fill:#111; }
.h3 { font: 700 14px sans-serif; fill:#111; }
.txt { font: 13px sans-serif; fill:#111; }
.mono { font: 12px ui-monospace, SFMono-Regular, Menlo, monospace; fill:#111; }
.zone { fill:#f3f3f3; stroke:#111; stroke-width:2; }
.box { fill:#fafafa; stroke:#222; stroke-width:1.5; }
.note { fill:#fff; stroke:#666; stroke-width:1.2; }
.line { stroke:#222; stroke-width:2; fill:none; marker-end:url(#arrow); }
.dash { stroke:#222; stroke-width:2; fill:none; stroke-dasharray:7 6; marker-end:url(#arrow); }
</style>
</defs>
<!-- Header -->
<text
x="40"
y="45"
class="title"
id="text1">Archicratie Web Edition : schéma global VERBATIM (Mac Studio ↔ NAS Synology DS220+)</text>
<text
x="40"
y="75"
class="small"
id="text2">Factuel (capturé sur ton NAS) : DSM (TLS) → Traefik :18080 (file provider) → routers Host(...) → (Authelia forward-auth) → backends (blue/green). Gitea via Traefik sans chain-auth.</text>
<!-- LOCAL -->
<rect
x="35"
y="110"
width="520"
height="880"
rx="18"
class="zone"
id="rect2" />
<text
x="60"
y="145"
class="h2"
id="text3">LOCAL — Mac Studio (atelier)</text>
<rect
x="60"
y="175"
width="470"
height="110"
rx="12"
class="box"
id="rect3" />
<text
x="80"
y="205"
class="h2"
id="text4">Repo site (Astro)</text>
<text
x="80"
y="232"
class="txt"
id="text5">• build statique → dist/</text>
<text
x="80"
y="254"
class="txt"
id="text6">• postbuild : inject aliases + dedupe IDs + indexes + pagefind</text>
<rect
x="60"
y="305"
width="470"
height="115"
rx="12"
class="box"
id="rect6" />
<text
x="80"
y="335"
class="h2"
id="text7">Tooling (scripts/)</text>
<text
x="66"
y="360"
class="txt"
id="text8"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• scripts/inject-anchor-aliases.mjs</text>
<text
x="66"
y="382"
class="txt"
id="text9"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• scripts/apply-ticket.mjs --alias</text>
<text
x="66"
y="404"
class="txt"
id="text10"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• scripts/check-anchor-aliases.mjs + verify-anchor-aliases-in-dist.mjs</text>
<rect
x="60"
y="445"
width="470"
height="105"
rx="12"
class="box"
id="rect10" />
<text
x="80"
y="475"
class="h2"
id="text11">Déploiement (release pack)</text>
<text
x="80"
y="500"
class="txt"
id="text12">• build Docker avec ARG/ENV : PUBLIC_GITEA_BASE/OWNER/REPO</text>
<text
x="80"
y="522"
class="txt"
id="text13">• pousse/maj sur NAS (containers web_blue/web_green)</text>
<rect
x="60"
y="569"
width="470"
height="165"
rx="12"
class="note"
id="rect13" />
<text
x="80"
y="605"
class="h2"
id="text14">Repères “vrais” côté site</text>
<text
x="80"
y="632"
class="txt"
id="text15">• whoami runtime : <tspan
class="mono"
id="tspan14">/_auth/whoami</tspan></text>
<text
x="80"
y="654"
class="txt"
id="text16">• variables injectées : <tspan
class="mono"
id="tspan15">PUBLIC_GITEA_BASE/OWNER/REPO</tspan></text>
<text
x="80"
y="676"
class="txt"
id="text17">• anchors canon : <tspan
class="mono"
id="tspan16">src/anchors/anchor-aliases.json</tspan></text>
<text
x="80"
y="698"
class="txt"
id="text18">• injection build-time : <tspan
class="mono"
id="tspan17">scripts/inject-anchor-aliases.mjs</tspan></text>
<!-- NAS -->
<rect
x="590"
y="110"
width="975"
height="880"
rx="18"
class="zone"
id="rect18" />
<text
x="615"
y="145"
class="h2"
id="text19">DISTANT — NAS Synology DS220+ (DSM + Container Manager)</text>
<!-- Users -->
<rect
x="615"
y="175"
width="270"
height="90"
rx="12"
class="box"
id="rect19" />
<text
x="635"
y="205"
class="h2"
id="text20">Utilisateurs</text>
<text
x="635"
y="230"
class="txt"
id="text21">• Web (public)</text>
<text
x="635"
y="252"
class="txt"
id="text22">• Éditeurs (groupe LDAP)</text>
<!-- DSM RP -->
<rect
x="905"
y="175"
width="630"
height="120"
rx="12"
class="box"
id="rect22" />
<text
x="930"
y="205"
class="h2"
id="text23">DSM Reverse Proxy (TLS terminé ici)</text>
<text
x="930"
y="230"
class="txt"
id="text24">• Host archicratie.trans-hands.synology.me → 127.0.0.1:18080</text>
<text
x="930"
y="252"
class="txt"
id="text25">• Host gitea.archicratie.trans-hands.synology.me → 127.0.0.1:18080</text>
<text
x="930"
y="274"
class="txt"
id="text26">• (idem staging.*, lldap.* si routés via Traefik)</text>
<!-- Edge Traefik -->
<rect
x="1012.7156"
y="321.2103"
width="522.28442"
height="148.78972"
rx="12"
class="box"
id="rect26" />
<text
x="1050"
y="350"
class="h2"
id="text27"
style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:16px;line-height:normal;font-family:sans-serif">edge-traefik (traefik:v2.11) — network_mode: host</text>
<text
x="1050"
y="375"
class="txt"
id="text28"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• entryPoint web : <tspan
class="mono"
id="tspan27"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">:18080</tspan></text>
<text
x="1050"
y="397"
class="txt"
id="text29"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• provider file : <tspan
class="mono"
id="tspan28"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">/etc/traefik/dynamic</tspan> (watch: true)</text>
<text
x="1050"
y="419"
class="txt"
id="text30"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• Host rules (routers) + middlewares (chain-auth / sanitize-remote)</text>
<text
x="1050"
y="441"
class="small"
id="text31"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif">Tes 404 initiaux venaient dun test sans Host: les routers utilisent Host(...)</text>
<!-- Dynamic files -->
<rect
x="615"
y="290"
width="270"
height="180"
rx="12"
class="note"
id="rect31" />
<text
x="623"
y="320"
class="h2"
id="text32"
style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:16px;line-height:normal;font-family:sans-serif">Fichiers dynamiques (edge)</text>
<text
x="623"
y="345"
class="mono"
id="text33"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">/volume2/docker/edge/config/dynamic/</text>
<text
x="623"
y="368"
class="txt"
id="text34"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• 10-core.yml (routers + chain-auth)</text>
<text
x="623"
y="390"
class="txt"
id="text35"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• 20-archicratie-backend.yml (slot actif)</text>
<text
x="623"
y="412"
class="txt"
id="text36"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan88"
x="623"
y="412">• 21-archicratie-staging.yml</tspan><tspan
sodipodi:role="line"
id="tspan89"
x="623"
y="428.25">(staging→8081)</tspan></text>
<text
x="623"
y="448"
class="txt"
id="text37"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• 30-lldap-ui.yml (lldap UI)</text>
<!-- Auth stack -->
<rect
x="615"
y="495"
width="376.80786"
height="258.41147"
rx="12"
class="box"
id="rect37" />
<text
x="635"
y="525"
class="h2"
id="text38">Auth stack (auth)</text>
<text
x="635"
y="550"
class="txt"
id="text39">auth-authelia (authelia:4.39.13) — host</text>
<text
x="635"
y="572"
class="txt"
id="text40"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan92"
x="635"
y="572">• forward-auth :</tspan><tspan
sodipodi:role="line"
id="tspan93"
x="635"
y="588.25">http://127.0.0.1:9091/api/authz/forward-auth</tspan></text>
<text
x="635"
y="614"
class="txt"
id="text41"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">auth-lldap (lldap:stable)</text>
<text
x="635"
y="640"
class="txt"
id="text42"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• LDAP : <tspan
class="mono"
id="tspan41"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">127.0.0.1:3890</tspan> • UI : <tspan
class="mono"
id="tspan42"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">127.0.0.1:17170</tspan></text>
<text
x="635"
y="662"
class="txt"
id="text43"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">auth-redis (redis:7-alpine)</text>
<text
x="635"
y="684"
class="txt"
id="text44"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• exposé : <tspan
class="mono"
id="tspan43"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">127.0.0.1:6380</tspan></text>
<text
x="635"
y="708"
class="small"
id="text45"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan94"
x="635"
y="708">Traefik injecte Remote-* via forward-auth,</tspan><tspan
sodipodi:role="line"
id="tspan95"
x="635"
y="723">et purge lentrée (sanitize-remote).</tspan></text>
<!-- Whoami service -->
<rect
x="1110"
y="495"
width="365.69592"
height="117.57942"
rx="12"
class="box"
id="rect45" />
<text
x="1135"
y="525"
class="h2"
id="text46">edge-whoami (traefik/whoami)</text>
<text
x="1135"
y="550"
class="txt"
id="text47">• exposé : <tspan
class="mono"
id="tspan46">127.0.0.1:18081 → 80</tspan></text>
<text
x="1135"
y="572"
class="txt"
id="text48">• router Traefik : <tspan
class="mono"
id="tspan47">PathPrefix('/_auth/whoami')</tspan></text>
<text
x="1135"
y="594"
class="txt"
id="text49">• protégé par <tspan
class="mono"
id="tspan48">chain-auth</tspan> (302 login si non auth)</text>
<!-- Web blue/green -->
<rect
x="1047.9349"
y="639.94855"
width="224.96217"
height="116.11195"
rx="12"
class="box"
id="rect49" />
<text
x="1070"
y="670"
class="h2"
id="text50"
style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:16px;line-height:normal;font-family:sans-serif">archicratie-web-blue</text>
<text
x="1070"
y="695"
class="txt"
id="text51"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• 127.0.0.1:8081 → 80</text>
<text
x="1070"
y="717"
class="txt"
id="text52"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• Nginx sert dist/</text>
<text
x="1070"
y="739"
class="small"
id="text53"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif">slot blue (staging cible 8081)</text>
<rect
x="1295"
y="640"
width="240.69592"
height="116.11195"
rx="12"
class="box"
id="rect53" />
<text
x="1320"
y="670"
class="h2"
id="text54"
style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:16px;line-height:normal;font-family:sans-serif">archicratie-web-green</text>
<text
x="1320"
y="695"
class="txt"
id="text55"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• 127.0.0.1:8082 → 80</text>
<text
x="1320"
y="717"
class="txt"
id="text56"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• Nginx sert dist/</text>
<text
x="1320"
y="739"
class="small"
id="text57"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif">slot green (backend actuel)</text>
<rect
x="1156.7399"
y="778.21478"
width="374.62918"
height="105.4161"
rx="12"
class="note"
id="rect57" />
<text
x="1190.2118"
y="797.89716"
class="txt"
id="text58"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
id="tspan96"
x="1190.2118"
y="797.89716"
sodipodi:role="line">Bascule blue/green (Traefik) :</tspan><tspan
x="1190.2118"
y="814.14716"
id="tspan104"
sodipodi:role="line">modifier <tspan
class="mono"
id="tspan57"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">dynamic/20-archicratie-backend.yml</tspan></tspan><tspan
id="tspan97"
x="1190.2118"
y="830.39716"
sodipodi:role="line">→ url 8081/8082 (un seul backend actif)</tspan></text>
<text
x="1202.3751"
y="858.05145"
class="small"
id="text59"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan101"
x="1202.3751"
y="858.05145">Actuellement (daprès ton dump) :<tspan
class="mono"
id="tspan58"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace"></tspan></tspan><tspan
sodipodi:role="line"
id="tspan102"
x="1202.3751"
y="873.05145"><tspan
class="mono"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace"
id="tspan103">archicratie_web → http://127.0.0.1:8082</tspan></tspan></text>
<!-- Gitea + Runner -->
<rect
x="615"
y="790"
width="440.12103"
height="180.57489"
rx="12"
class="box"
id="rect59" />
<text
x="635"
y="820"
class="h2"
id="text60"
style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:16px;line-height:normal;font-family:sans-serif">Gitea (actuel)</text>
<text
x="635"
y="845"
class="txt"
id="text61"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• conteneur : <tspan
class="mono"
id="tspan60"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">gitea-old-2026-02-09-105211</tspan></text>
<text
x="635"
y="867"
class="txt"
id="text62"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• port : <tspan
class="mono"
id="tspan61"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">0.0.0.0:3000</tspan> (Traefik route aussi vers 127.0.0.1:3000)</text>
<text
x="635"
y="889"
class="txt"
id="text63"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan90"
x="635"
y="889">• router Traefik : Host(gitea.archicratie...)</tspan><tspan
sodipodi:role="line"
id="tspan91"
x="635"
y="905.25">+ middleware sanitize-remote (pas chain-auth)</tspan></text>
<text
x="635"
y="929"
class="small"
id="text64"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan99"
x="635"
y="929">“Proposer” dépend de PUBLIC_GITEA_* corrects</tspan><tspan
sodipodi:role="line"
id="tspan100"
x="635"
y="944">(owner casse sensible).</tspan></text>
<rect
x="1160"
y="895"
width="375"
height="85"
rx="12"
class="box"
id="rect64" />
<text
x="1185"
y="925"
class="h2"
id="text65"
style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:16px;line-height:normal;font-family:sans-serif">gitea-act-runner</text>
<text
x="1185"
y="950"
class="txt"
id="text66"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif">• image : <tspan
class="mono"
id="tspan65"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">gitea/act_runner:0.2.11</tspan></text>
<text
x="1185"
y="972"
class="small"
id="text67"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif">CI : labels / checks (anchors, aliases, etc.).</text>
<!-- Connections -->
<path
d="M 885 220 L 905 220"
class="line"
id="path67" />
<!-- Users -> DSM -->
<path
d="M 1220 295 L 1220 320"
class="line"
id="path68" />
<!-- DSM -> Traefik -->
<!-- Traefik -> auth (forward auth) -->
<path
d="m 1005,420 -45,75"
class="dash"
id="path69" />
<text
x="120.96539"
y="1057.8674"
class="small"
id="text69"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif"
transform="rotate(-57.013356)">forward-auth</text>
<!-- Traefik -> whoami -->
<path
d="M 1220 470 L 1220 495"
class="line"
id="path70" />
<!-- Traefik -> web service -->
<path
d="m 1082.9955,470 -0.3782,168.78971"
class="dash"
id="path71"
sodipodi:nodetypes="cc" />
<path
d="m 1500,470 -0.416,170"
class="dash"
id="path72"
sodipodi:nodetypes="cc" />
<!-- Traefik -> gitea -->
<path
d="m 1034.826,471.21029 1.3616,315.67322"
class="dash"
id="path73"
sodipodi:nodetypes="cc" />
<!-- Gitea -> runner -->
<path
d="m 1060,890 98.7897,59.52345"
class="line"
id="path74"
sodipodi:nodetypes="cc" />
<!-- Local -> NAS (release/deploy) -->
<path
d="M 530 505 L 615 505"
class="line"
id="path75" />
<!-- Legend -->
<rect
x="61.210289"
y="750.47656"
width="467.57938"
height="215.31776"
rx="12"
class="note"
id="rect75" />
<text
x="80"
y="777"
class="h2"
id="text75"
style="font-style:normal;font-variant:normal;font-weight:700;font-stretch:normal;font-size:16px;line-height:normal;font-family:sans-serif">Lecture (opérationnelle)</text>
<text
x="80"
y="798"
class="txt"
id="text76"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan86"
x="80"
y="798">1) Web public : DSM → Traefik :18080 → Host(archicratie...)</tspan><tspan
sodipodi:role="line"
id="tspan87"
x="80"
y="814.40051">→ chain-auth → backend (8081/8082)</tspan></text>
<text
x="80"
y="836"
class="txt"
id="text77"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan84"
x="80"
y="836">2) Gate éditeurs : site appelle /_auth/whoami</tspan><tspan
sodipodi:role="line"
id="tspan85"
x="80"
y="852.25">→ Traefik route vers edge-whoami (protégé)</tspan></text>
<text
x="80"
y="874"
class="txt"
id="text78"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan82"
x="80"
y="874">3) Gitea : Host(gitea...) → Traefik → 127.0.0.1:3000</tspan><tspan
sodipodi:role="line"
id="tspan83"
x="80"
y="890.40051">(sanitize-remote)</tspan></text>
<text
x="80"
y="912"
class="txt"
id="text79"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13px;line-height:normal;font-family:sans-serif"><tspan
sodipodi:role="line"
id="tspan80"
x="80"
y="912">4) Blue/green : changer <tspan
class="mono"
id="tspan78"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:ui-monospace, SFMono-Regular, Menlo, monospace">dynamic/20-archicratie-backend.yml</tspan></tspan><tspan
sodipodi:role="line"
id="tspan81"
x="80"
y="928.25">(un seul backend actif)</tspan></text>
<text
x="80"
y="950"
class="small"
id="text80"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:normal;font-family:sans-serif">NB : un test sans Host sur :18080 renvoie 404 (normal, Host rules).</text>
</svg>