Création d'un site avec Publii et PLMlab
Qu'est-ce que Publii ?
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
Qu'est-ce que PLMlab ?
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)
📖 Glossaire
| 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. |
Étape 1 — Préparer le dépôt PLMlab
- Créer un nouveau repository sur PLMlab (public ou privé)
- 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
- Lancer Publii
- Aller dans : Server → GitLab Pages
- 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 : ******************
- Sauvegarder les paramètres
- 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
- Dans PLMlab, aller dans Deploy → Pages
- Suivre l'assistant :
- Step 1 : image Docker →
alpine:latest - Step 2 : Installation → laisser vide
- Step 3 : Build command →
echo “Deploying static site”
- Valider → le fichier
.gitlab-ci.ymlest 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
- Aller dans Build → Pipelines
- Attendre que le pipeline soit ✅ Passed
Étape 5 — Désactiver le domaine unique
- Aller dans Deploy → Pages → Domains & Settings
- Décocher la case “Use unique domain”
- Cliquer sur Save changes
- 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
👉 Publii a besoin d'une URL fixe pour générer correctement les liens, les images et le CSS.
Étape 6 — Mettre à jour Publii
- Retourner dans Publii → Server settings
- Remplacer Website URL par l'URL finale
- 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 les styles, images et la navigation fonctionnels.