Aller au contenu

Publier un site statique

🤖 Rédaction assistée par IA.

Principe

Deuxième étape de docs as code : générer un site statique à partir des fichiers Markdown et le publier avec la fonctionnalité "pages" de l'usine logicielle (GitHub Pages, GitLab Pages). Le site apporte un menu de navigation, une recherche et une mise en forme homogène.

L'exemple ci-dessous s'appuie sur Material for MkDocs (voir Générateurs de site pour les alternatives).

Structure minimale

.
├── mkdocs.yml
└── docs/
    └── index.md

Avec un fichier mkdocs.yml minimal :

site_name: Ma documentation
theme:
  name: material
  language: fr

Prévisualiser en local

pip install mkdocs-material
mkdocs serve
# ouvrir http://localhost:8000

Publier avec GitHub Pages

Le workflow .github/workflows/ci.yml de ce site publie la documentation à chaque modification de la branche main avec mkdocs gh-deploy (voir Material for MkDocs - Publishing your site - GitHub Pages).

Publier avec GitLab Pages

Avec GitLab, un job pages produisant un dossier public dans le fichier .gitlab-ci.yml suffit (voir Material for MkDocs - Publishing your site - GitLab Pages) :

pages:
  image: python:3
  script:
    - pip install mkdocs-material
    - mkdocs build --site-dir public
  artifacts:
    paths:
      - public
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

Exemple

Ce site est un exemple complet : mborne/mborne.github.io (voir mkdocs.yml pour la navigation, les plugins et les extensions Markdown).

Pour aller plus loin : Contrôler la documentation en CI.