====== 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.