Skip to content

Bonnes pratiques : des recommandations concrètes pour votre quotidien

📚 Navigation de la série : Le chapitre précédent 〔35 Aide-mémoire des commandes et configurations〕 regroupait les options du CLI, les options de session et de configuration. Ce chapitre s'intéresse à la méthodologie : comment combiner au mieux ces outils pour optimiser votre flux de travail. Le chapitre suivant 〔37 FAQ〕 traitera du diagnostic et de la résolution des erreurs courantes.

Commençons par un constat d'utilisation. Lors de mes débuts avec Codex, j'ai parcouru la page officielle des bonnes pratiques sans pour autant faire évoluer ma méthode de travail.

Le problème réside dans le fait que la plupart des recommandations restent théoriques : « rédiger des requêtes claires », « exécuter des tests » ou « travailler par étapes ». Ces conseils n'indiquent pas le niveau de détail requis, la nature des tests à exécuter ni l'échelle des étapes. C'est pourquoi nous avons tendance à conserver nos habitudes.

Ce chapitre évite les généralités. Après analyse des recommandations officielles, nous avons sélectionné les pratiques qui ont concrètement fait évoluer notre productivité, validées par l'expérience. Pour chaque recommandation, nous détaillons sa justification, sa mise en œuvre pratique et les erreurs associées.

La majorité de ces règles découlent de corrections d'erreurs d'utilisation passées.

Ce que vous obtiendrez après avoir lu ce chapitre :

  • Une méthodologie pour considérer Codex comme un partenaire de développement permanent plutôt que comme un outil ponctuel.
  • La structure et le dimensionnement d'un fichier AGENTS.md (guide de projet) efficace.
  • La structure de requête en quatre points : Objectif + Contexte + Contraintes + Validation.
  • Une politique de gestion des permissions adaptée selon les projets.
  • L'importance d'utiliser le mode planification pour les tâches complexes.
  • Des méthodes pour automatiser la validation et la revue de code par Codex.
  • Une méthodologie d'analyse et de correction des bugs de production avec traçabilité et anonymisation.
  • Un tableau comparatif « Erreurs courantes vs Bonnes pratiques » pour corriger vos habitudes de travail.

⚠️ Les commandes, options et clés de configuration se réfèrent à la documentation officielle de Codex. Les noms de modèles, abonnements et configurations locales pouvant évoluer, fiez-vous aux commandes codex --help, /model et au fichier de configuration ~/.codex/config.toml de votre poste.


01 Modifier son approche : Codex est un partenaire à guider, pas un script ponctuel

Le principe clé : l'efficacité de Codex dépend principalement de la manière dont vous l'intégrez à votre flux de travail.

Considérer Codex comme un simple moteur de recherche textuel (poser une question, copier la réponse et fermer la session) limite son potentiel à une fraction de ses capacités réelles.

Analogie : Codex est un développeur qualifié rejoignant votre équipe, mais ignorant tout des spécificités de votre projet. Vous ne pouvez pas attendre de lui qu'il soit opérationnel dès le premier jour sans lui fournir un guide d'accueil (AGENTS.md), lui expliquer comment compiler et tester le code, et corriger ses premières erreurs pour qu'il s'adapte à vos normes. Plus vous le guidez, plus ses interventions sont précises. À l'inverse, faire appel à un prestataire différent à chaque tâche vous oblige à réexpliquer les mêmes consignes en boucle.

La documentation officielle souligne ce point : il est plus efficace de considérer Codex comme un partenaire de développement dont vous affinez la configuration et les consignes au fil du temps, plutôt que comme un assistant ponctuel. Les bonnes pratiques présentées ci-dessous découlent de ce principe : automatiser et pérenniser les règles récurrentes.

J'ai constaté ce changement au début de l'année 2026. Auparavant, j'écrivais à chaque nouvelle session des consignes comme « ce projet utilise pnpm et non npm », « lancer les tests avec pnpm test » ou « rédiger les commits en français ». Inscrire ces règles dans le fichier AGENTS.md a permis d'automatiser ce contexte, évitant des répétitions inutiles et exploitant l'outil de manière optimale.

