Aller au contenu principal

Installation et utilisation de Nikola

/images/previews/preview_nikola-blog-logo.svg

Présentation du générateur de blog statique* propulsé par Nikola, et écrit en Python. J'explique pas à pas, comment l'installer, l'utiliser et le mettre en production, mais aussi comment écrire vos articles au format reStructuredText et pourquoi ce format est vraiment intéressant pour un auteur

Sommaire

Installation de Nikola

Avant tout, je vous recommande de l'installer en local. Inutile de l'installer sur un serveur, puisque votre site sera prêt dans un dossier que vous n'aurez qu'à envoyer à votre serveur.

L'installation est accessible à tous et particulièrement simple.

nikola-install-python-debian.sh (Source)

#!/bin/sh
# sudo est votre ami...
whereis python # Python est installé ?
apt-get install python3 # Installation de Python
apt-get install python3-venv # virtual env (Debian/Ubuntu)
python --version # python: quelle version ?

# python: introuvable ? Ajouter le lien symbolique
ln -s /usr/bin/python3.9 /usr/bin/python

# Installation de la zone locale
pip install tzlocal

# venv : Cr&ation d'un Environnement virtuel
python3 -m venv ~/venv/nikola

# On peut sourcer son blog dans .bashrc
# pour que la commande nikola soient utilisable automatiquement
# Mais placez vous dans votre projet de blog
echo 'export PATH="$HOME/venv/nikola/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# Allons dans notre nouvel environnement virtuel
# Installons les dépendances
# et bien sûr son moteur de blog
cd ~/venv/nikola
source bin/activate
bin/python -m pip install -U pip setuptools wheel
bin/python -m pip install -U "Nikola[extras]"

# Rappel pour un peu d'aide et voir les arguments
nikola help # Ou nikola help [COMMAND]

# Initialiser son nouveau site (vierge)
# Il est recommandé de ne pas le placer dans son venv
# mais dans /srv ou /www ou même dans son $HOME
nikola init ~/blog.mondomaine.tld

# Répondez aux quelques questions de configurations
# INFO: init: Created empty site at /home/user/blog.mondomaine.tld

# Installer un thème
cd ~/blog.mondomaine.tld
nikola theme -i [MONTHEMEPREFERE]

# Ouvrez le fichier conf.py à la racine de votre blog
# Modifiez le paramètre THEME comme ceci
# THEME = "bootblog4"
THEME = "MONTHEMEPREFERE"

Ces moteurs de blogs statiques sont fournis avec un serveur interne afin de les préparer avant le grand déploiement. Vous pouvez donc déjà mettre vos photos dans le dossier "galleries" (les images pour vos articles dans le dossier images), et vos articles dans le dossier posts, avant de lancer les commandes suivantes pour le tester et le préparer en local. Rendez vous ensuite à l'adresse http://127.0.0.1:8000

cd ~/blog.mondomaine.tld
nikola build # Construit les fichiers HTML
nikola serve # Lance le serveur (CTRL+C pour le quitter)

Maintenance et mises à jour

Pour mettre à jour son blog, on met à jour le système, l'environnement virtuel, et dans le dossier de son blog, pip et nikola.

apt update && apt upgrade
python -m venv --upgrade ~/venv/nikola
python -m pip install --upgrade pip tzlocal setuptools wheel

cd ~/venv/nikola
python -m pip install --upgrade "Nikola[extras]"

Le générateur de blog Nikola

Nikola est un générateur de blog statique libre à code source ouvert sous licence MIT, et traduit dans 50 langues. Son rôle est de générer le rendu des pages HTML à chaque fois qu'on lui apporte de nouveaux contenus, en s'appuyant sur un thème squelette.

Les fichiers de sortie sont préparés en amont, et le navigateur n'a plus qu'à les lire ; ce qui signifie qu'il n'y a plus besoin d'interprêteur comme PHP, ni même de base de données à remplir.

En cas de nouvel article ou modification d'un ancien, la génération des fichiers est extrêmement rapide puisque Nikola régénère que ce qui a changé. De plus, les besoins en ressources du serveur sont très faibles puiqu'il n'y a pas besoin de générer les pages pour chaque clic d'un internaute, mais seulement quand l'auteur apporte des modifications.

C'est le principe d'un site statique, contrairement au dynamique.

Guide et astuces

Ressources