promo : le diaporama dit l'oeuvre commune de Chezlepro et TechnoLibre

Nouvelle diapositive partenariat : un partenariat de plus de cinq ans,
Daniel Allaire instigateur, Mathieu Benoit partenaire ; deux membres
federes de l'Alliance Boreale. Couverture, chiffres, site de TechnoLibre,
suite et cloture nomment les deux membres. CHANGELOG 156.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daniel Allaire 2026-10-15 19:40:33 -04:00
parent baabfe5bbf
commit eb3ebbebfc
23 changed files with 129 additions and 41 deletions

View file

@ -1,3 +1,21 @@
## 2026-10-15 (156) — Le diaporama dit l'œuvre commune : Chezlepro et TechnoLibre, membres de l'Alliance Boréale
**95 preuves.** `make verifier` : 95 OK, 0 échec. Aucun changement au moteur.
Le diaporama de (155) racontait le projet d'une seule personne : TechnoLibre n'y apparaissait
que comme un « écosystème » et un « site de reprise ». C'est pourtant le fruit d'un partenariat
de plus de cinq ans ; TechnoLibre y a investi temps et matériel, et son écosystème a été le
premier à montrer que le moteur sert plus d'une organisation. Demande de Daniel : présenter
l'œuvre comme le résultat de ce partenariat, lui en étant l'instigateur et le porteur du ballon.
- Nouvelle diapositive `partenariat`, en deuxième position : Chezlepro et TechnoLibre, ce que
chacun apporte, et leur place de membres fédérés de l'Alliance Boréale, qui mutualisent le DNS
public, la forge et, bientôt, les sauvegardes.
- Couverture, chiffres, site de TechnoLibre, suite et clôture nomment les deux membres.
- Vingt diapositives ; pieds de page renumérotés depuis l'ordre de `deck.json`.
**Reste** : l'adresse publique du dépôt (`[adresse publique du dépôt]`).
## 2026-10-15 (155) — Le diaporama des Rencontres Linux du Québec, et des dossiers clients qui ne trouvaient plus leurs sources
**95 preuves.** `make verifier` : 95 OK, 0 échec. Aucun changement au moteur : un diaporama

View file

@ -149,7 +149,7 @@ Ne pas remplacer les résultats historiques par des affirmations sur la flotte a
## `rlq-2026-10-24/` — le diaporama des Rencontres Linux du Québec
La présentation de Set-OPS et de son état d'avancement aux Rencontres Linux du Québec (ÉTS,
24 octobre 2026) : dix-neuf diapositives 16:9, notes de présentation comprises, **sans adresse
24 octobre 2026) : vingt diapositives 16:9, notes de présentation comprises, **sans adresse
interne, secret, prix, faiblesse de sécurité ni défaut interne**. Les chiffres et les faits sont ceux du **15 octobre 2026** (révision
`4645e47`, 95 preuves), datés comme tels ; ne pas les rafraîchir sans les relever de nouveau.

View file

@ -1,19 +1,64 @@
{
"v": 4,
"createdOnFiles": {"v": 1, "at": "2026-10-15T18:40:00Z"},
"createdOnFiles": {
"v": 1,
"at": "2026-10-15T18:40:00Z"
},
"lists": "css",
"title": "Set-OPS — Rencontres Linux du Québec",
"order": ["cover", "probleme", "setops", "ecosysteme", "plan", "adressage", "declarations", "filtrage", "site", "chiffres", "reconstructions", "etat", "zeroconfiance", "secondsite", "preuves", "lecons", "reste", "libre", "questions"],
"order": [
"cover",
"partenariat",
"probleme",
"setops",
"ecosysteme",
"plan",
"adressage",
"declarations",
"filtrage",
"site",
"chiffres",
"reconstructions",
"etat",
"zeroconfiance",
"secondsite",
"preuves",
"lecons",
"reste",
"libre",
"questions"
],
"sections": {
"s1": {"description": "Pourquoi Set-OPS existe et ce qu’il est.", "start": "cover"},
"s2": {"description": "Comment le moteur est fait : du plan aux machines.", "start": "ecosysteme"},
"s3": {"description": "Où il en est au 15 octobre 2026, preuves datées à l’appui.", "start": "chiffres"},
"s4": {"description": "Ce que la flotte a appris, ce qui reste, et comment le reprendre.", "start": "lecons"}
"s1": {
"description": "Pourquoi Set-OPS existe et ce qu’il est.",
"start": "cover"
},
"s2": {
"description": "Comment le moteur est fait : du plan aux machines.",
"start": "ecosysteme"
},
"s3": {
"description": "Où il en est au 15 octobre 2026, preuves datées à l’appui.",
"start": "chiffres"
},
"s4": {
"description": "Ce que la flotte a appris, ce qui reste, et comment le reprendre.",
"start": "lecons"
}
},
"faces": {
"source-serif-4": {"family": "Source Serif 4", "href": "https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,300..700;1,300..700&display=swap"},
"ibm-plex-sans": {"family": "IBM Plex Sans", "href": "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600&display=swap"},
"jetbrains-mono": {"family": "JetBrains Mono", "href": "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap"}
"source-serif-4": {
"family": "Source Serif 4",
"href": "https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,300..700;1,300..700&display=swap"
},
"ibm-plex-sans": {
"family": "IBM Plex Sans",
"href": "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600&display=swap"
},
"jetbrains-mono": {
"family": "JetBrains Mono",
"href": "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap"
}
},
"designSystems": []
}

