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

EndpointMéthodeDescription
/api/v1/statusGETStatut global du moteur
/api/v1/sequencesGETListe des séquences disponibles
/api/v1/run/{seq}POSTLancer une séquence
/api/v1/stopPOSTArrêter la séquence en cours
/api/v1/historyGETHistorique des exécutions
/api/v1/history/{id}GETDétail d'une exécution
/api/v1/varsGETVariables courantes de la séquence
/api/v1/eventsGET (SSE)Flux temps réel
/api/v1/metricsGETMé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.

⚙️
PRODUIT LIÉ
AutomationSequence V8.0
← Article précédent Article suivant →