Beaucoup de mes sites (dont la partie "site" de ce blog) sont créé à l'aide du générateur de site static "eleventy". Un generateur de site statique est un outil qui nous permet d'avoir notre site sous forme de fichier markdown et/ou de template, et cela construit un site statique à partir de tout ça. J'aime bien eleventy, qui m'a permis de facilement construire des sites que j'ai trouvé assez fun à faire, tel que le site de mon JDR erratum, mes fansites Sonic et Pokémon, et quelques autres trucs.
Cependant, j'ai commencé à avoir des doutes sur le fait de conserver cette façon de faire. Voici les différentes raisons qui font que je me sens moins à l'aise avec eleventy :
- Tout d'abord, NPM. Il y a eu ces dernières années beaucoup d'attaques à partir des dépendances NPMs, et en fait je suis pas 100% à l'aise avec devoir gérer ce genre de chose sur mes PCs perso.
- Le projet est cool, mais sur certains de mes sites je rencontrais quelques limites, par exemple kazhnuz.space contient un peu de PHP intégré pour certaines de ses fonctions.
- eleventy a rejoint Font Awesome, l'entreprise qui gère la célèbre police d'icone, et a été renommé en Build Awesome, et va notamment avoir une version pro.
Si je suis tout a fait à fond dans le droit des devs à manger à leur faim, cela m'embête ici que se soit sous le couvert d'une grosse entreprise, Font Awesome ayant quand même été bien paywall depuis sa transition à un gros projet pro. Si c'est toujours le même créateur à la barre, combien de temps cela va durer ? Est-ce qu'il y a autant zéro risque qu'il le dit ? Parce que c'est toujours ce qu'on entend quand un projet fini sous la coupe d'une plus grosse entreprise. Du coup, cela fait que j'ai commencé à me demander : et si je refaisait mes sites ?
J'ai à l'heure actuel les sites suivant qui utilisent eleventy :
- La page d'accueil de Kobold Cafe
- Le portail web Kobold Start
- kazhnuz.space (partie site)
- La Documentation Eternal Engine
- Le fansite Pokémon Missing Number
- Le site web de pelican (mon système générique de JDR)
- Le site web d'erratum, mon univers de JDR fantasy urbaine
- Cela représente du coup deux versions à adapter.
- La petite page "nodrm" pour quarante-douze
- L'annuaire de site web francophone tramweb
Sur ces sites, certains sont très simples à transformer : Kobold Cafe, Kobold Start et nodrm sont des pages simples. Pour ces trois sites, j'ai fais les choix suivants :
- Kobold Cafe va devenir une page HTML pure, que je vais déployer bientôt.
- Kobold Start a été converti en PHP, étant une page PHP simple, a déployer bientôt aussi.
- NoDRM est désormais juste une page statique sur quarante-douze.
Deux autres sites vont être fusionné à des sites sous Koblog :
- kazhnuz.space et blog.kazhnuz.space vont à nouveau être un seul site (avec des redirections) utilisant le moteur du blog.
- Eternal Engine va être entièrement un seul site, utilisant koblog également.
Cela affecte la version 1.1.0 de Koblog, ou je vais tenter d'avoir les différentes fonctionnalités qui me manquent pour que Koblog ai tout ce dont le site/blog ai besoin :
- Capacité de masquer certaines catégories
- Capacité d'accéder facilement aux pages parent, enfant et adelphes (d'un même parent)
- Capacité de facilement lister les pages lié à un tag ou une catégorie
- Support du protocol de bouton 88x31 (besoin pour le site)
- Support du protocol fursona (okay c'est peut-être pas si… quoique si c'est essentiel)
- Un moyen simple pour moi de gérer mes articles multi-chapitres.
Mon but est d'avoir un Koblog qui soit parfait pour créer un blog ou site personnel, et via le dogfooding je tente de voir les fonctionnalités dont j'ai besoin !
Pour le reste (c'est à dire quatre site), je vais voir pour chacun la solution la plus adaptés :
- Pélican : J'hésite entre juste en faire une page sur kazhnuz.space (mais j'ai peur que ce soit un peu long, donc potentiellement une page avec plusieurs pages-filles)
- Erratum : Je suis en train de coder en PHP un petit générateur (dynamique du coup) de site compatible avec les fichiers contenus d'eleventy. Je suis pour l'instant capable de parser à peu prêt les fichiers, de récupérer le frontMatter et de construire (pour l'instant sans cache) l'arbre de navigation des pages. Il y a encore pas mal de taff, mais je pense pouvoir faire un truc pas mal. Je le fais d'abord pour la version 3, puis ensuite je vais adapter à la version 2.
- Missing Number utilisera ce même système, je vais copier/coller le code mdr.
- Tramweb utilisera soit le même système, soit je vais le passer sur une sorte de "wiki quarante-douze" sous dokuwiki ou j'aurais tout ce genre de listing.
Tout ces codes seront bien sûr open-source, et réutilisable si vous voulez :) C'est pas mal de taff dont je me serais bien passer, mais mon but est d'être plus tranquille sur tout ça dans le futur. Pour erratum, cela m'aideras quand je voudrais rajouter des fonctionnalités en plus aussi.