View file

@ -19,6 +19,6 @@
</div>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026 · exemple calculé par le moteur, index fictif</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">06</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">07</p>
<aside>Un exemple concret, calculé par le moteur lui-même pour un index fictif, 42. Le seul champ saisi est l’index ; chaque machine ne déclare que sa fonction. Le supernet, le VLAN, l’adresse, la passerelle et le VMID en dérivent. Le VMID est le miroir de l’adresse sur neuf chiffres : le VLAN, l’octet d’hôte, le rang. Quand on voit 142401101 dans Proxmox, on sait que c’est la machine 10.42.19.11, sans consulter de registre. Deux gardes protègent la règle : on ne peut pas écrire une adresse à la main dans le plan, et deux écosystèmes ne peuvent pas prendre le même index. C’est ce qui permet le multi-locataire sur une même grappe.</aside>
</section>

View file

@ -22,11 +22,11 @@
</div>
<div style="display:flex;flex-direction:column;gap:8px;border-top:1px solid #426056;padding:20px 0 0 0">
<p style="font-family:'Source Serif 4', Georgia, serif;font-size:96px;line-height:1.05;color:#D2B273">2 × 13</p>
<p style="font-size:24px;line-height:1.4">écosystèmes et leurs VM</p>
<p style="font-size:24px;line-height:1.4">écosystèmes : Chezlepro, TechnoLibre</p>
</div>
<div style="display:flex;flex-direction:column;gap:8px;border-top:1px solid #426056;padding:20px 0 0 0">
<p style="font-family:'Source Serif 4', Georgia, serif;font-size:96px;line-height:1.05;color:#D2B273">2 × 9</p>
<p style="font-size:24px;line-height:1.4">sites d’hébergement et leurs VM</p>
<p style="font-size:24px;line-height:1.4">sites : Chezlepro, TechnoLibre</p>
</div>
<div style="display:flex;flex-direction:column;gap:8px;border-top:1px solid #426056;padding:20px 0 0 0">
<p style="font-family:'Source Serif 4', Georgia, serif;font-size:96px;line-height:1.05;color:#D2B273">43</p>
@ -38,6 +38,6 @@
</div>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#8FA79B">Set-OPS · Rencontres Linux du Québec 2026 · relevés le 15 octobre 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#8FA79B">10</p>
<aside>Où en est le projet, en chiffres, au 15 octobre. Soixante-dix rôles Ansible. Quatre-vingt-quinze preuves statiques, toutes conformes. Huit cent soixante-quatorze commits depuis le 24 juin. Quatre-vingt-cinq décisions d’architecture écrites et en vigueur. En vert pâle, le dépôt ; en or, la flotte réelle : deux écosystèmes de treize VM chacun, Chezlepro et TechnoLibre, hébergés par deux sites de neuf VM chacun. C’est un chantier, pas encore la production : on les rase et on les reconstruit pour prouver le moteur. Quarante-trois groupes de déploiement, ordonnés par un graphe vérifié sans cycle. Et cent cinquante-quatre entrées datées dans le journal des changements. Les chiffres du dépôt, rôles et décisions, sont recomptés par une preuve qui refuse tout écart ; les autres ont été relevés le 15 octobre.</aside>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#8FA79B">11</p>
<aside>Où en est le projet, en chiffres, au 15 octobre. Soixante-dix rôles Ansible. Quatre-vingt-quinze preuves statiques, toutes conformes. Huit cent soixante-quatorze commits depuis le 24 juin. Quatre-vingt-cinq décisions d’architecture écrites et en vigueur. En vert pâle, le dépôt ; en or, la flotte réelle : deux écosystèmes de treize VM chacun, Chezlepro et TechnoLibre, et deux sites de neuf VM chacun, un par membre. C’est un chantier, pas encore la production : on les rase et on les reconstruit pour prouver le moteur. Quarante-trois groupes de déploiement, ordonnés par un graphe vérifié sans cycle. Et cent cinquante-quatre entrées datées dans le journal des changements. Les chiffres du dépôt, rôles et décisions, sont recomptés par une preuve qui refuse tout écart ; les autres ont été relevés le 15 octobre.</aside>
</section>