💡 Résumé en une phrase : Considérer Codex comme un partenaire de développement à guider sur le long terme est la base d'une utilisation efficace.


02 Rédiger efficacement le fichier AGENTS.md : automatiser la transmission du contexte

Pourquoi appliquer cette règle. C'est la solution pour automatiser le contexte de travail. Le fichier AGENTS.md est une documentation lue automatiquement par Codex à chaque début de tâche, vous évitant de désigner manuellement les fichiers avec @. Les règles partagées au sein du projet y sont définies une fois pour toutes.

Analogie : Le guide de démarrage du projet. Une documentation classique s'adresse aux développeurs pour leur expliquer l'architecture du projet ; le fichier AGENTS.md s'adresse à Codex pour lui décrire les conventions de code, les répertoires protégés et les critères de validation des tâches.

Mise en œuvre. La documentation officielle suggère d'y structurer les sections suivantes :

  • L'architecture du projet et l'emplacement des répertoires clés.
  • La procédure pour exécuter le projet localement.
  • Les commandes de build, de test et de validation syntaxique (linter).
  • Les conventions de style de code et les exigences de Pull Request.
  • Les répertoires protégés et les modifications interdites.
  • Les critères de réception et les outils de validation des modifications.

Pour démarrer rapidement, utilisez la commande slash /init pour générer un modèle de fichier AGENTS.md à la racine de votre dossier de travail. Veillez à adapter ce modèle aux spécificités de votre projet.

Le fichier AGENTS.md gère l'héritage des règles : les règles globales se placent dans ~/.codex/, les règles d'équipe à la racine du projet, et les règles locales dans les sous-répertoires. La règle la plus proche du répertoire de travail s'applique en priorité.

Ce qu'il faut éviter. Évitez de surcharger ce fichier avec des consignes temporaires (ex. : « ne pas modifier la base de données pour cette tâche » ou « modifier uniquement ce fichier »). Ces consignes temporaires encombrent le contexte et génèrent des contradictions avec les futures tâches. Appliquez cette règle simple :

Les consignes temporaires se placent dans la requête de tâche ; seules les règles permanentes du projet se configurent dans le fichier AGENTS.md. Visez la concision et la précision.

Une recommandation pratique : si Codex commet la même erreur de style de code à deux reprises, demandez-lui d'analyser la cause et d'ajouter la règle corrective dans AGENTS.md. Ainsi, votre guide de projet s'enrichit de l'expérience réelle du développement.

💡 Résumé en une phrase : Centralisez les conventions permanentes du projet dans le fichier AGENTS.md en visant la concision et la pertinence.


03 Structurer ses requêtes : appliquer la méthode des quatre points

Pourquoi appliquer cette règle. La précision de vos requêtes limite les suppositions du modèle et réduit le taux de correction de code. Codex résout la plupart des requêtes simples sans effort, mais pour les développements importants ou sensibles, une requête floue augmente le risque d'erreur d'interprétation.

La structure recommandée pour rédiger une requête efficace comporte quatre points :

ComposantRôleConséquence de son omission
Objectif (Goal)La modification ou création attendue précisémentLe modèle s'égare et produit des modifications hors sujet
Contexte (Context)Les fichiers, logs ou exemples associés (utilisez @ pour cibler)Le modèle cherche les fichiers au hasard et encombre la mémoire
Contraintes (Constraints)Les règles d'architecture, de sécurité ou les limites de périmètreLe modèle applique ses propres conventions de code
Validation (Done when)Les critères de réussite de la tâcheLe modèle livre le code dès sa compilation, sans tests réels

Mise en œuvre. Il n'est pas nécessaire de rédiger un cahier des charges pour chaque ligne de code. Cependant, pour toute tâche significative ou sensible, formulez votre requête en validant ces quatre aspects : le but recherché, les fichiers concernés, les limites d'intervention et les critères de réussite.

