# serveur_forge_site **Le marqueur de la forge du génome.** Il dit que *cette* forge est celle dont les écosystèmes du site se reproduisent (D-81), et déclare le flux qui le permet. Il n'installe rien. ## Pourquoi il existe séparément C'est le même patron que `serveur_artefacts` + `serveur_cache_site` : **un installateur, un marqueur**. | | | |---|---| | `serveur_forgejo` | pose le logiciel, sert sa propre flotte | | **ce rôle** | désigne la forge comme **racine du génome du site**, et l'ouvre aux tenants | Ajouter `ingress 443 from voisins_site` à `serveur_forgejo` aurait ouvert **la forge de chaque tenant** à ses voisins. La responsabilité appartient à une machine précise, pas au logiciel qu'elle fait tourner. ## Ce qu'il a corrigé Le site rend deux services à ses locataires pendant leur jeunesse : **les paquets** et **le génome**. Le premier était déclaré (`serveur_cache_site`), le second ne l'était pas — alors que D-81 fait de cette forge l'autorité dont tout écosystème se reproduit. Mesuré le 2026-08-28 sur `ops-01`, première machine de la reconstruction de Chezlepro : ``` cache du SITE 10.0.33.21:3142 : OK forge du SITE 10.0.33.11:443 : BLOQUÉ ``` Le plan du tenant déclarait pourtant lire son génome à cette adresse. **Une dépendance déclarée chez le consommateur, sans flux correspondant chez le fournisseur** — et rien ne le signalait : la garde de matrice de `resoudre_flux` ne vérifie que les paires rôle→rôle, jamais un `pair` symbolique comme `voisins_site`. ## Qui peut le déclarer **L'écosystème de l'hébergeur**, et lui seul. Un tenant qui le déclarerait offrirait sa forge à ses voisins. ## Ce que ce rôle ne fait pas Il n'installe rien, n'ouvre aucun port, ne sauvegarde rien. Il attribue une responsabilité — et vérifie que le service qu'il désigne écoute vraiment, faute de quoi il donnerait l'autorité du génome à un port muet.