View file

@ -3,7 +3,7 @@
<p style="font-size:24px;letter-spacing:3px;text-transform:uppercase;color:#B9EED2;font-weight:600">Rencontres Linux du Québec · ÉTS · 24 octobre 2026</p>
<h1 style="font-family:'Source Serif 4', Georgia, serif;font-size:160px;font-weight:400;line-height:1;color:#F3F6EE">Set-OPS</h1>
<p style="font-family:'Source Serif 4', Georgia, serif;font-size:56px;line-height:1.15;color:#B9EED2;font-style:italic">Un écosystème numérique souverain, décrit en code</p>
<p style="font-size:30px;line-height:1.4;color:#DCE8DF">Daniel Allaire · Chezlepro / Alliance Boréale</p>
<p style="font-size:30px;line-height:1.4;color:#DCE8DF">Une œuvre de Chezlepro et TechnoLibre, membres de l’Alliance Boréale<br><span style="color:#B9EED2">Présentée par Daniel Allaire</span></p>
<div style="display:flex;flex-wrap:wrap;gap:12px">
<p style="font-size:24px;color:#DCE8DF;border:1px solid #4F7465;border-radius:999px;padding:8px 20px">Logiciel libre · AGPLv3</p>
<p style="font-size:24px;color:#DCE8DF;border:1px solid #4F7465;border-radius:999px;padding:8px 20px">Proxmox · Debian 13</p>
@ -25,5 +25,5 @@
<circle cx="260" cy="430" r="11"/><circle cx="95" cy="335" r="11"/><circle cx="95" cy="145" r="11"/>
</g>
</svg>
<aside>Bonjour. Je m’appelle Daniel Allaire ; je viens présenter Set-OPS, un moteur libre qui construit et exploite un écosystème numérique complet à partir d’un plan déclaratif. Le projet a commencé le 24 juin 2026 : il a moins de quatre mois. Je vais dire pourquoi il existe, comment il est fait, où il en est aujourd’hui avec des preuves datées, et ce qui reste à faire. Les chiffres de cette présentation sont ceux du 15 octobre 2026.</aside>
<aside>Bonjour. Je m’appelle Daniel Allaire ; je viens présenter Set-OPS, l’œuvre commune de Chezlepro et de TechnoLibre, deux membres de l’Alliance Boréale. C’est un moteur libre qui construit et exploite un écosystème numérique complet à partir d’un plan déclaratif. Le projet a commencé le 24 juin 2026 : il a moins de quatre mois. Je vais dire pourquoi il existe, comment il est fait, où il en est aujourd’hui avec des preuves datées, et ce qui reste à faire. Les chiffres de cette présentation sont ceux du 15 octobre 2026.</aside>
</section>

View file

@ -14,6 +14,6 @@
</table>
<p style="font-size:32px;line-height:1.4;color:#152F2C;border-left:4px solid #176754;padding:8px 0 8px 28px">Aucune liste n’est tenue à la main ailleurs. La leçon la plus payée du dépôt : <i>une liste qui suit une autre prend du retard.</i></p>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">07</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">08</p>
<aside>Le deuxième mécanisme central : chaque rôle porte ses déclarations dans son dossier meta. Le rôle de PostgreSQL dit de quels flux il a besoin, combien de mémoire il consomme, comment on le supervise, comment on s’y authentifie. Le moteur agrège ces déclarations : le pare-feu de chaque hôte, celui de Proxmox et la frontière OPNsense sortent du même fichier ; la taille de la VM est la somme des empreintes des rôles qu’elle porte. Aucune liste n’est maintenue à la main à côté. On a appris cette leçon plusieurs fois : dès qu’une liste en recopie une autre, elle prend du retard, et on finit par annoncer une adresse où il n’y a personne.</aside>
</section>

View file

