alliance-boreale/site-alliance-boreale/public/assets/img/meta-classe.svg

64 lines
3.9 KiB
XML
Raw Normal View History

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 940 700" role="img"
aria-label="Schéma de la méta-classe : une définition déclarative instancie tout l'écosystème.">
<defs>
<linearGradient id="aurore" x1="0" y1="1" x2="1" y2="0">
<stop offset="0%" stop-color="#4fe3c1"/>
<stop offset="50%" stop-color="#56c2ff"/>
<stop offset="100%" stop-color="#a98bff"/>
</linearGradient>
<marker id="fleche" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M0 0 L10 5 L0 10 z" fill="#56c2ff"/>
</marker>
<style>
.h { font: 700 12px -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing: .16em; }
.t { font: 700 16px -apple-system, "Segoe UI", Roboto, sans-serif; fill: #e9ecff; }
.l { font: 400 13px -apple-system, "Segoe UI", Roboto, sans-serif; fill: #99a1c9; }
.lab { font: 600 12px -apple-system, "Segoe UI", Roboto, sans-serif; fill: #99a1c9; }
.panel { fill: #0a0e24; fill-opacity: .92; stroke: #ffffff1f; stroke-width: 1; }
</style>
</defs>
<text x="24" y="34" class="t" style="font-size:18px">La méta-classe — une définition, tout l'écosystème</text>
<!-- ① DÉFINITION -->
<rect class="panel" x="24" y="56" width="892" height="150" rx="16"/>
<rect x="24" y="56" width="6" height="150" rx="3" fill="#4fe3c1"/>
<text x="52" y="86" class="h" fill="#4fe3c1">① DÉFINITION — LA MÉTA-CLASSE</text>
<text x="52" y="114" class="t">Le plan déclaratif (instance/plan/) + les propriétés des rôles</text>
<text x="52" y="142" class="l">nomenclature · serveurs · applications · bases-données · domaines</text>
<text x="52" y="168" class="l">+ roles/&#42;/meta/empreinte.yml ⟦ golden template Debian 13 durci ⟧</text>
<line x1="470" y1="206" x2="470" y2="238" stroke="#56c2ff" stroke-width="2" marker-end="url(#fleche)"/>
<text x="486" y="228" class="lab">make instancier</text>
<!-- ② DÉRIVATION -->
<rect class="panel" x="24" y="240" width="892" height="110" rx="16"/>
<rect x="24" y="240" width="6" height="110" rx="3" fill="#56c2ff"/>
<text x="52" y="270" class="h" fill="#56c2ff">② DÉRIVATION — LE CONSTRUCTEUR</text>
<text x="52" y="298" class="t">instancier.py · inventory_rules · filter_plugins</text>
<text x="52" y="326" class="l">réseau (VMID·VLAN·IP·gw) · ressources (cœurs·RAM·disque) · groupes · DSN + DNS</text>
<line x1="470" y1="350" x2="470" y2="382" stroke="#56c2ff" stroke-width="2" marker-end="url(#fleche)"/>
<text x="486" y="372" class="lab">= instanciation</text>
<!-- ③ INSTANCES -->
<rect class="panel" x="24" y="384" width="892" height="110" rx="16"/>
<rect x="24" y="384" width="6" height="110" rx="3" fill="#a98bff"/>
<text x="52" y="414" class="h" fill="#a98bff">③ INSTANCES — LA FLOTTE</text>
<text x="52" y="442" class="t">inventory hosts.yml — 11 VM cohérentes</text>
<text x="52" y="470" class="l">infra-pki · dns · mail · edge · idm · data · obs · mon · forge · web ✦ clone + cloud-init</text>
<line x1="470" y1="494" x2="470" y2="526" stroke="#56c2ff" stroke-width="2" marker-end="url(#fleche)"/>
<text x="486" y="516" class="lab">make deployer · rôles par groupe</text>
<!-- ④ ÉCOSYSTÈME -->
<rect class="panel" x="24" y="528" width="892" height="96" rx="16"/>
<rect x="24" y="528" width="6" height="96" rx="3" fill="url(#aurore)"/>
<text x="52" y="558" class="h" fill="#4fe3c1">④ ÉCOSYSTÈME SOUVERAIN EN SERVICE</text>
<text x="52" y="586" class="t">PKI · DNS interne · IdM + SSO · Bases · Observabilité · Forge · Web</text>
<text x="52" y="612" class="l">tout en logiciel libre, exploitable à la main, sans aucune IA</text>
<text x="24" y="664" class="lab" style="fill:#4fe3c1">1 définition → N VM</text>
<text x="150" y="664" class="lab">réseau, taille, groupes, DSN, DNS — tout est dérivé, rien n'est saisi deux fois.</text>
</svg>