Files
ENI-projet-piscine/docs/README.md
T
Johan LEROY 68239371f6 docs(ml,backend,etl): ordonnance la derive et corrige ce que le depot disait faux
Trois phrases du depot annonçaient une surveillance de derive inexistante, et une quatrieme
disait qu'aucune base PostgreSQL n'etait joignable pour tester le chargement ML. Les quatre
sont maintenant fausses, donc reecrites plutot que laissees en dette.

- ADR 0011 : ou vit le calcul et pourquoi pas dans `ml/`, les deux dedoublonnages qu'impose la
  jointure, et quatre alternatives ecartees avec la contrainte qui les interdit (la metrique
  MLflow n'est pas la meme grandeur, `alert` borne ses valeurs et refuse un site nul, Prometheus
  n'a pas de collecteur, ne rien persister ne repond pas a la question du jury).
- DAG `derive` quotidien, hors du DAG `alertes` : un echec de derive y ferait croire que la
  detection a echoue, et la fenetre de 168 h ne se recalcule pas toutes les heures.
- ML-START : la limite de `--now` est dite au lieu d'etre decouverte en demonstration. Elle ne
  decale que l'instant de reference, pas la fenetre de lecture, donc aucun rattrapage ne peut
  fabriquer de paires prevu/realise sur un jeu fige.
- 50-cicd : pourquoi le job ML installe aussi le backend (le schema n'a qu'une source), et ce
  que coute le filtre de chemins qui l'accompagne.
2026-09-22 14:27:13 +02:00

1.7 KiB

Documentation

  • adr : décisions d'architecture, une par fichier, numérotées et immuables.
  • architecture : les vues du système. Point d'entrée : architecture/README.md.

Décisions en vigueur

ADR Sujet
0001 PostgreSQL avec l'extension TimescaleDB
0002 Authentification par JWT d'accès et jeton de rafraîchissement opaque
0003 Autorisation RBAC à trois rôles, relecture du compte à chaque requête
0004 Journal d'audit en ajout seul, garanti par PostgreSQL
0005 LightGBM pour la prédiction de consommation, un modèle global
0006 Le moteur de règles de recommandation vit dans le backend, pas dans ml/
0007 Terminaison TLS par un reverse proxy Nginx, en Docker Compose
0008 Airflow exécute le code du backend en sous-processus, dans son propre environnement
0009 Deux environnements sur la VM ENI, un projet Compose chacun, déployés par un runner auto-hébergé
0010 Terraform provisionne la machine, GitHub Actions déploie l'application
0011 La surveillance de dérive vit dans le backend et écrit sa propre table