@ -39,6 +39,6 @@
</div>
<p style="font-size:30px;line-height:1.4;color:#152F2C">Aujourd’hui, un écosystème de référence compte <b>13 machines virtuelles</b>, nées du même gabarit Debian 13 durci : nftables, auditd, AppArmor, fail2ban, SSH par clé seulement.</p>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">04</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">05</p>
<aside>Ce qu’un écosystème contient. L’identité d’abord : OpenLDAP est la source de vérité, Keycloak fait l’authentification unique, et oauth2-proxy protège les applications qui ne parlent pas OIDC. Une autorité de certification interne, step-ca, délivre les certificats par ACME. PowerDNS pour les noms, avec DNSSEC. Postfix, Dovecot et rspamd pour le courriel — la pile mature, pas la plus jeune. PostgreSQL pour les données, sauvegardées par restic hors du nœud. Nextcloud et Collabora pour travailler ensemble. Prometheus, Loki, Grafana et Icinga pour voir ce qui se passe. Chaque machine part du même gabarit durci. Un écosystème de référence compte treize VM.</aside>
</section>

View file

@ -36,6 +36,6 @@
</div>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">12</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">13</p>
<aside>Comment l’état traverse une reconstruction. Avant de raser, chaque machine qui détient de l’état prend un instantané nommé « avant-raser », dans un dépôt restic hors du nœud. On rase. On clone les VM, on arme le serveur d’exploitation de l’écosystème, on déploie. Chaque service, en naissant, demande au dépôt de sauvegarde si une incarnation précédente l’attend, et se restaure. Puis on compare des témoins, clé par clé : les empreintes avant et après doivent être identiques. Le principe est simple : l’infrastructure se reconstruit par le code, donc on ne sauvegarde pas des VM, on sauvegarde la donnée. Un détail qui a son importance : si le dépôt est illisible, le service refuse de naître neuf, parce que conclure « rien à restaurer » faute de joindre le dépôt effacerait ce qui attend ailleurs.</aside>
</section>

View file

@ -37,6 +37,6 @@
</div>
<p style="font-size:30px;line-height:1.4;color:#152F2C">Les trois cadres verts sortent du même fichier. Un flux <span style="color:#176754">pair: externe</span> devient la politique de bordure ; le registre des flux, généré, sert d’audit et dit le chiffrement de chacun.</p>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">08</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">09</p>
<aside>Le réseau, de l’Internet jusqu’au service. La frontière OPNsense tient la bordure nord-sud ; chaque écosystème a sa zone EVPN dans le SDN de Proxmox, avec des passerelles anycast ; le pare-feu de Proxmox filtre l’est-ouest, VM par VM, avec un refus par défaut ; et nftables protège chaque hôte. Les trois pare-feu — en vert — ne sont pas écrits à la main : ils sont dérivés des flux que les rôles déclarent. Un flux dont le pair est « externe » devient une règle de la frontière, posée par son API. Et le registre des flux est généré : c’est la matrice d’audit, qui dit pour chaque flux s’il est chiffré.</aside>
</section>

View file

@ -30,6 +30,6 @@
</div>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">16</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">17</p>
<aside>Pour une salle d’administrateurs Linux, voici ce qui vous servira peut-être demain matin. Un : un connect TCP réussi ne prouve rien ; un pare-feu peut accepter la poignée de main sans relayer le trafic. Seule la livraison compte, et la destination en est le seul juge. Deux : l’API de Proxmox, quand on l’interroge sans authentification, met un peu plus de trois secondes à répondre, par protection contre la force brute ; une sonde avec un délai de deux secondes y voit une panne qui n’existe pas. Trois : nginx reload n’applique pas un changement d’adresse d’écoute ; il faut un restart, et comparer ss à la configuration. Quatre : un certificat renouvelé sur disque reste servi périmé tant qu’on ne recharge pas le service. Cinq : Ansible lancé avec une sortie non bloquante échoue en silence ; on le fait passer dans un tube. Six : dans OPNsense, les règles du groupe wireguard passent avant celles d’une interface WireGuard assignée.</aside>
</section>

View file

@ -23,6 +23,6 @@
<p style="font-size:26px;line-height:1.45;color:#CFDDD3">Le code : [adresse publique du dépôt] · Contact : chezlepro.ca/contact</p>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">18</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">19</p>
<aside>Le projet est libre, sous AGPLv3 ou ultérieure. Le modèle d’affaires est simple : le logiciel est libre, et on vend des services — héberger, accompagner, former. L’outil est conçu pour qu’un administrateur le reprenne sans IA, avec la documentation, make et la console. Et un écosystème se remet à son organisation en deux temps : l’identité le jour de la livraison, puis les clés des machines à une échéance convenue, une fois les nouveaux accès vérifiés. Pour essayer : le dépôt public fournit un modèle générique, socle, et la commande instance-creer en fait un écosystème à vous. Je serai heureux d’en parler après la présentation.</aside>
</section>

