# 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..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-`) : 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/.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. À 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.