Aller au contenu
Documentation medium

MkDocs : créer un site de documentation DevOps

26 min de lecture

logo mkdocs

MkDocs transforme de simples fichiers Markdown en un site de documentation professionnel, avec recherche intégrée, navigation et thème responsive. Combiné au thème Material for MkDocs (version 9.7), on obtient un outil complet pour toute équipe DevOps : admonitions, onglets, annotations de code, diagrammes Mermaid, mode sombre, et déploiement en une commande. Ce guide couvre l’installation, la configuration avancée, la personnalisation et le déploiement CI/CD. Prérequis : Python 3.9+ et pip installés.

MkDocs est un générateur de site statique (SSG) conçu spécifiquement pour la documentation technique. Contrairement à un CMS comme WordPress, MkDocs prend des fichiers Markdown et un fichier de configuration YAML, puis génère un site HTML complet, prêt à être hébergé n’importe où.

On peut le comparer à un compilateur pour la documentation : on écrit du texte brut (Markdown), MkDocs le transforme en pages web interactives avec navigation, recherche et mise en forme.

CaractéristiqueMkDocsWiki classiqueGoogle Docs
Format sourceMarkdown (fichiers texte)Interface webInterface web
VersioningGit natifIntégré (limité)Historique Google
CollaborationPull requests, revuesÉdition directeÉdition simultanée
HébergementStatique (gratuit)Serveur nécessaireCloud Google
PersonnalisationThèmes + extensionsLimitéeTrès limitée
Hors-ligneOui (fichiers locaux)NonNon

Material for MkDocs (version 9.7.3) est le thème le plus populaire. Depuis la version 9.7.0 (11 novembre 2025), toutes les fonctionnalités anciennement réservées aux sponsors Insiders sont disponibles gratuitement pour tout le monde.

Avant de commencer, vérifiez que votre machine dispose de :

  • Python 3.9 ou supérieur : MkDocs est un outil Python
  • pip : le gestionnaire de paquets Python (inclus avec Python)
  • Git : pour le versioning et le déploiement (recommandé)
Fenêtre de terminal
python3 --version
pip --version

Vérification : ces commandes doivent afficher les versions installées. Si pip n’est pas trouvé, installez-le avec python3 -m ensurepip --upgrade.

MkDocs s’installe en une seule commande. On recommande d’installer directement mkdocs-material, qui inclut MkDocs et toutes les dépendances nécessaires.

Fenêtre de terminal
pip install mkdocs-material

Cette commande installe MkDocs 1.6.1, Material 9.7.3, Pygments (coloration syntaxique), Python Markdown Extensions et toutes les dépendances.

Vérification : confirmez l’installation avec :

Fenêtre de terminal
mkdocs --version

Le résultat attendu est :

mkdocs, version 1.6.1 from [...] (Python 3.12)
  1. Initialisez le projet avec la commande mkdocs new :

    Fenêtre de terminal
    mkdocs new mon-projet-docs
    cd mon-projet-docs

    MkDocs crée la structure suivante :

    mon-projet-docs/
    ├── docs/
    │ └── index.md # Page d'accueil
    └── mkdocs.yml # Fichier de configuration
  2. Lancez le serveur de développement pour prévisualiser le site :

    Fenêtre de terminal
    mkdocs serve

    Le site est accessible sur http://localhost:8000. Le live reload recharge automatiquement la page à chaque modification d’un fichier.

  3. Vérifiez le résultat en ouvrant le navigateur sur http://localhost:8000. La page d’accueil par défaut s’affiche avec le thème MkDocs de base.

Page d'accueil MkDocs Material avec navigation, recherche et grille de cartes

Si ça ne marche pas : si le port 8000 est déjà utilisé, changez-le avec mkdocs serve -a localhost:8001.

Le fichier mkdocs.yml est le cœur de la configuration. Il centralise tout : le nom du site, le thème, les extensions Markdown utilisées, la navigation et les plugins. Quand on modifie ce fichier, MkDocs recharge automatiquement le site si le serveur tourne.

La configuration ci-dessous est un modèle complet et commenté, adapté à une documentation d’équipe DevOps. Chaque section est expliquée après le bloc :