View file

@ -0,0 +1,25 @@
<section id="partenariat" data-transition="fade" style="background:#F6F7F0;color:#3E5550;font-family:'IBM Plex Sans', Arial, sans-serif;padding:128px 128px 160px;display:flex;flex-direction:column;gap:48px">
<div style="display:flex;flex-direction:column;gap:16px">
<p style="font-size:24px;letter-spacing:3px;text-transform:uppercase;color:#176754;font-weight:600">Une œuvre commune</p>
<h2 style="font-family:'Source Serif 4', Georgia, serif;font-size:64px;font-weight:400;line-height:1.1;color:#152F2C">Le fruit d’un partenariat de plus de cinq ans.</h2>
</div>
<div style="display:grid;grid-template-columns:1fr 1fr;gap:32px">
<div style="display:flex;flex-direction:column;gap:12px;background:#FDFDFA;border:1px solid #D5DFD7;border-top:4px solid #176754;border-radius:12px;padding:40px">
<p style="font-size:24px;letter-spacing:2px;text-transform:uppercase;color:#176754;font-weight:600">Chezlepro</p>
<h3 style="font-size:32px;font-weight:600;color:#152F2C">Daniel Allaire, l’instigateur</h3>
<p style="font-size:26px;line-height:1.45">Porte le ballon au quotidien : écrit le moteur, héberge le premier site, où vivent les deux écosystèmes.</p>
</div>
<div style="display:flex;flex-direction:column;gap:12px;background:#FDFDFA;border:1px solid #D5DFD7;border-top:4px solid #C59C56;border-radius:12px;padding:40px">
<p style="font-size:24px;letter-spacing:2px;text-transform:uppercase;color:#7A5A1E;font-weight:600">TechnoLibre</p>
<h3 style="font-size:32px;font-weight:600;color:#152F2C">Mathieu Benoît, le partenaire</h3>
<p style="font-size:26px;line-height:1.45">Y a investi temps et matériel : le second site, sa frontière, son nœud, son stockage ; le second écosystème, qui a montré que le moteur sert plus d’une organisation.</p>
</div>
</div>
<div style="display:flex;flex-direction:column;gap:12px;background:#102E28;border-radius:12px;padding:40px">
<p style="font-family:'Source Serif 4', Georgia, serif;font-size:40px;line-height:1.25;color:#F3F6EE">Deux membres fédérés de l’Alliance Boréale.</p>
<p style="font-size:26px;line-height:1.45;color:#CFDDD3">Chacun son site, son écosystème et ses clés ; un moteur commun. Ensemble, ils mutualisent le DNS public, la forge et, bientôt, les sauvegardes.</p>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">02</p>
<aside>Avant d’entrer dans la technique, je veux dire d’où vient ce projet. Set-OPS est le fruit d’un partenariat de plus de cinq ans entre Chezlepro et TechnoLibre, entre Mathieu Benoît et moi : une vision partagée d’un numérique souverain pour les organisations d’ici. J’en suis l’instigateur et je porte le ballon au quotidien ; la retraite me donne ce luxe-là, et c’est pour ça que le code avance vite. Mais sans TechnoLibre, Chezlepro n’aurait jamais évolué ainsi. TechnoLibre y a investi du temps et du matériel : le second site tourne sur son équipement, et son écosystème a été le premier à montrer que le moteur servait plus d’une organisation. Les deux sont membres fédérés de l’Alliance Boréale : chacun garde son site, son écosystème et ses clés, et ensemble ils mutualisent ce qui gagne à l’être — le DNS public aujourd’hui, la forge, et bientôt les sauvegardes.</aside>
</section>

View file

@ -39,6 +39,6 @@
</div>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">05</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">06</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>
</section>

View file

@ -20,6 +20,6 @@
<p style="font-size:26px;line-height:1.45;color:#CFDDD3">Et chaque sonde a son contrôle : avant de conclure, on vérifie d’où l’instrument mesure.</p>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">15</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">16</p>
<aside>Comment sait-on que tout ça tient ? Deux familles d’outils, qu’on ne confond pas. Les preuves statiques lisent le dépôt seul, sans réseau : la cohérence du plan, des rôles, des flux, de la documentation. Il y en a 95 ; elles produisent un rapport daté qu’on peut rejouer. Les devis, eux, lisent le système en marche et le comparent au plan, sans rien écrire. La discipline qui compte le plus : chaque garde a un témoin. On casse exprès — une adresse faussée, un nom retiré — et la garde doit le voir. Une garde qui ne mord jamais ne prouve rien. Même chose pour les sondes : avant d’accuser une machine, on vérifie d’où l’instrument mesure.</aside>
</section>

View file

@ -19,6 +19,6 @@
</div>
<p style="font-size:32px;line-height:1.4;color:#152F2C;border-left:4px solid #176754;padding:8px 0 8px 28px">Set-OPS vise les OBNL, les coopératives et les PME : leur remettre ces fonctions, en logiciel libre, sur leur matériel ou celui d’un hébergeur de confiance.</p>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">02</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">03</p>
<aside>Le point de départ n’est pas technique. Une petite organisation — un OBNL, une coopérative — loue aujourd’hui son identité, son courriel et ses fichiers à des fournisseurs en nuage. Trois conséquences : les comptes vivent ailleurs, l’export des données n’est jamais vraiment éprouvé, et la mémoire de l’infrastructure, certificats, DNS et journaux, n’est pas chez elle. Set-OPS veut rendre ces fonctions à l’organisation, en logiciel libre, sans exiger d’elle une équipe d’administrateurs.</aside>
</section>

View file

@ -3,7 +3,7 @@
<h1 style="font-family:'Source Serif 4', Georgia, serif;font-size:140px;font-weight:400;line-height:1.05;color:#F3F6EE">Questions ?</h1>
<p style="font-family:'Source Serif 4', Georgia, serif;font-size:44px;line-height:1.3;color:#B9EED2;font-style:italic">Votre numérique. Vos règles.</p>
<div style="display:flex;flex-direction:column;gap:8px;border-top:1px solid #426056;padding:32px 0 0 0">
<p style="font-size:30px;line-height:1.45;color:#DCE8DF">Daniel Allaire · Chezlepro / Alliance Boréale</p>
<p style="font-size:30px;line-height:1.45;color:#DCE8DF">Chezlepro et TechnoLibre · membres de l’Alliance Boréale</p>
<p style="font-size:28px;line-height:1.45">chezlepro.ca/contact · [adresse publique du dépôt]</p>
</div>
<aside>Merci. Je prends vos questions. Questions probables : pourquoi pas Kubernetes ou des conteneurs — parce que la cible, ce sont de petites organisations dont l’administrateur connaît Debian et systemd, et que le moteur tient à rester lisible. Pourquoi pas NetBox ou AWX — le plan de contrôle maison est volontairement figé ; on adoptera ces outils quand des seuils seront franchis. Pourquoi pas Stalwart pour le courriel — trop jeune ; Postfix et Dovecot sont éprouvés. Quelle place pour l’IA — elle assiste le mainteneur pour écrire le moteur ; l’exploitation n’en demande aucune.</aside>

View file

@ -14,6 +14,6 @@
</table>
<p style="font-size:28px;line-height:1.45;color:#152F2C">Une commande : <span style="color:#176754">make reconstruire-locataire</span>. Des épreuves datées sur des VM réelles, pas un délai de reprise garanti.</p>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026 · journal des changements du dépôt</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">11</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">12</p>
<aside>La meilleure preuve qu’un plan décrit vraiment un écosystème, c’est de tout raser et de tout reconstruire depuis le plan. On le fait régulièrement. Le 13 août, une flotte complète remontée d’un trait. Le 2 septembre, un écosystème rasé et refait depuis zéro. Depuis le 30 septembre, la reconstruction remet aussi l’état : l’autorité de certification, l’annuaire, les bases, les fichiers, le courriel. Le 4 octobre, les deux écosystèmes reconstruits avant d’étiqueter une release. Et le 9 octobre, les deux sur le même commit, sans rien demander à PyPI, à Ansible Galaxy ni à l’app store de Nextcloud : le site fournit tout. Quarante-trois minutes pour Chezlepro, d’une traite. Je précise : ce sont des épreuves datées, pas une promesse de délai de reprise.</aside>
</section>

View file

