Compare commits
2 commits
chore/rest
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6848ce691c | ||
| 484b20b106 |
3 changed files with 71 additions and 0 deletions
|
|
@ -24,6 +24,7 @@ site-alliance-boreale/
|
||||||
│ ├── 404.html
|
│ ├── 404.html
|
||||||
│ └── assets/
|
│ └── assets/
|
||||||
│ ├── css/styles.css
|
│ ├── css/styles.css
|
||||||
|
│ ├── img/meta-classe.svg # schéma de la « méta-classe » (affiché sur L'atelier)
|
||||||
│ └── js/constellation.js # champ d'étoiles + lignes de constellation
|
│ └── js/constellation.js # champ d'étoiles + lignes de constellation
|
||||||
└── deploy/
|
└── deploy/
|
||||||
├── alliance-boreale.nginx.conf # exemple de vhost
|
├── alliance-boreale.nginx.conf # exemple de vhost
|
||||||
|
|
|
||||||
63
site-alliance-boreale/public/assets/img/meta-classe.svg
Normal file
63
site-alliance-boreale/public/assets/img/meta-classe.svg
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
<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/*/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>
|
||||||
|
After Width: | Height: | Size: 3.9 KiB |
|
|
@ -72,6 +72,13 @@
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<section class="wrap">
|
||||||
|
<p class="eyebrow">La méta-classe</p>
|
||||||
|
<h2>Une définition, tout l'écosystème</h2>
|
||||||
|
<p class="lead">On n'écrit pas onze serveurs : on écrit <strong>une classe d'écosystème</strong>. Le réseau, la taille des VM, les groupes, les liens de bases (DSN) et l'exposition DNS sont <strong>dérivés</strong> du plan — jamais saisis deux fois.</p>
|
||||||
|
<p><img src="assets/img/meta-classe.svg" alt="Schéma : le plan déclaratif (la méta-classe) dérive le réseau, les ressources, les groupes et les liens ; instancie onze VM depuis le golden template Debian 13 ; puis déploie l'écosystème souverain par rôles Ansible." style="width:100%;height:auto;border:1px solid var(--border);border-radius:16px;background:#05060f"></p>
|
||||||
|
</section>
|
||||||
|
|
||||||
<section class="wrap">
|
<section class="wrap">
|
||||||
<div class="panel-feature">
|
<div class="panel-feature">
|
||||||
<p class="eyebrow">Un écosystème complet</p>
|
<p class="eyebrow">Un écosystème complet</p>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue