Je me remets à tester des GSS.
Pélican me suffit mais des fois il est important de ne pas se contenter de ce qu'on a, je suis donc depuis quelques jours, sur un projet pour migrer mon site.
Sans donner un ordre particulier, je teste Pélican (plusieurs thèmes et réglages), Hugo, Hexo (oui je lui redonne une chance et ça passe bien mieux), Zola, Jekyll (juste pour la forme) et pour finir un petit dernier de 2018 je crois, 11ty ou eleventy.
Sans grands secrets, je peux annoncer que je n'irais pas sur Jekyll, j'ai beau essayer, plutôt retenter puisque mon blog fut un temps propulsé par lui, mais là je n'y arrive pas, pour plusieurs raisons. Tout d'abord la lenteur, il prend 3.53 secondes pour fabriquer le blog actuel c'est à dire environ 700 posts et 11.48 secondes pour 1906 billets, plus précisément car j'ai fait un benchmark sur l'ensemble des GSS testés, c'est le plus lent si on utilise pas le système de cache qui est dans sa version 3.x peu pratique. En fait, ce n'est pas le plus lent, Pélican pour le coup y est bien plus propose en sortie de boite bien plus de choses. C'est surtout celui qui est le plus nu dans sa sortie de boite, je sais ça se change mais le coup des thèmes qui nécessitent des plugins, puis aussi GEM à lui seul me rebute.
J'ai donc été voir du coté de Hexo, juste avant ça marchait bien, mais maintenant avec un site de plus de 1900 billets (56sec contre 11.48 pour Jekyll), ça ne passe plus et je me retrouve avec un soucis de temps dépassé alors que j'avais fait plusieurs essaies avant avec les mêmes billets (ceux des news d'openSUSE). J'ai bien aimé, c'est peut être mon chouchou, mais au moins deux choses me déplaisent en dehors du fait que je n'arrive plus à fabriquer un site avec 1900 billets, c'est les thèmes qui sont majoritairement en asiatique, du coup il en reste que peu qui soit pour nous. L'autre chose est le temps de compilation du site, pour mon blog et ses 700 billets, ça donne 5.70 secondes puis avec le cache incrémentiel 3.20 secondes. Je vais retenter un build des 1900 billets en essayant de trouver ce qui coince, je suppose un billet avec du code.
Hugo et Zola me font ça en moins d'une seconde, je peux pas dire qui est le plus rapide, c'est 390ms pour +700 billets et les 1900 sont fait en 711ms. Je peux pas dire qui va le plus vite entre les deux, car un instant c'est Hugo qui va nous faire 1 billet en 27ms puis Zola en 31ms et l'instant d'après c'est l'inverse. Par contre je ne sais pas si je veux me faire chier avec eux, Zola est plus simple qu'Hugo, la doc est un peu vide mais c'est plus facile de comprendre car Hugo en fait trop. Si on veut quelque chose de rapide, faut essayer l'un des deux, c'est les plus rapide que j'ai vu et j'en ai vu pas mal! Hugo a beaucoup de thèmes, Zola est en manque de ce coté là mais c'est dû à son jeune age. Du coup, je me sentirai mieux sur Zola pour la compréhension mais vu que je reproche déjà un manque de thèmes pour Pélican, je n'irai pas dessus pour la même raison. Et pour Hugo, c'est simple, une mauvaise configuration et hop les temps se multiplient à l'infini, j'ai eu par exemple le cas avec un mauvais layout, du coup les 1900 billets se sont fait en 10 secondes au lieu de 700ms.
Pélican, celui que j'utilise actuellement, n'est pas le plus chouette, ni le plus populaire, ni le plus aimé, ni le plus moderne, ni le plus rapide, ... J'aime bien et je l'ai choisi pour plusieurs raisons, il est disponible dans toutes les distributions, ce qui évite d'utiliser pipe
, il est en python qui lui est déjà installé sur ma bécane car utilisé pour de nombreuses application (comme deluge), il pardonne ma fainéantise et il compense mes lacunes, du coup quand je veux importé sur un autre moteur c'est la merde car les autres sont plus carrés. Un exemple tout con est la date, je n'ai pas fait gaffe mais mon script qui me fabrique mon fichier avec dedans les métadonnées déjà pré-remplie, donne des mois comme 1-2-3-4-5-... oui il n'y a pas de zéro, les autres SGG me font des grimaces mais pas Pélican. C'est un exemple comme ça parmi un nombre incalculable de conneries que je fais. Je m'en suis rendu compte là en testant à nouveau les moteurs. Pour les 1900 billets c'est en 18 secondes que ça se passe, puis avec le cache c'est 6.63 tandis que les 700 billets se font en 6.72 secondes puis en 2.54.
En fait, avec Pélican, je suis toujours avec le cache sauf quand je change de thème, c'est pourquoi je dis qu'il est plus rapide que Jekyll car son cache est vraiment fonctionnel. Alors que Jekyll et son cache, j'ai eu des misères qui m'obligeait souvent à builder sans.
Si je devais trouver un soucis avec ce dernier, je parlerai des thèmes vieillots, des plugins qui ne sont pas forcément entretenus. Pour ma part j'utilise aucuns plugins car de boite il fait déjà tout ce dont j'ai besoin.
Le petit dernier, mais pas des moindres, date de 2018, je parle de 11ty, il est totalement flexible, s'adapte à ce qu'on a. La courbe d'apprentissage pour le débutant que je suis est abrupte, c'est --je trouve-- le plus dur à prendre en main car justement il ne précise pas de cadre.
- Eleventy construit rapidement des sites Web rapides. Présenté à l'origine comme l'alternative JavaScript à Jekyll, Eleventy est devenu un générateur de site Web moderne et populaire .
- Eleventy est sans configuration (par défaut) avec des options de configuration flexibles.
- Eleventy utilise des langages de modèles indépendants . Nous ne voulons pas prendre votre contenu en otage avec un format personnalisé. Si vous décidez d'utiliser une syntaxe différente ultérieurement, le découplage de votre contenu de cette manière facilitera la migration.
- Eleventy fonctionne avec plusieurs langages de modèles . Vous pouvez en choisir un ou les utiliser tous ensemble dans un seul projet : HTML*.html Réduction*.md Javascript*.11ty.js Liquide*.liquid Nunjucks*.njk Guidon*.hbs Moustache*.mustache EJS*.ejs Haml*.haml Carlin*.pug Personnalisé*.*
*Eleventy n'est pas un framework JavaScript, ce qui signifie qu'il n'y a pas de JavaScript standard côté client . Nous envisageons à long terme de nous retirer de la course effrénée du cadre. La chaîne d'outils, les modules et les composants que vous utilisez dans votre pile frontale sont découplés de cet outil. Travaillez à partir d'une base solide de modèles pré-rendus qui répondent aux exigences de base d' amélioration progressive de votre projet.
- Eleventy fonctionne avec la structure de répertoires existante de votre projet et permet une adoption incrémentielle . Vous n'avez pas besoin de démarrer un projet Eleventy à partir de zéro. Eleventy est suffisamment flexible pour ne permettre la conversion que de quelques modèles à la fois. Migrez aussi vite ou aussi lentement que vous le souhaitez.
- Eleventy fonctionne très bien avec les données : utilisez les informations préliminaires et/ou chargez à partir d'une API en utilisant des fichiers de données à injecter dans vos modèles.
C'est sur celui-ci que je pense miser mais faudra d'abord que je le maitrise et c'est pas chose gagné. Je vais m'y plonger et on verra bien.
Comme je vous le disais, j'ai à nouveau tenté avec Hexo et les 1900 billets, ça marche, je comprends pas ce que j'ai fais de plus ou de moins, en tout cas le temps est bien plus long que pour Jekyll, c'est dans les 56 sec.
Affaire à suivre.
Commencer la discussion: Venez écrire un commentaire dans le forum