@ -14,14 +14,14 @@
</div>
<div style="display:flex;flex-direction:column;gap:12px;background:#FDFDFA;border:1px solid #D5DFD7;border-radius:12px;padding:36px">
<h3 style="font-size:30px;font-weight:600;color:#152F2C">La reprise entre sites</h3>
<p style="font-size:26px;line-height:1.45">Des sauvegardes croisées : chaque site garde une copie de l’autre.</p>
<p style="font-size:26px;line-height:1.45">Des sauvegardes croisées : chaque membre garde une copie de l’autre.</p>
</div>
<div style="display:flex;flex-direction:column;gap:12px;background:#FDFDFA;border:1px solid #D5DFD7;border-radius:12px;padding:36px">
<h3 style="font-size:30px;font-weight:600;color:#152F2C">D’autres sites</h3>
<p style="font-size:26px;line-height:1.45">Construire de nouveaux sites depuis zéro, d’une traite, avec le même moteur.</p>
<h3 style="font-size:30px;font-weight:600;color:#152F2C">D’autres membres</h3>
<p style="font-size:26px;line-height:1.45">Accueillir d’autres membres de l’Alliance, chacun avec son site, monté par le même moteur.</p>
</div>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">17</p>
<aside>La suite. D’abord la délégation DNS : enregistrer chez les registraires la colle de nos deux serveurs de noms, puis leur déléguer nos domaines. Ensuite le web public : poser les certificats Let’s Encrypt sur le frontal web, qui a déjà son pare-feu applicatif. Puis la reprise entre les sites : des sauvegardes croisées, pour que chaque site garde une copie de l’autre. Et construire d’autres sites depuis zéro, avec le même moteur.</aside>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">18</p>
<aside>La suite. D’abord la délégation DNS : enregistrer chez les registraires la colle de nos deux serveurs de noms, puis leur déléguer nos domaines. Ensuite le web public : poser les certificats Let’s Encrypt sur le frontal web, qui a déjà son pare-feu applicatif. Puis la reprise entre les membres : des sauvegardes croisées, pour que chacun garde une copie de l’autre. Et accueillir d’autres membres de l’Alliance Boréale, chacun avec son site, monté par le même moteur.</aside>
</section>

View file

@ -1,7 +1,7 @@
<section id="secondsite" data-transition="fade" style="background:#F6F7F0;color:#3E5550;font-family:'IBM Plex Sans', Arial, sans-serif;padding:128px 128px 160px;display:flex;flex-direction:column;gap:44px">
<div style="display:flex;flex-direction:column;gap:16px">
<p style="font-size:24px;letter-spacing:3px;text-transform:uppercase;color:#176754;font-weight:600">03 · 13 et 14 octobre</p>
<h2 style="font-family:'Source Serif 4', Georgia, serif;font-size:64px;font-weight:400;line-height:1.1;color:#152F2C">Un second site, construit depuis zéro.</h2>
<p style="font-size:24px;letter-spacing:3px;text-transform:uppercase;color:#176754;font-weight:600">03 · TechnoLibre · 13 et 14 octobre</p>
<h2 style="font-family:'Source Serif 4', Georgia, serif;font-size:64px;font-weight:400;line-height:1.1;color:#152F2C">Le site de TechnoLibre, construit depuis zéro.</h2>
</div>
<div style="position:relative;width:1664px;height:480px">
<div style="position:absolute;left:0px;top:40px;width:330px;height:190px;background:#E8EFE5;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:8px">
@ -32,7 +32,7 @@
<p style="position:absolute;left:1250px;top:300px;width:414px;font-size:24px;line-height:1.4;color:#152F2C">Lien entre les sites, WireGuard : réplication du DNS public, administration à distance.</p>
<p style="position:absolute;left:0px;top:300px;width:820px;font-size:28px;line-height:1.45;color:#152F2C">Aucune traduction d’adresse : l’adresse du client arrive intacte. Deux serveurs de noms publics, un par site, servent les zones signées DNSSEC.</p>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026 · site de reprise de TechnoLibre</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">14</p>
<aside>Le 13 et le 14 octobre, on a construit un second site, chez TechnoLibre, destiné à la reprise des deux écosystèmes. Le matériel : une frontière OPNsense, un nœud Proxmox, un stockage ZFS en miroir pour les sauvegardes. Le défi : ce site n’a qu’une adresse dynamique. La solution est un relais : trois adresses fixes louées sur un VPS, qui répond à l’ARP pour elles et les route en /32 dans un tunnel WireGuard que la frontière du site initie. Aucune traduction d’adresse : l’adresse du client arrive intacte jusqu’au service. Un second tunnel relie les deux sites : il réplique le DNS public et sert à administrer le site distant. Depuis le 14 octobre, chacune de nos zones publiques est servie par deux serveurs de noms, un par site, signés DNSSEC. Les neuf VM du site sont nées du gabarit en une trentaine de secondes chacune.</aside>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026 · sur le matériel de TechnoLibre, la reprise des deux membres</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">15</p>
<aside>Le 13 et le 14 octobre, nous avons construit le site de TechnoLibre, sur le matériel que TechnoLibre a fourni : une frontière OPNsense, un nœud Proxmox, un stockage ZFS en miroir pour les sauvegardes. C’est la fédération rendue concrète : ce site assure la reprise des deux membres. Le défi : ce site n’a qu’une adresse dynamique. La solution est un relais : trois adresses fixes louées sur un VPS, qui répond à l’ARP pour elles et les route en /32 dans un tunnel WireGuard que la frontière du site initie. Aucune traduction d’adresse : l’adresse du client arrive intacte jusqu’au service. Un second tunnel relie les deux sites : il réplique le DNS public et sert à administrer le site distant. Depuis le 14 octobre, chacune de nos zones publiques est servie par deux serveurs de noms, un par site, signés DNSSEC. Les neuf VM du site sont nées du gabarit en une trentaine de secondes chacune.</aside>
</section>

