Guide du Prompting pour les Développeurs
Prompts pour écrire du code
L''IA ne remplace pas le développeur — elle le rend plus rapide et plus efficace. Un bon prompt de génération de code peut vous faire gagner des heures de développement, à condition de savoir communiquer précisément ce que vous voulez. Voici les techniques qui font la différence entre un code générique inutilisable et un code propre, prêt pour la production.
Les principes d''un prompt de code efficace
La règle d''or : plus votre prompt est spécifique, meilleur sera le code généré. Voici les éléments à toujours inclure :
- Le langage et le framework : « en TypeScript avec Next.js 14 » — pas juste « en JavaScript »
- Les conventions du projet : « en utilisant des named exports, des interfaces plutôt que des types, et les import alias @/* »
- Le contexte technique : versions des dépendances, architecture existante, patterns utilisés
- Les cas limites : gestion d''erreurs, cas null/undefined, validation d''entrées
- Les contraintes de performance : « doit gérer 10K requêtes/seconde », « optimisé pour le bundle size »
Prompt template : Composant React
Crée un composant React en TypeScript pour [description fonctionnelle]. Stack : Next.js 14, Tailwind CSS 4, next-intl pour l''i18n. Le composant doit : 1) utiliser les Server Components par défaut (ajouter ''use client'' seulement si nécessaire), 2) typer toutes les props avec une interface exportée, 3) gérer les états de chargement et d''erreur, 4) être accessible (ARIA labels, navigation clavier), 5) être responsive (mobile-first). Ne pas utiliser de default export. Suivre les conventions du projet : import alias @/*, named exports.
Prompt template : API endpoint
Crée un endpoint API REST en [langage/framework] pour [fonctionnalité]. L''endpoint doit : 1) valider les entrées avec [Zod/Joi/autre], 2) gérer l''authentification via [méthode], 3) retourner des codes HTTP appropriés (200, 400, 401, 404, 500), 4) inclure une gestion d''erreurs exhaustive avec messages explicites, 5) loguer les erreurs avec le contexte nécessaire au debugging, 6) être documenté avec des commentaires JSDoc. Inclure les types TypeScript pour request et response.
Prompt template : Requête SQL / ORM
Écris une requête [SQL brut / Drizzle ORM / Prisma] pour [opération]. Tables impliquées : [schéma simplifié des tables]. Contraintes : 1) la requête doit être performante sur un dataset de [taille], 2) utiliser des index appropriés (suggère lesquels créer si nécessaire), 3) gérer les cas de données manquantes, 4) utiliser des transactions si l''opération implique plusieurs tables. Explique le plan d''exécution probable.
Générer du code à partir d''exemples (Few-Shot)
La technique du Few-Shot Prompting est particulièrement puissante pour la génération de code. Fournissez un ou deux exemples du style de code attendu, et l''IA reproduira le pattern fidèlement.
Voici un exemple de route API dans notre projet :
[coller un exemple existant]
En suivant exactement le même pattern (structure, gestion d''erreurs, nommage, types), crée une nouvelle route pour [fonctionnalité].
Debugging avec l''IA
Le debugging est peut-être le cas d''usage où l''IA brille le plus pour les développeurs. Elle peut analyser des stack traces, identifier des bugs subtils et proposer des correctifs en quelques secondes — des tâches qui prendraient des heures manuellement.
Prompt pour analyser une erreur
J''ai cette erreur dans mon application [langage/framework] :
[coller l''erreur complète avec stack trace]
Contexte : [décrire ce que le code est censé faire, quand l''erreur se produit].
Code concerné : [coller le code pertinent].
1) Explique la cause probable de cette erreur, 2) Propose un correctif avec le code modifié, 3) Explique pourquoi le correctif résout le problème, 4) Identifie d''éventuels problèmes similaires dans le code montré.
Prompt pour les bugs intermittents
J''ai un bug intermittent dans [contexte]. Il se manifeste par [symptômes] et se produit environ [fréquence]. Environnement : [prod/staging/dev], [infra]. Voici ce que j''ai déjà vérifié : [liste]. Voici les logs pertinents : [logs]. Propose une liste ordonnée d''hypothèses (de la plus probable à la moins probable) avec pour chacune : 1) pourquoi cette hypothèse, 2) comment la vérifier, 3) comment la corriger si confirmée.
Prompt pour les problèmes de performance
Mon application [type] a un problème de performance : [description : temps de réponse lent, utilisation mémoire élevée, etc.]. Voici le code suspect : [code]. Voici les métriques : [métriques si disponibles]. Analyse le code et identifie : 1) les goulots d''étranglement probables, 2) les optimisations recommandées par ordre d''impact, 3) les trade-offs de chaque optimisation, 4) comment mesurer l''amélioration.
Refactoring et code review
L''IA est un excellent partenaire de refactoring. Elle peut analyser du code legacy, identifier les code smells et proposer des améliorations tout en préservant le comportement fonctionnel.
Prompt pour un refactoring complet
Voici un module/composant/fonction que je souhaite refactorer :
[coller le code]
Contraintes : 1) le comportement fonctionnel doit rester identique, 2) améliorer la lisibilité et la maintenabilité, 3) suivre les principes SOLID, 4) extraire les constantes magiques, 5) améliorer le nommage des variables et fonctions, 6) ajouter les types TypeScript manquants. Fournis : le code refactoré complet, et un résumé des changements avec les justifications.
Prompt pour la code review
Tu es un développeur senior qui fait une code review exigeante mais bienveillante. Revois ce code :
[coller le code ou le diff]
Évalue selon ces critères : 1) Correctness — le code fait-il ce qu''il est censé faire ? 2) Sécurité — y a-t-il des vulnérabilités (injection, XSS, etc.) ? 3) Performance — y a-t-il des problèmes de perf potentiels ? 4) Maintenabilité — le code est-il lisible et bien structuré ? 5) Tests — les cas limites sont-ils couverts ? Pour chaque problème trouvé, indique la sévérité (critique/majeur/mineur/suggestion) et propose un correctif.
Migration de code legacy
Voici du code [ancien framework/pattern] que je dois migrer vers [nouveau framework/pattern] :
[coller le code]
Règles de migration : [règles spécifiques]. Fournis : 1) le code migré complet, 2) un mapping des changements (ancien → nouveau), 3) les points d''attention et les risques de régression, 4) les tests à ajouter pour valider la migration.
Tests automatisés
Écrire des tests est souvent la partie la moins appréciée du développement, mais c''est aussi là où l''IA peut apporter une valeur considérable. Un bon prompt de tests produit une suite complète qui couvre les cas nominaux, les cas limites et les cas d''erreur.
Prompt pour des tests unitaires
Écris des tests unitaires complets pour cette fonction/ce module :
[coller le code]
Stack de test : [Vitest/Jest/Pytest/autre]. Couvre : 1) tous les cas nominaux (happy path), 2) les cas limites (entrées vides, null, undefined, très grands nombres, chaînes spéciales), 3) les cas d''erreur (entrées invalides, erreurs réseau, timeouts), 4) les cas de concurrence si applicable. Utilise des noms de tests descriptifs en français qui expliquent le comportement attendu. Organise les tests avec describe/it de manière logique. Mock les dépendances externes.
Prompt pour des tests d''intégration
Écris des tests d''intégration pour [endpoint API / workflow utilisateur / pipeline de données]. Environnement de test : [description]. Le test doit : 1) préparer un état de base de données de test (seed), 2) exécuter l''action à tester, 3) vérifier les effets de bord (BDD, files, queues), 4) nettoyer après exécution. Couvrir les scénarios : [liste des scénarios]. Gérer les timeouts et la fiabilité (pas de flaky tests).
Prompt pour des tests E2E
Écris un test E2E avec [Playwright/Cypress] pour le parcours utilisateur suivant : [description du parcours étape par étape]. Le test doit : 1) utiliser des sélecteurs robustes (data-testid de préférence), 2) attendre explicitement les éléments (pas de sleep), 3) vérifier chaque étape du parcours, 4) prendre des screenshots aux étapes clés, 5) gérer les cas d''échec gracieusement. Inclure un test pour la version mobile.
Architecture et documentation
L''IA peut vous aider à prendre des décisions architecturales éclairées et à produire une documentation technique de qualité — deux activités qui sont souvent négligées faute de temps.
Prompt pour le design d''architecture
Je dois concevoir l''architecture pour [fonctionnalité/système]. Contraintes : 1) Stack technique : [stack], 2) Charge prévue : [métriques], 3) Budget infra : [budget], 4) Équipe : [taille et seniority], 5) Délai : [timeline]. Propose 2-3 approches architecturales avec pour chacune : avantages, inconvénients, complexité d''implémentation, coût estimé, scalabilité. Recommande ton choix préféré avec justification. Inclure un diagramme en ASCII ou Mermaid.
Prompt pour la documentation technique
Voici le code source de [module/API/composant] :
[coller le code]
Génère une documentation technique complète incluant : 1) description et objectif du module, 2) diagramme des dépendances, 3) documentation de chaque fonction/méthode publique (paramètres, retour, exceptions, exemples), 4) guide d''utilisation avec exemples concrets, 5) notes de migration si applicable, 6) limitations connues et points d''attention.
ADR (Architecture Decision Record)
Rédige un ADR (Architecture Decision Record) pour la décision suivante : [description de la décision]. Contexte : [pourquoi cette décision doit être prise]. Alternatives considérées : [liste]. Format standard : Titre, Statut, Contexte, Décision, Conséquences (positives et négatives), Alternatives rejetées avec justification.
Bonnes pratiques développeur x IA
Après des mois d''utilisation intensive de l''IA dans des workflows de développement en production, voici les bonnes pratiques qui émergent de l''expérience collective de milliers de développeurs.
Ce que l''IA fait bien
- Boilerplate et code répétitif : CRUD, migrations, configurations, types
- Traduction entre langages/frameworks : Python → TypeScript, REST → GraphQL
- Compréhension et explication de code : code legacy, algorithmes complexes, libraries inconnues
- Génération de tests : à partir du code existant, elle identifie les cas à tester
- Documentation : JSDoc, README, ADR, commentaires de code
- Debugging : analyse de stack traces, identification de patterns d''erreurs
- Regex et queries complexes : SQL, regex, expressions CRON, sélecteurs CSS
Ce que l''IA fait mal (ou dangereux)
- Architecture système de grande envergure : elle manque de vision holistique de votre codebase
- Code critique pour la sécurité : authentification, cryptographie, gestion des secrets — toujours faire reviewer par un expert
- Optimisation de performance avancée : elle peut identifier des problèmes évidents, mais les optimisations subtiles nécessitent du profiling réel
- Décisions business : quelle feature construire, quelle dette technique rembourser — ça reste votre job
Le workflow idéal développeur + IA
Planification
utilisez l''IA pour explorer les approches et écrire les specs
Implémentation
générez le squelette, puis affinez manuellement les parties critiques
Tests
laissez l''IA générer la suite de tests, puis ajoutez les cas edge manuellement
Review
utilisez l''IA comme premier reviewer, puis soumettez à la review humaine
Documentation
générez le draft avec l''IA, puis validez et enrichissez avec votre expertise
Règles de sécurité à suivre impérativement
- Ne jamais coller de secrets (API keys, tokens, mots de passe) dans un prompt
- Toujours vérifier le code généré avant de le merger — l''IA peut introduire des vulnérabilités subtiles
- Ne pas faire confiance aux dépendances suggérées : vérifiez qu''elles existent, sont maintenues et n''ont pas de CVE connues
- Attention aux hallucinations d''API : l''IA peut inventer des méthodes ou des paramètres qui n''existent pas
Pour aller plus loin, explorez notre bibliothèque de prompts pour développeurs et pratiquez avec nos exercices de prompting technique. Découvrez aussi comment les agents IA peuvent automatiser vos workflows de développement.
Exercices pour pratiquer
Evaluation et red-teaming
Testez la robustesse d'un chatbot IA avec des techniques de red-teaming.
Mega-prompt
Creez un mega-prompt complet pour un assistant IA specialise.
Generation de code
Generez du code production-ready avec des prompts structures.
Continuez votre apprentissage
Vous avez terminé ce guide. Voici comment aller plus loin.
Pratiquez ce que vous avez appris
Exercices interactifs pour ancrer vos competences en prompting
Recevez de nouveaux guides chaque semaine
Rejoignez notre newsletter et ne manquez aucun contenu.