mkdocs.yml
# -- Métadonnées du site --
site_name: Documentation DevOps
site_url: https://mon-equipe.github.io/docs/
site_description: Documentation technique de l'équipe DevOps
site_author: Équipe DevOps
# -- Thème Material --
theme:
name: material
language: fr # Interface en français
palette:
- scheme: default # Mode clair
primary: indigo # À adapter à votre charte graphique
accent: indigo # À adapter à votre charte graphique
toggle:
icon: material/brightness-7
name: Passer au mode sombre
- scheme: slate # Mode sombre
primary: indigo # À adapter à votre charte graphique
accent: indigo # À adapter à votre charte graphique
toggle:
icon: material/brightness-4
name: Passer au mode clair
features:
- navigation.instant # Navigation instantanée (fetch + replace)
- navigation.instant.prefetch # Préchargement des pages au survol
- navigation.tracking # URL reflète la section visible
- navigation.tabs # Onglets de navigation principaux
- navigation.sections # Sections dans la sidebar
- navigation.top # Bouton retour en haut
- navigation.indexes # Pages d'index de section
- search.suggest # Suggestions de recherche
- search.highlight # Surlignage des résultats
- content.code.copy # Bouton copier sur les blocs de code
- content.code.annotate # Annotations dans le code
- content.tabs.link # Onglets liés entre sections
- content.tooltips # Tooltips améliorés sur les liens
- toc.follow # Table des matières suit le scroll
# -- Plugins --
plugins:
- search:
lang: fr # Recherche en français
- tags # Système de tags
# -- Extensions Markdown --
markdown_extensions:
- admonition # Encadrés (note, tip, warning...)
- pymdownx.details # Encadrés dépliables
- pymdownx.superfences: # Blocs de code avancés
custom_fences:
- name: mermaid # Diagrammes Mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed: # Onglets de contenu
alternate_style: true
- pymdownx.highlight: # Coloration syntaxique
anchor_linenums: true
line_spans: __span
pygments_lang_class: true
- pymdownx.inlinehilite # Code inline coloré
- pymdownx.snippets # Inclusion de fichiers
- pymdownx.emoji: # Emojis et icônes
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- attr_list # Attributs HTML sur éléments
- md_in_html # Markdown dans le HTML
- tables # Tableaux
- footnotes # Notes de bas de page
- pymdownx.critic # Suivi des modifications
- pymdownx.caret # Superscript et insertion
- pymdownx.keys # Raccourcis clavier
- pymdownx.mark # Surlignage de texte
- pymdownx.tilde # Subscript et barré
- toc: # Table des matières
permalink: true
- pymdownx.tasklist: # Listes de tâches
custom_checkbox: true
- def_list # Listes de définitions
- abbr # Abréviations
# -- Navigation --
nav:
- Accueil: index.md
- Guide:
- Installation: guide/installation.md
- Configuration: guide/configuration.md
- Déploiement: guide/deploiement.md
- Référence:
- API: reference/api.md
# -- Pied de page et liens sociaux --
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/mon-equipe
- icon: fontawesome/brands/gitlab
link: https://gitlab.com/mon-equipe

Vérification : après avoir enregistré le fichier, relancez mkdocs serve. Le thème Material doit s’afficher avec le mode clair/sombre et les onglets de navigation.

Décomposons les sections clés de cette configuration :

Métadonnées du site : les quatre premières lignes (site_name, site_url, etc.) définissent l’identité du site. Le site_url est important : il sert à générer les liens canoniques et le sitemap. Définissez-le même en développement.

Thème et palette : la section theme active Material et configure le basculement clair/sombre. Chaque scheme définit ses couleurs primary (barre de navigation, liens) et accent (éléments interactifs au survol). Changez indigo par la couleur de votre charte graphique.

Features : chaque ligne active un comportement précis. navigation.instant rend la navigation fluide (les pages se chargent sans refresh complet). content.code.copy ajoute un bouton “copier” sur tous les blocs de code. search.suggest propose des suggestions pendant la frappe dans la barre de recherche. Désactivez une feature en la commentant : le site fonctionnera toujours, avec un comportement plus basique.

Extensions Markdown : c’est la liste des extensions qui enrichissent la syntaxe Markdown. Sans elles, vous n’avez que le Markdown de base (titres, listes, gras). Chaque extension ajoute une fonctionnalité : admonition pour les encadrés colorés, pymdownx.tabbed pour les onglets, pymdownx.superfences pour Mermaid, etc. L’ordre n’a pas d’importance.

