Ceci est une ancienne révision du document !


Création d'un site avec Publii et PLMlab


Publii est un logiciel (CMS) open-source qui permet de créer des sites web statiques.

Contrairement aux CMS classiques (comme WordPress), il ne nécessite pas de serveur dynamique ni de base de données : le site est généré en fichiers HTML, CSS et JavaScript, puis déployé facilement (GitHub Pages, Netlify, etc.).

👉 Avantages :

  • Rapide
  • Sécurisé
  • Simple à héberger

Lien de téléchargement → getpublii.com/download


PLMlab est une plateforme de type GitLab mise à disposition par le CNRS pour la communauté des mathématiques.

C'est une forge logicielle qui permet de :

  • Héberger du code (Git)
  • Collaborer sur des projets
  • Faire de l'intégration continue (CI/CD)
  • Héberger des sites web (GitLab Pages)

Terme Définition
Site public Accessible à tout le monde sur Internet, sans authentification.
Site privé Accessible uniquement à des utilisateurs autorisés (connexion requise).
Repository (repo) Espace de stockage d'un projet (code, fichiers, historique). En pratique, le repo correspond au nom du projet.

  1. Créer un nouveau repository sur PLMlab (public ou privé)
  2. Générer un Access Token :
    • Aller dans Settings → Access Tokens
    • Créer un token avec les droits Owner et api
    • ⚠️ Attention : le token est limité à 4 semaines par défaut
    • Copier le token (il ne sera plus visible après)

  1. Lancer Publii
  2. Aller dans : Server → GitLab Pages
  3. Configurer comme suit :
Website URL : https://[compte-mathrice].pages.math.cnrs.fr/[nom-du-repo]/
Server      : https://plmlab.math.cnrs.fr/
Repository  : monrepository
Branch      : main
Token       : ******************
  1. Sauvegarder les paramètres
  2. Lancer une première synchronisation
    • Cela envoie les fichiers vers PLMlab
    • Le dossier public/ apparaît dans le repo

  1. Dans PLMlab, aller dans Deploy → Pages
  2. Suivre l'assistant :
    • Step 1 : image Docker → alpine:latest
    • Step 2 : Installation → laisser vide
    • Step 3 : Build command → echo “Deploying static site”
  3. Valider → le fichier .gitlab-ci.yml est automatiquement créé

Exemple :

image: alpine:latest

create-pages:
  script:
    - echo "Deploying static site"
  pages:
    publish: public
  rules:
    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH

  1. Aller dans Build → Pipelines
  2. Attendre que le pipeline soit ✅ Passed

  1. Aller dans Deploy → Pages → Domains & Settings
  2. Décocher la case “Use unique domain”
  3. Cliquer sur Save changes

Si l'option est activée, l'URL change à chaque déploiement :

fdiaoune-monsiteweb-abc123.pages.math.cnrs.fr

👉 Publii a besoin d'une URL fixe pour générer correctement les liens, les images et le CSS.


  1. Retourner dans Publii → Server settings
  2. Remplacer Website URL par l'URL finale
  3. Relancer une synchronisation

🎉 Le site est maintenant en ligne !


Les changements ne sont pas instantanés.

À chaque synchronisation :

  • Un pipeline CI/CD est lancé
  • Délai : quelques secondes à quelques minutes

👉 Suivi : Build → Pipelines


Pour voir vos modifications immédiatement :

👉 Bouton “Preview your changes” dans Publii

Cela ouvre le site en local (file:/…'') avec les styles, images et la navigation fonctionnels.