Routes exposées :
Route | Méthode | Rôle principal |
/api/ | GET | Message d’accueil, diagnostic minimal |
/api/post | POST | Exécute une action donnée (ingest, delete, etc.) sur un thème |
/api/status | GET | Indique si un thème est actuellement verrouillé |
/api/stream | GET | Flux SSE pour push de logs ou messages vers le client |
/api/version | GET | Renvoie la version logicielle du backend |
/api/themes | GET | Liste tous les thèmes disponibles (sous-répertoires de /data) |
Description des routes :
/api/ — Ping de service
– Méthode : GET
– Usage : Vérifier que l’API est en ligne
– Réponse : Hi sailor, new in computers ?
/api/post — Exécuter une action serveur
– Méthode : POST
– Body (form-data) :
- action : une action parmi ingest, delete, persist, create_index, re_index
- theme : nom d’un thème valide
– Traitement :
- Vérifie que le thème existe
- Vérifie que l’action est autorisée
- Lance les traitements correspondants (myIngestion)
- Active le verrou pendant l’opération
- Trace les étapes dans la console (dashboard)
– Erreurs :
-raise CustomWarning si paramètre manquant ou thème inconnu
- Traitement des exceptions internes
/api/status — État de verrouillage du thème
– Méthode : GET
– Paramètre : theme
– Réponse JSON :
"theme" : "nom_du_theme",
"locked" : true | false
– Usage : permet de désactiver dynamiquement les boutons côté interface si verrou actif
/api/stream — Flux SSE de logs
– Méthode : GET
– Type : Server-Sent Events
– Réponse :
- Format : data :
- Si vide : data : \n\n
- Reconnexion recommandée : retry : 5000
– Usage : connecte le dashboard à ce flux pour afficher les logs en direct (via EventSource)
/api/version — Version du backend
– Méthode : GET
– Réponse : version logicielle actuelle (ex : 1.3.7)
/api/themes — Liste des thèmes disponibles
– Méthode : GET
– Réponse JSON :
["alpha", "beta", "gamma"]
- Source : sous-répertoires de /data/
Usage côté client :
– Requête Ajax vers /api/status pour activer/désactiver les boutons
– EventSource("/api/stream") pour recevoir les logs
– Envoi de formulaire vers /api/post pour exécuter une action serveur