Navigation (nav) : cette section contrôle l’ordre et la hiérarchie des pages dans le menu latéral. Sans elle, MkDocs génère la navigation automatiquement à partir de l’arborescence des fichiers (ce qui fonctionne bien pour les petits sites, mais devient aléatoire sur les gros projets).

Dans MkDocs, chaque fichier Markdown du dossier docs/ devient une page du site. L’arborescence des fichiers détermine la structure de la navigation : un dossier guide/ crée une section “Guide” dans le menu, et chaque fichier .md à l’intérieur devient un lien dans cette section.

Voici un exemple d’organisation typique pour une documentation DevOps :

docs/
├── index.md # Page d'accueil
├── guide/
│ ├── installation.md # Guide d'installation
│ ├── configuration.md # Guide de configuration
│ └── deploiement.md # Guide de déploiement
├── reference/
│ ├── api.md # Référence API
│ └── cli.md # Référence CLI
├── runbooks/
│ ├── incident-base.md # Procédure incident base de données
│ └── rollback.md # Procédure de rollback
└── assets/
└── images/ # Images et schémas

La section nav de mkdocs.yml permet de contrôler explicitement l’ordre et la hiérarchie des pages. C’est recommandé pour tout projet ayant plus d’une dizaine de pages : sans nav, MkDocs trie les fichiers par ordre alphabétique, ce qui produit souvent un menu incohérent (“API” avant “Installation”, par exemple). Avec nav, vous décidez précisément ce que le lecteur voit et dans quel ordre.

Material for MkDocs étend considérablement les possibilités du Markdown standard. Les fonctionnalités sont regroupées par niveau d’utilité :

  • Essentiel : admonitions, onglets, blocs de code avec copie, Mermaid
  • Très utile : annotations de code, snippets, listes de tâches, tooltips/glossaire, footnotes
  • Bonus : grilles de cartes, formatage avancé (Critic, surlignage, touches clavier), boutons, images clair/sombre, lightbox

Commencez par les fonctionnalités essentielles, puis enrichissez au fil des besoins de votre équipe.

Les admonitions permettent de mettre en valeur des informations importantes. Elles sont activées par l’extension admonition.

!!! note "Information importante"
Le contenu de l'admonition supporte **tout le Markdown** :
listes, code, liens, etc.
!!! tip "Astuce"
Utilisez `mkdocs serve --dirty` pour accélérer le rechargement
sur les gros projets (seules les pages modifiées sont regénérées).
!!! warning "Attention"
Ne commitez jamais de secrets dans votre documentation.
!!! danger "Danger"
Supprimer le dossier `site/` en production efface la documentation
déployée.

Pour créer un encadré dépliable (fermé par défaut), on remplace !!! par ??? (nécessite l’extension pymdownx.details) :

??? example "Cliquez pour voir l'exemple"
Contenu masqué par défaut. Utile pour les longues sorties
de commandes ou les configurations complètes.

Ajouter un + après ??? rend l’encadré dépliable mais ouvert par défaut :

???+ tip "Astuce (ouverte par défaut)"
L'utilisateur peut replier cet encadré s'il le souhaite.

On peut aussi rendre un encadré inline (flottant à droite ou à gauche du texte) avec le modificateur inline :

!!! info inline end "Rappel"
Cet encadré flotte à droite du paragraphe suivant.

Les types disponibles sont : note, abstract, info, tip, success, question, warning, failure, danger, bug, example, quote.

Les différents types d'admonitions Material : note, tip, warning, danger et plus

Les onglets permettent de présenter des variantes d’une même procédure (distributions Linux, langages, outils). Ils sont activés par l’extension pymdownx.tabbed.

