Installer Pelican

Temps de lecture : 3 minutes

En ce moment, j'entends beaucoup parler des générateurs de sites statiques et j'ai envie d'essayer pour voir si cela serait possible d'en utiliser un pour remplacer Spip.

Comme je fais du python à mon travail, j'ai décidé d'utiliser un générateur écrit dans ce langage.
Pelican est un générateur de site statique écrit en python.
Pelican est l'anagramme de calepin.

L'objectif premier est de recréer complètement le site www.olivierwebgarden.fr avec Pelican.

Avant propos

Tout ce qui est décrit par la suite est réalisé avec les outils suivants :

Logiciels

  • Ordinateur sous linux (KDE Neon 5.17 équivalent à Ubuntu 18.04 LTS)
  • Utilise le langage python3 installé par défaut (version 3.6)
  • Pas d'utilisation d'un environnement virtuel pour python
  • Les commandes sont tapées dans un terminal (par ex. Konsole pour neon)
  • Les articles sont rédigés en markdown dans un éditeur de texte (pour l'instant Kate)

Matériels

Pour mieux comprendre les chiffres annoncés :

  • Mémoire : 7,7 Gio de mémoire vive
  • CPU : 2 x Intel Pentium CPU G3220 @ 3.00 Ghz
  • Disque dur SSD : 1 To Samsung 860 QVO, SATA III 6 Go/s, 1 Go de mémoire cache, Lecture 550 Mo/s, ecriture 520 Mo/s, 96k/89k

Installation

Dans un terminal, taper python3 -m pip install pelican[markdown]. l'ajout de markdown entre crochets permet d'installer le paquet markdown et permettre d'écrire des articles avec ce format. Sinon, on peut faire une installation simple puis de charger le paquet markdown par la suite.

Dans neon, il existe un paquet pelican mais il est assez ancien (version 3.7). L'installation via pip permet d'avoir la dernière version de Pelican (4.2 au 07/01/2020).

Pelican s'installe ainsi que les dépendances nécessaires à son fonctionnement.

Ensuite, créer un répertoire spécifique au site. Dans un terminal, taper la commande mkdir -p /home/olivier/projets/owg (adapter cette commande, là c'est pour moi 🙂 ) et s'y rendre. Ce répertoire représente la racine du site.

Initialisation

À la racine du site taper la commande pelican-quickstart et cela lance une procédure d'initialisation. Un jeu de questions qui permet une première configuration du site.

Arborescence initiale

La procédure d'initialisation met en place une structure de fichiers et de répertoires.

├── content
│   └── installer-pelican.md
├── Makefile
├── output
├── pelicanconf.py
├── publishconf.py
├── __pycache__
│   └── pelicanconf.cpython-36.pyc
└── tasks.py

Les articles seront créé dans le répertoire .content/.

Modifier la configuration

Quand on lance pelican-quickstart, répondre fr à la question ne suffit pas pour afficher les dates au format français.

Il faut ajouter les locales à la configuration.
LOCALE = ('fr_FR', 'fr')

Publier localement le site statique

À la racine du site et taper la commande make publish

Exemple pour 42 articles :


pelican /home/olivier/projects/owg/content -o /home/olivier/projects/owg/output -s /home/olivier/projects/owg/publishconf.py
WARNING: Feeds generated without SITEURL set properly may not be valid
Done: Processed 42 articles, 0 drafts, 0 pages, 0 hidden pages and 0 draft pages in 1.25 seconds.

Cela créé le site statique dans le répertoire _output_

Supprimer le site statique généré

À la racine du site et taper la commande make clean


olivier@olivier-All-Series:~/projects/owg$ make clean
[ ! -d /home/olivier/projects/owg/output ] || rm -rf /home/olivier/projects/owg/output

Cela supprime simplement le répertoire output et son contenu. Il sera régénéré à la prochaine publication.

Affichage du site en local

À la racine du site taper la commande pelican --autoreload --listen


-> Modified: content, theme, settings. re-generating...
Done: Processed 42 articles, 0 drafts, 0 pages, 0 hidden pages and 0 draft pages in 0.90 seconds.

Cette commande permet d'afficher le site local dans un navigateur web à l'adresse http://localhost:8000/

En plus, cette commande écoute le répertoire content (là où les articles sont écrits) et met automatiquement à jour le site si nécessaire.

Conclusion

L'installation de Pelican en local est simple et rapide.

Sa mise en œuvre ne présente pas de difficulté et se réalise le plus simplement du monde à la ligne de commande dans un terminal.