Commit Graph
10 Commits
Author SHA1 Message Date
Dorian 901ceffd72 fix(etl): fiabilise airflow-init, borne les DAGs ML et ajoute la CI Airflow
Airflow / Lint et intégrité des DAGs (push) Successful in 1m10s
Airflow / Construction de l'image (push) Successful in 1m47s
2026-09-21 11:18:02 +02:00
Dorian 6f6f451eb4 Merge remote-tracking branch 'origin/dev' into feat/dag-ml-train-score 2026-09-21 10:39:07 +02:00
Dorian b941880c22 feat(etl,ml): orchestre l'entrainement et le scoring LightGBM via deux DAGs Airflow 2026-09-21 10:03:23 +02:00
Meryemel-gham 452cfdef85 test(etl): corrige les points bloquants de la revue API Mock 2026-09-21 09:36:10 +02:00
Meryemel-gham 0ddfb1997d feat(apps): configure la connexion à l'API Mock 2026-09-21 09:11:43 +02:00
Johan LEROY 9161b74874 feat(auth): politique de complexite du mot de passe et flux de reinitialisation
Remplace la regle de longueur seule (12 caracteres) par une exigence de
composition (8 caracteres minimum, majuscule, minuscule, chiffre, caractere
special), non documentee dans les exigences officielles du projet, par une
regle explicite partagee entre le backend (validateur Pydantic) et le
frontend.

Ajoute un flux "mot de passe oublie" en libre-service, absent jusqu'ici :
jeton a usage unique hache en base (meme principe que les refresh tokens),
expirant a 15 minutes, envoye par email via un service SMTP (aiosmtplib,
Mailpit en dev), avec limitation de debit dediee et reponse generique pour
eviter l'enumeration des comptes.

Closes #87
2026-09-17 10:53:58 +02:00
ineszang44 970a4a50b8 fix(frontend): suppression de dépendance dans le service frontend 2026-09-16 14:22:50 +02:00
ineszang b300be5186 chore: init de la config du frontend sur docker compose 2026-09-15 16:10:18 +02:00
Johan LEROY 6bc2c3793f fix(db): monte db/init fichier par fichier et coupe la telemetrie
Monter le dossier ./db/init sur /docker-entrypoint-initdb.d remplacait le
dossier de l'image au lieu de s'y ajouter. Les trois scripts d'init livres
par timescaledb-ha disparaissaient sans aucun message : creation de
l'extension dans template1, reglage par timescaledb-tune, et installation de
timescaledb_toolkit. Verifie au demarrage : le dossier ne contenait que nos
deux fichiers, et timescaledb_toolkit etait absent des bases.

Monter chaque fichier separement retablit l'ordre attendu, verifie dans les
journaux : 000, 001, 010, puis 100 et 110.

TIMESCALEDB_TELEMETRY passe a off par defaut : l'image envoie sinon des
statistiques d'usage a Timescale, ce qui ne va pas pour un deploiement
on-premise.
2026-09-14 14:28:49 +02:00
Johan LEROY 351e928309 feat(db): bootstrap PostgreSQL et extension TimescaleDB
Service `db` du docker-compose racine sur timescale/timescaledb-ha:pg17,
volume nomme et cibles Makefile db-up / db-down / db-reset / db-logs / db-psql.

- db/init/100-extensions.sql declare l'extension attendue, db/init/110 cree
  la base enervision_test utilisee par la suite de tests du backend.
- Numerotation a partir de 100 : l'image depose ses propres scripts 000, 001
  et 010, et un prefixe a deux chiffres se trie avant 010 en locale C.
- Volume monte sur /home/postgres/pgdata/data, PGDATA de cette image. Monte
  au chemin habituel de l'image postgres, il ne retiendrait rien sans erreur.
- Port publie 5433 par defaut, 5432 etant souvent deja pris sur un poste.
2026-09-14 14:19:25 +02:00