Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== 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 : <code> Website URL : https://[compte-mathrice].pages.math.cnrs.fr/[nom-du-repo]/ Server : https://plmlab.math.cnrs.fr/ Repository : monrepository Branch : main Token : ****************** </code> - **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 : <code yaml> image: alpine:latest create-pages: script: - echo "Deploying static site" pages: publish: public rules: - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH </code> ---- ===== É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 : <code> fdiaoune-monsiteweb-abc123.pages.math.cnrs.fr </code> 👉 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.