Contexte
Issue enfant de l'épique #36 — Suivi des déploiements.
Dépend de #32 et #33.
Objectif
Créer une page /history affichant l'historique des actions enregistrées dans la base SQLite, avec filtres et pagination.
Comportement attendu
- Endpoint
GET /history retourne une page HTML dark-style (cohérente avec le reste de l'UI)
- Endpoint
GET /api/history retourne le JSON paginé pour le chargement dynamique
- Le tableau affiche : horodatage, type d'action, dépôt, statut, message (tronqué, extensible au clic)
- Les lignes en erreur sont mises en évidence visuellement (couleur rouge)
- Tri par date décroissante (plus récent en premier)
- Filtre par dépôt et/ou par statut (succès / erreur)
- Lien vers
/history depuis le footer de la page d'accueil
Critères d'acceptation
Contexte
Issue enfant de l'épique #36 — Suivi des déploiements.
Dépend de #32 et #33.
Objectif
Créer une page
/historyaffichant l'historique des actions enregistrées dans la base SQLite, avec filtres et pagination.Comportement attendu
GET /historyretourne une page HTML dark-style (cohérente avec le reste de l'UI)GET /api/historyretourne le JSON paginé pour le chargement dynamique/historydepuis le footer de la page d'accueilCritères d'acceptation
GET /historyaccessible et styliséeGET /api/history?repo=&status=&limit=50&offset=0retourne du JSON paginé/api/history