Lab 1.5 : Relier les Points
Module : 1.5 - Cartographie des Dépendances | ← SlidesDurée : 1 heure Projet d'Exemple : node-express-mongoose-demo
Objectifs d'Apprentissage
À la fin de ce lab, vous serez capable de :
- Identifier les dépendances en aval (qu'est-ce qui dépend de ceci ?)
- Identifier les dépendances en amont (de quoi ceci dépend-il ?)
- Évaluer le rayon d'impact des changements potentiels
- Prendre des décisions éclairées sur les risques de refactoring
Prérequis
- Labs 1.2 et 1.3 complétés
- Projet d'exemple prêt avec CLAUDE.md
- Compréhension de la structure de base du projet
Configuration
# Naviguez vers le projet d'exemple
cd sample-projects/node-express-mongoose-demo
# Démarrez Claude Code
claudeTâche 1 : Identifier un Module Central
Temps : 5-8 minutes
Trouvez un module central à l'application.
Prompts à essayer :
Quels sont les modules les plus importants ou les plus utilisés dans cette base de code ?Quels modules sont importés par le plus de fichiers ?Résultat Attendu
Vous avez identifié un module qui mérite d'être analysé (ex : un modèle, un service, ou un middleware).
Critères de réussite :
- [ ] Identifié au moins un module central
- [ ] Compris pourquoi il est considéré comme "central"
Tâche 2 : Cartographier les Dépendances en Aval
Temps : 15-20 minutes
Trouvez tout ce qui dépend du module choisi.
Prompts à essayer :
Quels composants dépendent du modèle User ?Liste tous les fichiers qui importent ou utilisent le contrôleur article.Où le middleware d'authentification est-il utilisé ?Prompts de suivi :
Peux-tu catégoriser ces dépendances par type (contrôleurs, routes, tests) ?Résultat Attendu
Une liste complète du code qui serait affecté par des changements.
Critères de réussite :
- [ ] Listé tous les fichiers/modules qui dépendent de la cible
- [ ] Catégorisé les dépendances (si applicable)
- [ ] Compris le rayon d'impact
Tâche 3 : Cartographier les Dépendances en Amont
Temps : 15-20 minutes
Trouvez de quoi dépend votre module choisi.
Prompts à essayer :
Quelles bibliothèques externes le modèle User utilise-t-il ?Quels autres modules le contrôleur article importe-t-il ?De quelle configuration ce module dépend-il ?Résultat Attendu
Une liste de tous les risques externes (bibliothèques, APIs, autres modules).
Critères de réussite :
- [ ] Listé tous les imports et dépendances
- [ ] Identifié les bibliothèques externes utilisées
- [ ] Compris ce qui pourrait casser ce module de l'extérieur
Tâche 4 : Évaluer le Rayon d'Impact
Temps : 15-20 minutes
Synthétisez vos découvertes en une évaluation des risques.
Prompts à essayer :
Si je devais refactorer le modèle User, quelle serait l'approche la plus sûre ?Qu'est-ce qui casserait si je changeais l'API du middleware d'authentification ?Crée un diagramme Mermaid montrant les dépendances du module article.Documentez vos découvertes :
- Le rayon d'impact est-il petit, moyen ou grand ?
- Quel est le niveau de risque pour le refactoring ?
- Que faut-il tester avant tout changement ?
Critères de réussite :
- [ ] Évaluation écrite du rayon d'impact
- [ ] Niveau de risque identifié (faible/moyen/élevé)
- [ ] Recommandations pour des changements sécurisés
Interpréter les Résultats
| Rayon d'Impact | Caractéristiques | Recommandation |
|---|---|---|
| Petit | Peu de dépendances, bien isolé, principalement utilisé par les tests | Sûr à refactorer |
| Moyen | Plusieurs dépendances, utilisé par plusieurs composants | Tester minutieusement |
| Grand | Nombreuses dépendances, central à l'application, couplage fort | Planifier soigneusement |
Conseils pour Réussir
- Commencer par les systèmes critiques - Auth, modèles de données, services principaux
- Chercher les surprises - Dépendances inattendues = couplage caché
- Poser des questions "pourquoi" - "Pourquoi X dépend-il de Y ?"
- Générer des diagrammes - Les représentations visuelles aident à la compréhension
Dépannage
Trop de dépendances
- Concentrez-vous d'abord sur les plus importantes
- Demandez à Claude de prioriser par fréquence d'utilisation
Dépendances circulaires trouvées
- Documentez-les soigneusement
- Elles indiquent des problèmes architecturaux
Objectifs Avancés
Si vous finissez en avance :
- Générez un diagramme de dépendances Mermaid
- Identifiez les "modules Dieu" (modules dont tout dépend)
- Trouvez le code orphelin (modules dont rien ne dépend)
Livrables
À la fin de ce lab, vous devriez avoir :
- Une carte des dépendances pour au moins un module central
- Une évaluation des risques (analyse du rayon d'impact)
- Des recommandations pour un refactoring sécurisé
Prochaines Étapes
Après avoir complété ce lab, passez au Lab 1.6 : Le Scribe.