Skip to content

Lab 1.3 : Construire le Cerveau du Projet

Module : 1.3 - Fournir du Contexte avec CLAUDE.md | ← SlidesDurée : 30 minutes Projet d'Exemple : node-express-mongoose-demo

Objectifs d'Apprentissage

À la fin de ce lab, vous serez capable de :

  • Créer un fichier CLAUDE.md pour un projet
  • Documenter les commandes de build, les instructions de test et les conventions de code
  • Vérifier que Claude suit vos instructions documentées

Prérequis

Configuration

bash
# Naviguez vers le projet d'exemple
cd sample-projects/node-express-mongoose-demo

# Assurez-vous d'être à la racine du projet
pwd

Tâche 1 : Créer le Fichier CLAUDE.md

Temps : 10 minutes

Créez un nouveau fichier CLAUDE.md à la racine du projet :

bash
touch CLAUDE.md

Ouvrez-le dans votre éditeur préféré et ajoutez les sections suivantes :

1. Construction & Exécution

markdown
# node-express-mongoose-demo - Instructions Claude

## Construction & Exécution
- `npm install` — Installer les dépendances
- `npm start` — Démarrer l'application (port 3000 par défaut)
- `npm run dev` — Démarrer avec nodemon pour le développement

2. Tests

markdown
## Tests
- `npm test` — Exécuter la suite de tests
- Les tests utilisent Mocha comme framework de test

3. Conventions de Code

markdown
## Conventions de Code
- Toutes les nouvelles fonctions doivent avoir des commentaires JSDoc
- Utiliser async/await au lieu des callbacks ou chaînes de promesses
- Suivre le pattern MVC existant : routes → contrôleurs → modèles

Tâche 2 : Ajouter du Contexte Spécifique au Projet

Temps : 10 minutes

Enrichissez votre CLAUDE.md avec du contexte supplémentaire :

Architecture

markdown
## Architecture
- Application web Express.js avec backend MongoDB
- Utilise Mongoose pour l'ODM (Object Document Modeling)
- Templates Pug pour le rendu côté serveur
- Authentification basée sur les sessions avec Passport.js

Problèmes Connus

