Sigal, générateur de galerie statique

Il y a quelques temps, j’avais besoin de mettre en ligne une galerie photo toute simple. Pour ce type de besoin, et pour un truc qui n’évolue pas dans le temps, mettre en place une solution type Piwigo est un peu lourd. Pourquoi s’embêter à mettre en place et maintenir du PHP et une base MySQL quand quelques fichiers HTML et une bonne bibliothèque javascript telle que galleria suffisent ? Il ne me manquait pour celà qu’un script pour préparer les photos et générer les pages HTML qui vont bien …

Après un petit tour des solutions existantes, ne trouvant pas vraiment d’outil correspondant à ce simple besoin, j’ai commencé à développer Sigal: un générateur de galerie statique, permettant d’utiliser galleria ou colorbox pour gérer l’affichage des photos. Actuellement, les fonctionnalités sont les suivantes:

  • traitement récursif des répertoires,
  • redimensionnement des photos et création des miniatures,
  • génération des pages HTML avec des templates Jinja2 et gestion de thèmes.

C’est libre (licence MIT), écrit en Python, et le traitement des images est basé sur PIL ou son fork Pillow.

Petit guide de démarrage

La documentation étant en anglais, voici un petit guide pour commencer à utiliser Sigal. On commence par l’installation, simplement avec pip (ou easy_install):

$ pip install sigal

Pour créer une galerie, sigal init copie un fichier de configuration dans le répertoire courant, à éditer si besoin. Ce fichier contient toutes les options de configuration avec une description pour chaque option.

Ensuite, après avoir créé un répertoire avec les photos, sigal build le_repertoire_avec_les_photos permet de générer la galerie (qui par défaut se trouvera dans le répertoire _build).

Enfin sigal serve permet de lancer un serveur pour visualiser la galerie en local avant de la transférer sur un serveur web. On peut aussi faire sans le serveur local, il sera alors utile de mettre l’option index_in_url à True pour ne pas avoir à sélectionner le fichier index.html à chaque changement de répertoire).

Commentaires