View file

@ -29,6 +29,6 @@
</div>
</div>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">03</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">04</p>
<aside>Set-OPS est un moteur : des rôles Ansible et des scripts Python qui lisent un plan déclaratif et en dérivent tout le reste. Le moteur est générique ; chaque écosystème réel vit dans son propre dépôt, avec sa voûte. L’hébergeur, lui, a son dépôt de site : la grappe Proxmox, le réseau, la frontière OPNsense. Deux principes fondateurs : tout est en logiciel libre, et pas de conteneurs — des services natifs, comme un administrateur Debian les installerait à la main. Et l’outil doit s’exploiter sans IA : la documentation, make et la console suffisent. Je le dis franchement : le mainteneur, lui, se fait assister par une IA pour écrire le moteur ; l’exploitant n’en a pas besoin.</aside>
</section>

View file

@ -26,6 +26,6 @@
</div>
<p style="font-size:30px;line-height:1.4;color:#152F2C;border-left:4px solid #176754;padding:8px 0 8px 28px">Même entreprise ne veut pas dire même pouvoir : une voûte par dépôt, une clé par voûte, et chaque serveur d’exploitation ne lit que son propre dépôt.</p>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">09</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">10</p>
<aside>Deux classes d’écosystème, un contrat entre elles. Le site, c’est l’hébergeur : le matériel, le réseau, la frontière ; il crée les machines. L’écosystème, c’est l’organisation : son plan, sa voûte, son identité, ses journaux ; il configure ses propres services. Le site publie une fiche — son résolveur, son cache de paquets, sa forge, les adresses publiques qu’il attribue — que le moteur dépose chez chaque locataire. Le locataire publie sa face réseau, que le site lit pour poser ses règles. Le site prête trois services à un écosystème jeune, jusqu’à ce qu’il ait les siens : on appelle ça la filiation, puis l’émancipation. Et une organisation peut partir avec son plan, ses données, sa voûte et ses domaines. Même quand une seule entreprise tient les deux rôles, les clés restent séparées.</aside>
</section>

View file

@ -23,6 +23,6 @@
</div>
<p style="font-size:28px;line-height:1.45;color:#152F2C;border-left:4px solid #176754;padding:8px 0 8px 28px">Chaque flux déclare son chiffrement ; le registre des flux, généré, en fait la synthèse.</p>
<p style="position:absolute;left:128px;bottom:64px;width:1200px;font-size:24px;color:#5F716B">Set-OPS · Rencontres Linux du Québec 2026</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">13</p>
<p style="position:absolute;right:128px;bottom:64px;width:120px;text-align:right;font-size:24px;color:#5F716B">14</p>
<aside>Une directive du 12 octobre : tout transit est chiffré, l’interne comme l’externe. PostgreSQL n’accepte plus que des connexions TLS, et ses clients vérifient l’identité du serveur. Les métriques et les journaux passent en HTTPS vérifié par l’autorité de certification de l’écosystème : mesuré le 12 octobre, toutes les écoutes concernées sont en TLS. Deuxième chantier : plus aucune machine ne sort vers Internet sans qu’un rôle le déclare ; les paquets Debian, les roues Python, les collections Ansible et les applications Nextcloud viennent du site. Et le pare-feu de Proxmox filtre devant chaque VM. Chaque flux déclare s’il est chiffré, et le registre des flux, généré, en fait la synthèse.</aside>
</section>