Skip to main content
Seb's blog
logo PassionGNU/Linux

Le site fonctionne sous Zola pour le moment mais pour combien de temps?

Zola fait le taf, rapidement de plus est, mais je suis en cours de test sur 11ty et il me correspondrait mieux pour avoir un truc totalement personnalisé par moi-même en plus, par contre en terme de vitesse, je trouve que c’est la catastrophe.

C’est catastrophique et je ne comprends pas pourquoi, il devrait être bien plus rapide en écoutant tout le monde du web. Par exemple, il devrait côtoyer Hugo en terme de rapidité, c’est du moins ce qui est sous-entendu dans le billet “Which Generator builds Markdown the fastest?”, billet pas si vieux puisque écrit en juillet 2022. Pareil sur le net, en cherchant un peu, j’en trouve facilement un autre ayant pour titre "
Turn Jekyll up to Eleventy
" qui raconte ceci --court passage–:

Eleventy est une alternative plus flexible à Jekyll. En plus d’être écrit en Node, il est moins strict sur la façon d’organiser les fichiers et, en plus de Liquid, prend en charge d’autres langages de modèles comme EJS, Pug, Handlebars et Nunjucks. Mieux encore, ses temps de construction sont nettement plus rapides (avec de futures optimisations promettant de nouveaux gains).

Je me rassure en regardant un autre comparatif de performances:

Comme prévu, Hugo est le plus rapide, quelle que soit la taille du site. Ce à quoi je ne m’attendais pas, c’est qu’il loin devant tous les autres générateurs, même sur une génération de base (il n’est pas non plus linéaire, mais nous reviendrons sur ce point.)

résultats

Ce qui est con, c’est que cette vitesse est promu par le projet lui-même, du moins son developpeur, je suis sûr d’une chose c’est que pour mettre ça en avant, il doit bien avoir une preuve.

Eleventy est flexible. Il veut travailler avec la structure de répertoires de votre projet.

Eleventy est rapide. Eleventy comprend un benchmark avec 10 000 modèles (12 Ko chacun, 120 Mo au total) qui s’exécutent en 17 secondes environ. C’est 1,7 ms par modèle.

Eleventy ne vous enferme pas dans un langage de modèle spécifique. Prêt à l’emploi, Eleventy fonctionne avec les fichiers HTML, Markdown, Liquid, Nunjucks, Handlebars, Moustache, EJS, HAML et JavaScript. Vous pouvez en utiliser un ou plusieurs. Vous pouvez les mélanger ensemble.

Eleventy est doucement itératif. Vous pouvez migrer lentement votre contenu existant pour utiliser Eleventy. Vous pouvez utiliser Eleventy pour migrer votre contenu vers un nouveau langage de modèle, un modèle à la fois.

Chez moi, ce n’est pas le cas, de loin en plus, il est légèrement plus rapide que Jekyll ou Pelican sans cache activé pour ce dernier, mais si j’active le cache c’est autre chose. Pour le moment j’ai fait un site “test”, en vrai j’ai pris le miens, j’ai viré tous les billets sauf les 100 derniers et j’ai testé. Je suis monté ensuite assez loin dans les tests, puisque j’ai multiplié les dites fichiers autant de fois pour faire des blogs de 200 billets, puis 300, puis 500, jusqu’à finir par un blog totalisant 10300 billets. Je sais c’est totalement déconnant comme approche mais c’est ce que j’avais fait comme test avec Pelican à l’époque et ce que j’avais trouvé comme temps de fabrication pour 700 billets était pas loin de ce que j’avais ces derniers temps avec lui. La somme des billets est déconnant tout autant, je le sais pour faire 10300 billets, il me faudrait faire un billet par jour et ce pendant 28 ans, en sachant que je suis dans les meilleurs moments à 6 ou 8 billets par mois.

