magentix

Développeur backend indépendant Web, e-commerce, Open-Source, low-tech, indie-web, slow-web, SSG, accessibility, PHP, Python

Billets : Stapy, le générateur de site statique en Python


Stapy, le générateur de site statique en Python

Par Matthieu le 18/01/2024

Stapy est le générateur de site statique en Python que je développe et utilise depuis maintenant 3 ans. L'idée est de proposer un SSG facile à installer et à utiliser.


Utilisateurs du SSG Stapy

Il existe des milliers de générateurs de sites statiques. Dans tous les langages. Nous avons l'embarras du choix. Certains très austères, développés par un développeur pour des développeurs. D'autres plus "marketing", avec présentation soignée et les arguments classiques (le meilleur pour le SEO, offre la meilleure performance, le plus sympa à utiliser...).

Au final, c'est assez personnel. Il faut en essayer plusieurs et peut être en trouver un dont on partage la philosophie. Pour ce qui est de la performance, cela ne dépend que de nous et de la façon dont nous allons gérer notre thème.

De mon point de vue, j'attends d'un SSG qu'il soit simple à installer, simple à comprendre, qu'il ne m'impose rien. Qu'il ne m'oblige pas à installer 25 outils pour fonctionner. Qu'il puisse tourner sur toutes les plateformes. Que je puisse déployer mon site comme je le souhaite.

Kev Quirk avait abordé le sujet de la complexité des SSG dans un article : Static Site Generators Are Easy to Use... Right?

I’m not against SSG's. I think they’re incredible pieces of software, which I use myself for certain projects, but please stop saying they're simple to use, because they are not.

La première fois que j'ai créé un site, au début des années 2000, j'étais sur le Windows familial. J'ai fait un clic droit dans un dossier pour créer un fichier index.html. Un deuxième clic droit pour générer un fichier style.css. Une fois les fichiers complétés, je les ai déposés avec un client FTP sur mon espace freenaute. J'avais un site. Une satisfaction énorme, juste avec quelques lignes.

J'ai donc développé Stapy avec l'idée que de créer un site pour partager sur le net ne devait pas être beaucoup plus compliqué. Le SSG doit être un outil pour faciliter l'assemblage de pages et non une usine à gaz imposant des technologies complexes.

Le choix de Python pour générer les pages a été guidé par le fait qu'il est disponible de base sur la majorité des distributions Linux, et qu'il s'installe facilement sur Windows via le Microsoft Store. De ce fait, je peux créer et générer un site sous Windows sans jamais taper une seule commande.

Stapy - Make a static website on Windows without command line (Youtube)

Je pense également que d'utiliser quelques éléments HTML pour rédiger un article n'est pas insurmontable (p, a, img, strong, em), même pour quelqu'un de non familier avec le développement.

L'éditeur permet d'ajouter des pages et de rédiger directement depuis le navigateur.

Image description

Mais Stapy est aussi extensible, car je ne souhaite rien interdire, comme rédiger en Markdown, dynamiser certains blocs avec du Python (plugins), intégrer npm, un framework, des librairies Python, déployer via une CI/CD, héberger l'éditeur et écrire depuis n'importe où. Il n'est pas dédié un à type de site (documentation, blog...). Je l'utilise pour mes sites institutionnels ou de vente (avec Snipcart).

Stapy ne fait pas de magie. Il ne révolutionne rien. C'est ou outil développé dans le but de partager sur le web avec simplicité.

Une question ? Rejoignez-moi sur le Fédivers :
@magentix@magentix.space