Architecture
Frontend React, API FastAPI, moteur Python, SQLite et stockage persistant.
Navigateur
│ HTTP + SSE
▼
React / Vite ─────► FastAPI / Uvicorn
│
┌───────────┼────────────┐
▼ ▼ ▼
moteur Python SQLite data/jobs/
│ tradoc.db documents
▼
fournisseur LLMInterface
Le frontend se trouve dans web/. En développement, Vite écoute sur le port 2499 et relaie les appels /api vers FastAPI sur le port 8000. En production Docker, FastAPI sert aussi le frontend compilé.
API
api/app.py initialise l'application, les en-têtes de sécurité, la limitation de requêtes et la route de santé. api/routes.py expose les fournisseurs, projets, segments, glossaires, exports et événements.
Moteur
Le dossier core/ contient les parseurs, le découpage, le client LLM, le nettoyage, le moteur asynchrone, les glossaires, le coffre d'identifiants et les checkpoints.
Persistance
SQLite fonctionne en mode WAL. Chaque nouveau projet possède son propre dossier sous data/jobs/<id>/, avec une entrée et une sortie isolées. Les glossaires et identifiants fournisseurs résident également sous data/.
Une seule sauvegarde cohérente
Sauvegardez l'ensemble du dossier data/, pas seulement tradoc.db. La base référence les documents et répertoires de projets qui l'accompagnent.