EIA - Projet complet de deploiement IA
Qu'est-ce que l'EIA ?
L'EIA (evaluation Integree des Apprentissages) est le projet de synthese du cours Deploiement de modeles IA. Il represente 30 % de votre note finale et exige que vous demontriez la maitrise de toutes les competences acquises tout au long du cours en deployant un service complet propulse par l'IA a partir de zero.
Il s'agit d'un projet individuel — vous travaillerez seul(e) pour concevoir, construire, tester, documenter et presenter un service de prediction IA pret pour la production.
L'EIA est concue pour simuler un scenario professionnel reel. En industrie, les ingenieurs IA doivent livrer des systemes complets et fonctionnels — pas des notebooks isoles. Ce projet prouve que vous pouvez combler l'ecart entre l'entrainement d'un modele et le deploiement en production.
Pipeline complet du projet
Votre EIA doit couvrir le cycle de deploiement complet. Le diagramme suivant montre toutes les etapes que votre projet doit inclure :
Voir le pipeline complet du projet
Chaque etape correspond directement a un module etudie pendant le cours :
| etape du pipeline | Module du cours | Ponderation |
|---|---|---|
| Donnees et entrainement du modele | Module 2 — Entrainement et evaluation de modeles | 20 % |
| Developpement de l'API | Module 3 — Creation d'API pour modeles IA | 25 % |
| Tests et validation | Module 5 — Tests et explicabilite | 15 % |
| Explicabilite (LIME/SHAP) | Module 5 — Tests et explicabilite | 15 % |
| Documentation et rapport | Tous les modules | 10 % |
| Presentation orale et demo | Tous les modules | 15 % |
Objectifs d'apprentissage
En completant l'EIA, vous demontrerez votre capacite a :
- Selectionner et preparer un jeu de donnees approprie pour un probleme d'apprentissage supervise
- Entrainer, evaluer et comparer au moins deux modeles ML en utilisant des metriques rigoureuses
- Serialiser le meilleur modele pour une utilisation en production
- Construire une API REST (FastAPI ou Flask) avec validation, gestion des erreurs et documentation appropriees
- Tester l'API avec pytest (unitaires + integration) et Postman
- Expliquer les predictions du modele en utilisant LIME et/ou SHAP
- Documenter l'ensemble du systeme avec un rapport technique professionnel
- Presenter et defendre votre travail lors d'une presentation orale avec demo en direct
Livrables
Vous devez soumettre les artefacts suivants :
Liste de verification de soumission
| # | Livrable | Format | Requis |
|---|---|---|---|
| 1 | Depot Git (code + modele + tests) | Lien GitHub / GitLab | ✅ |
| 2 | Fichier du modele entraine | .pkl, .joblib ou .onnx | ✅ |
| 3 | API fonctionnelle avec /predict, /health, /model-info | Code source Python | ✅ |
| 4 | Suite de tests (≥ 10 tests, couverture > 70 %) | Fichiers pytest | ✅ |
| 5 | Collection Postman | Export .json | ✅ |
| 6 | Analyse d'explicabilite (LIME et/ou SHAP) | Notebook ou script + visuels | ✅ |
| 7 | README.md | Markdown | ✅ |
| 8 | Rapport technique (5-8 pages) | ✅ | |
| 9 | Documentation Swagger / OpenAPI | Auto-generee | ✅ |
| 10 | Diaporama | PDF ou PPTX | ✅ |
| 11 | Dockerfile | Dockerfile | ⭐ Bonus |
echeancier et jalons
L'EIA s'etend sur 3 semaines (15 heures de cours + travail personnel). Suivez cet echeancier pour rester sur la bonne voie :
Detail des jalons
| Semaine | Jalon | Resultat attendu | Heures |
|---|---|---|---|
| Semaine 1 | J1 — Donnees et modeles | Jeu de donnees selectionne, EDA terminee, ≥ 2 modeles entraines et compares, meilleur modele serialise | 5h |
| Semaine 2 | J2 — API et tests | API fonctionnelle avec 3 endpoints, ≥ 10 tests reussis, collection Postman, analyse LIME/SHAP | 5h |
| Semaine 3 | J3 — Documentation et presentation | README, rapport technique, diaporama, demo repetee | 5h |
Beaucoup d'etudiants passent tout leur temps a coder et baclent le rapport la veille. La documentation et le rapport comptent pour 25 % de votre note (10 % rapport + 15 % presentation). Prevoyez du temps en consequence.
Organisation du travail
Il s'agit d'un projet individuel. Vous etes seul(e) responsable de tous les livrables.
| Aspect | Details |
|---|---|
| Taille de l'equipe | 1 (individuel) |
| Collaboration | Vous pouvez discuter de concepts avec vos camarades, mais tout le code et la redaction doivent etre les votres |
| Outils IA | Vous pouvez utiliser GitHub Copilot, ChatGPT ou Cursor comme assistants, mais vous devez comprendre et expliquer chaque ligne de code |
| Plagiat | La similarite du code sera verifiee ; les soumissions identiques recevront 0 |
L'utilisation d'outils IA est permise et encouragee, mais vous devez etre capable d'expliquer chaque decision lors de votre presentation orale. Si vous ne pouvez pas expliquer votre code ou votre methodologie pendant la periode de questions, des points seront deduits independamment de la qualite du code.
Grille d'evaluation — Apercu
| Composante | Ponderation | Criteres cles |
|---|---|---|
| Entrainement du modele | 20 % | Choix du jeu de donnees, ≥ 2 modeles, ≥ 3 metriques, serialisation, methodologie |
| Service API | 25 % | 3 endpoints, validation, gestion des erreurs, documentation Swagger, code propre |
| Tests | 15 % | ≥ 10 tests, couverture > 70 %, collection Postman, cas limites |
| Explicabilite | 15 % | LIME et/ou SHAP, ≥ 3 visualisations, interpretation |
| Documentation et rapport | 10 % | README, rapport technique (5-8 pages), clarte, structure |
| Presentation orale | 15 % | Presentation de 15 min, demo en direct, periode de questions, communication |
| Total | 100 % |
echelle de notation
| Note | Intervalle | Description |
|---|---|---|
| A | 90-100 % | Travail exceptionnel. Code de qualite production, analyse perspicace, presentation soignee. |
| B | 80-89 % | Bon travail. Toutes les exigences satisfaites avec une bonne qualite. Problemes mineurs. |
| C | 70-79 % | Satisfaisant. Exigences de base respectees mais manque de profondeur ou de finition. |
| D | 60-69 % | En dessous des attentes. Plusieurs exigences manquantes ou mal executees. |
| F | < 60 % | Insatisfaisant. Composantes majeures manquantes ou non fonctionnelles. |
Grille detaillee — Cliquez pour afficher
| Critere | Excellent (90-100 %) | Bon (80-89 %) | Satisfaisant (70-79 %) | Insuffisant (< 70 %) |
|---|---|---|---|---|
| Entrainement du modele | ≥ 3 modeles compares, EDA approfondie, hyperparametres optimaux, methodologie claire | 2 modeles compares, bonne EDA, hyperparametres raisonnables | 2 modeles mais comparaison minimale, EDA de base | 1 seul modele, pas d'EDA, methodologie faible |
| Service API | Architecture propre, tous les endpoints fonctionnent, validation robuste, gestion complete des erreurs | Tous les endpoints fonctionnent, validation de base, quelques gestions d'erreurs | La plupart des endpoints fonctionnent, validation minimale | Endpoints manquants ou non fonctionnels, pas de validation |
| Tests | > 80 % de couverture, cas limites testes, organisation claire des tests | > 70 % de couverture, bonne variete de tests | > 60 % de couverture, tests de base uniquement | < 60 % de couverture ou < 10 tests |
| Explicabilite | LIME + SHAP, ≥ 5 visualisations, interpretation approfondie | LIME ou SHAP, ≥ 3 visualisations, bonne interpretation | Une methode, 2-3 visualisations, interpretation superficielle | Pas d'analyse d'explicabilite |
| Rapport | Qualite professionnelle, toutes les sections completes, redaction claire | Toutes les sections presentes, lacunes mineures | La plupart des sections presentes, redaction parfois floue | Sections manquantes, mal redige |
| Presentation | Livraison confiante, excellente demo, gere bien la periode de questions | Bonne livraison, demo fonctionnelle, repond a la plupart des questions | Livraison adequate, demo partiellement fonctionnelle | Mauvaise livraison, demo echoue, ne peut pas repondre aux questions |
Points bonus
Gagnez jusqu'a 5 points bonus en depassant les exigences :
| Bonus | Points | Description |
|---|---|---|
| Deploiement Docker | +2 | Dockerfile fonctionnel qui execute le service complet |
| Pipeline CI/CD | +1 | Workflow GitHub Actions executant les tests automatiquement |
| Surveillance avancee | +1 | Journalisation, suivi des requetes ou metriques de performance |
| Explicabilite supplementaire | +1 | LIME et SHAP avec analyse comparative |
Structure du depot du projet
Votre depot Git devrait suivre cette structure recommandee :
mon-projet-eia/
├── README.md
├── requirements.txt
├── Dockerfile # Bonus
├── .gitignore
├── data/
│ └── dataset.csv # Ou lien dans le README
├── notebooks/
│ ├── 01_eda.ipynb
│ ├── 02_model_training.ipynb
│ └── 03_explainability.ipynb
├── src/
│ ├── __init__.py
│ ├── app.py # Application FastAPI / Flask
│ ├── model.py # Chargement du modele et logique de prediction
│ ├── schemas.py # Modeles Pydantic (si FastAPI)
│ └── utils.py # Fonctions utilitaires
├── models/
│ └── best_model.pkl # Modele serialise
├── tests/
│ ├── __init__.py
│ ├── test_model.py
│ ├── test_api.py
│ └── test_schemas.py
├── postman/
│ └── collection.json
├── docs/
│ └── report.pdf
└── presentation/
└── slides.pdf
N'essayez pas de tout construire d'un coup. Commencez par un pipeline minimal fonctionnel (donnees → modele → API simple), puis ajoutez iterativement les tests, l'explicabilite et la documentation. Faites des commits tot et souvent.
Obtenir de l'aide
| Ressource | Quand l'utiliser |
|---|---|
| Materiel de cours | Revisez les modules 1-5 pour les techniques specifiques |
| Heures de bureau | Posez vos questions a votre enseignant pendant les heures de bureau prevues |
| Seances de laboratoire | Utilisez le temps de labo pour travailler sur votre projet |
| Camarades de classe | Discutez des concepts (mais ecrivez votre propre code) |
| Assistants IA | Utilisez-les pour le debogage et l'apprentissage (citez l'utilisation dans le rapport) |
- Debut du projet : Semaine 13
- Point de controle du jalon J1 : Fin de la semaine 13
- Point de controle du jalon J2 : Fin de la semaine 14
- Soumission finale : Semaine 15 (code + rapport + collection Postman)
- Presentations orales : Semaine 15 (creneaux horaires planifies)
Navigation rapide
📄️ 06.1 Apercu de l'EIA
evaluation Integree des Apprentissages : deployer un service IA complet de bout en bout avec entrainement, API, tests, explicabilite et documentation
📄️ 06.2 Exigences du projet
Exigences completes, grilles d'evaluation et listes de verification pour chaque livrable de l'EIA
📄️ 06.3 Idees de projets
Idees de projets selectionnees avec jeux de donnees, modeles attendus et niveaux de difficulte pour votre EIA
📄️ 06.4 Gabarit de rapport
Gabarit complet et directives pour la redaction de votre rapport technique de l'EIA (5-8 pages)
📄️ 06.5 Guide de presentation
Structure, conseils, grille d'evaluation et guide de preparation pour votre presentation orale de 15 minutes de l'EIA