Analogie : La commande de travaux. Vous ne demanderiez pas à un électricien de « refaire l'électricité de la cuisine » sans lui préciser l'emplacement des prises (l'objectif), le plan électrique existant (le contexte), l'interdiction de percer les murs porteurs (les contraintes) et la validation du fonctionnement des disjoncteurs (les critères d'acceptation). Plus la commande est précise, plus le résultat est conforme.

L'omission des critères de validation est l'erreur la plus fréquente. Par exemple, demander l'ajout d'une validation de formulaire sans préciser que les tests existants doivent rester verts peut conduire le modèle à casser le comportement des autres champs du formulaire. Définir le critère « Done when » sécurise le développement.

💡 Résumé en une phrase : Rédigez vos requêtes selon la structure en quatre points (Objectif, Contexte, Contraintes et Validation) pour guider précisément Codex.


04 Gérer la sécurité : appliquer le principe du moindre privilège

Pourquoi appliquer cette règle. Codex isole ses processus via une sandbox système configurable à l'aide de deux options : la politique d'approbation (approval mode) qui gère la fréquence des validations demandées, et le mode sandbox (sandbox mode) qui définit les droits d'écriture sur les fichiers et l'accès réseau. Ouvrir tous les accès par défaut équivaut à accorder des privilèges d'administration système complets sans supervision.

Analogie : La gestion des accès des prestataires. Un nouveau développeur se voit attribuer des droits d'accès limités à son projet local et aux tests associés. Ses privilèges ne sont étendus aux serveurs de production qu'après validation de ses compétences et si sa mission le justifie. On ne lui confie pas les clés d'administration globales dès son arrivée.

Mise en œuvre. Suivez ces recommandations de sécurité :

  • Conservez les configurations de sécurité restrictives par défaut lors de la prise en main de l'outil.
  • N'étendez les permissions que sur les projets de confiance ou pour des besoins précis, de manière ciblée.
Situation de travailConfiguration recommandéeJustification
Prise en main ou projet inconnuMode restrictif (confirmation avant exécution et sandbox stricte)Validation manuelle des actions de l'agent pour la sécurité
Dépôt de confiance, tâches répétitivesAllègement des confirmations manuellesFluidité de travail accrue sans perte d'isolation
Scripts externes non validésSécurité maximalePrévention des exécutions de commandes malveillantes

Évitez d'utiliser le mode de sandbox danger-full-access comme option par défaut dans votre fichier de configuration global. Une consigne ambiguë (comme « supprimer les fichiers temporaires ») exécutée sans garde-fou dans un dossier non suivi par Git peut entraîner des suppressions de fichiers personnels en dehors du répertoire du projet. Le mode workspace-write est suffisant pour le développement courant.

💡 Résumé en une phrase : Appliquez le principe du moindre privilège en démarrant avec une configuration de sécurité stricte, et n'ouvrez les accès que de manière ciblée.


05 Utiliser le mode planification pour les développements complexes

Pourquoi appliquer cette règle. Pour les tâches importantes ou peu définies, demander l'écriture immédiate de code conduit le modèle à faire des suppositions d'architecture en cours d'écriture, ce qui rend les erreurs difficiles à identifier et à corriger. Le mode planification permet de valider la stratégie de développement avant toute écriture de code.

Analogie : Valider le plan de construction avant de bâtir. Valider un schéma directeur (quelques lignes de texte) est plus rapide et économique que de devoir détruire une cloison mal positionnée (réécrire des modules entiers de code).

Mise en œuvre. Plusieurs méthodes sont disponibles :

  • Le mode Plan (Plan mode) : activez-le via la commande /plan ou le raccourci Shift+Tab dans le CLI. Codex commence par analyser le contexte, vous pose des questions de clarification et soumet sa stratégie avant toute modification.
  • La phase d'interview préalable : demandez explicitement au modèle d'analyser vos idées et de vous poser des questions pour affiner la stratégie de développement.
  • L'utilisation d'un document PLANS.md : pour les projets complexes, décrivez les étapes de développement au sein d'un fichier de planification conforme aux guides officiels de Codex.

La documentation officielle identifie l'absence de phase de planification pour les tâches complexes comme une erreur courante. C'est le cas lors de restructurations importantes de code (comme la migration de fonctions synchrones vers de l'asynchrone). Sans plan préalable validé, le modèle peut modifier des modules transverses de manière désordonnée, ce qui complique la revue de code et oblige souvent à annuler les modifications (git reset). Définir les fichiers concernés et les limites d'intervention via /plan sécurise le développement.

💡 Résumé en une phrase : Pour les développements importants ou les choix d'architecture, passez par le mode /plan pour valider la stratégie avant d'autoriser l'écriture du code.


06 Automatiser la validation : tests, typage et revue de code

Pourquoi appliquer cette règle. Ne vous contentez pas de laisser Codex écrire le code. Demandez-lui d'implémenter les tests associés, de lancer les commandes de validation et de réaliser une revue de code avant de vous livrer le travail. Cela évite les allers-retours de validation manuelle.

Pour que Codex puisse valider son code, il doit connaître les critères de conformité du projet. Ces critères doivent être décrits dans vos requêtes ou dans le fichier AGENTS.md (voir paragraphe 02).

Mise en œuvre. Demandez à Codex d'assurer le cycle de validation suivant :

  • Rédiger ou mettre à jour les tests unitaires associés à la modification.
  • Exécuter la suite de tests unitaires.
  • Lancer le linter, le formateur de code et les vérifications de types.
  • Vérifier que le comportement du programme répond précisément à la requête.
  • Analyser le diff de code pour identifier d'éventuels bugs ou régressions.

La commande slash /review est particulièrement utile : elle permet de réaliser une revue de code de type Pull Request par rapport à une branche de référence, de vérifier les modifications en cours ou d'appliquer des consignes personnalisées. Si votre projet intègre des règles de relecture dans un fichier code_review.md référencé par AGENTS.md, Codex s'y conformera lors de sa revue, assurant une cohérence de validation au sein de votre équipe.

Ce qu'il faut éviter. Modifier le code sans exécuter les tests associés est une erreur courante. Si vous demandez la modification d'une fonction sans imposer l'exécution des tests, le modèle peut livrer un code syntaxiquement correct mais générant des régressions sur les cas limites. Prenez l'habitude d'ajouter la consigne suivante dans vos requêtes : « Exécute <commande_de_test> après modification et valide la réussite de tous les tests avant de finaliser ». Cela évite d'avoir à corriger les anomalies après coup.

💡 Résumé en une phrase : Automatisez le cycle de validation en demandant à Codex de rédiger les tests, de les exécuter et de lancer une revue de code (/review) avant de livrer la tâche.


07 Diagnostic des incidents de production : de la collecte de preuves à la validation

Pourquoi appliquer cette règle. La correction des bugs de production requiert de la rigueur : identifier précisément les symptômes utilisateur, reproduire l'anomalie, analyser les logs associés, et valider la correction en conditions réelles.

Lors de la résolution d'incidents, demandez d'abord à Codex de collecter les preuves avant de proposer des modifications de code. Sans cela, le modèle risque de corriger le symptôme le plus évident sans valider la cause réelle de l'anomalie.

Mise en œuvre. Demandez une analyse préliminaire structurée à l'aide d'une requête type :

text
Ne modifie pas le code pour le moment. Réalise un diagnostic de cet incident de production selon ces étapes :

1. Décris le parcours utilisateur permettant de reproduire l'erreur (méthode, URL, statut de retour et données).
2. Analyse les logs d'application sur la plage horaire de l'incident et extrais les messages d'erreur associés.
3. Identifie les composants, configurations ou tables de base de données impliqués, sans modifier leur état.
4. Rédige ta conclusion sous la forme : « Faits validés / Hypothèses à confirmer / Actions recommandées ».
5. Anonymise toutes les données sensibles (tokens d'accès, adresses e-mail, identifiants de transactions, clés secrètes).
6. Explique quelles sont les preuves ou accès manquants si le diagnostic ne peut pas être finalisé.

Cette structure impose une démarche d'investigation rigoureuse. Les corrections proposées doivent s'appuyer sur les faits identifiés lors du diagnostic (ligne de log d'erreur, code de statut HTTP ou configuration défaillante).

Pour pérenniser ces pratiques, inscrivez ces consignes dans votre fichier AGENTS.md :

md
## Gestion des incidents de production

- Diagnostiquer l'anomalie avant toute modification de code (reproduction, logs, configurations impliquées).
- Ne pas modifier l'état des données de production (base de données, privilèges, abonnements) sans validation préalable.
- Anonymiser systématiquement les données sensibles (tokens, informations utilisateur, clés secrètes, adresses IP).
- Valider la correction finale en reproduisant le parcours utilisateur initial.
- Expliciter les limites de diagnostic (accès manquants, environnement de test incomplet) le cas échéant.

Ces consignes encadrent le comportement de Codex lors des phases critiques de support. La règle d'anonymisation évite la fuite de données personnelles ou de secrets d'infrastructure dans vos rapports ou commits Git.

Principes d'anonymisation des données. Remplacez les valeurs réelles par des identifiants génériques tout en conservant la structure des données pour l'analyse :

Donnée bruteReprésentation anonymisée
https://api.site.com/v1/auth?token=abc_123_keyhttps://api.site.com/v1/auth?token=<token_authentification>
admin@mon-entreprise.com<email_utilisateur>
order_id_20260709_9988<identifiant_commande>
Authorization: Bearer xyz...Authorization: Bearer <redacted>
2026-07-09T14:30:00Z error=500(Conserver l'horodatage et le code d'erreur utiles au diagnostic)

Conservez les éléments utiles au diagnostic (horodatage, codes d'erreur, structures d'URL) et masquez les données d'identification personnelles ou de sécurité pour éviter de les exposer dans votre dépôt de code.

Critères de validation. La validation de la correction d'un bug de production doit s'effectuer en reproduisant le parcours initial (requête HTTP de test, relecture des logs ou validation dans le navigateur). Si les limitations d'accès empêchent cette validation en conditions réelles, demandez au modèle d'expliciter les étapes de test restantes.

💡 Résumé en une phrase : Pour les incidents de production, imposez une phase de diagnostic basée sur les logs et les faits, anonymisez les données d'analyse et validez la correction finale sur le parcours utilisateur initial.


08 Organiser ses sessions : décharger le contexte vers des sous-agents

Pourquoi appliquer cette règle. Une session de travail accumule l'historique des échanges, ce qui augmente la taille de la fenêtre de contexte. Une session trop longue contenant des sujets variés ralentit le traitement et nuit à la précision des réponses. La gestion de vos sessions de travail influe sur la qualité du code produit.

Analogie : L'organisation du bureau de travail. Travailler sur plusieurs projets en même temps sur le même bureau crée de la confusion dans vos dossiers et ralentit vos décisions. Conserver un bureau ordonné dédié à la tâche en cours garantit une efficacité maximale. La session de Codex représente cet espace de travail.

Mise en œuvre (deux règles simples).

1. Une session par tâche. Conservez la même session tant que vous travaillez sur la résolution d'une tâche précise afin de préserver la cohérence des échanges. Utilisez la commande /fork pour diviser la session si le développement prend une nouvelle orientation. Évitez de réutiliser la même session pour tout votre projet, sous peine d'encombrer le contexte avec des règles obsolètes issues des tâches précédentes.

2. Déléguer les tâches secondaires à des sous-agents. Gardez votre session principale concentrée sur le développement de la logique centrale du projet, et confiez les tâches d'exploration, d'écriture des tests ou de diagnostic à des sous-agents gérés en arrière-plan.

Commandes de gestion des sessions utiles (fiez-vous à l'aide en ligne pour la syntaxe locale) :

  • /resume : restaurer une session archivée pour poursuivre le développement.
  • /fork : dupliquer la session en cours dans une nouvelle branche de travail.
  • /compact : compresser l'historique des échanges pour libérer de la mémoire de contexte (également géré automatiquement par Codex).
  • /status : afficher l'état de charge de la session active.

Prendre l'habitude d'ouvrir une nouvelle session par tâche évite les interférences de contexte. Le modèle ne risque pas d'appliquer des règles issues de développements terminés à votre tâche en cours.

💡 Résumé en une phrase : Limitez chaque session à une tâche unique, compressez l'historique avec /compact et déléguez les tâches secondaires à des sous-agents pour optimiser la mémoire de travail.


09 Tableau de synthèse : erreurs courantes vs bonnes pratiques

Voici la table de synthèse des erreurs d'utilisation courantes et des corrections associées à appliquer dans votre quotidien :

❌ Pratique à éviter✅ Bonne pratique recommandée
Écrire les conventions de style dans chaque requête de tâcheCentraliser les conventions de code dans le fichier AGENTS.md
Modifier le code sans définir de méthode de testDécrire la procédure et les commandes de test dans AGENTS.md
Lancer des modifications lourdes sans planification préalableUtiliser le mode /plan pour valider la stratégie avant de coder
Ouvrir tous les droits d'administration de la sandbox par défautAppliquer le principe du moindre privilège et n'ouvrir les accès que de manière ciblée
Conserver une session unique pour l'ensemble d'un projetOuvrir une session par tâche, et utiliser /fork en cas de changement de sujet
Lancer plusieurs tâches en parallèle sur les mêmes fichiers sans isolationUtiliser les worktrees Git pour isoler les espaces de travail en parallèle
Développer des scripts complexes d'automatisation sans tests préalablesValider d'abord le fonctionnement manuellement avant de l'automatiser
Attendre la fin de chaque traitement de Codex sans paralléliserLaisser Codex travailler en arrière-plan et poursuivre vos propres tâches
Corriger un bug de production sans diagnostic préalableCollecter les preuves (logs, parcours de reproduction, statuts) avant de modifier le code
Valider une correction de bug de production sur les seuls tests unitairesTester la correction sur le parcours utilisateur initial et valider les logs
Exposer des données sensibles (IP, tokens, e-mails) dans les rapports de bugAnonymiser les données d'analyse en conservant les structures et les codes d'erreur

Cette table de synthèse vous permet de valider la conformité de vos pratiques de développement. Si vous constatez des allers-retours répétés ou des erreurs d'architecture dans les propositions de Codex, relisez ce tableau pour identifier les axes d'amélioration.

💡 Résumé en une phrase : Utilisez ce tableau comparatif pour auditer et corriger régulièrement vos méthodes de travail avec Codex.


Synthèse

Ce chapitre a détaillé les bonnes pratiques méthodologiques pour programmer efficacement avec Codex :

  • L'approche de travail : considérer Codex comme un partenaire de développement permanent à guider sur le long terme.
  • La documentation de projet : configurer un fichier AGENTS.md concis décrivant l'exécution, les tests et les conventions du projet.
  • La structure de requête : appliquer la méthode des quatre points (Objectif, Contexte, Contraintes et Validation) pour chaque tâche.
  • La sécurité : appliquer le principe du moindre privilège à la sandbox et n'ouvrir les accès réseau ou externes que de manière ciblée.
  • La planification : utiliser le mode /plan avant d'autoriser l'écriture de code pour les tâches complexes.
  • L'automatisation des validations : demander l'écriture des tests et utiliser la commande slash /review pour valider le code.
  • Le diagnostic de production : imposer une phase d'investigation basée sur les faits et anonymiser les données sensibles.
  • La gestion de session : limiter chaque session à une tâche unique et déléguer les sujets secondaires à des sous-agents.

Vous disposez maintenant de la méthodologie pour utiliser Codex de manière professionnelle et sécurisée. L'application de ces bonnes pratiques au quotidien garantit un gain de productivité optimal tout en limitant les risques de régression sur votre codebase.


Le chapitre suivant 〔37 FAQ〕 aborde le diagnostic et la résolution des incidents techniques courants de l'environnement Codex.


Lectures recommandées