Qu'est-ce que Publii ?

Publii est un logiciel de type CMS (content management system) 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 (GitLab Pages, Netlify, etc.).

👉 Avantages :

  • rapide
  • sécurisé
  • simple à héberger

Lien de télechargement -> https://getpublii.com/download/


Qu'est-ce que PLMlab ?

PLMlab est un des services de la PLM. C'est une instance de Gitlab mise en place pour les utilisateurs ayant un compte PLM.

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)

📖 Glossaire

  • Site public : accessible à tout le monde sur Internet, sans authentification (ex : une page professionnelle visible par tous).

  • Site privé : accessible uniquement à des utilisateurs autorisés (connexion requise, accès restreint).

  • Repository (repo) : espace de stockage d’un projet (code, fichiers, historique). 👉 En pratique, le repo correspond au nom du projet.


Étape 1 — Préparer le dépôt PLMlab

  1. Créer un nouveau repository sur https://plmlab.math.cnrs.fr (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)

Étape 2 — Configurer Publii

  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

Étape 3 — Générer le fichier .gitlab-ci.yml

  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

Étape 4 — Attendre la fin du pipeline

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

Étape 5 — Désactiver le domaine unique

  1. Aller dans Deploy → Pages → Domains & Settings
  2. Décocher la case "Use unique domain"
  3. Cliquer sur Save changes
  4. Copier l'URL du site (ex : https://fdiaoune.pages.math.cnrs.fr/monsiteweb)

❓ Pourquoi ?

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

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

👉 Problème : Publii a besoin d’une URL fixe pour générer correctement :

  • les liens
  • les images
  • le CSS

➡️ Il faut donc une URL stable

➡️ Important : s'il s'agit d'un site professionnel personnel, l'URL doit être de la forme id-PLM.perso.math.cnrs.fr


Étape 6 — Mettre à jour Publii

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

🎉 Le site est maintenant en ligne !


⚠️ Important — Délai de mise à jour

Les changements ne sont pas instantanés.

À chaque synchronisation :

  • un pipeline CI/CD est lancé
  • délai : quelques secondes à quelques minutes

👉 Suivi : Build → Pipelines


💡 Astuce

Pour voir vos modifications immédiatement :

👉 Bouton "Preview your changes" dans Publii

Cela ouvre le site en local (file:///...) avec :

  • styles OK
  • images OK
  • navigation OK