<pstyle="font-size:24px;letter-spacing:3px;text-transform:uppercase;color:#176754;font-weight:600">02 · Du plan aux machines</p>
<h2style="font-family:'Source Serif 4', Georgia, serif;font-size:64px;font-weight:400;line-height:1.1;color:#152F2C">On édite le plan, jamais l’inventaire.</h2>
<h3style="font-size:30px;font-weight:600;color:#152F2C">Lire avant d’écrire</h3>
<pstyle="font-size:24px;line-height:1.45">Les cibles <spanstyle="color:#152F2C">-plan</span> comparent le réel au plan sans rien changer ; <spanstyle="color:#152F2C">-appliquer</span> réconcilie, sur confirmation.</p>
<h3style="font-size:30px;font-weight:600;color:#152F2C">Un modèle pour démarrer</h3>
<pstyle="font-size:24px;line-height:1.45">Le modèle public <spanstyle="color:#152F2C">socle</span> : PKI, DNS interne, edge TLS, magasin de courriel.</p>
</div>
</div>
<pstyle="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<aside>La règle d’or : on édite le plan, jamais l’inventaire. Le plan, ce sont quelques fichiers YAML : les serveurs, les applications, les bases, les domaines, la nomenclature. make instancier en dérive tout le reste, et montre l’écart sémantique avant d’écrire quoi que ce soit. L’inventaire Ansible est généré. Puis make deployer applique, couche par couche, dans l’ordre d’un graphe de 43 groupes qu’on vérifie sans cycle. Toutes les commandes qui touchent au réel suivent la même convention : une cible -plan qui lit et compare, une cible -appliquer qui réconcilie, et seulement avec CONFIRMER=true. Pour démarrer, le dépôt public fournit un modèle générique, socle.</aside>