Lab 1.7 : Reconnaissance Complète d'un Codebase
Projet Final du Jour 1 | ← SlidesDurée : 1 heure Projet d'Exemple : hackathon-starter
Le Scénario
Vous venez de rejoindre une nouvelle équipe. On vous confie un module legacy en vous disant :
« Nous devons refactoriser ce module lors du prochain sprint. Peux-tu comprendre ce qu'il fait et évaluer les risques à le modifier ? »
Vous avez 1 heure pour préparer un briefing.
Objectifs d'Apprentissage
Ce projet final intègre tout ce que vous avez appris lors du Jour 1 :
- Exploration de codebase (Module 1.2)
- Contexte du projet avec CLAUDE.md (Module 1.3)
- Cartographie des dépendances (Module 1.5)
- Génération de documentation (Module 1.6)
Prérequis
- Avoir terminé tous les labs du Jour 1 (1.2, 1.3, 1.5, 1.6)
- Projet hackathon-starter cloné
Mise en Place
# Naviguez vers le projet du capstone (différent des labs précédents !)
cd sample-projects/hackathon-starter
# Installez les dépendances
npm install
# Lancez Claude Code
claudeLa Mission
Complétez ces 5 phases en 1 heure :
| Phase | Tâche | Temps |
|---|---|---|
| 1 | Vue d'ensemble | 10-12 min |
| 2 | CLAUDE.md | 8-10 min |
| 3 | Dépendances | 15 min |
| 4 | Documentation | 12-15 min |
| 5 | Briefing | 8-10 min |
Phase 1 : Vue d'Ensemble
Temps : 10-12 minutes Objectif : Comprendre ce que fait ce module/application.
Prompts à essayer :
Quel est le but de cette application ?Quels sont ses composants principaux ?Comment fonctionne le système d'authentification ?Résultat attendu : Rédigez un résumé de 3 à 5 phrases expliquant ce que fait cette application.
Critères de réussite :
- [ ] Capable d'expliquer le but de l'application en une phrase
- [ ] Identification des composants principaux (auth, routes, modèles, etc.)
- [ ] Compréhension de l'articulation entre les différentes parties
Phase 2 : Créer CLAUDE.md
Temps : 8-10 minutes Objectif : Documenter vos découvertes initiales pour les sessions futures.
Créez CLAUDE.md à la racine du projet :
touch CLAUDE.mdInclure :
# Hackathon Starter - Instructions pour Claude
## Objectif
[Votre résumé en une phrase de la Phase 1]
## Composants Clés
- [Liste des modules/répertoires principaux]
## Build & Exécution
- `npm install` — Installer les dépendances
- `npm start` — Démarrer l'application
- `npm test` — Lancer les tests
## Conventions de Code
- [Notez les patterns que vous avez observés]
## Problèmes Connus / Points d'Attention
- [Documentez tout ce qui vous a surpris]Critères de réussite :
- [ ] CLAUDE.md créé avec l'objectif et les composants
- [ ] Commandes de build/exécution documentées
- [ ] Au moins une convention de code ou un point d'attention noté
Phase 3 : Cartographier les Dépendances
Temps : 15 minutes Objectif : Comprendre le rayon d'impact des modifications.
Choisissez un module critique (par exemple controllers/user.js, le système d'authentification, ou models/User.js).
Prompts à essayer :
Quelles autres parties du codebase dépendent du modèle User ?Quelles bibliothèques externes le système d'authentification utilise-t-il ?Si je modifiais le schéma du modèle User, qu'est-ce qui casserait ?Résultat attendu : Une carte des dépendances avec :
- Les dépendances en aval (ce qui utilise ce module)
- Les dépendances en amont (ce que ce module utilise)
- Une évaluation du rayon d'impact (petit/moyen/grand)
Critères de réussite :
- [ ] Dépendances en aval listées
- [ ] Dépendances en amont listées
- [ ] Rayon d'impact pour le refactoring évalué
Phase 4 : Générer la Documentation
Temps : 12-15 minutes Objectif : Documenter 2-3 fonctions clés ou créer un README de module.
Option A : Documentation Inline
Ajoute des commentaires JSDoc à la fonction login dans controllers/user.jsDocumente la méthode validatePassword dans models/User.jsOption B : README de Module
Crée un README.md pour le répertoire models/ expliquant chaque modèle.Validation : Vérifiez les exemples générés par rapport aux tests ou au comportement à l'exécution.
Critères de réussite :
- [ ] Documentation générée pour au moins 2 fonctions OU 1 README de module
- [ ] Au moins un élément de contenu généré validé
- [ ] Inexactitudes notées le cas échéant
Phase 5 : Préparer Votre Briefing
Temps : 8-10 minutes Objectif : Synthétiser vos découvertes en une présentation de 2 minutes.
Votre briefing doit répondre à :
Que fait ce module/application ? (1-2 phrases)
Quels sont les risques clés ?
- Couplage fort / dépendances
- Manque de tests
- Complexité / code smells
- Dépendances externes
Quelle est votre recommandation ?
- Refactoring possible en sécurité ?
- Besoin de tests d'abord ?
- Haut risque, procéder avec prudence ?
- Approche spécifique suggérée ?
Template de briefing :
# Briefing : [Nom du Module/Application]
## Objectif
[Résumé en 1-2 phrases]
## Risques Clés
- [Risque 1]
- [Risque 2]
- [Risque 3]
## Rayon d'Impact
[Petit / Moyen / Grand] - [Brève explication]
## Recommandation
[Votre recommandation actionnable]
## Prochaines Étapes
1. [Action spécifique]
2. [Action spécifique]Critères de réussite :
- [ ] Résumé clair et concis préparé
- [ ] Risques identifiés et priorisés
- [ ] Recommandation actionnable prête
Les Quatre Piliers de la Compréhension d'un Codebase
Ce projet final a testé les quatre piliers :
| Pilier | Ce Que Vous Avez Fait |
|---|---|
| Comprendre | Exploration, poser des questions, tracer les flux |
| Contextualiser | Créer CLAUDE.md avec les conventions du projet |
| Cartographier les Risques | Cartographie des dépendances, analyse du rayon d'impact |
| Documenter | Génération de docs, capture des connaissances |
Questions de Débriefing
Après avoir terminé le projet final, réfléchissez à :
- Quelle a été la découverte la plus surprenante ?
- Quelle technique du Jour 1 a été la plus précieuse ?
- Que feriez-vous différemment la prochaine fois ?
- Combien de temps cela aurait-il pris sans Claude ?
Livrables
À la fin de ce projet final, vous devriez avoir :
- Un fichier CLAUDE.md à la racine de hackathon-starter
- Une carte des dépendances pour un module critique
- Une documentation pour 2+ fonctions ou 1 module
- Un briefing écrit prêt à présenter
- La confiance pour aborder n'importe quel codebase legacy
Félicitations !
Vous avez terminé le Jour 1 de Claude for Coders.
Et Ensuite ?
Demain (Jour 2) : Vous apprendrez à effectuer des modifications sûres sur du code legacy en utilisant :
- Le Mode Plan (analyse en lecture seule)
- La Génération de Tests (créer des filets de sécurité)
- Le TDD avec Claude (Red-Green-Refactor)
- Le Refactoring Sécurisé (améliorations incrémentales)
Reposez-vous bien - le Jour 2 est celui où les choses deviennent sérieuses !