# CHANGELOG — Set-OPS ## 2026-06-30 ### Ajouté - **Panneau « Intrants de base » dans le GUI.** Un bouton ⚙ Intrants ouvre une fenêtre unique pour saisir les valeurs communes à tout l'écosystème, avec une distinction visible entre **constantes** (valeur unique, non surchargeable) et **défauts** (valeurs proposées, surchargeables dans les instances). Les secrets ne sont **jamais** saisis ni affichés ici (garde-fou `INTRANTS_CLES_INTERDITES` + filtrage par schéma) : ils restent dans le Vault Ansible, édités en CLI ; le panneau les liste seulement à titre informatif. Un changement de `domaine_interne` (clé de voûte) demande une confirmation explicite ; un `domaine_interne` vide est refusé côté serveur. La nomenclature reste en lecture seule (modifiable dans le plan). Voir `docs/intrants-communs.md` et `docs/intrants-base-gui-conception.md`. - **Source unique d'identité partagée.** `domaine_interne` et `chezlepro_timezone` vivent désormais dans `inventories/partage/intrants-identite.yml`, référencé par symlink depuis chaque environnement (`group_vars/all/10-intrants.yml`) — fin de la duplication lab/production. - **Info-bulles d'aide sur les champs du GUI.** Survoler la description d'un champ à saisir affiche une bulle avec des instructions sommaires. ## 2026-06-28 ### Ajouté - **Document de présentation de l'écosystème Chezlepro** (`docs/ecosysteme-chezlepro.md`). Description vulgarisée à destination client/partenaire : les piliers de l'écosystème souverain, le modèle reproductible (plan → génération → clonage → conformité), et un inventaire des **mesures de renforcement** réellement en place (SSH durci, fail2ban, sysctl, nftables, AppArmor, auditd, mises à jour automatiques, gestion des secrets, garde-fous destructifs, sécurité par l'architecture). Honnête sur le statut « défini/validé vs déployé ». ### Ajouté - **Dimensionnement dérivé des ressources VM.** Les cœurs/RAM/disque d'une VM sont désormais **estimés depuis les logiciels hébergés + le socle SE**, au lieu d'hériter des specs du golden template (CPU/RAM identiques pour toutes les VM auparavant). Chaque rôle déclare son empreinte (`roles//meta/empreinte.yml`) ; le générateur somme par hôte (marge + arrondis) et écrit `proxmox_coeurs`/ `proxmox_memoire`/`proxmox_disque_taille` ; le clonage passe `cores`/`memory` à Proxmox (`omit` si absent → aucune régression). Override par hôte possible dans le plan (`serveurs.yml`). Voir `docs/dimensionnement-ressources.md`. ### Corrigé - **`make instancier-appliquer FORCE=1` n'honorait pas `--force`.** La recette Makefile lançait `instancier.py appliquer` sans relayer `FORCE` ; le message « Utilise FORCE=1 » était donc trompeur (un changement de plan intentionnel restait bloqué). La recette passe désormais `$(if $(FORCE),--force)`. Trouvé en dogfooding. ## 2026-06-24 — Première publication publique Première mise à disposition publique de **Set-OPS**, moteur Ansible d'écosystèmes numériques souverains sur Proxmox — offert à la communauté québécoise par l'**Alliance Boréale**, à la Saint-Jean-Baptiste 2026. - **Moteur générique, piloté par un plan déclaratif** : on édite le plan (`instance/plan/*.yml`), l'inventaire Ansible se génère, les VM se clonent depuis un golden template Debian 13, les rôles s'appliquent par groupes. Tout passe par `make`, le GUI local et la documentation. - **Piliers d'un écosystème souverain** : socle Debian durci, AC/PKI interne, DNS interne, identité (LDAP + SSO), relais courriel, bases de données, observabilité, forge. - **Catalogue de modèles prêts à déployer** (`exemples/modeles/`) : un hébergeur copie un modèle, le renseigne à ses couleurs, et instancie. - **Souveraineté jusqu'au bout** : Set-OPS s'exploite entièrement à la main, sans aucune IA. Pour démarrer : **`QUICKSTART.md`**.