Votre écosystème numérique, souverain — et prouvé.
Set‑OPS est un moteur Ansible qui construit et exploite tout un écosystème interne — identité, confiance, DNS, données, courriel, observabilité, forge, collaboration, web, et les applications de vos clients — sur votre propre grappe Proxmox. À partir d'un plan déclaratif. Puis il vous relie à un site partenaire qui garde la copie de vos sauvegardes et, si vous la demandez, une relève allumée. Sans SaaS. Sans conteneur. Et exploitable sans aucune IA.
édite le plan→make instancier→make deployer→make prouver
La méthode
Vous décrivez. Le moteur génère. Ansible déploie. La preuve suit.
Set‑OPS se pilote par un plan, pas par l'édition de l'inventaire. Les registres sont la source unique de vérité ; l'inventaire Ansible en est dérivé. Vous ne touchez jamais hosts.yml à la main.
01 · décrire
Un plan déclaratif
Serveurs, applications, bases, domaines, nomenclature — des registres lisibles par la machine, votre seule source de vérité.
02 · générer
Un inventaire dérivé
VMID, IP, VLAN et passerelle se dérivent d'un seul nombre, l'index que le site attribue. make instancier montre le diff avant d'appliquer.
03 · déployer
Par groupes, en couches
Chaque groupe a son playbook homonyme. L'orchestrateur déploie socle → PKI → services → apps → agents, dans l'ordre.
04 · prouver
Une preuve rejouable
make prouver rejoue les vérifications et produit un rapport horodaté. Le dépôt n'affirme jamais plus qu'il ne prouve.
Tout ce que vous pouvez faire
Dix piliers. Un écosystème complet, natif, chiffré, relié.
Tout ce qu'un hébergeur met en ligne, Set‑OPS le tient en interne — en logiciel libre, sur systemd et paquets, sans dépendance à un géant. Voici, pilier par pilier, ce que vous déployez et exploitez. Le badge Éprouvé marque ce qui tourne sur des VM réelles ; Feuille de route ce qui est planifié.
Identité & accès
Éprouvé
Une identité, un mot de passe, pour tout le parc.
OpenLDAPKeycloakoauth2-proxyOIDC · RBAC
Un annuaire central (OpenLDAP) source unique des identités.
SSO web via Keycloak, qui fédère l'annuaire — « se connecter avec votre organisation ».
Mets n'importe quelle app derrière le SSO avec oauth2-proxy, même sans OIDC natif.
RBAC : des rôles de realm pilotent les niveaux d'accès (ex. Grafana Admin/Editor/Viewer).
Confiance & PKI
Éprouvé
Votre propre autorité de certification. Tout le trafic interne, chiffré et vérifié.
step-caACMEclient_pkimTLS
Une AC interne (step-ca) qui émet les certificats par ACME.
Certificats d'hôte auto-renouvelés, avec rechargement des vrais consommateurs.
Zéro-confiance est-ouest : PostgreSQL en verify-full, LDAPS, métriques & logs en HTTPS, LMTP vérifié.
Aucune dépendance à une AC publique pour la confiance interne.
Nommage & réseau
Éprouvé
Un DNS interne cohérent, des noms publics signés, et un réseau convergé multi-tenant.
PowerDNSUnboundVLAN dérivémake devis-reseau
DNS autoritatif interne (PowerDNS) : les enregistrements d'exposition se dérivent du plan.
Résolveur local (Unbound) + plancher /etc/hosts, sans casser Internet.
DNS public : chaque locataire écrit et signe (DNSSEC) ses zones ; deux sites les servent à l'Internet.
Réseau convergé 10/8 : une zone EVPN (un VRF) par locataire, dérivée de son index ; seule la frontière route entre eux.
Données
Éprouvé
Bases relationnelles et cache, provisionnés depuis le registre.
PostgreSQLRedisTLS verify-fullbinding app→base
PostgreSQL provisionne ses bases & rôles depuis le registre — le secret ne quitte jamais le rôle.
Chiffrement obligatoire : la base refuse toute connexion non-TLS du réseau.
Cache réseau Redis authentifié (accès sans mot de passe refusé).
Liens déclaratifs : une app se relie à sa base sans group_vars codés en dur.
Courriel souverain
Éprouvé
Recevoir et envoyer, de bout en bout, sur votre infra.
PostfixDovecotrspamdDKIM · SASL
MTA Postfix + soumission :587 authentifiée (SASL déléguée à Dovecot).
Boîtes Dovecot (IMAP, Maildir), utilisateurs résolus sur l'annuaire LDAP.
Interne de bout en bout — aucune fuite vers un tiers.
Reverse-proxy & TLS
Éprouvé
Déclare une exposition — tout le reste se dérive.
nginx edgeTLS step-caX-ForwardedWAF
Un champ expose produit vhost + SAN de cert + enregistrement DNS + alias plancher, auto-dérivés.
Terminaison TLS avec le cert step-ca (chaîne validée, plus de snakeoil).
L'edge sert les noms internes ; le web frontal (proxy inverse + pare-feu applicatif) sert l'Internet, certificats Let's Encrypt.
La frontière OPNsense traduit l'adresse publique que le site attribue à chaque locataire ; un site sans adresse fixe loue celles d'un relais hors site, par tunnel, sans traduction.
Observabilité & supervision
Éprouvé
Voir toute la flotte : métriques, journaux, tableaux de bord, impact.
PrometheusLokiGrafanaIcinga2 · BPM
Métriques (Prometheus scrape la flotte en HTTPS) & journaux centralisés (Loki).
Tableaux de bord Grafana, accès par le SSO, dashboards provisionnés.
Supervision active Icinga2 + IcingaDB + Icinga Web 2 (la vigie), sous SSO, avec une sonde par application cliente.
Impact métier (BPM) : agrège des services en processus métier, pour lire l'état de vos services et pas seulement celui des serveurs.
Aucun courriel d'alerte, par choix : l'état se lit dans la vigie et les consoles, qui disent quoi traiter.
Applicatif & forge
Éprouvé
Vos services internes, adossés à l'identité commune.
ForgejoSSO OIDCbranding
Forge Git Forgejo : dépôts, tickets, revues, wiki — branchée au SSO, comptes auto-créés depuis l'annuaire.
La forge du site porte le moteur, les plans et les dépôts privés de chaque locataire. Chaque site a la sienne, et c'est d'elle qu'un écosystème se reproduit.
Adossée à PostgreSQL (base provisionnée depuis le registre) et exposée par l'edge.
Identité visuelle par le mécanisme officiel (pas de fork), résistante aux mises à jour.
Collaboration
Éprouvé
Fichiers, agendas et documents partagés — sous la même identité.
NextcloudCollaboraWebDAV · CalDAVSSO OIDC
Fichiers et partage adossés à PostgreSQL et à l'annuaire — pas de second jeu de comptes.
Édition à plusieurs dans le navigateur : un document ouvert est un processus sur votre machine, pas chez un tiers.
Agendas et contacts synchronisés sur les appareils, par les protocoles ouverts.
Connexion unique — la même que pour le reste du parc.
Les applications de vos clients
Éprouvé
Un client pousse son code dans sa forge ; Set‑OPS le déploie à la version qu'il nomme, en natif.
Accès SSH par clé dès le départ (mot de passe désactivé, AuthenticationMethods publickey).
AppArmor, auditd, fail2ban, sysctl, journald — appliqués par le groupe socle.
nftables préparé dans le template, activé au bon moment sur les clones.
Pare-feu est-ouest
Moindre privilège, dérivé du registre des flux.
nftablesregistre des fluxpolicy drop
Qui-parle-à-qui déclaré dans un registre de flux (port, sens, pair, chiffrement, raison).
Règles par hôte générées : ip saddr = moindre privilège, reste refusé.
Appliqué deux fois : par le pare-feu de l'hyperviseur, puis par nftables sur l'hôte. Le même registre alimente aussi OPNsense en bordure.
Sauvegardes 3-2-1
L'état, pas les VM — car l'infra se reconstruit par le code.
resticchiffréjobs déclaratifsTier 0
Sauvegardes restic hors-nœud, chiffrées, avec rétention automatique.
Jobs déclaratifs par nœud (dumps PG, LDIF, Maildir, dépôts Git, clés d'AC).
Restauration prouvée, jusqu'au Tier 0 (les clés de l'autorité de certification), et rejouée chaque semaine.
Copie croisée : chaque nuit, le site partenaire tire le dépôt entier, en lecture seule, et garde 30 jours de générations. Il ne voit que du chiffré.
Le plan & les consoles
Une source unique, éditable en ligne de commande ou à l'écran.
registresconsoleskit sysadminorchestrateur
Une console par rôle, derrière le SSO (entretien, mainteneur, hébergeur), avec ses procédures pas à pas ; en local, make inventaire-ui.
Une fiche par objet : machine, service, application, base, domaine, zone.
Le kit du sysadmin : tunnels, clés et racines remis sur un support chiffré, puis vérifiés sur son poste. Aucune voûte n'y voyage.
Liens et orchestrateur : les relations service→service vivent dans le plan, et un point d'entrée ordonné déploie par couches.
La console de l'opérateur
De la grappe nue à l'écosystème vivant.
Tout passe par make et un plan. Un modèle générique socle — DNS, AC/PKI, edge TLS, courriel — est prêt à instancier, renseigner, déployer. Puis vous vivez dans le plan.
Golden template Debian 13 construit une fois, cloné pour chaque VM.
Clone Proxmox + cloud-init pour l'identité initiale, puis conformité par groupes.
Reconstruction from-zero en une commande — crée les VM manquantes puis déploie tout.
Multi-tenant portable : une instance par écosystème, prouvée par reconstruction.
opérateur@pilote — set-ops
# 1 · créer un écosystème depuis le modèle public, générer l'inventaire$ make instance-creerNOM=OPS-MonOrg MODELE=socle$ ln -s ../OPS-MonOrg instance && make instancier-appliquerFORCE=1Inventaire généré depuis le plan.# 2 · construire le gabarit, créer les VM, déployer la flotte$ make preparer-modele# socle + durcissement + cloud-init$ make reconstruireCONFIRMER=true# crée les VM PUIS déploie tout13 hôtes déployés · 0 échec# 3 · valider et PROUVER$ make valider# recette sur la flotte vivantecibles UP · vhosts HTTPS · courriel livré · dépôts restaurés · 0 échec$ make prouverCONFORME : 102 OK, 0 échec, 0 sauté → docs/audit/preuve-AAAA-MM-JJ.md
Cycle de vie
Du template nu à la flotte, et retour à zéro.
socle
Goldeniser
Une VM Debian 13 minimale devient le golden template : socle, durcissement, cloud-init, qemu-guest-agent.
clone
Cloner & identifier
Clone via l'API Proxmox ; cloud-init donne hostname, clé, IP, DNS. VMID/IP/VLAN lus dans le plan.
conformité
Converger
Les playbooks de groupes appliquent l'état voulu, relançables sans effet de bord. La flotte converge.
from-zero
Reconstruire
Tout supprimer, puis make reconstruire : l'écosystème renaît du code, et son état revient de la sauvegarde.
Un terrain, des maisons
Héberger quelqu'un d'autre sans jamais tenir ses clés.
Un écosystème peut en héberger d'autres. Le site porte le terrain — le réseau, les hyperviseurs, le dépôt de sauvegarde, la source des paquets. Chaque locataire y dérive son propre adressage, ses propres zones et ses propres machines. Et la frontière entre les deux n'est pas une politique : c'est une clé qui n'existe pas d'un côté.
Matérialiser n'est pas configurer
Éprouvé
La ligne exacte entre héberger et exploiter.
L'hébergeur peut créer les machines d'un locataire : c'est son matériel.
Il ne peut pas les configurer : le locataire a sa propre autorité de certification, et l'hébergeur n'a pas ce secret.
Une voûte, une clé. Celle d'un locataire n'ouvre ni son site, ni son voisin.
Naître sans Internet
Éprouvé
Le site fournit tout ce qu'il faut pour venir au monde.
Le code — la forge du site sert le moteur et les plans.
Les paquets — un cache local, et un dépôt pour les binaires qui ne viennent pas de Debian.
Le gabarit, le DNS d'amorçage, le dépôt de sauvegarde.
Un écosystème neuf se lève sans une seule requête vers l'extérieur.
L'amorçage sans secret
Éprouvé
Poser la première machine de quelqu'un d'autre.
Le site dépose le premier runner d'un locataire — système, moteur, génome.
Il n'y met aucun secret du locataire : la voûte arrive après, par la main de son propriétaire.
C'est le geste qui rend un hébergement tenable — et vérifiable.
Renaître du code
Éprouvé
L'infrastructure est reconstructible ; c'est l'état qu'on sauvegarde.
Un écosystème entier a été rasé puis refait depuis zéro, sans reprise manuelle.
Un second écosystème a été monté de bout en bout sur le même moteur — et a révélé six défauts qu'un seul rendait invisibles.
Les machines se refont ; les clés, l'annuaire, les bases et le courriel se restaurent.
2sites partenaires, chacun hébergeur de locataires
2locataires en production, un sur chaque site
2relèves allumées, chacune chez l'autre site
0secret du locataire détenu par son hébergeur
Partenariat & relève
Si votre site tombe, un autre prend le relais.
Deux sites qui ne se connaissent pas n'ont en commun que Set‑OPS. Ils deviennent partenaires par une fiche publique, vérifiée de vive voix par son empreinte, et aucun ne lit jamais le dépôt de l'autre. Le partenariat porte le socle commun. La relève, chaque locataire la demande s'il la veut.
Le partenariat, déclaré
Éprouvé
Une entrée au plan du site, d'où tout le reste dérive.
WireGuardDNS secondaireresticmake partenaire-etat
Un lien chiffré entre les deux frontières, qui porte l'administration, le DNS et la copie des sauvegardes.
Un second serveur de noms public chez le partenaire : zones signées, transfert authentifié.
La copie croisée des sauvegardes, pour tous les locataires, relève demandée ou non.
Aucune confiance d'autorité entre les sites : un partenaire compromis ne vaut pour aucun de vos noms.
La relève, à la demande
Éprouvé
Une flotte complète qui tourne déjà chez le partenaire.
relève alluméeindex de relèvemake rafraichir-releve
Optionnelle : elle n'existe que si le responsable du locataire la demande.
Allumée, sous son propre index, à côté de la production du site qui l'accueille.
Remise à jour chaque semaine depuis la copie croisée : promotion, restauration, témoins comparés à la production.
Discrète tant qu'elle est relève : elle ne sauvegarde pas et n'alerte pas.
Déménager change deux faits
Éprouvé
Le plan d'un locataire ne nomme ni son site, ni ses adresses.
fiche du sitemake promouvoirmake demenager
Ce que le site donne (index, adresses, nœud, adresse publique) vient de la fiche qu'il présente.
Changer de site, c'est changer d'hébergeur, puis restaurer. Au dépôt du locataire, deux lignes changent.
Fait en novembre 2026 : un locataire est rentré sur son propre site. Dernière sauvegarde, promotion, restauration, et ses dix jeux d'état sans écart.
Une personne décide
La mesure instruit ; la bascule reste un geste humain.
make sites-comparermake dns-bascule-devisSPF
Aucune bascule automatique : une relève prend le relais quand quelqu'un le décide.
Le courriel est annoncé d'avance : le SPF de vos domaines couvre déjà l'adresse de la relève.
La bascule des noms publics se lit nom par nom avant d'être faite.
Les deux sites répondent aux mêmes questions, côte à côte : plans, pare-feu, règles posées, fabric supervisée.
Preuve & souveraineté
Il ne fait pas que le dire. Il le prouve.
Un outil d'exploitation réelle, pas une démonstration. Chaque affirmation publique est tracée vers une commande de preuve rejouable — ou corrigée.
Vérifier
make verifier enchaîne lint, tests, cohérence, syntaxe et les preuves. Un dépôt qui se tient droit.
Prouver
make prouver produit un rapport horodaté et rejouable — 102 preuves reliées au registre des affirmations. Une pièce justificative.
Valider
make valider : recette fonctionnelle sur la flotte vivante — cibles UP, vhosts HTTPS, courriel livré, sauvegardes restaurées.
100 %logiciel libre (AGPLv3) — rien n'est verrouillé
0dépendance SaaS · zéro conteneur propriétaire
0IA requise — la doc, make et le GUI suffisent
natifsystemd + paquets — pas de PaaS, pas de magie
Feuille de route
Ce qui arrive — annoncé, pas surestimé.
Fidèle au principe : on ne présente jamais comme prêt ce qui ne l'est pas. Deux cases de la version précédente en sont sorties : la relève par la copie croisée a été exercée, et un locataire a quitté son hébergeur pour son propre site, en emportant tout. Voici ce qui reste devant.
Bascule publique
Les noms publics, basculés pour de vrai
Les relèves tournent, et le déménagement s'est fait sans écart. Reste à faire désigner les serveurs de noms des deux sites par les registraires : un geste du responsable de chaque locataire, préparé nom par nom. D'ici là, une relève reste un exercice.
Partenariat
La convention, signée
Le partenariat s'écrit en deux textes : la convention entre les deux sites, et la demande de relève de chaque locataire. Les deux sont rédigés et attendent leurs signatures.
Applications
D'autres environnements d'exécution
Python et sites statiques aujourd'hui. Node et les binaires s'ajouteront au premier besoin d'un client, sur le même socle commun : utilisateur, systemd, nginx local, sonde, sauvegarde.
Certification
Label Souverain · Résilient · Exemplaire
Trois niveaux accumulatifs pour attester la qualité d'un écosystème — garde-fou social inclus. La méthode d'attestation reste à trancher.
Reprenez la souveraineté de votre infrastructure.
Un plan, votre grappe Proxmox, et tout un écosystème numérique — libre, chiffré, prouvé. Sous le ciel de l'Alliance Boréale.