Set-OPS-Public/docs
Daniel Allaire 4462c13b3d P03 : la preuve comparait chaque instance a l'inventaire d'UNE SEULE
Trouve en validant une mise a jour du CHANGELOG. Deux invocations de la meme preuve,
deux verdicts : `make prouver` -> NON CONFORME (« lab : 17 hotes avec ecart »),
`python3 scripts/prouver.py` -> CONFORME 37/37. Le lab n'avait aucun ecart.

DEUX VARIABLES DESIGNENT LA CIBLE, ET LA SECONDE GAGNE. Le Makefile exporte
SETOPS_INVENTAIRE (ligne 13), derive de l'instance ACTIVE ; instancier.py:68 lui fait
FORCER la cible par-dessus SETOPS_INSTANCE. P03 (prouver.py:505) ne redirigeait que
SETOPS_INSTANCE : elle generait le plan de CHAQUE instance federee et le comparait a
l'inventaire applique de la SEULE instance active.

LE ROUGE N'ETAIT PAS LE PROBLEME, LE VERT L'ETAIT. Sous `make`, l'inventaire applique
de lab et de Technolibre n'etait JAMAIS lu — l'angle meme pour lequel P03 a ete ecrite
le 2026-08-12 (un tenant qu'on ne regarde pas imposant ses vieilles adresses au pare-feu
partage). La preuve etait aveugle a son propre cas, par l'invocation documentee. Les
rapports du 13 et du 14 sortent de cette invocation-la. Signature visible sans lire le
code : les hosts.genere.yml de lab et de Technolibre ne bougeaient pas.

CORRECTIF, cinq sites : env.pop("SETOPS_INVENTAIRE") partout ou l'on redirige
SETOPS_INSTANCE — P03 et P15, plus les trois applicateurs (opnsense, proxmox_fw, sdn) qui
pointent vers l'HEBERGEUR. Ces trois sont sans effet tant qu'hebergeur et tenant actif
coincident, c'est-a-dire jusqu'au second site. Le geste existait deja (modeles.py:96).

GARDE, pour que la classe cesse d'etre silencieuse : inventory_rules.inventaire_force()
REFUSE une cible hors de l'instance visee, en nommant les deux valeurs. Eprouvee dans les
deux sens (contradiction -> code 1 ; cible legitime dans l'instance -> passe). Branchee
sur les quatre resolutions de _inventaire (instancier, serveurs, applications,
config_proxmox). Le GUI garde la sienne : il ne redirige jamais SETOPS_INSTANCE pour un
fils et resout par symlink a chaque requete.

make prouver : 37 OK, 0 echec, 0 saute — et les hosts.genere.yml des TROIS instances
portent l'horodatage du passage. make test 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 14:35:01 -04:00
..
audit P03 : la preuve comparait chaque instance a l'inventaire d'UNE SEULE 2026-08-18 14:35:01 -04:00
img docs : figures annotées des 7 autres vues du GUI (série complète) 2026-07-28 13:48:36 -04:00
modeles_vm mtu : le 1450 de la zone n'atteignait pas les invites 2026-08-10 17:54:03 -04:00
architecture-set-ops.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
authentification.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
autorisation.md sauvegarde : le catalogue derive du groupe, et P36 le prouve 2026-08-11 20:50:46 -04:00
bindings-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
carte-set-ops.md doc : la machine d'epreuve jetable — une doctrine qui n'avait pas son instrument 2026-08-13 11:47:12 -04:00
catalogue-services.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
config-proxmox.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
couches-deploiement.yml Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu 2026-07-07 03:08:09 -04:00
courriel-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
decisions-architecture.md GUI : le « pont reseau » n'est pas un reglage de la flotte — l'intitule le dit 2026-08-13 11:31:41 -04:00
dependances-groupes.yml Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu 2026-07-07 03:08:09 -04:00
devis-services.md devis : make versions-mesurer — l'ecart avec l'amont devient lisible 2026-08-10 23:02:16 -04:00
dimensionnement-ressources.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
dns-interne.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
ecosysteme-chezlepro.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
flux-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
frontiere-opnsense.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
hebergeur-exploitation.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
identite-sso.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
implanter-un-tenant-sur-un-site.md frontiere : une frontiere ne police que les tenants de SON site 2026-08-14 00:55:39 -04:00
integrations-vm.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
intrants-base-gui-conception.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
intrants-communs.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
meta-classe.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
migration-tenant.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
MISE-A-JOUR-CODEX-CLAUDE.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
multi-instances.md adressage : le decalage de +10 est retire, l'index se lit dans l'adresse 2026-08-12 16:16:08 -04:00
nomenclature-vm.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
plan-et-generation.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
positionnement.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
pouvoirs-set-ops.md doc : la machine d'epreuve jetable — une doctrine qui n'avait pas son instrument 2026-08-13 11:47:12 -04:00
preparer-un-site-hebergeur.md D-78 : destination ou chemin — et le VLAN 50 pour eviter une collision 2026-08-12 17:50:05 -04:00
procedure-template-debian13-proxmox.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
registre-flux.md supervision : c'est le DEPOT qui dit ou en sont les sauvegardes 2026-08-11 21:39:05 -04:00
runbooks-exploitation.md D-78 : destination ou chemin — et le VLAN 50 pour eviter une collision 2026-08-12 17:50:05 -04:00
sdn-evpn.md adressage : le decalage de +10 est retire, l'index se lit dans l'adresse 2026-08-12 16:16:08 -04:00
theme-forgejo-hors-flotte.md preuve : P34 — chaque document declare son lecteur (D-74) 2026-08-10 07:53:04 -04:00
vm-lifecycle.md doc : la machine d'epreuve jetable — une doctrine qui n'avait pas son instrument 2026-08-13 11:47:12 -04:00