Nous developpons votre site vitrine SPA À PARTIR DE 300€. Oui, c'est dingue. Web SPA À PARTIR DE 300€ — Oui, c'est dingue. Parlons-en →

Documentation technique avec Markdown, Docusaurus et Next.js

Documentation technique avec Markdown, Docusaurus et Next.js

Pourquoi votre entreprise a besoin d'une documentation technique

Toute entreprise qui développe des logiciels, des API ou des produits numériques arrive au même constat : sans documentation, la connaissance vit dans la tête des personnes. Et quand ces personnes partent en vacances, changent de projet ou quittent l'entreprise, la connaissance part avec elles.

La documentation technique n'est ni un luxe ni un "nice to have". C'est une brique critique de l'infrastructure de tout business numérique. Des manuels internes à la documentation d'API publiques, en passant par les bases de connaissances pour les équipes ou les guides utilisateur pour les clients.

Chez AndorraDev, nous mettons en place des sites de documentation pour des entreprises et des startups dans le cadre de nos services de développement web. Dans cet article, nous partageons les outils et l'approche que nous utilisons sur des projets réels.

Markdown : le format universel

Markdown est un langage de balisage léger devenu le standard de fait pour rédiger de la documentation technique. Sa syntaxe est si simple que n'importe quel membre de l'équipe peut contribuer sans connaître le HTML ni utiliser d'outils spécifiques.

Le principal avantage de Markdown est sa portabilité. Un fichier .md est du texte brut : il fonctionne dans n'importe quel éditeur, se versionne avec Git, s'affiche sur GitHub, GitLab, Notion et des dizaines de plateformes, et se convertit en HTML, PDF ou tout autre format de sortie dont vous avez besoin.

Une syntaxe qui couvre 90% des cas

Avec quelques règles de base, vous pouvez déjà documenter pratiquement n'importe quoi. Des titres avec #, du gras avec **texte**, de l'italique avec *texte*, du code inline avec des backticks, des listes avec -, des liens avec [texte](url), des images avec ![alt](url), des citations avec > et des tableaux avec des pipes |.

Voici un exemple simple de documentation en Markdown :

# Guide d'installation

Prérequis pour installer la plateforme sur votre serveur.

## Configuration requise

- **PHP** 8.2 ou supérieur
- **MySQL** 8.0 ou supérieur
- **Node.js** 18+ pour compiler les assets
- Minimum **2 Go de RAM** sur le serveur

## Étapes d'installation

1. Clonez le dépôt : `git clone https://github.com/votre-org/votre-projet.git`
2. Installez les dépendances : `composer install && npm install`
3. Configurez le fichier `.env` avec vos identifiants
4. Lancez les migrations : `php artisan migrate`

> **Note :** assurez-vous que l'utilisateur MySQL dispose des permissions CREATE et ALTER.

| Variable | Valeur par défaut | Description |
|----------|-------------------|-------------|
| DB_HOST  | 127.0.0.1         | Hôte de la base de données |
| DB_PORT  | 3306              | Port de MySQL |
| DB_NAME  | mon_app           | Nom de la base de données |

Markdown étendu : tableaux, alertes et diagrammes

La spécification de base de Markdown est délibérément simple, mais des extensions comme GitHub Flavored Markdown (GFM) ajoutent des fonctionnalités critiques pour la documentation technique : tableaux, listes de tâches, blocs d'alerte, coloration syntaxique dans les blocs de code et autolinks.

Des outils comme Docusaurus et Next.js vont encore plus loin avec MDX, qui permet d'intégrer des composants React directement dans le Markdown. Cela ouvre la porte à des graphiques interactifs, des démos en direct ou des composants d'interface personnalisés au sein de la documentation.

Andie recommande

Si votre équipe n'a jamais utilisé Markdown, la courbe d'apprentissage est de moins d'une heure. C'est bien plus productif que d'éditer du HTML à la main ou de se battre avec des éditeurs WYSIWYG qui génèrent un markup incohérent. Voici un tutoriel complet pour démarrer.

Docusaurus : une documentation prête pour la production

Docusaurus est le framework de documentation créé par Meta (Facebook). Il est utilisé par des projets comme React Native, Jest, Babel, Redux et des centaines de projets open source. Son approche est claire : vous écrivez du Markdown, vous obtenez un site de documentation professionnel.

Pourquoi Docusaurus plutôt qu'un site sur mesure

