Déploiement
Mettre en ligne votre site avec GitHub Pages, un workflow CI/CD et les alternatives populaires.
GitHub Pages (manuel)
La méthode la plus simple :
Cela génère le site et pousse la branche gh-pages sur GitHub.
Prérequis
Activez GitHub Pages dans les paramètres du dépôt : Settings → Pages → Source → GitHub Actions
GitHub Actions (CI/CD)
Créez .github/workflows/deploy.yml :
name: Deploy ProperDocs site to GitHub Pages
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: pages
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libffi-dev
- name: Install Python dependencies
run: pip install -r requirements.txt
- name: Build site (strict)
run: properdocs build --strict
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: site
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
requirements.txt
Fichier minimal pour la CI :
properdocs==1.6.7
mkdocs-material[imaging]==9.7.1
mkdocs-rss-plugin==1.17.9
mkdocs-minify-plugin==0.8.0
mkdocs-git-revision-date-localized-plugin==1.5.3
mkdocs-redirects==1.2.3
Pas de pip freeze
Ne faites jamais un pip freeze complet - ça inclut des paquets inutiles qui rallongent le build CI.
Netlify
Fichier netlify.toml à la racine :
Vercel
Fichier vercel.json :
Déploiement local
Pour prévisualiser le site généré :
# Générer le site
properdocs build
# Servir les fichiers statiques
python -m http.server -d site 8000
Ou utilisez properdocs serve pour le dev avec hot-reload.