đ Windsurf â Guide complet du dĂ©veloppement agentique
Guide IDEO-Lab trÚs détaillé pour comprendre, installer, piloter et industrialiser Windsurf : Cascade, Rules, Memories, AGENTS.md, MCP, terminal agentique, previews, Devin, Spaces, sécurité, gouvernance et méthode de travail par patchs contrÎlés.
Positionnement Windsurf
Comprendre Windsurf comme IDE agentique : flow state, Cascade, Tab, contexte et collaboration humain/IA.
Agentic IDECascadeFlowInstallation & onboarding
Installer, importer les réglages VS Code/Cursor, préparer le workspace et éviter les mauvais départs.
SetupVS CodeWorkspaceInterface & surfaces IA
Cartographier les zones utiles : Cascade, éditeur, terminal, problems, previews, command palette.
EditorTerminalPreviewsCascade en profondeur
Le cĆur agentique de Windsurf : chat/code modes, tool calling, checkpoints, linter, awareness.
CascadeToolsCheckpointCode Mode vs Chat Mode
Savoir quand demander une analyse, quand demander un patch, et quand bloquer toute écriture.
Code ModeChat ModeReviewTab, Command & Codelenses
Autocomplete, inline command, terminal command, refactor local et interactions rapides sans casser le flux.
TabCommandRefactorContext Awareness & @mentions
Donner Ă Cascade le bon contexte : fichiers, dossiers, terminal, stack traces, symboles, erreurs.
Context@mentionStacktraceRules, Memories & AGENTS.md
Industrialiser la mémoire projet : rÚgles globales, workspace, AGENTS.md, activation et gouvernance.
RulesMemoriesAGENTS.mdWorkflows & routines
Transformer les trajectoires répétitives en workflows robustes : bugfix, tests, documentation, release.
WorkflowRunbookAutomationMCP & outils externes
Connecter Cascade Ă GitHub, Jira, Figma, bases, APIs et outils internes sans ouvrir une faille.
MCPToolsIntegrationsTerminal agentique
ContrÎler les commandes : auto-exécution, allowlist, denylist, dedicated terminal, sécurité.
TerminalAuto-runSafetyCheckpoints, linter & qualité
Utiliser les checkpoints, corriger les erreurs de linter, préserver un diff lisible et testable.
LinterTestsDiffPreviews, App Deploys & UI
Boucle frontend rapide : preview dans lâIDE, erreurs visuelles, corrections ciblĂ©es, dĂ©ploiement contrĂŽlĂ©.
PreviewUIDeployDevin, Spaces & Command Center
Comprendre la couche cloud agentique : déléguer, suivre, organiser les tùches et garder le contrÎle.
DevinSpacesCloud AgentMéthode Patch contrÎlé
Méthode senior : diagnostic, plan, patch court, test, diff review, rollback, documentation.
PatchPlanRollbackWindsurf pour Django/Python
Workflow concret pour projets Django : migrations, crons, admin, tests, logs, sécurité et production.
DjangoPythonProductionSécurité & gouvernance
Données sensibles, secrets, commandes dangereuses, MCP, policies, usage équipe et audit.
SecurityPrivacyEnterpriseComparaison & adoption
Positionner Windsurf face à Cursor, Copilot, Claude Code, Codex et définir une adoption réaliste.
CursorCopilotCodexPlaybook quotidien
Routine opérationnelle pour utiliser Windsurf sans tomber dans le vibe coding incontrÎlé.
DailyPRReviewSources & veille
Documentation officielle, pages Ă suivre, changelog, checklist mensuelle de veille.
DocsChangelogWatchWindsurf dans la famille des IDE agentiques
Windsurf est un IDE orientĂ© dĂ©veloppement agentique. Son objectif nâest pas seulement de complĂ©ter du code, mais de maintenir le dĂ©veloppeur dans un flux continu : comprendre le projet, dialoguer avec Cascade, Ă©diter plusieurs fichiers, exploiter le terminal, corriger les erreurs et garder le contexte de la tĂąche.
La promesse principale tient dans lâidĂ©e de flow state : rĂ©duire les ruptures entre lecture, dĂ©cision, Ă©criture, test et correction. Le dĂ©veloppeur nâest plus en train de copier-coller entre un chat et un Ă©diteur ; il pilote un assistant qui voit le code, les fichiers, les erreurs et parfois les outils externes.
Carte mentale
Developer -> objective -> Cascade context -> plan or diagnosis -> targeted edits -> terminal checks -> linter feedback -> checkpoint or rollback -> human diff review -> commit and pull request
Ne pas confondre Windsurf avec du vibe coding
| Confusion | Réalité professionnelle | Conséquence |
|---|---|---|
| âLâIA code Ă ma placeâ | LâIA propose et exĂ©cute des tĂąches sous contraintes. | Lâhumain reste responsable du design et du rĂ©sultat. |
| âUn prompt suffitâ | Il faut un contexte fiable, des rules et des tests. | Sans doctrine projet, lâagent improvise. |
| âUn gros patch va plus viteâ | Un gros diff est souvent impossible Ă reviewer correctement. | PrĂ©fĂ©rer des patchs courts et validables. |
| âLe terminal auto-run est magiqueâ | Les commandes doivent ĂȘtre classĂ©es par risque. | Allowlist, denylist et validation humaine. |
OĂč Windsurf apporte le plus
Bugfix guidé
Coller une stack trace, mentionner les fichiers, demander diagnostic, test minimal, correction ciblée.
Refactor progressif
Découper une dette technique en petites étapes reviewables, avec checkpoints et tests.
Frontend rapide
Prévisualiser, cibler un composant, corriger CSS/HTML/JS sans casser le reste.
Onboarding codebase
Demander une carte des modules, points dâentrĂ©e, dĂ©pendances et conventions.
Tests
GĂ©nĂ©rer tests de non-rĂ©gression et scĂ©narios limites Ă partir dâun bug rĂ©el.
Documentation vivante
Transformer lâanalyse du code en notes de runbook, README, AGENTS.md ou checklist.
Architecture logique de travail
La qualitĂ© du rĂ©sultat dĂ©pend moins du modĂšle seul que de la qualitĂ© du contexte, de la taille de la tĂąche, de la capacitĂ© de lâagent Ă lire les bons fichiers, et de la discipline du dĂ©veloppeur au moment de valider.
PrĂ©parer lâinstallation
Windsurf est distribuĂ© pour Mac, Windows et Linux. Avant de lâinstaller sur un poste de travail sĂ©rieux, il faut prĂ©parer le terrain : dĂ©pĂŽt propre, Git fonctionnel, runtime projet installĂ©, tests lançables et stratĂ©gie de secrets claire.
- Vérifier Git, SSH keys et accÚs au dépÎt.
- Installer le runtime principal : Python, Node, Java, Docker, selon projet.
- Vérifier que les tests passent avant usage agentique.
- Créer une branche dédiée aux essais Windsurf.
- Importer éventuellement les réglages VS Code/Cursor, mais nettoyer les extensions inutiles.
Checklist initiale
Before first agent run: - git status is clean - dependencies are installed - tests can run locally - linter can run locally - secrets are not exposed - .env is ignored - sample config exists - workspace rules are explicit - destructive commands are blocked
Importer sans transporter le chaos
Importer les settings dâun Ă©diteur existant est pratique, mais ce nâest pas une raison pour rĂ©cupĂ©rer des annĂ©es dâextensions obsolĂštes. Windsurf fonctionne mieux avec un environnement lisible.
| ĂlĂ©ment | Ă importer | Ă Ă©viter |
|---|---|---|
| Theme / font | Oui, confort utilisateur. | Configurations trop personnalisées non partagées. |
| Extensions langage | Oui : Python, JS, Docker, SQL. | Extensions abandonnées ou redondantes. |
| Formatters | Oui si standard équipe. | Deux formatters concurrents. |
| Snippets | Oui si propres. | Snippets qui contredisent les conventions. |
| Secrets | Jamais. | Tokens, clés, credentials. |
Ouvrir le premier dépÎt
Le premier rĂ©flexe ne doit pas ĂȘtre de demander Ă Cascade de modifier du code. Il faut lui demander de lire et cartographier.
Prompt: Map this repository before editing anything. Identify the main modules, entry points, test strategy, configuration files, database migration system, and risky areas. Do not modify files. Return a concise architecture map and a risk list.
Réglages de départ
| Réglage | Valeur prudente | Pourquoi |
|---|---|---|
| Auto-exĂ©cution terminal | DĂ©sactivĂ© ou allowlist only | Ăviter commandes destructives. |
| Rules workspace | Activées | Partager conventions projet. |
| Memories | Surveillées | Corriger mémoires fausses. |
| MCP | Minimal au début | Réduire surface de risque. |
| Branches Git | Une tĂąche = une branche | Diffs lisibles et rollback simple. |
Les surfaces importantes
Cascade
Assistant agentique principal. Analyse, dialogue, modifications, outils, contexte, terminal.
Editor
Ădition directe, sĂ©lection de code, inline command, codelenses, diagnostics.
Terminal
Commande naturelle, sélection vers Cascade, auto-exécution contrÎlée.
Problems / diagnostics
Erreurs de compilation, linter, types, tests et corrections ciblées.
Previews
Feedback UI rapide pour applications web, éléments sélectionnables et erreurs visibles.
Settings
ModĂšles, auto-run, MCP, customizations, rules, memories, policies.
Raccourcis conceptuels
Peu importe les raccourcis exacts selon OS : il faut surtout comprendre quelle surface appeler selon le problĂšme.
| Besoin | Surface | Instruction type |
|---|---|---|
| Comprendre un bug | Cascade | Analysis only, no edits. |
| Modifier une fonction | Inline Command | Refactor selected code only. |
| Créer un patch multi-fichiers | Cascade Code Mode | Plan then patch. |
| Comprendre une erreur terminal | Terminal selection to Cascade | Explain this stack trace. |
| Corriger UI | Preview + Cascade | Fix selected component. |
Ne pas tout faire avec le mĂȘme outil
La maturitĂ© consiste Ă choisir la plus petite surface suffisante. Un inline edit est souvent meilleur quâun agent complet pour une modification locale.
HygiĂšne de session
- Fermer les conversations obsolĂštes.
- Nommer clairement les branches.
- Ne pas mĂ©langer bugfix, refactor et feature dans une mĂȘme session.
- Créer un résumé de fin de session.
- Transformer les apprentissages utiles en Rules ou AGENTS.md.
End session summary: - changed files - decisions made - tests run - known risks - follow-up tasks - rules to update
Le centre de gravité de Windsurf
Cascade est lâassistant agentique de Windsurf. Il peut dialoguer avec le dĂ©veloppeur, comprendre du contexte projet, utiliser des outils, proposer ou appliquer des modifications, rĂ©agir aux erreurs, intĂ©grer certaines sorties de terminal et sâappuyer sur des rĂšgles.
Le bon usage consiste à lui donner une tùche bornée, des contraintes explicites, et une définition claire de ce qui est interdit.
Instruction de départ
You are working in an existing production repository. Do not rewrite large files. Do not change public APIs unless requested. Prefer small patches. Before editing, explain the files you need to inspect. After editing, list tests and risks.
Capacités clés
| Capacité | Usage | Risque |
|---|---|---|
| Chat | Analyse, explication, stratégie. | Réponse plausible sans preuve. |
| Code edits | Patchs sur un ou plusieurs fichiers. | Diff trop large. |
| Tool calling | Lire fichiers, contexte, outils connectés. | Permissions excessives. |
| Checkpoints | Revenir en arriĂšre. | Ne remplace pas Git. |
| Linter awareness | Corriger erreurs immédiatement. | Corriger le symptÎme plutÎt que la cause. |
Workflow recommandé
Prompts opérationnels
Prompt: diagnosis only Analyze this issue using the current repository context. Do not edit files. Identify likely root causes, files to inspect, and a minimal verification plan. Prompt: patch only Apply the smallest safe patch for the selected root cause. Do not refactor unrelated code. Do not format entire files. After editing, summarize exact changes and tests to run. Prompt: review Review your own diff as a senior maintainer. List behavior changes, migration risks, security risks, and any tests that are missing.
Choisir le bon mode
| Situation | Mode recommandé | Pourquoi |
|---|---|---|
| DĂ©couverte dâun codebase | Chat / analysis only | Pas de modification pendant la comprĂ©hension. |
| Bug localisé | Code Mode limité | Patch ciblé. |
| Refactor large | Plan + étapes | Limiter le risque. |
| Question architecture | Chat | Discussion avant action. |
| Correction de linter simple | Code Mode | Action rapide. |
Chat Mode : comprendre avant dâagir
Le Chat Mode est idĂ©al pour demander une lecture, un diagnostic, une explication de design ou une analyse de risque. Il faut lâutiliser lorsque la modification est encore prĂ©maturĂ©e.
Prompt: Explain how this module works. Do not propose code yet. Identify the data flow, public APIs, side effects, and places where a change could break compatibility.
Code Mode : modifier sous contrainte
Le Code Mode doit ĂȘtre utilisĂ© avec des bornes strictes : fichiers autorisĂ©s, taille du patch, comportement attendu, tests Ă lancer, interdits explicites.
Prompt: Edit only these files: - app/services/parser.py - tests/test_parser.py Goal: fix the reported edge case. Do not change public function names. Do not modify database models. Add one regression test. Return a concise diff summary.
Interdits à écrire dans le prompt
- Toujours nommer le périmÚtre.
- Toujours nommer les fichiers à ne pas toucher si nécessaire.
- Toujours demander un résumé des risques.
- Toujours regarder le diff avant commit.
Autocomplete agentique
Windsurf Tab correspond Ă la surface la plus rapide : complĂ©ter une ligne, une expression, un bloc ou poursuivre une intention locale. Ce nâest pas lâoutil adaptĂ© pour redessiner une architecture.
| Bon usage | Mauvais usage |
|---|---|
| Compléter un mapping simple. | Créer une migration complexe sans review. |
| Ăcrire un test rĂ©pĂ©titif. | Changer un protocole mĂ©tier. |
| Finir une fonction évidente. | Inventer une API publique. |
| Compléter une documentation technique. | Modifier des rÚgles de sécurité. |
Commande inline
La commande inline sert Ă transformer une sĂ©lection : simplifier, typer, extraire une fonction, ajouter une gestion dâerreur, documenter un bloc. Elle doit rester locale.
Inline instruction: Refactor the selected function for readability only. Keep the same signature, same behavior, and same exceptions. Do not edit any other function.
Commande naturelle dans le terminal
Windsurf permet de gĂ©nĂ©rer des commandes Ă partir dâinstructions naturelles. Le bĂ©nĂ©fice est rĂ©el pour des commandes longues, mais il faut contrĂŽler les effets.
| Type | Exemple acceptable | Validation |
|---|---|---|
| Lecture | list recent git commits | Faible risque. |
| Tests | run one pytest file | Faible risque. |
| Dépendances | install package | Validation humaine. |
| DB | run migrations | Validation stricte. |
| Destructif | remove directory | Interdit sauf décision explicite. |
Codelenses et actions contextuelles
Les actions contextuelles sont prĂ©cieuses pour comprendre ou refactorer un symbole sans quitter le fichier. Elles doivent ĂȘtre utilisĂ©es comme micro-outils.
Explain
Comprendre rapidement une fonction ou une classe.
Refactor
Modifier une sélection locale.
Generate test
Créer un test ciblé sur un comportement.
Le carburant de lâagent
Un agent de code est aussi bon que son contexte. Windsurf peut comprendre le codebase, mais il faut lâaider Ă viser juste : fichiers, dossiers, symboles, erreurs terminal, critĂšres dâacceptation.
Good context package: - exact error message - reproduction steps - expected behavior - actual behavior - relevant files - forbidden changes - test command - acceptance criteria
@mentionner précisément
| Objet mentionné | Usage | Exemple |
|---|---|---|
| Fichier | Limiter le contexte. | Analyze this service file. |
| Dossier | Comprendre un sous-systĂšme. | Map this app folder. |
| Fonction | Modifier localement. | Fix this parser function. |
| Terminal | Expliquer une erreur. | Explain this traceback. |
| Docs | Aligner avec conventions. | Follow this runbook. |
Limites de contexte
Les conversations longues finissent par perdre de la prĂ©cision. Le bon rĂ©flexe est de repartir sur une nouvelle session avec un rĂ©sumĂ© structurĂ© plutĂŽt que dâaccumuler des dizaines de tours.
Session handoff: Current goal: Decisions already made: Files changed: Tests passing: Open risks: Next smallest step: Do not revisit previous decisions unless tests fail.
Ce quâil ne faut pas donner
- Réduire le contexte à ce qui est nécessaire.
- Anonymiser les données métier sensibles.
- Fournir des exemples synthétiques.
- Favoriser les tests minimaux plutÎt que les données réelles.
Rules, Memories, Workflows, AGENTS.md
| MĂ©canisme | RĂŽle | Quand lâutiliser |
|---|---|---|
| Rules | Dire comment Cascade doit se comporter. | Conventions, interdits, style, commandes. |
| Memories | Conserver du contexte entre conversations. | Préférences et faits projet récurrents. |
| AGENTS.md | RÚgles versionnées localisées dans le repo. | Doctrine partageable par équipe. |
| Workflows | Automatiser des trajectoires répétitives. | Bugfix, tests, release, documentation. |
Structure recommandée
# Agent instructions ## Project This is a production Django application. Prefer small, reviewable patches. Do not rewrite large files. ## Code style Use explicit names. Avoid hidden side effects. Keep public APIs stable unless requested. ## Database Do not create indexes on large text fields. Do not generate migrations without explaining the model delta. ## Tests Add regression tests for bug fixes. Run targeted tests before broad tests. ## Safety Never edit secrets. Never run destructive commands without approval.
Activation des rĂšgles
Les rĂšgles doivent ĂȘtre assez courtes, spĂ©cifiques, et liĂ©es Ă des contextes dâactivation. Une rĂšgle trop gĂ©nĂ©rale devient du bruit ; une rĂšgle trop longue sera ignorĂ©e ou mal appliquĂ©e.
| Type | Usage | Exemple |
|---|---|---|
| Always-on | Principes globaux. | Small patches only. |
| Glob | RĂšgles par fichiers. | templates/**/*.html. |
| Manual | à invoquer quand nécessaire. | Migration safety rule. |
| Model decision | Laisser lâagent dĂ©cider. | Documentation style rule. |
Erreurs fréquentes
- Ăcrire un roman dans une rule.
- Mélanger style, sécurité, architecture et commandes dans un seul bloc.
- Mettre une rĂšgle contradictoire avec le README.
- Ne jamais nettoyer les Memories erronées.
- Oublier les rÚgles spécifiques aux migrations, crons, admin ou tests.
Un workflow est une trajectoire répétable
Les workflows servent Ă Ă©viter de réécrire sans cesse les mĂȘmes instructions. Ils standardisent les sĂ©quences : diagnostiquer, patcher, tester, documenter, ouvrir une PR.
Workflow bugfix
Bugfix workflow: 1. Read the error and reproduction steps. 2. Inspect only relevant files first. 3. Identify root cause candidates. 4. Ask for confirmation before editing if scope is unclear. 5. Add or update one regression test. 6. Apply smallest safe patch. 7. Run targeted tests. 8. Summarize behavior change and risks.
Workflow documentation
| Entrée | Action Cascade | Sortie |
|---|---|---|
| Module complexe | Cartographier responsabilités. | README technique. |
| Incident | Résumer cause et correction. | Postmortem court. |
| Nouvelle rĂšgle | Extraire convention durable. | AGENTS.md / Rule. |
| Commande répétée | Formaliser étapes. | Runbook. |
Workflow release
Release workflow: - inspect changed files - list migrations - list config changes - list dependency changes - run tests - run linter - generate release notes - identify rollback plan - identify manual checks after deploy
Pourquoi MCP change la donne
MCP permet à Cascade de dialoguer avec des outils et services externes via des serveurs spécialisés : GitHub, Jira, bases de données, Figma, APIs internes, documentation, observabilité, etc.
Intégrations utiles
| Intégration | Usage | Garde-fou |
|---|---|---|
| GitHub | Lire issues, PR, branches. | Limiter write access. |
| Jira | Lire ticket et critÚres. | Ne pas exposer données sensibles. |
| Figma | Comprendre design UI. | Limiter aux projets autorisés. |
| Database | Explorer schémas dev. | Read-only, jamais production en écriture. |
| Docs internes | Aligner avec conventions. | Sources versionnées. |
Principes de configuration
- Commencer par un seul MCP utile.
- Préférer les connecteurs officiels quand disponibles.
- Documenter chaque serveur dans le repo ou le runbook équipe.
- Ne jamais donner un accÚs production par défaut.
- CrĂ©er une allowlist dâoutils autorisĂ©s par environnement.
MCP governance: - owner - purpose - allowed repositories - allowed environments - read/write permissions - secret handling - audit logs - rollback procedure
Risques MCP
| Risque | Mesure |
|---|---|
| Prompt injection dans issue | Traiter tickets comme données non fiables. |
| Ăcriture non dĂ©sirĂ©e | Read-only par dĂ©faut. |
| Secrets dans config | Gestionnaire de secrets. |
| Outil trop puissant | Scopes minimaux. |
| Audit absent | Logs et revue périodique. |
Le terminal comme surface agentique
Windsurf intĂšgre le terminal dans la boucle : gĂ©nĂ©ration de commandes naturelles, sĂ©lection dâerreurs envoyĂ©e Ă Cascade, discussion autour des terminaux actifs et exĂ©cution contrĂŽlĂ©e de commandes.
Auto-exécution : choisir prudemment
| Niveau | Usage | Recommandation |
|---|---|---|
| Disabled | Toutes les commandes demandent validation. | Idéal au début. |
| Allowlist only | Seules les commandes approuvées passent. | TrÚs bon pour équipe. |
| Auto | Lâagent juge certaines commandes sĂ»res. | Ă rĂ©server aux dĂ©veloppeurs formĂ©s. |
| Turbo | Auto-exécution plus agressive. | Jamais sur projets sensibles sans politique. |
Listes recommandées
Allowlist prudente
git status python manage.py check python manage.py test app.tests.test_unit pytest tests/test_safe.py npm test -- --runInBand ruff check . python -m compileall app
Denylist typique
rm -rf DROP DATABASE TRUNCATE python manage.py flush docker system prune kubectl delete terraform destroy chmod -R 777 curl | bash
Terminal dédié
Les versions rĂ©centes de Windsurf ont introduit une approche de terminal dĂ©diĂ© pour fiabiliser les commandes agentiques, notamment lorsque les prompts shell personnalisĂ©s perturbent lâautomatisation. Cette idĂ©e est importante : lâenvironnement dâexĂ©cution agentique doit ĂȘtre prĂ©visible.
Terminal policy: - deterministic shell - known working directory - safe environment variables - no production credentials - clear approval rules - logs available for review
Checkpoints ne remplacent pas Git
Les checkpoints sont utiles pour revenir sur une action de Cascade, mais la vraie sécurité reste Git : branche dédiée, commits petits, diff review, tests et PR.
Corriger linter intelligemment
Windsurf peut corriger des erreurs de linter, mais il faut distinguer correction syntaxique et correction de design.
| Erreur | Auto-fix possible | Attention |
|---|---|---|
| Import inutilisé | Oui | Vérifier effet secondaire. |
| Formatage | Oui | Ne pas reformater tout le repo. |
| Type mismatch | Parfois | Comprendre contrat métier. |
| Security warning | Non aveugle | Review senior. |
| Migration conflict | Non aveugle | Analyse DB. |
Tests et vérification
Verification ladder: 1. static check 2. targeted unit test 3. related integration test 4. migration dry run 5. full suite if needed 6. manual smoke test 7. PR review
Le bon test est celui qui prouve que le bug est corrigé sans masquer une régression.
Diff review obligatoire
- Vérifier les fichiers modifiés.
- Refuser les changements de style massifs non demandés.
- Repérer imports, dépendances, migrations ou settings ajoutés.
- Comparer comportement attendu vs réel.
- Demander Ă Cascade une auto-review, mais faire sa propre review.
Review prompt: Review the current diff as a strict maintainer. List unrelated changes, behavior changes, missing tests, security risks, migration risks, and rollback notes.
Boucle visuelle rapide
Les previews dans lâIDE rapprochent le dĂ©veloppeur du rĂ©sultat final. Elles sont trĂšs utiles pour HTML, CSS, React, Django templates, formulaires, dashboards et pages marketing.
Prompts UI propres
Prompt: Fix the selected UI issue only. Do not redesign the page. Keep the existing layout, CSS variables, modal system, and responsive behavior. Explain the exact CSS selectors changed.
Déploiement contrÎlé
Un bouton de dĂ©ploiement nâautorise pas une absence de procĂ©dure. Lâagent peut aider Ă prĂ©parer, mais le dĂ©ploiement doit respecter branche, CI, review, rollback et environnement.
| Ătape | Responsable | ContrĂŽle |
|---|---|---|
| Build | CI ou local | Logs conservés. |
| Tests | Automatisé | Obligatoire. |
| Secrets | Humain / plateforme | Jamais dans prompt. |
| Deploy | Pipeline | Approval si prod. |
| Rollback | Runbook | Testé. |
PiĂšges frontend
- Corriger le visuel en cassant lâaccessibilitĂ©.
- CrĂ©er du CSS global qui fuit sur dâautres pages.
- Changer des classes utilisées par JavaScript.
- Supprimer des attributs data-* nécessaires aux modals.
- Modifier une structure Django template sans vérifier les blocks.
Déléguer sans disparaßtre
Les fonctionnalités récentes autour de Devin dans Windsurf introduisent une distinction importante : Cascade accompagne le développeur localement ; un agent cloud peut prendre en charge une tùche plus longue dans son propre environnement, avec suivi dans un centre de commande.
Agent Command Center
Un tableau de pilotage agentique permet de suivre plusieurs sessions : tùches locales Cascade, agents cloud, états, PRs, fichiers et contexte partagé.
| ĂlĂ©ment | Usage | Risque |
|---|---|---|
| Local Cascade session | Travail interactif court. | Conversation trop longue. |
| Cloud agent | TĂąche autonome plus longue. | Diff trop large. |
| PR | Validation formelle. | Review superficielle. |
| Task board | Vision dâensemble. | Trop de tĂąches parallĂšles. |
Spaces : contexte de tĂąche
Les Spaces servent Ă regrouper sessions, PRs, fichiers et contexte autour dâune tĂąche. Câest trĂšs utile pour ne pas perdre le fil quand plusieurs agents ou conversations sont actifs.
Space structure: - task objective - source issue - relevant files - active agent sessions - pull requests - decision log - test status - open risks
Quoi déléguer à Devin / agent cloud ?
| Bonne tĂąche | Mauvaise tĂąche |
|---|---|
| Ajouter tests sur module bien bornĂ©. | Refaire toute lâarchitecture. |
| Corriger bug reproductible. | Modifier modÚle métier critique sans spec. |
| Mettre Ă jour documentation. | Manipuler secrets ou prod. |
| Préparer PR de migration simple. | Exécuter migration prod. |
| Nettoyer dette mécanique. | Changer sécurité/auth sans review. |
La méthode qui évite le chaos
La méthode Patch contrÎlé consiste à refuser les gros changements indistincts. Chaque intervention doit avoir un diagnostic, un périmÚtre, un patch court, un test, une revue et un rollback.
Prompt standard de patch
Task: Implement the smallest safe patch for this issue. Constraints: - do not rewrite unrelated code - do not change public APIs unless requested - do not modify database schema unless requested - preserve existing style - add or update one targeted test Output: - files changed - behavior change - tests to run - risks - rollback notes
Quand arrĂȘter Cascade
| Signal | Action |
|---|---|
| Il modifie trop de fichiers. | Stop, réduire scope. |
| Il change architecture sans demande. | Rollback, demander plan. |
| Il ajoute dépendance inutile. | Refuser, demander alternative standard library. |
| Il casse tests existants. | Analyser cause, ne pas masquer test. |
| Il invente une API. | Revenir aux docs projet. |
Rendre le patch observable
- Logs précis mais non bavards.
- Compteurs si cron ou batch.
- Messages dâerreur exploitables.
- Tests ciblés avec noms explicites.
- Résumé final des fichiers et risques.
Patch report: Status: success or failed Files changed: Tests run: Behavior changed: Risks: Rollback: Next patch:
Windsurf dans un projet Django sérieux
Sur Django, lâagent doit respecter les frontiĂšres : models, migrations, services, views, admin, templates, management commands, tests. Le plus gros risque est de laisser lâagent toucher trop de couches Ă la fois.
Migrations : zone rouge
Migration prompt: Analyze the model delta first. Do not create a migration yet. List tables, columns, indexes, constraints, data migration needs, lock risks, and rollback strategy. Then propose the smallest migration plan.
| Cas | Action |
|---|---|
| Ajout champ nullable | Risque faible, test migration. |
| Index sur texte long | Refuser ou analyser moteur SQL. |
| Rename champ | Attention données et compat. |
| Data migration | Batch, idempotence, reprise. |
| Suppression colonne | Plan en plusieurs releases. |
Crons / management commands
Windsurf est trÚs utile pour générer des commandes Django robustes : options, dry-run, verbose, debug, counters, export, summary et logs.
Command requirements: - --dry-run - --limit - --verbose - --debug - structured counters - clear progress output - exception summary - idempotent behavior - safe transaction boundaries
Django admin et templates IDEO-Lab
Pour tes guides et dashboards, lâagent doit prĂ©server lâarchitecture : blocks Django, CSS local, classes kcard/ig-modal, data-open/data-close, boutons Copy/Print, responsive.
Template prompt: Keep the existing Django template architecture. Do not rename blocks. Do not break data-open or data-close attributes. Do not remove modal JavaScript. Use local CSS scoped to this page.
Tests recommandés
| Changement | Test minimal |
|---|---|
| Service métier | Unit test direct. |
| View | Client test status/template/context. |
| Admin | Permission and changelist test. |
| Cron | call_command with dry-run. |
| Migration | Migration test or DB smoke test. |
| Template JS | Manual smoke plus static check. |
Secrets : interdiction absolue
- Ne jamais coller API keys, mots de passe, tokens, clés privées.
- Ne jamais demander à Cascade de modifier un .env réel.
- Utiliser .env.example pour documenter.
- Masquer logs contenant credentials.
- Préférer des données synthétiques pour reproduire un bug.
Politique de commandes
| Famille | Politique | Exemples |
|---|---|---|
| Lecture | Autoriser | git status, ls, grep. |
| Tests | Autoriser ciblé | pytest file, manage.py check. |
| Dépendances | Approval | pip install, npm install. |
| DB locale | Approval strict | migrate, loaddata. |
| Production | Interdit par défaut | ssh prod, kubectl prod. |
| Destructif | Interdit | rm -rf, drop, destroy. |
Gouvernance MCP
- Scopes minimaux.
- Read-only par défaut.
- Liste des MCP approuvés.
- Logs dâaccĂšs.
- Rotation des credentials.
- ContrĂŽle par environnement.
- Revue mensuelle.
MCP approval record: Name: Owner: Purpose: Permissions: Data accessed: Risks: Review date: Rollback:
Déploiement équipe
| Niveau | Mesure |
|---|---|
| Individuel | Formation prompt, diff, sécurité. |
| Ăquipe | Rules partagĂ©es, AGENTS.md, PR policy. |
| Organisation | Allowed tools, audit, modÚle de coûts. |
| Sécurité | Review MCP, secrets scanning, SAST/SCA. |
| Qualité | CI obligatoire, métriques de régression. |
Métriques utiles
Deux philosophies proches, accents différents
| Axe | Windsurf | Cursor |
|---|---|---|
| Positionnement | Flow state, Cascade, IDE agentique intégré. | IDE agentique trÚs orienté Agent/Plan/Rules. |
| Surface centrale | Cascade + Tab + terminal + previews. | Agent, Chat, Tab, Composer selon version. |
| Contexte | Awareness, Memories, Rules, AGENTS.md. | Rules, indexing, context, agents. |
| Terminal | Auto-exec niveaux, allow/deny, dedicated terminal. | Agent terminal selon configuration. |
| Cloud agent | Devin intĂ©grĂ© dans lâexpĂ©rience rĂ©cente. | Cloud agents / background agents selon offre. |
Windsurf vs GitHub Copilot
Copilot est trĂšs fort dans lâĂ©cosystĂšme GitHub, PR, IDEs et assistant gĂ©nĂ©raliste. Windsurf est davantage pensĂ© comme un IDE complet centrĂ© sur une expĂ©rience agentique intĂ©grĂ©e.
- Copilot : adoption entreprise GitHub, PR, code review, intégration large.
- Windsurf : éditeur dédié, Cascade, flow local, previews, terminal intégré.
- Le choix dĂ©pend de lâĂ©cosystĂšme : GitHub-first ou IDE agentique dĂ©diĂ©.
IDE vs terminal / cloud agents
| Outil | Force | Usage idéal |
|---|---|---|
| Windsurf | IDE agentique intégré. | Développement quotidien interactif. |
| Claude Code | Terminal agentique, repo-level workflows. | DĂ©veloppeurs Ă lâaise CLI. |
| Codex | Agents cloud, tùches parallÚles, PR. | Délégation multi-tùches. |
| Copilot | GitHub integration. | Ăquipes GitHub/PR/enterprise. |
Comment choisir
Choose Windsurf when: - you want an AI-native IDE - you value integrated flow - you need strong local interaction - you want Cascade as main assistant - previews and terminal integration matter Avoid switching blindly when: - team tooling is already standardized - security policy is not ready - tests are weak - repo is not clean - developers will accept changes without review
Routine professionnelle
Daily routine: 1. Pull latest changes 2. Create a task branch 3. Read ticket and acceptance criteria 4. Ask Cascade for analysis only 5. Define the smallest patch 6. Apply one controlled edit 7. Run targeted checks 8. Review the diff manually 9. Commit with clear message 10. Update notes or rules if needed
Bugfix
Feature
| Ătape | RĂŽle Windsurf | RĂŽle humain |
|---|---|---|
| Spec | Clarifie critÚres. | Décide scope. |
| Plan | Propose fichiers et étapes. | Valide architecture. |
| Implémentation | Patchs successifs. | Review chaque diff. |
| Tests | GĂ©nĂšre et lance ciblĂ©. | Ăvalue pertinence. |
| PR | Résumé et risques. | Responsable merge. |
Refactor
Refactor protocol: - map current behavior - add characterization tests - refactor one unit - run tests - inspect diff - commit - repeat
Résumé de fin
End of session: - objective completed - files changed - tests run - decisions made - risks remaining - rollback path - rules to update - next step
Une bonne session Windsurf se termine par un Ă©tat transmissible. Câest essentiel si lâon veut industrialiser lâusage agentique en Ă©quipe.
Pages officielles Ă suivre
- Windsurf Docs - Getting Started : https://docs.windsurf.com/windsurf/getting-started
- Cascade Overview : https://docs.windsurf.com/windsurf/cascade/cascade
- Memories & Rules : https://docs.windsurf.com/windsurf/cascade/memories
- MCP : https://docs.windsurf.com/windsurf/cascade/mcp
- Terminal : https://docs.windsurf.com/windsurf/terminal
- Windsurf Editor : https://windsurf.com/editor
- Rules, Memories & Workflows University : https://windsurf.com/university/general-education/intro-rules-memories
- Changelog : https://windsurf.com/changelog
Fonctions Ă surveiller
| Sujet | Pourquoi |
|---|---|
| Cascade | Le moteur principal dâinteraction agentique. |
| Rules / Memories / AGENTS.md | Base de la gouvernance projet. |
| MCP | Connexion aux outils et risques de permission. |
| Terminal | Zone critique pour auto-exécution et sécurité. |
| Devin / Spaces | Délégation agentique cloud et gestion multi-tùches. |
| Context window | Qualité des longues sessions. |
Checklist de veille
Monthly Windsurf watch: - read latest changelog - review Cascade changes - review terminal auto-execution policy - review MCP permissions - update workspace rules - clean wrong memories - update AGENTS.md - review cloud agent usage - review security incidents - train team on new features
Résumé doctrine IDEO-Lab
Le vrai niveau senior nâest pas de produire du code plus vite. Câest de produire des changements plus vite sans dĂ©grader la maintenabilitĂ©, la sĂ©curitĂ©, ni la capacitĂ© de rollback.
