Le GUI (console d'exploitation)
Unité d'apprentissage. Moule : ① concept → ② Set-OPS → ③ transférable → ④ à toi de jouer.
① Le concept (générique)
Un moteur d'infrastructure a besoin d'une interface humaine — sinon il n'est utilisable que par son auteur (ou une IA). Le principe fondateur : un opérateur doit tout piloter seul, sans l'auteur et sans IA (« exploitable sans IA »).
Une bonne console d'exploitation obéit à trois règles :
- Elle édite la SOURCE, pas l'artefact. On modifie le plan (l'état voulu), jamais l'inventaire généré. La console montre la vérité, elle ne la contourne pas.
- Elle prévisualise avant d'agir. dry-run (voir ce qui changerait) avant apply (changer).
- Elle empêche l'invalide. Le meilleur garde-fou n'est pas un message d'erreur : c'est une interface où l'erreur est impossible à saisir.
② Comment Set-OPS le fait
make inventaire-ui lance une console web locale (127.0.0.1, protégée par un jeton). Ses vues :
| Vues éditables (le plan) | Vues dérivées (lecture seule) |
|---|---|
| Serveurs · Applications · Bases · Domaines · Intrants | Flux · Couches · Réseau (flotte + devis) |
Le flux d'exploitation, de bout en bout :
- Éditer une vue du plan → Sauvegarder ;
- « Appliquer le plan » → régénère l'inventaire (VMID/IP/VLAN dérivés) ;
- Vérifier (dry-run) sur un hôte → prévisualise sans rien changer ;
- Déployer → applique les rôles (confirmation renforcée si l'instance est en PROD) ;
- Créer la VM → clone sur Proxmox depuis le plan.
L'erreur rendue impossible. Le champ « Hôte » d'une application est un <select> qui ne
propose que des hôtes réels : impossible de pointer vers un hôte fantôme. La console couvre le
schéma du plan — et la preuve P19 le vérifie.
La flotte, dans la vue Réseau. Voir toutes les instances, basculer (« Activer »), créer une instance depuis un modèle, repérer une collision d'index. Cf. Multi-instance & fédération.
③ Pourquoi c'est transférable
| Set-OPS | Équivalents ailleurs |
|---|---|
| GUI au-dessus d'Ansible | AWX / Ansible Automation Platform, Semaphore |
| éditer la source de vérité | l'UI de NetBox (IPAM/DCIM), une CMDB |
| dry-run → apply | terraform plan/apply, tout panneau IaC |
| l'invalide impossible à saisir | validation à la source, formulaires contraints |
Tu as appris la console d'exploitation, éditer-la-source, dry-run-avant-apply, la validation à la saisie — pas « le GUI de Set-OPS ».
④ À toi de jouer
- Lance-la.
make inventaire-ui, ouvre l'URL affichée. Repère l'inventaire actif et l'état de la flotte (en haut), les onglets, « Appliquer le plan », « Sauvegarder ». - Édite → prévisualise. Vue Serveurs, change la mémoire d'un hôte, Sauvegarder, Appliquer le plan, puis Vérifier (dry-run) : tu vois ce qui changerait avant d'agir.
- Répare un hôte fantôme (l'erreur impossible). Si une appli pointe un hôte inexistant, ouvre
la vue Applications, sélectionne-la : le
<select>« Hôte » ne montre que des hôtes réels. Choisis le bon, Sauvegarder, Appliquer. Tu ne peux pas re-saisir le fantôme. - Bascule d'instance. Vue Réseau, bouton « Activer » sur une autre instance. Toutes les vues suivent, sans redémarrer.
- Sens le garde-fou. Essaie de sauvegarder un plan incohérent (ex. une base dont le consommateur n'existe pas) : la console refuse avec une raison. L'invalide ne passe pas.
- Casse & répare. Édite
hosts.ymlà la main, reviens dans la GUI, « Appliquer le plan » : ta modification est écrasée par le plan. La source de vérité, c'est le plan — pas l'inventaire.
Pour aller plus loin (dépôt)
- Lancer :
make inventaire-ui; le code :scripts/inventory_gui.py. - Ce que le GUI sait écrire (et la preuve) :
scripts/couverture_gui.py(P19). - Le flux plan → apply : unité Infra as Code & idempotence.
- La flotte : unité Multi-instance & fédération.
Set-OPS
Unités d'apprentissage
Fondations
Communication
Données
Observabilité
Socle & méthode
- Le GUI (console d'exploitation)
- Virtualisation & clonage
- Sécurité & durcissement
- Infra as Code & idempotence
- Le plan & l'adressage dérivé
- Liaisons (bindings)
Flotte & preuve
Opérations
- Runbooks → dépôt
docs/runbooks-exploitation.md
Repères
- Glossaire
- Référence technique → dépôt
docs/