Skip to content

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

bash
# 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
claude

La Mission

Complétez ces 5 phases en 1 heure :

PhaseTâcheTemps
1Vue d'ensemble10-12 min
2CLAUDE.md8-10 min
3Dépendances15 min
4Documentation12-15 min
5Briefing8-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 :

bash
touch CLAUDE.md

Inclure :

markdown
# 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.js
Documente la méthode validatePassword dans models/User.js

Option 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 à :

  1. Que fait ce module/application ? (1-2 phrases)

  2. Quels sont les risques clés ?

    • Couplage fort / dépendances
    • Manque de tests
    • Complexité / code smells
    • Dépendances externes
  3. 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 :

markdown
# 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 :

PilierCe Que Vous Avez Fait
ComprendreExploration, poser des questions, tracer les flux
ContextualiserCréer CLAUDE.md avec les conventions du projet
Cartographier les RisquesCartographie des dépendances, analyse du rayon d'impact
DocumenterGénération de docs, capture des connaissances

Questions de Débriefing

Après avoir terminé le projet final, réfléchissez à :

  1. Quelle a été la découverte la plus surprenante ?
  2. Quelle technique du Jour 1 a été la plus précieuse ?
  3. Que feriez-vous différemment la prochaine fois ?
  4. Combien de temps cela aurait-il pris sans Claude ?

Livrables

À la fin de ce projet final, vous devriez avoir :

  1. Un fichier CLAUDE.md à la racine de hackathon-starter
  2. Une carte des dépendances pour un module critique
  3. Une documentation pour 2+ fonctions ou 1 module
  4. Un briefing écrit prêt à présenter
  5. 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 !

Claude for Coders Training Course