Construire un site de documentation de zéro avec Next.js ou Laravel est tout à fait possible, mais Docusaurus vous offre gratuitement des fonctionnalités qui vous prendraient autrement des semaines à implémenter :

  • Versionnage des docs : maintenir la documentation des v1, v2 et v3 en parallèle
  • Recherche intégrée : recherche full-text avec Algolia DocSearch ou recherche locale
  • Sidebar automatique : génère la navigation latérale à partir de la structure des dossiers
  • Mode sombre : bascule automatique sans configuration
  • i18n natif : prise en charge de plusieurs langues avec des fichiers de traduction
  • Blog intégré : section blog avec flux RSS et pagination
  • MDX : des composants React dans le Markdown pour une documentation interactive

Structure d'un projet Docusaurus

La configuration est minimale. Un fichier docusaurus.config.js définit le site, et le contenu vit dans des dossiers de Markdown. Le dossier docs/ contient les fichiers .md organisés par sections (api, avancé, guides), blog/ accueille les articles, src/pages/ les pages sur mesure en React, et à la racine se trouvent les fichiers de configuration docusaurus.config.js et sidebars.js.

Tout le contenu est du Markdown pur. Docusaurus génère automatiquement la navigation latérale, la table des matières de chaque page, le versionnage et la recherche sans que vous ayez à écrire une seule ligne de JavaScript.

Exemple réel : documenter une API

Un fichier Markdown dans Docusaurus qui documente un endpoint contient un front matter YAML avec sidebar_position, title et description. Le corps du document utilise des titres pour structurer les sections (authentification, endpoints, erreurs), des blocs de code avec coloration syntaxique pour montrer les requêtes cURL et les réponses JSON, et des blocs d'alerte avec la syntaxe :::tip et :::warning propre à Docusaurus.

Le résultat est une page avec navigation latérale, table des matières, coloration syntaxique, blocs d'alerte et recherche, le tout sans écrire une ligne de CSS ni de JavaScript.

Quand utiliser Docusaurus

Docusaurus est le meilleur choix quand la documentation est le produit principal du site. Si vous avez besoin d'un portail de documentation dédié avec versionnage, recherche et navigation structurée, il n'existe pas d'option plus rapide ni plus robuste.

Idéal pour :

  • La documentation d'API publiques
  • Les guides d'intégration pour les partenaires
  • Les bases de connaissances internes
  • La documentation de SDK et de librairies
  • Les manuels utilisateur de produits SaaS

Next.js + MDX : une documentation intégrée à votre produit

Quand la documentation n'est pas un site indépendant mais qu'elle vit à l'intérieur de votre application web, Next.js avec MDX est la combinaison parfaite. Vous rédigez en Markdown, vous intégrez des composants React quand vous avez besoin d'interactivité, et tout est généré sous forme de pages statiques avec des performances optimales.

L'avantage du contenu statique

Next.js génère des pages statiques au moment du build (SSG). Cela signifie que votre documentation est servie en HTML pur depuis un CDN : chargement instantané, SEO parfait et coût d'hébergement quasi nul. Pour une entreprise en Andorre qui doit documenter son produit auprès de clients européens, la vitesse de chargement depuis n'importe quel point du continent est critique.

Structure avec l'App Router

Avec l'App Router de Next.js, chaque fichier .mdx placé dans le dossier app/docs/ devient automatiquement une route. Vous organisez les sections en sous-dossiers (getting-started, api-reference, guides), chacun avec son page.mdx. Un fichier layout.tsx à la racine de docs/ définit la sidebar et la navigation partagée. La structure est propre, évolutive et facile à maintenir pour n'importe quel membre de l'équipe.

Des composants interactifs dans le Markdown

La magie de MDX, c'est de pouvoir mélanger Markdown et composants React. Cela permet de créer une documentation avec des démos en direct, des sélecteurs de langage de code, des formulaires de test d'API ou n'importe quel composant interactif dont vous avez besoin. Imaginez un <CodeTabs> qui affiche le même exemple en cURL, JavaScript et Python, ou un <ApiPlayground> où le lecteur peut tester l'endpoint directement depuis la documentation, sans quitter la page.

Quand utiliser Next.js pour la documentation

Next.js est le meilleur choix quand la documentation fait partie du même projet web (même navigation, même domaine, même design) ou quand vous avez besoin d'un contrôle total sur le design et l'expérience utilisateur.

Idéal pour :

  • La documentation intégrée à un produit web existant
  • Les landing pages avec une section docs (même domaine, même branding)
  • Les projets déjà sous Next.js qui veulent ajouter de la documentation sans un outil supplémentaire
  • Les sites où le design de la documentation doit suivre un design system maison
  • Les intranets et portails internes avec base de connaissances intégrée
