Le dashboard web local
AutomationSequence V8 embarque un serveur web local (FastAPI + Uvicorn) accessible depuis n'importe quel navigateur sur le réseau. Le dashboard affiche en temps réel l'état des séquences en cours d'exécution, l'historique des passages, les métriques et les alertes — sans dépendance cloud, sans compte à créer.
C'est particulièrement utile pour les séquences longues (exports nocturnes, traitements batch) que l'on veut surveiller depuis un autre poste sans accès à la machine d'exécution.
Activation et accès
# Activer le dashboard dans la config
# Outils → Préférences → Web Dashboard → Activer
# Port: 8420 | Bind: 0.0.0.0 (réseau) ou 127.0.0.1 (local)
# Ou en ligne de commande
automation-sequence --dashboard --port 8420
# Accès depuis un autre poste
# http://192.168.1.42:8420
# Avec authentification token
automation-sequence --dashboard --port 8420 --token MonTokenSecret
# → Header requis : Authorization: Bearer MonTokenSecret
Server-Sent Events : le temps réel
Le dashboard utilise SSE (Server-Sent Events) pour pousser les mises à jour en temps réel vers le navigateur sans polling. Le flux SSE est disponible à /api/v1/events :
# Exemple de flux SSE (brut)
event: sequence_start
data: {"sequence": "export_pmsi.asenc", "timestamp": "2026-08-01T22:00:01Z"}
event: action_progress
data: {"index": 3, "type": "oracle_query", "status": "running", "elapsed_ms": 142}
event: action_done
data: {"index": 3, "type": "oracle_query", "status": "success", "rows": 15420}
event: sequence_end
data: {"status": "success", "duration_s": 47, "actions_total": 12}
Côté client (JavaScript), un simple EventSource suffit pour recevoir ces événements et mettre à jour l'interface :
const es = new EventSource('http://localhost:8420/api/v1/events');
es.addEventListener('action_progress', e => {
const data = JSON.parse(e.data);
updateProgressBar(data.index, data.status);
});
API REST complète
| Endpoint | Méthode | Description |
|---|---|---|
/api/v1/status | GET | Statut global du moteur |
/api/v1/sequences | GET | Liste des séquences disponibles |
/api/v1/run/{seq} | POST | Lancer une séquence |
/api/v1/stop | POST | Arrêter la séquence en cours |
/api/v1/history | GET | Historique des exécutions |
/api/v1/history/{id} | GET | Détail d'une exécution |
/api/v1/vars | GET | Variables courantes de la séquence |
/api/v1/events | GET (SSE) | Flux temps réel |
/api/v1/metrics | GET | Métriques Prometheus-compatible |
Historique SQLite
Chaque exécution est persistée dans une base SQLite locale (history.db). Le dashboard expose cet historique avec filtres et pagination :
# Requêter l'historique via API
GET /api/v1/history?status=error&limit=20&offset=0
# Réponse
{
"total": 3,
"items": [
{
"id": 1042,
"sequence": "export_pmsi.asenc",
"started_at": "2026-08-01T22:00:01Z",
"ended_at": "2026-08-01T22:00:43Z",
"status": "error",
"failed_action": 7,
"error": "oracle_query: ORA-00942: table or view does not exist"
}
]
}
Alertes SMTP et Toast Windows
# Configuration des alertes dans la séquence JSON
{
"alerts": {
"on_error": [
{
"type": "smtp",
"to": "ops@entreprise.fr",
"subject": "[ERREUR] {{sequence_name}} — action {{failed_action}}",
"body": "Erreur : {{error_message}}
Durée : {{elapsed_s}}s"
},
{
"type": "toast",
"title": "Séquence en erreur",
"message": "{{sequence_name}} : {{error_message}}"
}
],
"on_success": [
{"type": "toast", "message": "{{sequence_name}} terminée en {{elapsed_s}}s"}
]
}
}
Sécurité du dashboard
- Token Bearer obligatoire en production — toute requête sans token valide retourne 401.
- HTTPS recommandé — utiliser un reverse proxy (Nginx, Caddy) avec certificat TLS pour les accès réseau.
- Bind 127.0.0.1 par défaut — le dashboard n'est accessible que depuis localhost sauf configuration explicite.
- Logs d'accès — chaque requête API est loguée avec IP source, timestamp et action dans le journal HMAC.
Conclusion
Le dashboard web local d'AutomationSequence V8 transforme le monitoring des séquences longues sans aucune dépendance externe. SSE pour le temps réel, API REST pour l'intégration CI/CD, SQLite pour l'historique, alertes SMTP pour les équipes ops — le tout accessible depuis n'importe quel navigateur sur le réseau interne.