====== 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 → [[https://getpublii.com/download/|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.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 =====
- 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.