=== "Ubuntu/Debian"
```bash
sudo apt update && sudo apt install -y python3-pip
pip install mkdocs-material

=== “Rocky/RHEL”

Fenêtre de terminal
sudo dnf install -y python3-pip
pip install mkdocs-material

=== “macOS”

Fenêtre de terminal
brew install python3
pip3 install mkdocs-material
Avec l'option `content.tabs.link` activée dans les features du thème, un clic
sur un onglet synchronise **tous les onglets de la page** qui portent le même
label.
![Onglets de contenu synchronisés : Ubuntu, Rocky, macOS](@assets/mkdocs/mkdocs-onglets.png)
### Blocs de code avancés
Material ajoute des fonctionnalités puissantes aux blocs de code standard :
**Titre, numéros de lignes et bouton copier :**
````markdown
```python title="hello.py" linenums="1"
def saluer(nom: str) -> str:
"""Retourne un message de bienvenue."""
return f"Bonjour {nom} !"
print(saluer("DevOps"))
**Annotations dans le code** (nécessite `content.code.annotate` dans les
features) :
````markdown
```yaml title="mkdocs.yml"
theme:
name: material # (1)!
features:
- navigation.instant # (2)!
```
1. Le thème Material est le plus populaire pour MkDocs
2. Active la navigation sans rechargement de page

Les annotations apparaissent comme des icônes cliquables dans le code. Au clic, une bulle affiche l’explication. Cela permet d’expliquer chaque ligne sans surcharger le bloc de code.

Annotations de code : icônes numérotées avec bulles explicatives

Mise en surbrillance de lignes spécifiques :

```yaml hl_lines="2 3"
theme:
name: material
language: fr
```

Material rend Mermaid simple à activer via l’extension pymdownx.superfences et une configuration custom_fences. Mermaid génère des diagrammes à partir de texte, idéal pour documenter des architectures et des flux.

```mermaid
graph LR
A[Écrire en Markdown] --> B[mkdocs build]
B --> C[Site HTML statique]
C --> D{Déployer}
D --> E[GitHub Pages]
D --> F[GitLab Pages]
D --> G[Serveur interne]
```

Mermaid supporte de nombreux types de diagrammes : flowcharts, diagrammes de séquence, diagrammes de classes, diagrammes d’état, diagrammes de Gantt, etc. Tout est rendu côté client, sans serveur supplémentaire.

Diagramme Mermaid (flowchart) rendu dans Material for MkDocs

- [x] Installer MkDocs
- [x] Configurer le thème Material
- [ ] Rédiger la documentation
- [ ] Déployer sur GitHub Pages

Les notes de bas de page permettent d’ajouter des références sans couper le fil de lecture :

MkDocs génère des sites statiques[^1] à partir de Markdown.
[^1]: Un site statique est composé uniquement de fichiers HTML, CSS
et JavaScript, sans base de données ni serveur applicatif.

Les grilles (grids) permettent d’organiser le contenu en cartes visuelles, parfaites pour les pages d’index ou les listes de fonctionnalités. Elles nécessitent les extensions attr_list et md_in_html (déjà incluses dans la configuration ci-dessus).