Bref, revenons à ce test bancal dont je vous parlais, j’ai fait ça pour Jekyll, Hexo, Hugo, Zola, Pelican, 11ty (eleventy), j’ai passé de nombreuses heures et je notais tout sur des feuilles. Dommage du reste que ce soit sur des feuilles et non sur un calc de libreoffice, j’aurais pu balancer les chiffres ici-même. Mais bon je ne l’ai pas fait n’en parlons plus, grosso-merdo pour 100 billets en .MD, je suis dans les 80ms pour Zola, Hexo fait ça en 516ms, Hugo en 70ms, Pelican en 510ms et 11ty en 1 seconde, j’oublie Jekyll qui dépasse la seconde avec 1.15.

Hugo et moi, c’est une longue histoire dans le sens que je n’ai jamais pu rester dessus pour plusieurs raisons. Pour commencer, j’ai un soucis de template dont j’arrive pas à me faire, ça et que c’est un peu de la magie quand on essaie de modifier un thème, ça dépend du développeur du thème qui peut employer des termes différents que d’autres devs contrairement à Zola qui impose --à ce que j’ai compris-- une certaine rigueur dans le lexique… Ensuite, même avec une configuration des plus simpliste et classique, je me retrouve vite avec des temps de builds devenus bien plus longue que ce qu’ils devraient être, dépassant même Pelican (avec le cache). Et pour finir, la complexité de l’ensemble et ce malgré une documentation énorme et foutoir, me révulse.

Donc Hugo et à moins que j’ai le courage de sortir de mes travers, c’est mort.

Jekyll, je l’oublie de suite, Ruby et son environnement n’est pas pour moi, les montées de versions sont douloureuses (toujours pour moi), il est lent et ce malgré que de base il n’a rien…

Pour Pelican, c’est autre chose, il est top et rapide --assez-- avec son système de cache, le seul hic ce sont les thèmes, je ne trouve plus rien de moderne et de simple. C’est dommage, car il me convenait pas mal et supporte énormément de “choses salement faite”.

Hexo est celui qui m’a vraiment épaté et conquis, ses temps grâce à son cache sont correctes, tout dépendait du thème mais c’était un peu plus rapide que sous Pelican. C’est la bonne trouvaille, il reste un choix possible en cas où Zola me convient pas.

11ty ou eleventy, est encore un autre exemple, j’en ai vite fait parlé mais il est flexible et permet de faire un peu tout ce qu’on veut comme on veut. C’est du coup pour moi le moins simple mais il reste plus accessible et simple que Jekyll. Je suis toujours en cours de test, car il me permet d’avoir un look bien personnel sans me baser sur un thème. J’ai eu quelque chose de vraiment cool avec lui. Le hic si je peux dire, c’est que je ne le trouve pas plus rapide ou sinon j’ai raté la chose. C’est simple, il est plus rapide que Jekyll mais il est battu par les autres, la seule chose c’est que Pelican et Hexo utilisent un système de cache que je n’ai pas trouvé avec 11ty, du moins de base sans plugins (je regarde tout juste les plugins de ce GGS). C’est mon 1er choix pour la forme, pardon la personnalisation, la flexibilité, pas pour la vitesse. Ça changera peut être et sera certainement mon choix pour le blog si je trouve un truc pour le cache incrémentiel et rendre le build plus rapide.

On arrive à Zola, le 25 septembre 2020, je disais ceci:

Puis de Zola, qui contrairement à Hexo, fut LA bonne trouvaille, à tel point que si je l’avais connu plus tôt, je me serai penché sur lui et non retourné sur Hugo, le seul défaut que je peux lui trouver est le peu de thèmes disponibles.

Je dirais juste que le développeur a des opinions sur comment ça doit être et que donc Zola est opiniâtre. C’est mieux que la magie et le joyeux bordel de Hugo, ou encore le foutoir de eleventy dû à sa personnalisation. Il est rapide, c’est même plus rapide que Hugo chez moi, il est vraiment simple, c’est un unique binaire comme Hugo. Pour le moment c’est celui que j’ai pris pour remplacer Pelican. Le seul agacement qui pourrait rester, c’est le manque de thèmes.

Commencer la discussion: Venez écrire un commentaire dans le forum.