Hugo, je suis venu, j’ai vu, et j’en suis revenu

Quand j’ai commencé mon entreprise, j’ai voulu un site exemplaire en terme d’éco-conception : quelque chose de très simple, qui puisse tourner y compris sur des (très) vieux navigateurs, afin que les utilisateurs qui visitent mon site puissent allonger au maximum la durée de vie de leur équipement (pragmatiquement, ça veut dire « ne pas les obliger à changer d’équipement pour aller sur mon site »).

En parallèle, comme je revenais petit à petit dans la technique, je voulais faire quelque chose que je puisse proposer à un client lamba qui aurait un besoin de site web simple.

Mon idée était que sur le tout petit serveur mutualisé gratuit que j’avais eu avec mon nom de domaine (10Mo), j’arrive à faire tourner le site de manière statique.

Je me suis donc tourné vers les générateurs de sites statiques, comme Hugo, Jekyll et autres, pour minimiser la charge serveur. Mon site ne faisait pas de gros traitements, ne changeait pas tous les jours, donc dans l’absolu ne nécessitait pas de PHP/Mysql ou autre.

J’ai essayé, ça marchait, mais j’en suis revenu, pour des raisons aussi objectives que subjectives.

Pour les côtés positifs (j’avais utilisé Hugo) :

  • Les outils sont plutôt bien faits et simples d’utilisation. Une fois la conf initiale créée et mon VS code paramétré (ça prend du temps mais c’est largement compréhensible par n’importe quel informaticien), tout était généré correctement, de manière très rapide.
  • L’écriture en Markdown est vraiment agréable. Et dès qu’on a pris le coup de main, on est presque aussi à l’aise dans l’éditeur de texte que dans le rendu final.
  • C’est en effet très rapide et très léger côté serveur. Un fois le site généré avec Hugo, un petit coup de FTP et en quelques secondes c’est à jour.
  • Pas de bdd à sauvegarder, pas de PHP à mettre à jour… La maintenance de l’environnement applicatif est pour le moins inexistante !
  • Ca va viiiiite. Les temps de réponse sont juste excellents, même avec un hébergement d’entrée de gamme, et une connexion internet de mauvaise qualité. De plus le côté statique est évidemment excellent pour la mise en cache. Si on se balade sur le site et qu’on revient sur une page précédente c’est instantané
  • Comme pour la plupart des outils web, il est utile d’avoir un thème de base sur lequel s’appuyer, et le choix du thème zen pour hugo était très satisfaisant. Très léger côté client, et n’utilisait pas de fonctionnalités trop sophistiquées qui auraient pu empêcher le fonctionnement sur des navigateurs « anciens ».

Par contre plusieurs points m’ont fait revenir vers un site plus classique

  • Le principal inconvénient que j’ai rencontré était l’absence de décorrélation entre la partie « éditeur de contenu » et la partie « technique du site ». C’est très agréable quand on fabrique le site, par contre à l’utilisation c’est assez pénible. Peut-être qu’une configuration plus poussée m’aurait permis de mieux séparer les deux parties, ou que des outils existent pour mieux gérer ça, mais clairement je ne les ai pas trouvé.
  • Ensuite, le fait d’avoir un site purement statique est très limitant (par définition) sur les aspects « dynamiques ». Par exemple pour les commentaires du site, j’ai utilisé l’intégration Disqus. Sur le principe tout allait bien. Toute la page était statique et les commentaires étaient chargés sur un autre service, qui plus est un service mutualisé et spécialisé. Par contre, le chargement des scripts disqus augmentait considérablement le poids des pages. A tel point que pour un article très simple (dans mon cas !), le chargement des commentaires était plus lourd que le chargement du reste de la page ! Et les autres intégrations de commentaires étaient soit avec les mêmes écueils, soit nécéssitaient que j’installe moi même un PHP ou un Python pour auto héberger mon système de commentaires (du coup ça réduit quand même fortement l’utilité d’un site statique 😅)
  • Enfin, et c’est personnellement ce qui m’a fait renoncer, le fait qu’un utilisateur lambda ne soit pas autonome sur de la contribution au contenu. Pour mon site, c’est pas gênant. J’allume mon pc, je copie/colle mon contenu que j’ai écrit ailleurs (souvent dans un brouillon de mail, c’est l’avantage du markdown !) je regénère, j’uploade et hop c’est en ligne. Mais par contre, et c’est beaucoup plus gênant pour un site ou je ne suis pas le contributeur principal. Si une autre personne, souvent néophyte en informatique, veut écrire quelque chose, alors deux options :
    • la personne m’envoie le contenu et je l’intègre. Autant dire que personne en 2019 ne veut être lié à son prestataire technique pour faire évoluer son contenu !
    • je crée tout un système pour que la personne pose le contenu quelque part et qu’il soit intégré automatiquement (intégration, génération, upload). C’est possible (voir ici), soit en passant par un service externe soit en le faisant soi même. Mais là aussi, du coup, pour un besoin modéré, on perd quasiment tout l’intérêt du statique !

Donc, comme vous pouvez le constater, je suis revenu sur un WordPress plus classique. Il est important de noter que « oui, du coup côté serveur il y a plus de traitements », mais que si on se concentre sur le point principal en écoconception, à savoir quelque chose de léger et capable de fonctionner sur des terminaux relativement anciens, c’est tout à fait possible, même avec un wordpress à jour et avec quelque chose de pas vilain ! Je vous expliquerai dans un prochain billet les themes et plugins que j’utilise pour ça.

En guise de demi conclusion sur Hugo et les sites statiques, je pense vraiment que c’est une excellente solution pour un site qui remplit les conditions suivantes

  • C’est un site avec beaucoup de trafic. Assez pour que la la différence de charge serveur soit pertinente. Si ça vous fait économiser un nombre significatif de serveurs, allez y. Si c’est pour votre blog et que votre serveur va passer de 0,5% de CPU en moyenne à 0,3%, ça vaut peut être pas le coup.
  • C’est un site qui change peu. Si vous devez republier 10 fois par jour, ça va être pénible à gérer sans automatisation massive (sans compter qu’il y a des grosses différences de performance en terme de temps de publication
  • C’est un site pour lequel la publication de contenu peut être simplifiée. Si tout le contenu vient d’une CRM, d’un autre outil, et que vous êtes capable d’importer le contenu, bingo. Par contre si vous voulez apprendre Markdown à votre patron, bonne chance 😉

Ceci étant, on voit que les technos évoluent très rapidement sur ces sujets. La hype sur la JAMstack semble vraiment intéressante pour ceux qui veulent une boite à outils bien fournie et de plus en plus de solutions sortent en se concentrant sur l’un ou l’autre des aspects qu’ils soient en terme d’administration, de gestion de contenu, ou de spécialisation sur un marché bien précis (quelques idées intéressantes à regarder ici). Plein de bonnes choses en perspective !

3 réflexions au sujet de “Hugo, je suis venu, j’ai vu, et j’en suis revenu”

    • C’est vrai que ça commence à bien bouger, après clairement ça devient des choix multi-multi-critères et du coup c’est des fois bien bien complexe de choisir son camp 😀

      Répondre

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.