Guide complet de Cursor Composer : édition multi-fichiers et cas pratiques

Après trois mois avec Cursor, j’ai réalisé que je « gaspillais » l’outil.
Avant, pour modifier une fonctionnalité touchant 5 fichiers — composant, API, types, tests, config — je posais mes questions une par une dans Chat et copiais-collais le code. Souris qui saute d’un fichier à l’autre, doigts sur Cmd+C et Cmd+V en boucle. Épuisant.
Un jour, un collègue passe, regarde mon écran trois secondes et dit : « Pourquoi tu n’utilises pas Composer ? »
« Hein ? »
« Cmd+I, la fenêtre flottante : une phrase pour décrire le besoin, l’IA repère les fichiers à modifier et les change tous. »
J’étais sidéré.
Il m’a fait une démo : ouvrir Composer, @ quelques fichiers liés, saisir « modifier la logique de connexion pour supporter la vérification par e-mail », Entrée. L’IA réfléchit quelques secondes, modifie composant, API et types d’un coup. 10 minutes.
Moi, j’avais passé 1 heure.
Ce jour-là, j’ai compris : en trois mois, je n’avais utilisé que 20 % de Cursor. Comme conduire une Ferrari en première vitesse.
Qu’est-ce que Composer et pourquoi en avoir besoin
Composer vs Chat : la différence fondamentale
Une métaphore d’abord.
Chat, c’est un conseiller IA assis à côté de vous. Vous demandez « comment optimiser ce code ? », il conseille, vous modifiez.
Composer, c’est une équipe de chantier. Vous dites « remplace toutes les fenêtres de cet immeuble par des baies vitrées », elle s’exécute et vous dit « c’est fait, vérifiez ».
Conseiller vs équipe de chantier — voilà la différence.
| Dimension | Chat | Composer |
|---|---|---|
| Rôle | Conseiller IA (assistant Q&R) | Équipe de chantier IA (générateur de code) |
| Ouverture | Cmd/Ctrl + L | Cmd/Ctrl + I |
| Interface | Barre latérale | Fenêtre flottante |
| Portée | Fichier courant | Projet entier, multi-fichiers |
| Application | Copie manuelle ou Apply | Application automatique aux fichiers |
| Modèle recommandé | GPT-4o, DeepSeek | Claude 3.7 Sonnet |
| Tâches adaptées | Q&R, apprentissage, debug mono-fichier | Fonctions inter-fichiers, refactoring, modifications en lot |
| Historique | Sauvegardé dans la barre latérale | ⚠️ Non sauvegardé (perdu au refresh) |
| Consommation de tokens | Faible | Élevée |
Vous voyez « historique non sauvegardé » ? Mon plus gros piège — on y reviendra.
Les trois capacités clés de Composer
Capacité 1 : compréhension inter-fichiers
Chat ne voit que le fichier ouvert. Composer voit tout le projet.
Exemple : « ajouter la connexion utilisateur ». Chat demande « quel fichier modifier ? ». Composer répond : « je dois modifier ces 5 fichiers : Login.tsx, auth.ts, user.types.ts, api/auth.ts, App.tsx ».
Il sait où sont composants, types, API, routes — et les modifie.
Capacité 2 : modifications au niveau projet
Avec Chat, vous copiez-collez. Avec Composer, les changements s’appliquent directement — Accept ou Reject.
Chat = plan de rénovation. Composer = rénovation terminée, à votre validation.
Capacité 3 : raisonnement intelligent (mode Agent)
En mode Agent, Composer peut :
- Exécuter des commandes shell (
npm install,git status) - Rechercher dans tout le dépôt (tous les usages d’une fonction)
- Analyser les dépendances
- Créer ou supprimer des fichiers
Comme un chef de chantier qui décide et trouve ses outils — mais risque de « sur-rénover ». On verra comment contrôler.
3 scénarios où Composer est indispensable
Scénario 1 : nouvelle fonctionnalité (multi-fichiers)
Besoin : ajouter les commentaires.
Avec Chat :
- Demander quels fichiers modifier
- Lister 5 fichiers
- Ouvrir un par un
- « Écris le composant Comments »
- Copier-coller
- « Écris l’API commentaires »
- Copier-coller
- Répéter 5 fois
Épuisant.
Avec Composer :
- Cmd+I
- « Ajouter les commentaires : publier, supprimer, consulter »
- Entrée
- L’IA identifie et modifie tous les fichiers
- Revue diff, Accept
10 minutes.
Scénario 2 : refactoring
Besoin : migrer Redux vers Zustand.
Chat : quasi impossible — 20+ fichiers, risque d’oubli et d’erreurs.
Composer :
@src/store
@src/components
Migrer le store Redux vers Zustand :
1. Conserver la structure d'état
2. Conserver l'API
3. Supprimer la dépendance redux
Mode Agent : l’IA analyse, modifie, teste. 20 minutes.
Scénario 3 : modifications en lot
Besoin : gestion d’erreurs uniforme sur tous les appels API.
Chat : fichier par fichier, oublis fréquents.
Composer :
@src/api
Ajouter une gestion d'erreurs uniforme à tous les appels API :
- try-catch
- format d'erreur uniforme
- journalisation des erreurs
15 fichiers d’un coup.
Composer vs Chat : la règle de décision en 5 secondes
Vous hésitez : Cmd+L ou Cmd+I ?
Trois étapes, cinq secondes.
Flux de décision
Étape 1 : combien de fichiers ?
- 1 fichier → continuer
- 2 ou plus → Composer
Simple : multi-fichiers = Composer.
Étape 2 : question ou modification ?
- Question (apprendre, comprendre, déboguer) → Chat
- Modification (générer, refactorer) → Composer
Conseiller vs équipe de chantier.
Étape 3 : ampleur du changement ?
- Petit (quelques lignes) → Chat + Cmd+K
- Grand (module entier) → Composer
Renommer une variable ou ajouter un commentaire : Cmd+K suffit.
4 scénarios pour Chat
Scénario 1 : Q&R rapide
Vous : « Ce code a un bug ? »
Chat : « Oui, dépassement de tableau ligne 12 »
Pas de modification — Chat parfait.
Scénario 2 : apprentissage
Vous : « Explique le principe de cet algorithme »
Chat : « C'est du tri rapide, l'idée centrale est… »
Scénario 3 : debug mono-fichier
Vous : « Optimise cette fonction »
Chat : « Utilisez la mémoïsation pour mettre en cache… »
Vous modifiez vous-même.
Scénario 4 : revue de code
Vous : « Quels problèmes potentiels ici ? »
Chat : « Ligne 15 : null non géré ; ligne 28 : fuite mémoire… »
4 scénarios pour Composer
Scénario 1 : nouvelle fonctionnalité — multi-fichiers, déjà vu.
Scénario 2 : refactoring — restructuration large :
- Découper gros fichiers
- Fusionner petits fichiers
- Réorganiser les dossiers
- Uniformiser la nomenclature
Chat ne peut pas.
Scénario 3 : migration de dépendances — axios → fetch, moment.js → dayjs, styled-components → Tailwind CSS, Redux → Zustand. Des dizaines de fichiers.
Scénario 4 : modifications en lot — console.log → logger, var → const, classes → composants fonctionnels.
3 cas comparatifs
Cas 1 : modifier les appels API
Tâche : axios → fetch. 15 fichiers.
Chat : fichier par fichier, oublis. Composer : @src/api remplacer tous les axios par fetch, revue diff.
Verdict : Composer
Cas 2 : déboguer une fonction
Tâche : bug dans le calcul du total. 1 fichier.
Chat : réponse immédiate. Composer : trop lourd.
Verdict : Chat
Cas 3 : système de permissions
Tâche : RBAC. 10+ fichiers.
Chat : quasi impossible. Composer (Agent) : middleware, API, composants, contrôles d’accès automatiques.
Verdict : Composer (Agent)
La bonne façon d’utiliser Composer
Première configuration (3 étapes)
Après l’installation, configurez avant de vous lancer.
Étape 1 : choisir le modèle
Recommandé : Claude 3.7 Sonnet.
Pourquoi ?
- Fort raisonnement : relations multi-fichiers complexes
- Faible taux d’erreur
- Bonne compréhension multi-fichiers
N’utilisez pas o1 ou o1-mini — ils ne supportent pas Composer. Cursor basculera sur un autre modèle, résultats décevants.
Étape 2 : activer le mode Agent (optionnel)
Cursor Settings → Beta → Agent.
Composer peut alors :
- Exécuter des commandes shell (
npm install,git status) - Rechercher dans le dépôt (Cmd+Enter)
- Créer/supprimer des fichiers
- Analyser la structure du projet
Comme une boîte à outils — mais risque de « sur-travaux ».
Étape 3 : tarification
- Gratuit : Composer limité, quelques requêtes/jour
- Pro : 500 requêtes premium/mois — suffisant
- Business : illimité
Usage intensif : Pro recommandé. Personnellement ~300-400 requêtes/mois.
Lecture de l’interface
┌─────────────────────────────────┐
│ Composer [Normal] [Agent] │ ← changement de mode
├─────────────────────────────────┤
│ 📝 Zone de saisie (besoin) │
│ @ fichiers/dossiers/code │
├─────────────────────────────────┤
│ 💬 Historique de conversation │
│ 📄 Aperçu diff par fichier │
│ ✅ Accept ❌ Reject │
└─────────────────────────────────┘
Normal/Agent en haut à droite. L’aperçu diff montre chaque modification. Ne jamais Accept All directement.
Maîtriser les références @
@ est au cœur de Composer.
@Files : fichier précis
@src/components/Header.tsx
Rendre ce composant responsive
@Folders : dossier entier
@src/utils
Refactoriser cette lib utilitaire, découper par fonction
@Code : bloc de code
Sélectionnez du code, Cmd+I :
@[fonction sélectionnée]
Optimiser les performances de cette fonction
@Web : contenu web
@https://docs.react.dev/reference/react/useEffect
Refactoriser cet effect selon les bonnes pratiques officielles React
@Docs : documentation projet
@README.md
Implémenter cette fonctionnalité selon la documentation
@Codebase : recherche globale
Cmd+Enter :
Trouver tous les usages de localStorage et migrer vers IndexedDB
En mode Agent, recherche et modification globales.
Normal vs Agent
Mode Normal :
- Tâches explicites
- Modifie uniquement les fichiers indiqués
- Plus contrôlable
- Plus rapide
- Moins de tokens
Mode Agent :
- Tâches complexes nécessitant du raisonnement
- Recherche, commandes, création de fichiers autonomes
- Plus intelligent, modifications parfois excessives
- Plus lent
- Plus de tokens
Conseil : tâche simple → Normal. Refactoring complexe → Agent. Incertain → Normal d’abord.
Usage personnel : 80 % Normal, 20 % Agent.
5 règles d’or de l’édition multi-fichiers
J’ai beaucoup galéré — voici 5 règles qui évitent 90 % des problèmes.
Règle 1 : découper les tâches
❌ Mauvais :
« Refactoriser tout le projet en TypeScript, optimiser les perfs, ajouter des tests »
Composer ne sait pas par où commencer. Résultat chaotique, 2 h de rollback.
✅ Bon :
4 sessions :
Session 1 : « Convertir src/utils en TypeScript »
Session 2 : « Ajouter des tests unitaires à utils »
Session 3 : « Optimiser les perfs du composant Header »
Session 4 : « Refactoriser les appels API, gestion d'erreurs uniforme »
Chaque objectif petit, git commit à chaque fois.
Pourquoi découper ?
- Moins de dérive de l’IA
- Diff plus petit, revue plus facile
- Rollback ciblé
- Moins de tokens
Max 10 fichiers par session Composer. Au-delà, découper.
Règle 2 : délimiter la portée
Utilisez @ pour cibler.
@src/components/User
@src/types/user.ts
@src/api/user.ts
Migrer les API utilisateur de RESTful vers GraphQL
L’IA ne touche que ces 3 endroits.
Sans portée : « uniformiser les appels API » — l’IA modifie peut-être des bibliothèques tierces. Projet cassé.
Avantages : pas de modifications hors scope, contrôle, moins de surprises.
Premier réflexe : @ les fichiers concernés.
Règle 3 : revue fichier par fichier
Ne jamais Accept All.
Tentant : 20 fichiers, un clic, tout appliqué. Mais…
Cas réel :
« Remplacer tous les console.log par un logger personnalisé ». 30 fichiers. Accept All sans regarder.
Résultat :
- console.log supprimés dans node_modules
- Code de debug effacé
- Projet qui ne démarre plus
1 heure de rollback et réparation.
Flux correct :
1. Aperçu diff de chaque fichier
2. Vérification ligne par ligne
3. Accept individuel
4. Reject et reformuler si problème
Lent — 20 diffs à lire — mais 90 % d’accidents évités.
Mon rituel : Composer fini → café → revue tranquille.
Règle 4 : committer rapidement
Après chaque petite tâche :
git add .
git commit -m "feat: migrer l'API utilisateur vers GraphQL"
Pourquoi ?
Historique Composer non sauvegardé. Refresh = conversation perdue.
10 fichiers modifiés, pas de commit, page qui plante… vous ne savez plus où vous en êtes.
Avec commit à chaque étape :
- Rollback facile (
git reset --hard HEAD) - Traçabilité (
git log) - Code sauvegardé même si Composer est perdu
Mon rythme : Composer → revue → Accept → git commit. Réflexe.
Règle 5 : conserver le contexte
Composer ne sauvegarde pas l’historique. Refresh = « quelle refactorisation ? » de l’IA.
Solutions :
Solution 1 : captures d’écran des instructions importantes.
Solution 2 : planifier dans Chat, exécuter dans Composer
Chat :
Vous : « Migrer axios vers fetch, quels points surveiller ? »
IA : « Gestion d'erreurs, intercepteurs, types… »
Vous : « OK, plan de migration »
IA : « Étape 1… Étape 2… Étape 3… »
Puis exécution étape par étape dans Composer.
Solution 3 : README
## Journal de refactoring 2026-01-10
- Tâche : migrer axios vers fetch
- Instruction Composer : « Remplacer tous les appels axios par fetch natif, conserver la gestion d'erreurs »
- Fichiers : src/api/*.ts
- Résultat : 15 fichiers migrés
7 pièges courants et comment les éviter
Tous ceux que j’ai rencontrés — évitez-les.
Piège 1 : historique non sauvegardé
Refresh = conversation perdue. Crash Cursor, onglet fermé… tout disparaît.
✅ Captures d’écran
✅ Planifier dans Chat
✅ git commit message pour tracer l’intention
✅ Sessions courtes (max 10 fichiers)
Piège 2 : interruption de mise à jour
Composer bloque en cours de route. Réseau, service IA, ou autre.
Résultat : fichiers partiellement modifiés, projet à moitié refactoré.
✅ git commit avant
✅ Réseau stable (VPN instable déconseillé)
✅ Tâches petites
✅ git diff pour voir les changements réels
Deux interruptions vécues : sans commit, 2 h de réparation ; avec commit, git reset instantané.
Piège 3 : changement automatique de modèle
o1 ne supporte pas Composer. Cursor bascule silencieusement. Vous croyez utiliser o1, c’est GPT-4o.
✅ Claude 3.7 Sonnet fixe
✅ Vérifier le nom du modèle en haut à droite
✅ Modèle par défaut dans Settings
Piège 4 : perte de contexte
Session 1 : « Migrer l'API utilisateur vers GraphQL »
Session 2 : « Continue, migrer aussi l'API commentaires »
L’IA : « Quelle API utilisateur ? »
✅ @ les fichiers à chaque session
✅ « Sur la base de la modification précédente, continuer… »
✅ Nouvelle session avec contexte complet si nécessaire
Chaque session = première session, contexte explicite.
Piège 5 : échec de recherche de fichiers
Cmd+Enter, « @Codebase trouver tous les axios ». L’IA : « rien trouvé ». Pourtant 15 fichiers.
✅ @Files explicites
✅ Vérifier .cursorrules et .gitignore
✅ Découper par module sur gros projets
@Codebase peu fiable sur grands projets — je préfère @Files.
Piège 6 : mode Agent trop agressif
L’IA crée des fichiers inutiles, supprime du code important, dépasse la portée.
« Refactoriser le module utilisateur » → src/user supprimé et recréé.
✅ Normal d’abord pour tâches complexes
✅ Agent pour migrations explicites
✅ Revue diff, Reject si incohérent
Agent : puissant et dangereux. Usage : migrations de dépendances claires.
Piège 7 : espace disque insuffisant
Composer crée des fichiers temporaires. Disque plein = mise à jour échouée à mi-chemin.
✅ Nettoyer node_modules, dist
✅ 5 Go+ libres
✅ df -h pour vérifier
Piège discret — une fois rencontré, diagnostic long avant de trouver la cause.
Cas pratique : migration axios vers fetch API
Contexte :
- Projet : blog Next.js
- Tâche : remplacer axios par fetch natif
- 15 fichiers API
- Manuel : ~2 h ; Composer : ~20 min
Étape 1 : planifier dans Chat
Moi : Remplacer axios par fetch API dans le projet, quels points surveiller ?
Chat :
1. fetch ne rejette pas automatiquement les 4xx/5xx — vérifier response.ok
2. Gestion d'erreurs différente d'axios
3. Content-Type à définir manuellement
4. Intercepteurs via fonction personnalisée
Conseil : créer d'abord une fonction fetchWrapper.
Étape 2 : créer fetchWrapper
Cmd+I :
@src/utils
Créer fetchWrapper.ts, encapsulation type axios :
- JSON automatique
- Gestion d'erreurs uniforme
- Intercepteurs
- Compatible avec les appels axios existants
Composer crée fetchWrapper.ts. Vérification :
- ✅ Types complets
- ✅ Erreurs correctes
- ✅ API cohérente
Accept. git commit -m "feat: add fetchWrapper utility"
Étape 3 : migration par module
Pas 15 fichiers d’un coup. D’abord posts et comments :
@src/api/posts.ts
@src/api/comments.ts
@src/utils/fetchWrapper.ts
Migrer les appels API de posts et comments d'axios vers fetchWrapper, conserver signatures et gestion d'erreurs.
3 fichiers modifiés.
Étape 4 : revue diff
posts.ts :
import axios→import { fetchWrapper }✅axios.get()→fetchWrapper.get()✅- Erreurs inchangées ✅
- Signatures identiques ✅
Accept.
comments.ts : OK ✅ Accept.
fetchWrapper.ts : imports corrects ✅
Étape 5 : tests
npm run dev
Tests navigateur : liste d’articles, détail, commentaire, suppression — tout OK.
git commit -m "feat: migrate posts and comments API to fetch"
Étape 6 : autres modules
Répéter étapes 3-5 : users, auth, settings. Revue, test, commit à chaque module.
25 minutes pour les 15 fichiers.
Pièges rencontrés
Piège 1 : axios modifié dans node_modules
Sans @Files explicites. Solution : « modifier uniquement src, pas node_modules ».
Piège 2 : logique d’erreurs perdue
fetch ≠ axios. Solution : « conserver la gestion d’erreurs, vérifier response.ok manuellement ».
Piège 3 : types incomplets
Erreurs TypeScript. Solution : types via Chat, application avec Cmd+K sur fetchWrapper.ts.
Résultat final
✅ 15 fichiers migrés
✅ Toutes les API fonctionnelles
✅ 25 minutes (debug inclus)
✅ Revue de code : OK
✅ Taille réduite : axios ~30 Ko, fetch natif
Manuel : ~2 h. Composer : 25 min. Efficacité ×5.
Synthèse
- Planifier dans Chat pour les tâches complexes
- Exécution par étapes, git commit à chaque fois
- Portée explicite avec @
- Revue diff, pas Accept All
- Tester avant l’étape suivante
Valable pour toute tâche Composer.
Conclusion
Avec Composer, mon efficacité a au moins triplé.
Avant : bascule entre fichiers, copier-coller, erreurs, oublis. Épuisant.
Maintenant : une instruction, l’IA identifie et modifie tout. Revue diff, Accept. 10 minutes.
5 principes clés :
- Multi-fichiers → Composer — ne perdez pas de temps avec Chat
- Découper — max 10 fichiers par session
- Revue individuelle — pas Accept All
- Committer tôt — git commit à chaque étape
- Conserver le contexte — captures, Chat, README
Deux raccourcis :
- Cmd/Ctrl + L → Chat (questions)
- Cmd/Ctrl + I → Composer (modifications)
Règle en 5 secondes :
Combien de fichiers ?
→ 1 → question ou modification ?
→ question → Chat
→ modification → ampleur ?
→ petit → Chat + Cmd+K
→ grand → Composer
→ 2+ → Composer
N’ayez pas peur de Composer.
Au début, « trop intelligent, incontrôlable ». Après quelques essais avec ces règles : très contrôlable, très utile.
À faire maintenant :
- Ouvrir Cursor, Cmd+I
- Petite tâche d’essai (renommage en lot, style uniforme)
- Sauvegarder les 5 règles et 7 pièges de cet article
- Multi-fichiers = Composer en premier réflexe
Ne vous limitez pas à Chat.
Composer est le cœur de Cursor.
Essayez — vous verrez.
Flux complet d'édition multi-fichiers avec Composer
Processus complet d'édition multi-fichiers avec Composer : configuration, exécution, revue et commit
⏱️ Estimated time: 30 min
- 1
Step 1: Première configuration : choisir le modèle et activer le mode Agent
**Choisir le modèle** :
• Recommandé : Claude 3.7 Sonnet (fort raisonnement, faible taux d'erreur, bonne compréhension multi-fichiers)
• Éviter o1 ou o1-mini (ne supportent pas Composer)
• Définir le modèle par défaut dans Cursor Settings
**Activer le mode Agent** (optionnel) :
• Cursor Settings → Beta → Agent
• Capacités : exécuter des commandes shell, rechercher dans le code, créer/supprimer des fichiers, analyser la structure du projet
• Adapté aux refactorings complexes, mais consomme plus de tokens
**Tarification** :
• Gratuit : Composer limité, quelques requêtes par jour
• Pro : 500 requêtes premium/mois
• Business : illimité - 2
Step 2: Planification : discuter d'abord dans Chat
**Pourquoi commencer par Chat** :
• L'historique Chat est sauvegardé, pas celui de Composer
• Discutez le plan dans Chat, puis exécutez avec Composer
• Chat aide à identifier les points d'attention
**Exemple de planification** :
Vous : « Je veux remplacer axios par fetch API, quels points surveiller ? »
Chat : « Gestion d'erreurs, intercepteurs, définitions de types… créez d'abord une fonction fetchWrapper »
**Principes de découpage** :
• Max 10 fichiers par session Composer
• Découper par module (ex. posts et comments d'abord, puis users et auth)
• git commit immédiatement après chaque petite tâche - 3
Step 3: Ouvrir Composer et délimiter la portée avec @
**Ouvrir Composer** :
• Raccourci : Cmd/Ctrl + I
• Ou bouton Composer en haut à droite de l'éditeur
**Types de références @** :
• @Files : fichier précis (ex. @src/components/Header.tsx)
• @Folders : dossier entier (ex. @src/utils)
• @Code : sélectionner du code puis Cmd+I
• @Web : contenu web (ex. @https://docs.react.dev)
• @Docs : documentation projet (ex. @README.md)
• @Codebase : Cmd+Enter pour chercher tout le dépôt
**Exemple de portée explicite** :
@src/api/posts.ts
@src/api/comments.ts
@src/utils/fetchWrapper.ts
Migrer les appels API de posts et comments d'axios vers fetchWrapper, en conservant les signatures et la gestion d'erreurs. - 4
Step 4: Revoir chaque diff (étape clé)
**Pourquoi ne pas Accept All** :
• Risque de modifier des bibliothèques tierces
• Suppression accidentelle de code de debug
• Introduction de logique erronée
**Flux de revue correct** :
1. Cliquer sur l'aperçu diff de chaque fichier
2. Vérifier ligne par ligne
3. Accept individuel si OK
4. Reject immédiat et reformuler si problème
**Points de contrôle** :
• Imports corrects
• Appels de fonctions corrects
• Logique d'erreurs préservée
• Types complets
• Pas de fichiers modifiés par surprise - 5
Step 5: Tester et committer rapidement
**Tests** :
• Lancer le serveur de dev : npm run dev
• Tester les fonctionnalités concernées
• Vérifier la console
• Lancer les tests unitaires si disponibles
**Convention de commit** :
• git commit après chaque petite tâche
• Message clair décrivant le changement
• Exemple : git commit -m "feat: migrate posts and comments API to fetch"
**Pourquoi committer tôt** :
• Historique Composer non sauvegardé — perdu au refresh
• Rollback facile (git reset --hard HEAD)
• Traçabilité (git log)
• Même si la conversation Composer disparaît, le code est sauvegardé
FAQ
Composer ou Chat : quand utiliser lequel ?
• 2 fichiers ou plus → Composer directement
• 1 fichier → question = Chat ; modification = selon l'ampleur (petit = Chat + Cmd+K, grand = Composer)
Différence clé :
• Chat = conseiller IA (conseils, vous codez)
• Composer = équipe de chantier IA (modifie et applique le code)
Scénarios :
• Q&R, apprentissage, revue de code → Chat
• Nouvelle fonctionnalité, refactoring, modifications en lot → Composer
L'historique Composer n'est pas sauvegardé — que faire ?
**Solution 1 : captures d'écran**
Avant une tâche complexe, capturez vos instructions Composer (photo téléphone OK) — utile si le réseau coupe en cours de route.
**Solution 2 : planifier dans Chat, exécuter dans Composer**
L'historique Chat est sauvegardé. Discutez le plan dans Chat, puis exécutez avec Composer. Le plan reste dans Chat même si Composer est perdu.
**Solution 3 : README de projet**
Maintenez une section « Journal de refactoring » : tâche, instruction Composer, fichiers concernés, résultat.
Pourquoi ne pas Accept All directement ?
J'ai demandé à Composer de « remplacer tous les console.log par un logger personnalisé », 30 fichiers modifiés, Accept All sans revue.
Résultat :
• console.log supprimés dans les bibliothèques tierces
• Code de debug effacé par erreur
• Projet qui ne démarre plus
Flux correct :
1. Aperçu diff de chaque fichier
2. Vérification ligne par ligne
3. Accept individuel
4. Reject et reformuler si problème
Oui, c'est lent — mais ça évite 90 % des accidents.
Composer bloque ou s'interrompt en cours de route — que faire ?
**git commit avant de commencer** (rollback direct si problème)
**Réseau stable** (Composer exige une bonne connexion — VPN instable déconseillé)
**Tâches petites** (moins de fichiers = mise à jour plus rapide, moins d'interruptions)
En cas d'interruption :
1. git diff pour voir les changements réels
2. Compléter manuellement les fichiers restants si partiellement modifiés
3. git reset --hard HEAD et recommencer si incomplet
Deux interruptions vécues : la première sans commit — 2 h de réparation manuelle ; la seconde avec commit — git reset en une seconde.
Quand utiliser le mode Agent ? Quels risques ?
• Migrations de dépendances complexes (Redux → Zustand)
• Refactorings avec création/suppression de fichiers
• Modifications en lot nécessitant une recherche globale
**Risques du mode Agent** :
• Création de fichiers inutiles
• Suppression de code important
• Modifications au-delà de vos attentes
**Conseils** :
• Essayer d'abord le mode Normal pour les tâches simples
• Agent uniquement pour des refactorings explicites (migration de dépendances)
• Revue diff fichier par fichier, Reject si incohérent
• Usage personnel : 80 % Normal, 20 % Agent
Comment éviter que Composer modifie les bibliothèques tierces ?
Mauvais exemple :
« Remplacer tous les axios par fetch » (sans portée — risque node_modules)
Bon exemple :
@src/api
Remplacer tous les appels axios par fetch dans src/api, ne pas modifier node_modules
**Vérifier .cursorrules et .gitignore** :
S'assurer que node_modules, dist, etc. sont exclus
**Revue diff** :
Si node_modules est modifié, Reject immédiat et reformuler
Comment garantir la qualité du code après Composer ?
1. **Revue diff** : chaque fichier conforme aux attentes
2. **Serveur de dev** : npm run dev, tester les fonctionnalités
3. **Console** : pas d'erreurs ni d'avertissements
4. **Tests** : npm test si disponibles
5. **Code Review** : PR pour revue d'équipe si applicable
**Points de qualité** :
• Types complets (TypeScript)
• Gestion d'erreurs correcte
• Signatures de fonctions inchangées
• Pas de fichiers oubliés
• Pas d'effets de bord inattendus
12 min de lecture · Publié le: 10 janv. 2026 · Mis à jour le: 27 juil. 2026
Guide complet Cursor
Si vous arrivez depuis la recherche, le plus rapide est de passer à l’article précédent ou suivant de cette série.
Précédent
Mode Agent Cursor : guide complet pour laisser l'IA programmer à votre place
Comparez en profondeur les flux Chat et mode Agent, maîtrisez 3 techniques clés pour doubler votre efficacité et évitez 4 pièges courants — découvrez une véritable programmation pilotée par l'IA.
Partie 3 sur 25
Suivant
Guide complet Cursor Rules : faire générer du code conforme par l'IA (config pratique incluse)
Configurez Cursor Rules en 5 minutes pour que l'IA produise du code conforme à vos standards. Méthodes, exemples concrets et nouveautés 2026 — accessible aux débutants.
Partie 5 sur 25



Commentaires
Connectez-vous avec GitHub pour laisser un commentaire