Contexte
Pendant les TP EPF de septembre 2026, des élèves ont résolu les exercices d'une douzaine de notebooks GenAI. Leurs solutions ont été intégrées comme exemples guidés crédités, et chaque exercice résolu a été remplacé par un nouvel exercice. L'intégration s'est faite au fil des restitutions : relecture, re-exécution, ajout d'une lecture du résultat.
Ce rythme a laissé passer des exemples guidés légers : ils tournent et leurs sorties sont justes, mais ils n'exercent pas vraiment l'outil que le notebook enseigne. Le cas le plus net est SK-08-MCP (#18573), qui simule le protocole au lieu de l'utiliser. Il a son issue dédiée. Les autres notebooks méritent une seconde passe, dans les semaines qui viennent.
À quoi se reconnaît un exemple guidé léger
- Il manipule une structure écrite à la main au lieu de l'objet réel : un dictionnaire à la place d'une réponse d'API, une liste à la place d'un serveur.
- Il reste en surface (noms, comptes, mots-clés) et ne descend pas à la granularité qui porte le concept : schéma et types d'un outil, tokens et probabilités, pixels d'une image, segments et timestamps d'une transcription, octets d'un modèle quantifié.
- Il appelle directement une fonction que le notebook veut voir appelée par le modèle ou le framework, par exemple une méthode décorée invoquée comme une fonction Python ordinaire.
- Sa sortie n'est ni vérifiée ni comparée : aucune référence, aucun cas qui échoue, aucune mesure.
- Il est long pour un résultat que sa propre lecture doit ensuite relativiser.
Notebooks concernés
| Notebook |
PR d'intégration |
GenAI/Texte/01_OpenAI_Intro.ipynb |
#18560 (en cours) |
GenAI/Texte/02_PromptEngineering.ipynb |
#18552 |
GenAI/Texte/03_Structured_Outputs.ipynb |
#18488 |
GenAI/Texte/06_PDF_Web_Search.ipynb |
#18567 (en cours) |
GenAI/Texte/11_Quantization.ipynb |
#18568 (en cours) |
GenAI/Image/01-Foundation/01-1-OpenAI-DALL-E-3.ipynb |
#18449, #18561 |
GenAI/Audio/01-Foundation/01-2-OpenAI-Whisper-STT.ipynb |
#18549, #18569 (en cours) |
GenAI/Video/01-Foundation/01-1-Video-Operations-Basics.ipynb |
#18484 |
GenAI/FineTuning/FT-02-QLoRA-Quantization-Python.ipynb |
#18550 |
GenAI/SemanticKernel/08-SemanticKernel-MCP.ipynb |
#18553 : refonte portée par #18573 |
GenAI/Vibe-Coding/Claude-Code/notebooks/01-Claude-CLI-Bases.ipynb |
#18563 |
GenAI/Vibe-Coding/Claude-Code/notebooks/04-Claude-CLI-Agents.ipynb |
#18565 |
La liste s'allonge avec les TP suivants : chaque nouvelle intégration s'ajoute ici en commentaire.
Méthode, notebook par notebook
- Lire chaque exemple guidé avec une seule question : exerce-t-il l'organe que le notebook enseigne (l'API, le SDK, le protocole, le modèle), à la granularité qui porte le concept ?
- Poser un verdict, en commentaire de cette issue :
SOLIDE, À MUSCLER ou À REFONDER, avec la raison en une ou deux phrases.
- Muscler sans effacer : garder le code de l'élève et son crédit, puis ajouter ce qui manquait (la vérification, la granularité, l'appel réel). Réécrire la lecture du résultat sur la nouvelle sortie.
- Vérifier l'exercice qui remplace l'ancien : il doit rester différent de l'exemple guidé et d'un niveau comparable.
- Re-exécuter : Papermill de bout en bout, 0 erreur, sorties committées, CSV de traduction synchronisé.
Une PR par notebook, pour qu'elle reste lisible. Commencer par les notebooks les plus réservés aux TP.
Critères d'acceptation
Contexte
Pendant les TP EPF de septembre 2026, des élèves ont résolu les exercices d'une douzaine de notebooks GenAI. Leurs solutions ont été intégrées comme exemples guidés crédités, et chaque exercice résolu a été remplacé par un nouvel exercice. L'intégration s'est faite au fil des restitutions : relecture, re-exécution, ajout d'une lecture du résultat.
Ce rythme a laissé passer des exemples guidés légers : ils tournent et leurs sorties sont justes, mais ils n'exercent pas vraiment l'outil que le notebook enseigne. Le cas le plus net est SK-08-MCP (#18573), qui simule le protocole au lieu de l'utiliser. Il a son issue dédiée. Les autres notebooks méritent une seconde passe, dans les semaines qui viennent.
À quoi se reconnaît un exemple guidé léger
Notebooks concernés
GenAI/Texte/01_OpenAI_Intro.ipynbGenAI/Texte/02_PromptEngineering.ipynbGenAI/Texte/03_Structured_Outputs.ipynbGenAI/Texte/06_PDF_Web_Search.ipynbGenAI/Texte/11_Quantization.ipynbGenAI/Image/01-Foundation/01-1-OpenAI-DALL-E-3.ipynbGenAI/Audio/01-Foundation/01-2-OpenAI-Whisper-STT.ipynbGenAI/Video/01-Foundation/01-1-Video-Operations-Basics.ipynbGenAI/FineTuning/FT-02-QLoRA-Quantization-Python.ipynbGenAI/SemanticKernel/08-SemanticKernel-MCP.ipynbGenAI/Vibe-Coding/Claude-Code/notebooks/01-Claude-CLI-Bases.ipynbGenAI/Vibe-Coding/Claude-Code/notebooks/04-Claude-CLI-Agents.ipynbLa liste s'allonge avec les TP suivants : chaque nouvelle intégration s'ajoute ici en commentaire.
Méthode, notebook par notebook
SOLIDE,À MUSCLERouÀ REFONDER, avec la raison en une ou deux phrases.Une PR par notebook, pour qu'elle reste lisible. Commencer par les notebooks les plus réservés aux TP.
Critères d'acceptation
À MUSCLERa sa PR mergée.À REFONDERa son issue dédiée (SK-08 : SK-08-MCP : le notebook simule MCP au lieu de l'utiliser -- le refonder sur la décoration des outils (schémas d'entrée et de sortie) #18573).