TP4 : synthese (reponses 1.1-4.4) + section README

This commit is contained in:
Johan LEROY
2026-07-23 15:32:41 +02:00
parent 67566ef076
commit 7c5660c455
2 changed files with 191 additions and 0 deletions

View File

@@ -102,3 +102,34 @@ curl -s -X POST localhost:8000/predict/batch \
## Livrable TP03
Reponses aux questions et recap : `SYNTHESE_TP03.md`.
---
# TP04 - Automatiser le pipeline avec la CI/CD (pipeline.py + Forgejo Actions)
Prolonge les TP precedents : les etapes manuelles (split -> entrainement -> enregistrement/promotion
Registry) sont orchestrees en une seule commande, puis rejouees automatiquement en CI.
## Pipeline (Parties 2-3)
`pipeline.py` (racine) enchaine, via des sous-processus (`check=True`, arret au premier echec) :
```bash
set -a; source .env; set +a
python pipeline.py # split -> train full --register -> promote champion
```
- 1. `lab.split.cli` : (re)cree `data/{train,validation,test}.parquet` (deterministe) ;
- 2. `lab.modeling.cli full --register` : entraine + `log_model` + nouvelle version au Registry ;
- 3. `lab.registry.cli promote` : repointe l'alias `champion` sur cette version.
`requirements.txt` fige les dependances runtime (env de reference de la VM, Python 3.14).
## CI/CD (Partie 4)
`.forgejo/workflows/pipeline.yml` : declenche sur **pull_request vers `main`**, installe les
dependances puis lance `pipeline.py`. Execute par les runners du **Forgejo de la VM**
(`forgejo.192-168-122-143.nip.io`), mode docker sur `mlops-net` (les donnees `/data/modelling` et la
CA du host sont montees en lecture seule). Secrets (MLflow + S3 Garage) dans les secrets Actions du repo.
Livrable : `SYNTHESE_TP04.md`.