Déployer un site web statique personnel avec Pelican et Python

La création d'un blog ou d'un site web personnel est une démarche enrichissante pour tout développeur souhaitant documenter ses connaissances, partager ses découvertes ou simplement disposer d'un espace en ligne. Parmi les nombreux générateurs de sites statiques disponibles, Pelican se distingue comme une solution robuste, basée sur Python.

Pelican est un outil qui transforme des contenus écrits en Markdown, reStructuredText ou AsciiDoc en pages HTML statiques, des flux Atom/RSS, et bien plus encore. Son approche statique garantit une vitesse de chargement élevée, une sécurité accrue et une maintenance simplifiée. De plus, étant écrit en Python, il s'intègre naturellement dans l'écosystème Python des développeurs.

Installation des prérequis

Pour commencer, assurez-vous que Python est installé sur votre système. Ensuite, vous pouvez installer Pelican et le support Markdown via pip :

pip install pelican markdown --upgrade

Initialisation du projet

Créez un nouveau répertoire pour votre projet de site web et naviguez-y :

mkdir mon_site_statique
cd mon_site_statique

Lancez ensuite l'assistant de configuration rapide de Pelican :

pelican-quickstart

Cet assistant vous posera une série de questions pour configurer les bases de votre site. Vous pouvez choisir les options par défaut ou entrer vos préférences. Ne vous inquiétez pas, toutes ces configurations peuvent être ajustées ultérieurement dans les fichiers de configuration.

Après l'exécution de pelican-quickstart, votre répertoire de projet aura une structure similaire à ceci :

  • content/ : Où vous placerez vos articles et pages.
  • output/ : Le répertoire où les fichiers HTML générés seront stockés.
  • pelicanconf.py : Le fichier de configuration principal de Pelican.
  • publishconf.py : Configurations spécifiques pour le déploiement.
  • Makefile / fabfile.py : Scripts d'automatisation.

Création de votre premier article

Les articles sont généralement rédigés en Markdown et stockés dans le dossier content/. Créez un nouveau fichier, par exemple content/premier-article.md, avec le contenu suivant :

Title: Mon Premier Billet de Blog
Date: 2023-10-27 14:00
Modified: 2023-10-27 18:30
Category: Technologie
Tags: pelican, python, static-site
Slug: mon-premier-billet
Authors: Votre Nom
Summary: Un aperçu rapide de la création de mon premier article avec Pelican.

Ceci est le corps de mon tout premier article rédigé pour mon site Pelican. C'est simple et efficace !

Les lignes en début de fichier (Title, Date, Category, etc.) sont des métadonnées essentielles qui seront utilisées par Pelican pour organiser et afficher votre contenu.

Génération des pages statiques

Une fois votre contenu prêt, vous pouvez générer les fichiers HTML correspondants. Exécutez la commande suivante depuis la racine de votre projet :

pelican content

Cette commande analysera les fichiers de content/ et placera les pages HTML générées, ainsi que d'autres assets, dans le répertoire output/.

Gestion des thèmes

L'un des avantages des générateurs de sites statiquse est la richesse des thèmes communautaires. Pelican dispose d'une collection variée de thèmes pour personnaliser l'apparence de votre site. Vous pouvez explorer les thèmes disponibles sur pelicanthemes.com.

Pour appliquer un thème, vous pouvez le cloner dans un sous-répertorie de votre projet :

git clone https://github.com/getpelican/pelican-themes.git

Ensuite, ouvrez le fichier de configuration pelicanconf.py et modifiez ou ajoutez la ligne THEME pour pointer vers le thème de votre choix (par exemple, waterspill) :

THEME = 'pelican-themes/waterspill'

Après avoir modifié le thème, vous devrez régénérer votre site pour que les changements prennent effet :

pelican content

Prévisualisation locale

Pelican inclut un serveur web simple pour prévisualiser votre site localement. Après la génération, lancez le serveur avec :

pelican --listen

Vous pouvez alors accéder à votre site dans votre navigateur à l'adresse http://localhost:8000.

Déploiement

Le répertoire output/ contient tous les fichiers statiques nécessaires au fonctionnement de votre site. Pour le déployer, il suffit de copier le contenu de ce dossier sur n'importe quel service d'hébergement statique (GitHub Pages, Netlify, Vercel, AWS S3, etc.). Cette simplicité est l'un des atouts majeurs des sites statiques.

Étiquettes: Pelican Python Site Statique Générateur de Site Markdown

Publié le 24 juillet à 03h19