Neuf travaux pratiques sur deux jours, soit un peu plus de 60 % du temps de formation. Tous portent sur la même application, QuizOps, fournie dans un dépôt Git avec un tag par TP. Vous ne construisez pas l'application : vous faites travailler Claude Code dessus, comme sur n'importe quel projet existant.
➡️ Commencez par lire la présentation : Le Projet Fil Rouge : QuizOps
Un exercice de vibe coding ne peut pas promettre une sortie exacte : deux exécutions du même prompt ne donnent pas le même code. Les TP contournent le problème en ne faisant jamais porter la preuve sur ce que l'agent écrit, mais sur ce qui se vérifie par une commande.
La charte des TP
- La preuve ne juge jamais le texte de l'IA. Elle porte sur un fichier, un compteur ou une commande :
uv run pytest -qaffiche14 passed,cat .mcp.jsoncontientplaywright.- L'état de départ est reconstruit, jamais supposé. Chaque TP commence par
outils/depart.sh Net son nombre de tests verts.- Les tests sont fournis, avant le code. Les tests d'acceptation d'un lot existent dans
tests/a-venir/; vous les déplacez, la suite rougit, l'agent la fait revenir au vert.- L'incident est provoqué par vous, jamais espéré.
outils/panne.py,outils/saboter.pyetoutils/fuite.shcassent quelque chose de connu ; l'exercice consiste à le réparer.- Deux issues, deux leçons. Quand on compare deux modèles ou deux prompts, on compare des mesures (tests verts, lignes modifiées, tokens), et l'enseignement tient quel que soit le gagnant.
- Aucune sortie inventée. Ce qui est affiché dans un TP a été obtenu sur le dépôt de référence ; les valeurs qui changent d'un poste à l'autre sont écrites
<hash>ou omises.- Chaque exercice enseigne un mécanisme de l'outil ou une méthode. QuizOps est le terrain, jamais le sujet.
- Le prompt rédigé n'est jamais dans la consigne. Un exercice libre donne des contraintes en quelques puces ; le prompt complet n'apparaît qu'en solution dépliable.
- Une commande de contrôle, une durée bornée. Les exercices optionnels sont les soupapes du TP.
- Le formateur a une sortie de secours.
git checkout -- .puisoutils/depart.shremet tout le monde au même point en trente secondes.
Étiquettes. Première rencontre d'un mécanisme : exercice (Guidé), pas à pas, avec les sorties attendues. Répétition : exercice (Libre), une consigne, des contraintes, une preuve attendue, une solution dépliable. (Libre - Optionnel) : la soupape du TP, à faire si le temps le permet.
Marqueurs. 🚀 point de départ · 💡 indice · ⚠️ contrainte d'environnement · ✅ leçon validée · ❌ échec voulu · 🧩 brique du fil rouge.
| Séquence | Durée |
|---|---|
| Accueil, objectifs, présentation de QuizOps | 20 min |
| Module 01 : Fondamentaux du vibe coding | 30 min |
| Module 02 : Prise en main de Claude Code | 30 min |
| TP 1 : Prise en main de Claude Code sur un projet existant | 45 min |
| Pause | 15 min |
| Module 03 : Prompt engineering et conception | 35 min |
| TP 2 : Du code au cahier des charges | 45 min |
| Déjeuner | |
| TP 3 : Faire évoluer du code existant | 55 min |
| Pause | 15 min |
| TP 4 : Comparer et choisir : modèles, réflexion, Best-of-N | 50 min |
| Module 04 : Validation, tests et fiabilisation | 30 min |
| Questions, rattrapage des TP | 15 min |
| Bilan du jour 1 | 15 min |
| Séquence | Durée |
|---|---|
Reprise : outils/depart.sh 5 sur tous les postes |
5 min |
| TP 5 : Tester et fiabiliser | 50 min |
| Module 05 : Skills, personnalisation et automatisation | 30 min |
| TP 6 : Skills et automatisation | 50 min |
| Pause | 15 min |
| Module 06 : Git, CI/CD et hooks déterministes | 35 min |
| TP 7 : Git, CI/CD et hooks | 50 min |
| Pause | 15 min |
| Module 07 : MCP, plugins et outils externes | 25 min |
| TP 8 : MCP et plugins | 45 min |
| Module 08 : Subagents, orchestration et gouvernance | 25 min |
| TP 9 : Sous-agents, défi final et règles d'usage | 55 min |
| Clôture, questionnaire et ressources | 20 min |
| Durée | Part | |
|---|---|---|
| Théorie (8 modules) | 4 h 00 | 35 % |
| Pratique (9 TP) | 7 h 25 | 65 % |
| Accueil, pauses, rattrapage, bilan et clôture | 2 h 35 | |
| Total | 14 h |
TP 1 : Prise en Main de Claude Code sur un Projet Existant (45 min)
Installation, tableau de bord de la session, deux expériences sur le modèle, /init et les portées de CLAUDE.md, modes de permission
🧩 Le dépôt cloné, CLAUDE.md et .claude/settings.json
TP 2 : Du Code au Cahier des Charges (45 min)
Rétro-ingénierie en mode plan, lots livrables reliés aux tests fournis, composants critiques, premier commit
🧩 PRD.md en dix sections
TP 3 : Faire Évoluer du Code Existant (55 min)
Trois lots vérifiés par les tests fournis, plan recadré, extrait comme modèle, panne et trace intégrale
🧩 Le filtre par catégorie, le 404, GET /api/categories, trois commits
TP 4 : Comparer et Choisir : Modèles, Réflexion, Best-of-N (50 min)
Deux essais dans deux worktrees comparés sur des mesures, réflexion étendue et /effort, bascule de modèle en cours de session
🧩 Le classement, le score des parties incomplètes corrigé
TP 5 : Tester et Fiabiliser (50 min)
Tests d'acceptation avant le code, tests écrits par l'IA jugés par un sabotage, débogage par la trace
🧩 La validation des entrées, les tests du tirage
TP 6 : Skills et Automatisation (50 min)
/code-review et /simplify sur un diff maîtrisé, un skill avec script embarqué, déclenchement explicite ou automatique
🧩 /revue, le skill nouvelle-question
TP 7 : Git, CI/CD et Hooks (50 min)
Le secret committé, une branche en commits atomiques avec sa CI, un hook de formatage et un garde-fou testables sans IA
🧩 ci.yml, les deux hooks versionnés, GET /api/statistiques
TP 8 : MCP et Plugins (45 min)
Playwright joue une partie, Context7 contre la mémoire du modèle, le plugin d'équipe validé et installé depuis une place de marché locale
🧩 .mcp.json, quizops-kit/
TP 9 : Sous-Agents, Défi Final et Règles d'Usage (55 min)
Deux sous-agents à privilèges restreints, une fonctionnalité complète livrée avec tout l'outillage, la revue en parallèle, USAGE-IA.md
🧩 relecteur, test-runner, la branche defi-final, les règles d'usage
| Outil | Version | Utilisé à partir du |
|---|---|---|
| Claude Code | Dernière version stable | TP 1 |
| Git | Toute version récente | TP 1 |
| uv | Dernière version stable (il installe Python 3.13 lui-même) | TP 1 |
| Node.js | 22 LTS ou plus récent, pour npx et les serveurs MCP |
TP 8 |
| jq | Toute version, pour les hooks | TP 7 |
gh, le client GitHub |
Facultatif, avec un compte GitHub | TP 7 |
La veille de la formation, sur chaque poste : cloner le dépôt de référence, lancer outils/preflight.sh jusqu'à ce que toutes les lignes soient en ✔, puis npx playwright install chromium (environ 150 Mo) pour le TP 8. Si votre réseau est filtré, ces deux téléchargements sont ceux qui bloquent.
Le compte : un forfait Claude Pro, Max, Team ou Enterprise, ou un accès à l'API Claude avec facturation à l'usage. Le formateur vérifie avant la session que les modèles Opus, Sonnet et Haiku sont tous accessibles sur les comptes des stagiaires ; sinon, le TP 4 se joue avec Sonnet seul, la consigne le prévoit.
Chaque exercice a une preuve attendue : une commande et sa sortie, ou un fichier à montrer. Le défi final du TP 9 est évalué sur quatre critères : ça fonctionne (les tests fournis passent), c'est testé, c'est committé proprement, c'est relu. Un questionnaire à choix multiples sur les huit modules clôt la session.