Andie recommande

Si vous avez déjà un projet Next.js, ne montez pas un Docusaurus à côté : utilisez MDX dans votre App Router. Un seul deploy, un seul domaine, un seul site. Si la documentation est le produit principal (portail d'API, docs de SDK), Docusaurus vous fait gagner des semaines de travail.

Docusaurus vs Next.js : lequel choisir

La décision dépend du contexte, pas de savoir lequel est "le meilleur" :

Critère Docusaurus Next.js + MDX
Mise en place 5 minutes, prêt pour la production Nécessite de configurer MDX, layout, sidebar
Versionnage Intégré nativement Manuel (dossiers ou branches)
Recherche Algolia DocSearch ou locale Implémentation sur mesure
Personnalisation Limitée au système de thèmes Contrôle total, c'est votre code
Intégration Site indépendant Dans votre app existante
Performance Excellente (statique) Excellente (SSG/ISR)
Multilingue i18n natif next-intl ou équivalent
Courbe d'apprentissage Faible Moyenne (faible si vous connaissez déjà Next.js)

Résumé rapide :

  • Portail de documentation dédié : Docusaurus
  • Docs à l'intérieur d'un site existant : Next.js + MDX
  • Nouveau projet sans préférence : Docusaurus (plus rapide à démarrer)
  • Besoin d'un design entièrement sur mesure : Next.js + MDX

Bonnes pratiques pour la documentation technique

Quel que soit l'outil choisi, ces pratiques font la différence entre une documentation qui est utilisée et une documentation que tout le monde ignore :

Une structure claire et prévisible

Organisez le contenu par niveaux : un guide de démarrage rapide pour se lancer en 5 minutes, des tutoriels pas à pas pour des cas d'usage concrets, une référence d'API exhaustive pour les développeurs, et des guides avancés pour les configurations spécifiques. Le lecteur doit pouvoir trouver ce qu'il cherche en moins de 3 clics.

Des exemples réels, pas théoriques

Chaque endpoint, chaque fonction, chaque option de configuration doit avoir un exemple qui fonctionne. Pas des fragments de pseudo-code, mais du code que le lecteur peut copier, coller et exécuter. Incluez la requête complète avec les headers, le body et la réponse attendue.

Une mise à jour continue

Une documentation obsolète est pire que pas de documentation du tout : elle crée une fausse confiance. Intégrez la mise à jour des docs dans le flux de développement. Si une PR modifie l'API, la même PR doit mettre à jour la documentation. Avec du Markdown dans le même dépôt que le code, c'est trivial.

Le SEO pour la documentation publique

Si votre documentation est publique (docs d'API, guides d'intégration), le SEO compte. Les développeurs cherchent sur Google, pas dans votre sidebar. Assurez-vous que chaque page a un title descriptif, une meta description utile et des URL propres. Docusaurus et Next.js facilitent la tâche avec leurs systèmes de metadata.

Notre approche sur les projets de documentation

Chez AndorraDev, nous créons les sites de documentation dans le cadre des projets de développement. Ce n'est pas un livrable à part ni un afterthought : la documentation se construit en parallèle du produit.

Pour les startups et les entreprises en Andorre qui doivent documenter leurs API, leurs produits SaaS, leurs plateformes de réservations ou leurs outils internes, nous montons le site de documentation avec Docusaurus ou Next.js selon le cas, nous configurons le déploiement automatique et nous formons l'équipe pour qu'elle puisse maintenir et enrichir la documentation en autonomie.

Le résultat est un actif numérique qui évolue avec votre entreprise : quand vous intégrez de nouveaux développeurs, partenaires ou clients, la documentation est là pour les accueillir sans que personne n'ait à expliquer les choses deux fois.

Contactez-nous si vous avez besoin d'une documentation technique professionnelle pour votre produit ou votre entreprise.

Écrit par
Edu Lazaro
Edu Lazaro
Founder & Lead Developer en AndorraDev

Développeur full-stack avec plus de 15 ans d'expérience en Laravel, React, Node.js et architectures cloud. J'aide les entreprises en Andorre à construire leur présence digitale.

Partner de diseño · ionospace.
Besoin d'aide? ×
Andie by AndorraDev
Assistant IA + équipe humaine
Assistant IA d'AndorraDev
Andie
Bonjour! Je suis Andie, l'assistant IA d'AndorraDev. Comment puis-je vous aider? Si vous souhaitez parler avec Edu, il suffit de le demander.
22:38