33800 Docs

← Retour

Proposition : Dashboard 100% Dynamique

Date : 13/01/2026 00:30 Type : MONITORING Effort : L (1-2 jours)


Objectif

Rendre le dashboard entierement dynamique : toutes les donnees viennent de current.json, aucune valeur en dur dans les scripts de generation.


Probleme actuel

Les scripts generate.d/*.sh contiennent des valeurs hardcodees :

Consequence : Quand on modifie l'infra, il faut manuellement mettre a jour les scripts.


Solution : Source unique de verite

current.json (collecte)
      |
      v
generate.d/*.sh (lecture JSON)
      |
      v
*.html (pages dynamiques)

Donnees dans current.json (deja presentes)

Donnee Cle JSON
Serveurs .servers[]
VMs par hyperviseur .servers[].vms.list[]
Containers .servers[].containers[]
Services .services[]
Crons .crons[]
ZFS pools .servers[].zfs

Donnees a ajouter dans current.json

Donnee Description
topology Connexions entre services (qui parle a qui)
stacks Groupement logique des containers

Modifications par fichier

09-architecture.sh (prioritaire)

Avant : VMs et containers en dur Apres :

# Lire VMs depuis JSON
PVE_VMS=$(jq -r '.servers[] | select(.ip == "192.168.1.10") | .vms.list[] | .name' current.json)

# Generer SVG dynamiquement
for vm in $PVE_VMS; do
  generate_vm_box "$vm"
done

01-index.sh

Deja partiellement dynamique, mais certaines sections hardcodees.

Autres modules

Audit fichier par fichier pour identifier les valeurs en dur.


Verification automatique (Audit v2)

Nouveau script : verify-dashboard.sh

# Verifie coherence entre:
# 1. Infrastructure reelle (SSH aux machines)
# 2. current.json (donnees collectees)
# 3. Dashboard genere (HTML)

# Exemples de checks:
# - VM dans current.json existe vraiment
# - Container affiche existe vraiment
# - Pas de donnees obsoletes

Integration :


Plan d'execution

Phase 1 : Architecture dynamique (maintenant)

Phase 2 : Audit des autres modules

Phase 3 : Migration progressive

Phase 4 : Verification automatique


Validation