Documentation Technique Auto-générée
Maintiens un README et une JSDoc à jour automatiquement via ton code source - le livre de savoir qui s'écrit tout seul.
9.1Le livre de savoir de la guilde
La documentation non maintenue est pire que l'absence de documentation : elle trompé ceux qui la lisent. L'objectif est d'avoir une documentation générée depuis le code lui-même, impossible d'oublier de mettre à jour.
9.2JSDoc générée par l'IA
Pour chaque fonction ou composant, utilise ce prompt :
Ajoute une documentation JSDoc complète à cette fonction/composant TypeScript.
[COLLE TA FONCTION OU TON COMPOSANT]
Inclure :
- @description - ce que fait la fonction en 1-2 lignes
- @param - chaque paramètre avec son type et sa description
- @returns - ce que retourne la fonction (type + description)
- @throws - les erreurs possibles
- @example, un exemple concret d'utilisation
- @since - date du jour (2026-02-20)
Style : concis, en français, sans jargon./**
* Génère un alt text pertinent pour les images dynamiques d'un article.
*
* Utilise en priorité le texte alt WordPress s'il est significatif,
* puis construit une description contextuelle, puis retourne un fallback.
*
* @param params - Options de génération
* @param params.wpAltText - Texte alt renseigné dans WordPress (optionnel)
* @param params.postTitle - Titre de l'article associé (optionnel)
* @param params.context - Contexte d'utilisation de l'image
* @param params.authorName - Nom de l'auteur (requis si context='author')
*
* @returns Le texte alternatif généré, ou une chaîne vide si aucun contexte n'est disponible
*
* @throws Ne lève pas d'erreur - retourne une chaîne vide en cas d'absence de données
*
* @example
* // Image à la une d'un article
* generateAltText({ context: 'featured', postTitle: 'Apprendre TypeScript' });
* // → "Image illustrant l'article : Apprendre TypeScript"
*
* @example
* // Photo d'auteur
* generateAltText({ context: 'author', authorName: 'Alice Martin' });
* // → "Photo de profil de Alice Martin"
*
* @since 2026-02-20
*/
export function generateAltText(params: GenerateAltTextParams): string {
// ... implémentation
}9.3TypeDoc : de la JSDoc à un site de doc
Une fois les JSDoc en place, TypeDoc génère automatiquement un site de documentation complet depuis ton code :
# Installation
npm install -D typedoc
# typedoc.json
{
"entryPoints": ["./lib"],
"entryPointStrategy": "expand",
"out": "docs/api",
"name": "BaliseTonSite API",
"excludePrivate": true,
"includeVersion": true,
"readme": "README.md"
}
# Génération
npx typedoc9.4README auto-généré et maintenu
Tu es tech writer.
Voici la structure actuelle de mon projet :
[COLLE LA SORTIE DE tree (ou la liste de tes dossiers clés)]
Voici les scripts npm de mon package.json :
[COLLE LES SCRIPTS]
Voici les dépendances principales :
[COLLE LES DEPENDENCIES]
Régénère la section "Installation & Usage" et "Architecture" de mon README pour qu'elle reflète exactement l'état actuel du projet.
Style : concis, markdown propre, badges GitHub Actions si pertinent.## 📦 Installation
```bash
# Cloner le projet
git clone https://github.com/soonsoons/BaliseTonSite
cd frontend
# Installer les dépendances
npm install
# Variables d'environnement
cp .env.example .env.local
```
## Démarrage
```bash
npm run dev # Dev server (localhost:3000)
npm run build # Build production
npm run test # Tests Vitest
npm run lint # ESLint + TypeScript check
```
## Architecture
```
frontend/
├── app/ # Next.js 15 App Router
├── components/ # Composants React (Server + Client)
├── lib/
│ ├── types/ # Schémas Zod + types inférés
│ ├── hooks/ # Custom hooks SWR/React Query
│ ├── seo/ # JSON-LD generators
│ └── utils/ # Fonctions utilitaires
└── tests/ # Vitest + Testing Library
```Stack documentation complète
- JSDoc sur toutes les fonctions publiques (générée par IA)
- TypeDoc pour le site de doc auto-généré
- README mis à jour mensuellement via prompt IA
- CHANGELOG auto depuis les messages de commit (voir Chapitre 10)