Date : 15/02/2026 Status : IMPLEMENTEE Contexte : Audit dashboard — generate.sh trop lourd, données statiques périmées Origine : Demande utilisateur lors de la revue d'audit
generate.sh = ~20 scripts bash qui collectent (SSH, curl, jq) + génèrent du HTML statique┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ O2switch │ │ prod-portainer │ │ Services │
│ │ │ │ │ (VMs, Docker) │
│ Frontend SPA │──────►│ Dashboard API │──────►│ │
│ (HTML/JS statiq)│ fetch │ (léger, Bun/Elysia│ SSH/ │ Prometheus │
│ │◄──────│ ou Python) │◄──API │ Loki │
└─────────────────┘ JSON └──────────────────┘ │ Portainer │
│ GitLab │
└─────────────────┘
Backend (sur prod-portainer) :
Frontend (sur O2switch) :
Avantages :
Inconvénients :
Avantages :
Inconvénients :
| Donnée | Source actuelle (bash) | Source API disponible |
|---|---|---|
| Containers Docker | SSH + docker ps | Portainer API (déjà dans connectors-api) |
| Pipelines CI/CD | GitLab API curl | GitLab API (déjà dans connectors-api) |
| Status services | SSH + curl health | Health endpoints (après les fixes audit) |
| GPU usage | SSH + nvidia-smi | ai-orchestrator API /status |
| Logs récents | SSH + journalctl | Loki API (déjà accessible) |
| ZFS status | SSH + zpool | SSH via connectors-api |
| Métriques | Prometheus direct | Prometheus API |
Note : La majorité des données sont DÉJÀ accessibles via des APIs. Les scripts bash réinventent la roue avec du SSH brut.
dashboard-33800 (ou renommer l'existant)dashboard-33800/
├── backend/ # API (si option A ou C)
│ ├── src/
│ ├── package.json
│ └── Dockerfile
├── frontend/ # SPA
│ ├── src/
│ ├── index.html
│ └── package.json
├── .gitlab-ci.yml # CI/CD
└── conf.prod.gouroubleu.yml
En attente de validation utilisateur + choix entre Option A, B, ou C.