Some checks failed
verifier / verifier (push) Has been cancelled
La revision a commence par un balayage par motifs — chemins morts, cibles make absentes, comptes derives. Il a trouve une trentaine d ecarts et rate presque tout le reste : un motif ne voit que ce qui s exprime en motif. make hote-planifier en est l exemple. La cible EXISTE, donc le controle passait au vert. C est une cible depreciee qui refuse et sort en 2, recommandee par AGENTS.md, et qui contredit la REGLE D OR du meme fichier trois ecrans plus haut. Il fallait lire pour la voir. 74 documents lus un par un. 66 corriges, 8 exacts. CE QUI ETAIT FRANCHEMENT FAUX AGENTS.md, la source d autorite, annoncait la flotte pas encore executee contre des VM reelles. Elle a ete rasee et remontee depuis zero trois fois. ecosysteme-chezlepro.md, le document montre a un client, portait la meme phrase : il se sous-vendait gravement. courriel-conception.md s ouvrait sur aucun role n est encore ecrit, au-dessus de son propre paragraphe 1 qui les nomme. autorisation.md se terminait sur rien n est construit alors qu il rapporte des mesures datees du role en fonctionnement. hebergeur-exploitation.md disait rien n est fait d un depot qui existe. filiation-emancipation.md se contredisait a deux ecrans de distance. DES MODELES DECRITS D APRES UN MONDE ANTERIEUR Le resolveur : cinq documents decrivaient un Unbound par VM en opt-in, trois le donnaient en exemple d integration FACULTATIVE — il est universel depuis le 2026-08-24. L adressage de nomenclature-vm.md : reseau unique, VLAN 11-15, VMID a cinq chiffres. Le nommage SDN de sdn-evpn.md contre le code : c est le wiki qui avait raison. CE QUI CASSE AU PREMIER ESSAI Le nom du gabarit dore etait faux a quatre endroits, dont la procedure qui le FABRIQUE et le critere R2 de l epreuve d operateur independant. preparer-un-site-hebergeur.md avertissait qu une VM faite a la main serait detruite : raser derive du plan, il ne la detruira jamais — le risque est l inverse. Un mot de passe d essai en clair dans un depot public. DEUX PREUVES ETENDUES, ET UNE QUI SE TROMPAIT ELLE-MEME P57 couvre les groupes : elle a signale aussitot 29 groupes annonces au-dessus d un tableau qui en cite 40. P29 confronte le tableau de authentification.md aux declarations reelles : 12 annonces, 21 reels. Et P57 imposait un chiffre faux — 56 preuves alors que le depot en porte 57, la conditionnelle vivant hors de tout comptage. Un garde-fou qui fait respecter une erreur ajoute l assurance a l erreur. CE QUI RESTE, ET QU AUCUNE PREUVE NE TIENT Deux comptes trouves a la main. Et une lacune reelle : rien ne garde les meta/acces.yml — ni qu un service web-sso en porte un, ni que le groupe qu il nomme existe. P29 tient les positions d authentification, personne ne tient les habilitations. make prouver : CONFORME, 56 OK, 0 echec, 1 saute. 0 lien mort. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
365 lines
16 KiB
Markdown
365 lines
16 KiB
Markdown
# Glossaire
|
||
|
||
Tout mot que Set-OPS te met sous les yeux se trouve ici. Chaque entrée dit **ce que c'est**,
|
||
et pourquoi ce dépôt s'en sert — pas seulement sa définition.
|
||
|
||
Les mots *en italique* renvoient à une autre entrée ; les liens mènent à l'**unité
|
||
d'apprentissage** qui développe la notion.
|
||
|
||
> **Règle de ce glossaire.** Un terme employé par le dépôt et absent d'ici est un défaut.
|
||
> La preuve **P39** le vérifie. Ce qu'elle ne peut pas voir : un mot que personne n'a
|
||
> pensé à déclarer — elle garde une liste, elle ne devine pas.
|
||
|
||
---
|
||
|
||
## Le plan, et ce qui en dérive
|
||
|
||
**Plan** — La source unique de vérité (`instance/plan/` : serveurs, applications, bases,
|
||
domaines, nomenclature). On l'édite ; l'*inventaire* en est **généré**, jamais l'inverse.
|
||
|
||
**Index (seed)** — Le **seul** intrant d'adressage d'une *instance*. Tout en descend :
|
||
supernet `10.<index>.0.0/16`, *VLAN* `1000+index×10+zone`, *VMID*, *VNet*. Unique dans la
|
||
*fédération*. Cf. [Le plan & l'adressage dérivé](Le-plan-et-l-adressage-dérivé).
|
||
|
||
**Adressage dérivé** — Les adresses ne sont pas saisies, elles se **calculent**. Deux
|
||
valeurs ne peuvent donc pas se contredire : il n'y en a qu'une, et le reste en découle.
|
||
|
||
**Nomenclature** — Le registre du modèle réseau : *zones*, placement des fonctions, et
|
||
l'*index*. Ne contient **aucune** adresse (preuve P20).
|
||
|
||
**Zone** — Un domaine de sécurité : un `/24` et un *VLAN*. Frontière, Identité, Données,
|
||
Services-infra, Observabilité, Applications. Un pare-feu les sépare.
|
||
|
||
**Supernet** — Le grand bloc d'adresses d'un tenant (`10.29.0.0/16`), dont ses *zones*
|
||
découpent des tranches.
|
||
|
||
**CIDR** — La notation `10.29.16.0/24` : une adresse, puis le nombre de bits **figés**.
|
||
`/24` fige les trois premiers nombres — 254 machines possibles.
|
||
|
||
**DIFF VIDE** — État sain : le *plan* reproduit **exactement** l'*inventaire* appliqué.
|
||
Vérifié par `make instancier`.
|
||
|
||
**Instance** — Un écosystème réel (`../OPS-<nom>`) : son domaine, son *index*, sa *voûte*.
|
||
L'active est celle que pointe le lien `instance/`.
|
||
|
||
**Tenant** — Le même objet, vu depuis la *fédération* : un écosystème isolé parmi d'autres.
|
||
|
||
**Fédération** — L'ensemble des *instances* qui cohabitent sur une infrastructure
|
||
partagée, chacune avec son *index*. Cf. [Multi-instance & fédération](Multi-instance-et-fédération).
|
||
|
||
**`federe: false`** — Drapeau qui **exclut** une instance des devis du site : ni *VLAN*, ni
|
||
règles de frontière, ni *VNet* ne lui sont réservés. Pour un bac à sable local, ou pour un
|
||
écosystème encore à l'état de plan.
|
||
|
||
**Modèle** — Un *plan* générique réutilisable, sans *voûte*. Le dépôt public en fournit
|
||
**un** (`exemples/modeles/socle`) ; les modèles assemblés par offre — `forge`, `identite`,
|
||
`collaboration`… — vivent dans le dépôt privé `Set-OPS-modeles`.
|
||
|
||
**Socle** — Le modèle minimal public, **quatre VM** : DNS interne (PowerDNS), PKI
|
||
(step-ca), edge TLS (nginx) et **magasin courriel** (Dovecot). C'est un magasin de boîtes,
|
||
pas un relais : le MTA s'ajoute ensuite.
|
||
|
||
**Liaison (binding)** — Relation déclarée entre entités du plan (app→base, app→app),
|
||
résolue par le moteur. Cf. [Liaisons (bindings)](Liaisons-bindings).
|
||
|
||
**Hôte fantôme** — Erreur de plan : une application posée sur un hôte non déclaré. Refusée
|
||
par la preuve P06.
|
||
|
||
---
|
||
|
||
## Les machines
|
||
|
||
**VM** — Machine virtuelle : un ordinateur complet simulé par un *hyperviseur*.
|
||
|
||
**Hyperviseur** — La machine physique qui fait tourner les *VM*. Ici : Proxmox.
|
||
|
||
**Gabarit (template)** — Une VM **figée** qui sert de moule. Chaque machine de la flotte
|
||
en est un clone. Le gabarit doré de Set-OPS s'appelle `modeleSetOPS`.
|
||
|
||
**Clone** — La copie du *gabarit* qui devient une machine réelle. Deux minutes, contre une
|
||
installation complète.
|
||
|
||
**VMID** — Le numéro d'une VM sur le cluster. Set-OPS le **dérive** (schéma *ip-miroir*) au
|
||
lieu de le tirer au hasard.
|
||
|
||
**ip-miroir** — Schéma où le *VMID* **contient** l'adresse IP et le tenant : le numéro se
|
||
lit d'un coup d'œil.
|
||
|
||
**cloud-init** — Le mécanisme qui configure une VM **à sa toute première seconde** :
|
||
adresse IP, nom, clé SSH. Sans lui, un clone naîtrait identique à son moule, jumeau de
|
||
tous les autres.
|
||
|
||
**Snapshot** — Photo d'une VM à un instant. Utile pour revenir en arrière ; ce n'est
|
||
**pas** une sauvegarde (elle vit sur le même stockage).
|
||
|
||
**systemd** — Le chef d'orchestre des services d'une machine Linux : il démarre, arrête et
|
||
surveille. « Un service » veut dire « une unité systemd ».
|
||
|
||
---
|
||
|
||
## Ansible : décrire au lieu d'exécuter
|
||
|
||
**Ansible** — L'outil qui applique une **description** à des machines, par SSH. Cf.
|
||
[Infra as Code & idempotence](Infra-as-Code-et-idempotence).
|
||
|
||
**Playbook** — Un fichier qui dit **quoi appliquer, à qui**. Ici : un par groupe
|
||
(`playbooks/groupes/<groupe>.yml`).
|
||
|
||
**Rôle** — Le paquet qui sait installer et configurer **une** chose (`serveur_nginx`,
|
||
`client_backup`). C'est l'unité réutilisable.
|
||
|
||
**Inventaire** — La liste des machines et de leurs groupes (`hosts.yml`). **Généré** depuis
|
||
le plan : on ne l'édite jamais à la main.
|
||
|
||
**group_vars** — Les valeurs d'un groupe de machines, rangées par fichier. C'est là que
|
||
vivent les *intrants* non secrets.
|
||
|
||
**Handler** — Une action qui ne se déclenche **que si** quelque chose a changé — typiquement
|
||
recharger un service quand sa configuration a bougé.
|
||
|
||
**Idempotence** — Rejouer la même description dix fois donne le même résultat. La deuxième
|
||
exécution ne change rien (`changed=0`). C'est ce qui rend une reconstruction sûre.
|
||
|
||
**Voûte (vault)** — Le fichier **chiffré** des secrets d'une instance. Jamais dans un
|
||
modèle, jamais en clair. Seul le gabarit `vault.yml.example` — des **noms**, pas des
|
||
valeurs — est versionné.
|
||
|
||
---
|
||
|
||
## Le réseau
|
||
|
||
→ Unité complète : [Le réseau des tenants](Le-réseau-des-tenants)
|
||
|
||
**Underlay** — Le réseau **physique** : câbles, commutateurs, adresses des hyperviseurs. Il
|
||
ne connaît aucun tenant.
|
||
|
||
**Overlay** — Les réseaux **virtuels** des tenants, transportés par-dessus l'*underlay*.
|
||
|
||
**VLAN** — Une étiquette posée sur chaque trame pour séparer des réseaux qui partagent un
|
||
câble. Limite : 4094 étiquettes, et chaque commutateur doit les connaître.
|
||
|
||
**VXLAN** — L'encapsulation : la trame d'un tenant voyage **dans une enveloppe**. Le réseau
|
||
physique ne voit que des colis. L'enveloppe coûte **50 octets** — d'où le *MTU* 1450.
|
||
|
||
**EVPN** — Le mécanisme par lequel les hyperviseurs s'annoncent les machines qu'ils
|
||
hébergent. Sans lui, la table des destinations serait tenue à la main.
|
||
|
||
**SDN** — *Software-Defined Networking* : le réseau se **décrit** et se pose par API, au
|
||
lieu de se câbler à la main.
|
||
|
||
**VNet** — Le réseau virtuel d'**une zone** d'un tenant (`t29fron`) : le point où la carte
|
||
d'une VM se branche.
|
||
|
||
**VRF** — Une table de routage **étanche**. Dans celle du tenant A, les réseaux du tenant B
|
||
n'existent pas. Ce n'est pas une interdiction, c'est une ignorance.
|
||
|
||
**Strophe (FRR)** — Le bloc de configuration qu'on pose par tenant dans
|
||
`/etc/frr/frr.conf.local`, sur chaque hyperviseur : sa **sortie** et son **puits**.
|
||
|
||
**FRR** — Le démon de routage des hyperviseurs (*FRRouting*).
|
||
|
||
**`nexthop-vrf`** — Emprunter **une seule** adresse à une autre table de routage, au lieu
|
||
d'importer celle-ci en entier. La différence entre une porte et un mur abattu.
|
||
|
||
**Blackhole (puits)** — Une route qui **absorbe** le trafic vers les adresses non
|
||
attribuées d'un tenant, pour qu'il ne parte pas errer ailleurs.
|
||
|
||
**MTU** — La plus grosse trame qu'un lien accepte. 1500 par défaut ; 1450 dans l'*overlay*
|
||
(l'enveloppe VXLAN prend 50). Se tromper suspend les grosses réponses sans casser les
|
||
petites — la panne la plus déroutante du domaine.
|
||
|
||
**SVI** — L'adresse de passerelle portée par un **commutateur** pour un VLAN. Set-OPS ne
|
||
s'en sert plus : le routage des tenants vit sur l'hyperviseur (*VRF*).
|
||
|
||
**Pont (bridge)** — Le commutateur **virtuel** d'un hyperviseur (`vmbr1`). Les VM de la
|
||
flotte se branchent sur leur *VNet*, pas sur un pont nu.
|
||
|
||
**IPAM** — Le registre qui attribue les adresses. Ici, c'est la **dérivation** : personne
|
||
ne tient de liste.
|
||
|
||
**Spanning-tree (STP)** — Le protocole qui empêche une boucle de commutateurs de saturer le
|
||
réseau. Il élit une racine ; c'est ce que désigne `routeur` dans l'*underlay*.
|
||
|
||
**MLAG** — Deux commutateurs qui se font passer pour un seul. Set-OPS n'en a pas — d'où
|
||
les chemins doublés ailleurs (MPIO côté stockage, `active-backup` côté flotte). *(Cette
|
||
entrée concluait « d'où un seul commutateur qui route » : plus aucun ne route. Le routage
|
||
des tenants vit sur l'hyperviseur, cf. l'entrée* SVI *ci-dessus.)*
|
||
|
||
**nftables** — Le pare-feu **de chaque machine** Linux. Set-OPS le dérive du registre des
|
||
flux.
|
||
|
||
**Policy drop** — Politique par défaut : *tout ce qui n'est pas autorisé est refusé*. Sans
|
||
règles chargées, elle mure la machine — d'où l'importance de `make flux`.
|
||
|
||
**Frontière** — Le pare-feu de bordure (OPNsense), entre l'écosystème et l'extérieur. Hors
|
||
flotte Ansible : piloté par API.
|
||
|
||
**FQDN** — Le nom complet d'une machine, `forge.genese.internal` — pas seulement `forge`.
|
||
|
||
---
|
||
|
||
## Les noms
|
||
|
||
→ Unité complète : [DNS & résolution](DNS-et-résolution)
|
||
|
||
**DNS** — L'annuaire qui traduit un nom en adresse.
|
||
|
||
**Le plancher** — La première couche de résolution : `/etc/hosts`, posé par le socle
|
||
**avant** que le DNS existe. Sans lui, rien ne peut s'amorcer.
|
||
|
||
**Résolveur** — Le service qui pose les questions au DNS pour une machine (ici Unbound,
|
||
local à chaque hôte).
|
||
|
||
**Reverse proxy** — Le portier : il reçoit toutes les requêtes web et les distribue au bon
|
||
service derrière. Cf. [Reverse-proxy & TLS](Reverse-proxy-et-TLS).
|
||
|
||
**vhost** — La configuration d'**un site** dans le *reverse proxy* : quel nom, vers quel
|
||
service.
|
||
|
||
**WAF** — Filtre qui inspecte les requêtes web et bloque les attaques connues.
|
||
|
||
**Edge** — La machine de bordure qui publie les services web (ici nginx).
|
||
|
||
---
|
||
|
||
## La confiance
|
||
|
||
→ Unité complète : [PKI & confiance](PKI-et-confiance)
|
||
|
||
**PKI** — L'ensemble qui fabrique et gère les certificats.
|
||
|
||
**CA (autorité de certification)** — Celle qui **signe** les certificats. Ici, `step-ca`,
|
||
interne : l'écosystème est sa propre autorité.
|
||
|
||
**Certificat** — Une pièce d'identité pour une machine : ce nom, cette clé, signé par la
|
||
*CA*.
|
||
|
||
**ACME** — Le protocole qui **automatise** la demande et le renouvellement d'un certificat.
|
||
Personne ne le fait à la main.
|
||
|
||
**SAN** — Les noms qu'un certificat couvre. Set-OPS les **dérive** du plan.
|
||
|
||
**TLS** — Le chiffrement d'une connexion (le « s » de https).
|
||
|
||
**mTLS** — TLS **des deux côtés** : le client prouve aussi son identité. C'est le
|
||
zéro-confiance entre serveurs.
|
||
|
||
---
|
||
|
||
## L'identité
|
||
|
||
→ Unité complète : [Identité & SSO](Identité-et-SSO)
|
||
|
||
**LDAP** — L'annuaire des personnes et des groupes : la source de vérité des identités.
|
||
|
||
**LDAPS** — LDAP chiffré.
|
||
|
||
**SSO** — *Single Sign-On* : une seule authentification pour toutes les applications.
|
||
|
||
**OIDC** — Le protocole moderne du *SSO* sur le web. C'est lui derrière « Se connecter
|
||
avec… ».
|
||
|
||
**SAML** — L'ancêtre d'*OIDC*, encore répandu en entreprise.
|
||
|
||
**Realm** — Le « royaume » d'un serveur d'identité : un espace de comptes, de groupes et de
|
||
règles. Un par écosystème.
|
||
|
||
**RBAC** — Donner des droits à des **rôles**, pas à des personnes. Cf.
|
||
[Autorisation & RBAC](Autorisation-et-RBAC).
|
||
|
||
---
|
||
|
||
## Le courriel
|
||
|
||
→ Unité complète : [Courriel (SMTP/IMAP)](Courriel)
|
||
|
||
**SMTP** — Le protocole qui **transporte** un courriel d'un serveur à l'autre.
|
||
|
||
**MTA** — Le serveur qui fait ce transport (ici Postfix).
|
||
|
||
**IMAP** — Le protocole par lequel **tu lis** ta boîte, depuis ton téléphone ou ton client.
|
||
|
||
**LMTP** — Le dernier mètre : le MTA remet le message au serveur qui **détient** les boîtes
|
||
(ici Dovecot).
|
||
|
||
**DKIM** — La signature qui prouve qu'un courriel vient bien de ton domaine.
|
||
|
||
---
|
||
|
||
## L'état, et sa preuve
|
||
|
||
**SQLite** — Une base de données qui tient dans **un fichier**, sans serveur ni compte.
|
||
Suffisante pour une petite forge ; c'est ce que porte patient 0. À l'inverse de
|
||
*PostgreSQL*, qui est un service à part entière — un serveur, une zone, un secret.
|
||
|
||
**restic** — L'outil de sauvegarde chiffrée et dédupliquée. Cf. [Sauvegardes](Sauvegardes).
|
||
|
||
**Sauvegarde vs snapshot** — L'infrastructure se **reconstruit** depuis le code ; seul
|
||
l'**état** (annuaire, bases, courriel, forge) se sauvegarde. Cf. [Sauvegardes](Sauvegardes).
|
||
|
||
**Devis** — Une commande qui **interroge le système réel** et montre l'écart avec le plan,
|
||
sans rien écrire (`make sdn-plan`, `make placement-plan`).
|
||
|
||
**Preuve (Pxx)** — Une vérification rejouable de `make prouver` qui garde une classe
|
||
d'erreur. Cf. [La preuve](La-preuve).
|
||
|
||
**Source unique** — Le principe qui traverse tout le dépôt : une information vit à **un**
|
||
endroit, et tout le reste en dérive. Neuf copies d'une même règle ne vieillissent pas
|
||
ensemble — et la divergence ne se voit jamais de l'intérieur d'une copie.
|
||
|
||
**Résolution d'instance** — Comment un script sait **quel écosystème** il regarde : la
|
||
variable `SETOPS_INSTANCE`, sinon le lien `instance`. Une seule fonction y répond pour tout
|
||
le moteur (`inventory_rules.instance_courante`) ; la preuve P41 refuse qu'on en réécrive
|
||
une deuxième.
|
||
|
||
**Harnais** — L'ensemble des preuves. Un `make prouver` vert veut dire : aucune des classes
|
||
d'erreur connues n'est présente.
|
||
|
||
**Chèque vert sur un périmètre vide** — Le piège central de ce dépôt : une vérification qui
|
||
réussit **sans rien avoir mesuré**. Une sauvegarde de zéro fichier, un devis qui lit un
|
||
intrant périmé, une preuve qui ne peut pas échouer. À chaque « ✅ », se demander **sur
|
||
quoi** il a porté.
|
||
|
||
**GUI** — La console web d'exploitation (`make inventaire-ui`). Cf.
|
||
[Le GUI](Le-GUI-console-d-exploitation).
|
||
|
||
**CI** — La vérification automatique à chaque poussée (`make ci` la rejoue à l'identique).
|
||
|
||
---
|
||
|
||
## La filiation
|
||
|
||
→ Unité complète : [Filiation, signatures & témoins](Filiation-signatures-et-témoins)
|
||
|
||
**Génome** — Les **quatre dépôts** sans lesquels un écosystème ne peut pas être refabriqué :
|
||
le *moteur*, l'*instance*, le dépôt de l'hébergeur, les *modèles*. `make genome` les nomme.
|
||
|
||
**Parenté** — Le fichier `parente.yml` d'une instance : de quel moteur elle descend, à quel
|
||
*commit*, sous quelle *étiquette signée*. Sans lui, un écosystème ne sait plus d'où il vient.
|
||
|
||
**Commit** — Un instantané du dépôt, qui porte l'**empreinte** du précédent. Modifier le
|
||
passé change toutes les empreintes suivantes : c'est ce qui rend une histoire vérifiable.
|
||
|
||
**Empreinte (hachage)** — Une courte signature calculée d'un contenu. Deux contenus
|
||
différents n'ont pas la même — c'est ce qui permet de détecter une modification.
|
||
|
||
**Arbre de Merkle** — La structure où chaque élément porte l'empreinte du précédent. Git en
|
||
est un ; une blockchain aussi. L'intégrité vient de là, pas d'une chaîne de blocs.
|
||
|
||
**Étiquette (tag)** — Un nom posé sur un état précis du dépôt (`v2026.08.21`). Signée, elle
|
||
devient un point de repère **vérifiable** : « c'est de cet état-là que je descends ».
|
||
|
||
**Signature** — Le scellé posé avec une clé privée. Qui a la clé **publique** peut vérifier ;
|
||
qui n'a pas la privée ne peut pas contrefaire. Sans elle, un nom d'auteur est déclaratif.
|
||
|
||
**`.git-allowed-signers`** — Le registre, **versionné**, des clés autorisées à signer cette
|
||
lignée. Retirer une ligne révoque pour la suite ; le passé signé reste vérifiable.
|
||
|
||
**Témoin** — Une copie vivante et indépendante du *génome*. Réécrire l'histoire suppose de
|
||
convaincre tous les témoins : c'est la lignée elle-même qui protège la lignée.
|
||
|
||
**Journal de transparence** — Un registre append-only, auditable par un tiers (Certificate
|
||
Transparency, Sigstore). La réponse mûre quand plusieurs organisations doivent constater les
|
||
mêmes faits sans se faire confiance — et l'alternative sobre à une blockchain.
|
||
|
||
**Horodatage (RFC 3161)** — Prouver qu'un document **existait** à une date, par un tiers.
|