Ceci est une ancienne révision du document !


# 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élechargement → https://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

* 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 PLMlab (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 :

```

4. Sauvegarder les paramètres

5. 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 :

```yaml 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

## É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