markdown
## Problèmes Connus
- Le module `imager` est du code legacy pour le traitement d'images
- Une partie de la configuration est dans le répertoire `config/` (basée sur l'environnement)

Tâche 3 : Tester Votre CLAUDE.md

Temps : 10 minutes

Démarrez une nouvelle session Claude et vérifiez qu'il lit vos instructions :

bash
claude

Prompts de Test

Essayez ces prompts et vérifiez les réponses de Claude :

Prompt 1 :

Comment construire ce projet ?

Réponse Attendue

Claude devrait répondre avec npm install et npm start depuis votre CLAUDE.md.

Prompt 2 :

Comment lancer les tests ?

Réponse Attendue

Claude devrait mentionner npm test et Mocha.

Prompt 3 :

Écris une nouvelle fonction utilitaire qui valide les adresses email.

Réponse Attendue

Claude devrait inclure un commentaire JSDoc (suivant votre convention de code).


Critères de Réussite

  • [ ] Claude référence les bonnes commandes de build
  • [ ] Claude suit la convention JSDoc lors de l'écriture de nouveau code
  • [ ] Claude comprend l'architecture du projet

Conseils pour Réussir

À FaireÀ Éviter
Être spécifique : "Utiliser async/await"Être vague : "écrire du bon code"
Inclure les vraies commandes : npm run buildDire "construire le projet"
Expliquer les choses inhabituelles : "Ne pas modifier X parce que..."Laisser du code confus sans explication
Utiliser des titres, puces, blocs de codeÉcrire des murs de texte

Dépannage

Claude ne semble pas utiliser CLAUDE.md

  • Assurez-vous que le fichier est sauvegardé
  • Assurez-vous d'avoir lancé claude depuis le même répertoire que CLAUDE.md
  • Essayez de quitter et redémarrer Claude

Claude ignore une convention

  • Vos instructions directes priment sur CLAUDE.md
  • Essayez d'être plus spécifique dans CLAUDE.md
  • Rappelez à Claude : "N'oublie pas les conventions de code dans CLAUDE.md"

Avancé : Utiliser /init pour la Génération Automatique

Au lieu de créer CLAUDE.md manuellement, vous pouvez utiliser la commande /init :

bash
claude
/init

Claude analysera votre projet et générera un CLAUDE.md initial avec :

  • Commandes de build détectées
  • Commandes de test
  • Aperçu de la structure du projet
  • Conventions de base

TIP

Le fichier auto-généré est un point de départ. Revoyez-le toujours et personnalisez-le selon vos besoins spécifiques.


Avancé : Règles CLAUDE.md pour Problèmes Courants

Ajoutez ces règles à votre CLAUDE.md pour améliorer le comportement de Claude :

Réduire les Hallucinations (Lire Avant d'Éditer)

markdown
## Règles Importantes
- Ne JAMAIS proposer de modifications à du code non lu
- Toujours lire un fichier avant de l'éditer
- Si demandé de modifier un fichier, le lire d'abord pour comprendre les patterns existants

Ajuster l'Empressement

Claude Opus 4.5 est empressé et demande pardon plutôt que permission. Pour le rendre plus conservateur :

markdown
## Comportement
- Demander avant de faire de grands changements (>50 lignes)
- Confirmer la compréhension avant de modifier des fichiers critiques
- Préférer des changements petits et incrémentaux

Activer les Appels d'Outils en Parallèle

Pour une exécution plus rapide sur des opérations indépendantes :

markdown
## Performance
- Quand plusieurs tâches indépendantes sont demandées, les exécuter en parallèle
- Utiliser des appels d'outils en parallèle pour les lectures de fichiers qui ne dépendent pas les unes des autres

Avancé : Fichiers CLAUDE.md dans les Sous-répertoires

Vous pouvez placer des fichiers CLAUDE.md dans les sous-répertoires pour des règles localisées :

projet/
├── CLAUDE.md              # Règles pour tout le projet
├── src/
│   └── CLAUDE.md          # Règles spécifiques au frontend
├── api/
│   └── CLAUDE.md          # Règles spécifiques à l'API
└── tests/
    └── CLAUDE.md          # Règles spécifiques aux tests

Claude fusionne ces règles, avec les fichiers plus spécifiques (plus profonds) ayant la priorité.

WARNING

Utilisez /clear fréquemment pendant les longues sessions pour réinitialiser le contexte et maintenir la concentration.


Template CLAUDE.md Final

Voici l'exemple complet :

markdown
# node-express-mongoose-demo - Instructions Claude

## Construction & Exécution
- `npm install` — Installer les dépendances
- `npm start` — Démarrer l'application (port 3000 par défaut)
- `npm run dev` — Démarrer avec nodemon pour le développement

## Tests
- `npm test` — Exécuter la suite de tests
- Les tests utilisent Mocha comme framework de test

## Conventions de Code
- Toutes les nouvelles fonctions doivent avoir des commentaires JSDoc
- Utiliser async/await au lieu des callbacks ou chaînes de promesses
- Suivre le pattern MVC existant : routes → contrôleurs → modèles

## Architecture
- Application web Express.js avec backend MongoDB
- Utilise Mongoose pour l'ODM (Object Document Modeling)
- Templates Pug pour le rendu côté serveur
- Authentification basée sur les sessions avec Passport.js

## Structure des Répertoires
- `app/` — Code principal de l'application (contrôleurs, modèles)
- `config/` — Fichiers de configuration (basés sur l'environnement)
- `public/` — Assets statiques
- `test/` — Fichiers de test

Livrables

À la fin de ce lab, vous devriez avoir :

  1. Un fichier CLAUDE.md à la racine du projet
  2. Vérifié que Claude suit vos instructions documentées
  3. Une compréhension de comment CLAUDE.md améliore les réponses de Claude

Prochaines Étapes

Après avoir complété ce lab, passez au Lab 1.5 : Relier les Points.

TIP

Le Module 1.4 (Skills) est optionnel et peut être couvert séparément.

Claude for Coders Training Course