Aller au contenu principal

Documentation automatique

Mis à jour le 29 juillet 2026

Documenter sans interrompre le développement

Tout le monde s’accorde sur la nécessité de documenter et presque personne ne le fait, parce que l’écriture arrive au pire moment : la fonctionnalité est finie, l’attention est ailleurs. Codex déplace ce coût. Il analyse le code tel qu’il est et produit une documentation complète, à jour, cohérente avec l’implémentation réelle. Cette fidélité est le point décisif : une documentation inventée fait davantage de dégâts qu’une page blanche, puisqu’elle inspire confiance.

Documentation inline : JSDoc et commentaires

La documentation la plus consultée est celle qui apparaît dans l’infobulle de l’éditeur, à l’endroit exact où la question se pose.

"Ajoute la documentation JSDoc à toutes les fonctions 
et types exportés dans src/lib/. Inclus la description, 
les paramètres, le type de retour, et un exemple d'usage 
pour chaque fonction."

Voici ce que produit Codex sur une fonction de calcul de prix :

/**
 * Calcule le prix total après application de la remise.
 * 
 * @param basePrice - Prix unitaire en centimes
 * @param quantity - Nombre d'unités (minimum 1)
 * @param discountPercent - Pourcentage de remise (0-100)
 * @returns Le prix total en centimes, arrondi à l'entier
 * 
 * @example
 * calculateTotal(1000, 3, 10) // 2700 (30€ - 10% = 27€)
 * 
 * @throws {ValidationError} Si le prix ou la quantité est négatif
 */
export function calculateTotal(
  basePrice: number,
  quantity: number,
  discountPercent: number = 0
): number {
  // ...
}

Deux informations valent ici tout le reste : l’unité — des centimes, non des euros — et l’exception levée en cas de valeur négative. Ce sont précisément les deux choses qu’un développeur découvre d’ordinaire en production, après avoir facturé cent fois trop peu. Codex les a extraites de l’implémentation, pas d’un modèle générique de commentaire.

Générer un README

Pour un projet neuf, ou pour un README devenu fictif à force de dérive, énumérez ce que le lecteur doit pouvoir faire une fois sa lecture terminée.

"Génère un README.md complet pour ce projet. Inclus :
- Description du projet et son but
- Prérequis (Node.js, PostgreSQL, etc.)
- Instructions d'installation étape par étape
- Variables d'environnement nécessaires (sans les valeurs)
- Commandes disponibles (dev, test, build, lint)
- Structure du projet
- Comment contribuer"

Codex s’appuie sur le package.json, les fichiers de configuration et l’arborescence réelle pour produire un document qui reflète l’état du projet. La précision « sans les valeurs » n’est pas une coquetterie : sans elle, un agent qui vient de lire un .env.example bien rempli recopiera volontiers des valeurs que vous ne souhaitez pas voir apparaître dans un fichier versionné.

Documentation d’API

Sur une API REST, la documentation la plus rentable est celle que d’autres outils peuvent consommer sans intervention humaine.

"Analyse toutes les routes dans src/api/routes/ et génère 
un fichier openapi.yaml. Inclus les schemas de requête et 
de réponse basés sur les types TypeScript et les validations 
Zod existantes."

Tout est extrait du code : chemins des routes, méthodes HTTP, schémas de validation, types de réponse. La spécification obtenue est donc fidèle à l’implémentation, et vos consommateurs peuvent en dériver un client typé ou une collection de tests sans vous poser une seule question.

Documentation d’architecture

Les décisions d’architecture sont rarement écrites et, quand elles le sont, elles décrivent l’intention initiale plutôt que le résultat obtenu trois ans plus tard. Demandez à Codex de formaliser ce qui existe réellement dans le code.

"Analyse l'architecture du projet et crée un fichier 
docs/architecture.md qui documente :
- Les couches (API, services, repositories, modèles)
- Le flux de données pour une requête typique
- Les patterns utilisés (repository pattern, dependency injection)
- Les dépendances entre modules"

Ce document a une vertu secondaire qu’on n’attendait pas : en décrivant les dépendances entre modules telles qu’elles sont, il rend visibles des couplages que personne n’avait assumés — le service de facturation qui importe un utilitaire du module d’authentification, par exemple.

Mettre à jour la documentation existante

Une documentation obsolète est pire que pas de documentation, parce qu’elle fait perdre du temps avec autorité.

"Compare le README.md avec l'état actuel du projet. 
Identifie les sections obsolètes (commandes qui n'existent 
plus, dépendances supprimées, instructions incorrectes). 
Mets à jour le README en conséquence."

Codex confronte chaque affirmation du README au code réel et corrige les incohérences. Programmez cette tâche périodiquement, avant chaque release par exemple, plutôt que de la découvrir nécessaire le jour où un nouvel arrivant constate qu’aucune des commandes d’installation ne fonctionne.

Automatiser via AGENTS.md

Pour que la documentation cesse d’être un chantier séparé, faites-en une contrainte permanente du projet.

## Documentation
- Toute nouvelle fonction exportée DOIT avoir une JSDoc complète
- Les modifications d'API DOIVENT mettre à jour openapi.yaml
- Format des commentaires : français pour le métier, anglais pour le technique

Avec ces trois règles, chaque tâche de développement embarque sa propre mise à jour documentaire. Le décalage entre le code et sa description cesse alors de se creuser silencieusement, ce qui est la seule façon durable de gagner cette bataille.

Points clés à retenir

  • Codex génère de la documentation fidèle au code réel, pas inventée
  • La documentation inline (JSDoc) est la plus utile au quotidien
  • Codex peut produire des README, des specs OpenAPI, et de la documentation d’architecture
  • Utilisez Codex pour détecter et corriger la documentation obsolète
  • Ajoutez des règles de documentation dans AGENTS.md pour automatiser