J'ai créé mon premier site web personnel il y a plus de vingt ans. À l'époque, je l'avais écris en bon vieux HTML4. La mise en page était faite à l'aide d'une série de tableaux imbriqués les uns dans les autres de façon très peu intuitive. C'était avant l'avènement du CSS.
Je suis ensuite passé aux sites dynamiques tel que Wordpress. Plus besoin d'écrire de code. On peut uniquement se concentrer sur le contenu. L'engin se charge du reste. C'était génial puisque je ne connaissait pas le JavaScript ni le CSS. Avec la popularité de la plateforme sont venus les problèmes de sécurité principalement causés par la multitude de modules d'extension (plugins) disponibles. Ce qui m'irritait le plus cependant était la difficulté à migrer le site vers un autre serveur. Bien qu'il existait des plugins pour aider la tâche, je finissais toujours par devoir aller tripoter la base de données. Ouach!!!
Ensuite est venu DokuWiki qui est également un engin de site dynamique. La différence avec Wordpress est que DokuWiki n'utilise pas de base de données pour stocker ses articles. Tous les articles sont stockés sous la forme de simples fichiers texte sur le serveur. Plus de problème de migration. Il suffit simplement de copier tout l'arbre de fichiers d'un serveur à l'autre. La création de copies de sauvegarde est en plus très simple. Génial!
J'ai utilisé DokuWiki pendant de nombreuses années jusqu'au moment où je tombe par hasard sur un article vantant les vertus des sites web statiques. Pas de base de données. Pas de PHP. On écrit les articles dans un langage de balisage (markup language) tel que le Markdown en ou le reStructuredText en utilisant l'éditeur de texte de son choix. On passe le tout à travers un processeur appelé directement de la ligne de commande et on retrouve la totalité de notre site web dans un répertoire sur notre disque dur. Il suffit alors de transférer le tout sur mon serveur et presto! Comme toutes les pages sont statiques, le site est plus difficile à pirater. S'il venait qu'à avoir un problème et que le site soit corrompu, je n'ai qu'à le régénérer et le transférer à nouveau sur le serveur.
Ce que j'apprécie le plus cependant est que je peux utiliser tous les outils de développement de logiciel avec lesquels je suis très familié. J'écris les articles en reStructuredText. J'utilise Vim qui est mon éditeurs de texte par excellence et Git pour archiver et gérer l'historique des articles. Tout se fait directement à partir de la ligne de commande. Je n'ai donc pas besoin de quitter la fenêtre du terminal qui est l'endroit où je passe 90% de mon temps. Écrire un article pour mon site web utilise donc exactement le même processus de travail (workflow) que pour le développement de logiciel.
Finalement, avec la multitude de générateurs de site web statique disponible, pourquoi avoir choisi Pélican? Tout simplement parce qu'il utilise Python qui est un langage de programmation que je maîtrise. Les générateurs les plus populaires utilisent le JavaScript, le Ruby ou le Go qui sont tous des langages de programmation que je ne connais pas. Bien qu'il ne soit pas nécessaire de connaître la programmation pour utiliser ces générateurs, çà reste utile si on a besoin de les modifier pour nos besoins.
La boucle est finalement bouclée. Après tout ce temps, me revoici au bon vieux HTML (5 plutôt que 4 et avec un peu de CSS)...