<div class="grid cards" markdown>
- :material-clock-fast: **Mise en place en 5 minutes**
---
Installez `mkdocs-material` avec `pip` et démarrez en quelques minutes.
[:octicons-arrow-right-24: Commencer](#)
- :fontawesome-brands-markdown: **C'est juste du Markdown**
---
Concentrez-vous sur le contenu, Material génère le site.
[:octicons-arrow-right-24: Référence](#)
</div>

Chaque élément de la liste devient une carte avec effet de survol. On peut mélanger des icônes, du Markdown et des liens dans chaque carte.

Grille de cartes Material avec icônes et liens d'action

Material for MkDocs donne accès à plus de 10 000 icônes (Material Design, FontAwesome, Octicons, Simple Icons) et des milliers d’emojis via une syntaxe simple. Ils sont activés par l’extension pymdownx.emoji (déjà dans la configuration).

:material-account-circle: Profil utilisateur
:fontawesome-brands-docker: Conteneur Docker
:octicons-terminal-24: Terminal
:smile: Emoji sourire

Les icônes sont utilisables dans les titres, les admonitions, les boutons et les cartes de grille. On peut aussi leur ajouter des couleurs et des animations avec des classes CSS personnalisées.

Les abréviations créent des info-bulles automatiques au survol d’un terme. Activez content.tooltips dans les features du thème pour un rendu amélioré.

Le HTML est le langage de base du web. Le W3C en maintient la spécification.
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium

Pour créer un glossaire global (défini une seule fois, appliqué sur toutes les pages), on place les abréviations dans un fichier dédié et on utilise l’extension pymdownx.snippets avec auto_append :

mkdocs.yml (extrait)
markdown_extensions:
- abbr
- pymdownx.snippets:
auto_append:
- includes/abbreviations.md
watch:
- includes
includes/abbreviations.md
*[SSG]: Static Site Generator — générateur de site statique
*[CI/CD]: Continuous Integration / Continuous Delivery
*[RBAC]: Role-Based Access Control

Chaque occurrence de ces termes dans toute la documentation affichera automatiquement une info-bulle avec la définition.

Tooltip automatique au survol d'un terme du glossaire

Material supporte le surlignage, les raccourcis clavier, les sub/superscripts et le suivi des modifications (Critic Markup) via les extensions pymdownx.critic, pymdownx.caret, pymdownx.keys, pymdownx.mark et pymdownx.tilde.

- ==Texte surligné== avec `pymdownx.mark`
- ^^Texte souligné (insertion)^^ avec `pymdownx.caret`
- ~~Texte barré (suppression)~~ avec `pymdownx.tilde`
- H~2~O (subscript) et A^T^A (superscript)
- Raccourci clavier : ++ctrl+alt+del++
- Suivi : {--texte supprimé--} et {++texte ajouté++}
SyntaxeRenduExtension
==surligné==Surbrillance jaunepymdownx.mark
^^souligné^^Souligné (insertion)pymdownx.caret
~~barré~~Barré (suppression)pymdownx.tilde
H~2~OSubscriptpymdownx.tilde
A^T^ASuperscriptpymdownx.caret
++ctrl+s++Touche clavier styliséepymdownx.keys

Formatage avancé : surlignage, touches clavier et Critic Markup

N’importe quel lien peut être transformé en bouton grâce à l’extension attr_list et la classe CSS .md-button :

[Commencer le tutoriel](#){ .md-button }
[Télécharger :fontawesome-solid-download:](#){ .md-button .md-button--primary }

La classe .md-button--primary donne un bouton rempli avec la couleur principale du thème. On peut aussi ajouter des icônes dans le texte du bouton.

Boutons primaire et secondaire avec icônes

Material étend la gestion des images avec l’alignement, les légendes, le chargement différé et le support clair/sombre.

![Architecture](images/archi.png){ align=left width="300" loading=lazy }
AttributEffet
align=leftImage flottante à gauche
align=rightImage flottante à droite
width="300"Largeur en pixels
loading=lazyChargement différé (performance)

Pour ajouter une légende :

<figure markdown="span">
![Architecture du pipeline](images/pipeline.png){ width="600" }
<figcaption>Architecture du pipeline CI/CD</figcaption>
</figure>

Pour afficher une image différente selon le mode clair/sombre, ajoutez un fragment #only-light ou #only-dark à l’URL :

![Schéma](images/schema-light.png#only-light)
![Schéma](images/schema-dark.png#only-dark)

Pour le zoom au clic (lightbox), installez le plugin glightbox :

Fenêtre de terminal
pip install mkdocs-glightbox
mkdocs.yml (extrait)
plugins:
- glightbox

Lightbox glightbox : zoom au clic sur une image

MkDocs propose deux commandes principales pour travailler avec le contenu.

Fenêtre de terminal
mkdocs serve

Le serveur démarre sur http://localhost:8000 avec le live reload activé. À chaque sauvegarde d’un fichier, la page se recharge automatiquement.

Options utiles :

OptionEffet
-a localhost:8001Change le port d’écoute
--dirtyNe regénère que les fichiers modifiés (plus rapide)
--strictTransforme les warnings en erreurs (recommandé en CI)
-w docs/ -w includes/Surveille des dossiers supplémentaires

Barre de recherche MkDocs avec suggestions en temps réel

Fenêtre de terminal
mkdocs build --strict

Le site complet est généré dans le dossier site/. L’option --strict est recommandée car elle détecte les liens cassés, les fichiers manquants et les erreurs de configuration.

Vérification : après le build, le dossier site/ contient les fichiers HTML, CSS, JS et les assets. On peut les servir avec n’importe quel serveur web statique.

MkDocs intègre une commande dédiée pour déployer directement sur GitHub Pages via la branche gh-pages :

Fenêtre de terminal
mkdocs gh-deploy --strict

Cette commande build le site, crée (ou met à jour) la branche gh-pages, y pousse les fichiers HTML, et active GitHub Pages automatiquement.

Pour automatiser le déploiement à chaque push sur main, créez le fichier .github/workflows/docs.yml :

.github/workflows/docs.yml
name: Déployer la documentation
on:
push:
branches:
- main
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install -r requirements.txt
- run: mkdocs gh-deploy --strict --force

Vérification : après le push, l’action GitHub build et déploie le site. Allez dans Settings > Pages du dépôt pour vérifier que la source est bien gh-pages.

.gitlab-ci.yml
image: python:3.12-slim
pages:
stage: deploy
script:
- pip install -r requirements.txt
- mkdocs build --strict
- mv site public
artifacts:
paths:
- public
only:
- main

GitLab Pages attend un dossier public/, d’où le renommage de site/ en public/.

Material for MkDocs 9.7 inclut plusieurs plugins intégrés. D’autres plugins communautaires enrichissent encore les possibilités.

PluginUsageInstallation
searchRecherche full-text côté clientInclus
tagsCatégoriser les pages avec des tagsInclus dans Material
blogAjouter un blog à côté de la docInclus dans Material
socialGénérer des images de partage socialInclus dans Material
privacyConformité RGPD (pas de requêtes externes)Inclus dans Material
mkdocs-redirectsGérer les redirections d’URLpip install mkdocs-redirects
mkdocs-minify-pluginMinifier le HTML/CSS/JS générépip install mkdocs-minify-plugin
mkdocs-git-revision-date-localized-pluginAfficher la date de dernière modificationpip install mkdocs-git-revision-date-localized-plugin

Quand on renomme ou déplace une page, les anciens liens (favoris, runbooks internes, références depuis d’autres outils) renvoient une 404. Le plugin mkdocs-redirects résout ce problème en générant des pages de redirection HTML :

mkdocs.yml (extrait)
plugins:
- redirects:
redirect_maps:
'ancien-chemin/page.md': 'nouveau-chemin/page.md'
'guide/install.md': 'guide/installation.md'
'runbooks/rollback-v1.md': 'runbooks/rollback.md'

Règle DevOps : chaque renommage de fichier dans docs/ doit s’accompagner d’une entrée dans redirect_maps. C’est vital pour éviter les 404 dans les runbooks.

Exemple d’activation dans mkdocs.yml :

mkdocs.yml (extrait)
plugins:
- search:
lang: fr
- tags
- blog
- social
- privacy
SymptômeCause probableSolution
command not found: mkdocsMkDocs pas dans le PATHVérifier le virtualenv : source .venv/bin/activate
Config value 'theme': Uninstalled theme 'material'mkdocs-material pas installépip install mkdocs-material
Le live reload ne fonctionne pasNavigateur bloque les WebSocketsEssayer un autre navigateur ou vider le cache
WARNING - Doc file 'page.md' not foundFichier référencé dans nav absentCréer le fichier ou corriger le chemin dans mkdocs.yml
Port 8000 déjà utiliséUn autre processus écoutemkdocs serve -a localhost:8001
Build échoue en CIDépendances manquantesAjouter toutes les dépendances dans requirements.txt
Les diagrammes Mermaid ne s’affichent pasExtension superfences mal configuréeVérifier la section custom_fences dans mkdocs.yml
  • MkDocs génère un site statique à partir de fichiers Markdown et d’un seul fichier de configuration YAML (mkdocs.yml).
  • Material for MkDocs 9.7 est le thème de référence : mode sombre, recherche, admonitions, annotations de code, diagrammes Mermaid. Depuis la 9.7.0, toutes les fonctionnalités Insiders sont gratuites.
  • Verrouillez vos dépendances avec requirements.txt pour des builds reproductibles en équipe et en CI.
  • Les fonctionnalités essentielles (admonitions, onglets, code annoté, Mermaid) couvrent 90% des besoins d’une doc technique. Les grilles, tooltips, formatage avancé et boutons complètent au fil des besoins.
  • mkdocs serve pour la prévisualisation locale, mkdocs build --strict pour la production (détecte liens cassés et erreurs de configuration).
  • Le déploiement sur GitHub Pages se résume à mkdocs gh-deploy (branche gh-pages) ou à un workflow CI/CD. Protégez vos branches et installez depuis requirements.txt.
  • Utilisez mkdocs-redirects à chaque renommage de page pour éviter les 404 dans les runbooks et préserver le SEO.
  • MkDocs est stable et largement adopté. Material est en maintenance, l’équipe investit dans Zensical (nouveau générateur, compatibilité progressive avec mkdocs.yml).

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn