J’ai failli abandonner WordPress…

Depuis plusieurs années, j’ai envie d’abandonner WordPress. Non pas que le CMS le plus populaire sur internet soit vraiment un problème, mais je me suis lassé de ses lourdeurs, de ses multiples extensions et surtout de son code PHP souvent assez lourd. Lourd pour le serveur, mais aussi, il faut être honnête, pour moi qui ne suis pas développeur. Modifier le thème est toujours assez compliqué, on fait souvent des erreurs (il suffit d’oublier un point virgule), bref, c’est contraignant.

Ainsi, j’ai essayé à plusieurs reprises des moteurs de blogs statiques qui permettent de générer l’intégralité du site sur son ordinateur, et de ne publier que des fichiers HTML sur le serveur. Une approche qui a plusieurs avantages, à commencer par la légèreté du site final. Il n’y a plus de bases de données, plus de création à la volée des pages, tout est prévu à l’avance et le serveur ne sert que du contenu HTML. Par ailleurs, cette solution simplifie le développement, puisque l’on ne travaille qu’en local. On génère le site et si tout est cassé, il suffit de modifier, générer à nouveau l’ensemble et c’est terminé. Quand tout est prêt, on synchronise le serveur.

Une ligne de commande pour générer tout le blog
Une ligne de commande pour générer tout le blog

Cette approche est séduisante, mais elle a aussi des défauts. Elle fonctionne très bien pour un petit blog, avec peu de fonctions évoluées. Quelques articles, quelques tags, pas de recherche : on s’en sort très bien. Néanmoins, pour convertir un blog qui contient plus d’un millier d’articles et surtout des milliers de taxonomies, c’est une autre paire de manche. Dans mon cas, j’ai plus de 1500 acteurs enregistrés, près de 700 réalisateurs et des dizaines d’autres taxonomies encore. Puisque tout doit être généré en même temps, il faut prévoir une page pour chaque taxonomie, et plusieurs pages si on choisit de ne pas tout afficher sur une seule page. Pour poursuivre avec mon exemple, il fallait créer près de 4000 fichiers à chaque fois…

J’ai failli abandonner WordPress toutefois. J’ai trouvé un générateur extrêmement rapide et puissant : Hugo. Il est en codé en Go, mais ce n’est pas très important : côté utilisateur, on a un langage simplifié pour créer un thème, et c’est beaucoup plus plaisant que le PHP. J’ai réussi en quelques jours seulement à recréer le thème de mon blog WordPress et c’est une opération beaucoup plus facile que ce que je pensais. L’export du blog était aussi relativement simple, même si j’ai choisi de créer un outil d’export personnalisé en AppleScript (réservé aux Mac donc) et d’exploiter l’API JSON disponible désormais dans WordPress.

Après un mois de travail environ, j’avais un thème acceptable et une bonne partie des fonctions. Si cela vous intéresse, le code est toujours disponible à cette adresse. Mais j’ai finalement tout abandonné et je suis revenu à WordPress…

Extrait de code Hugo : ici, celui qui correspond à un article.
Extrait de code Hugo : ici, celui qui correspond à un article.

Pourquoi cet abandon ? Plusieurs raisons m’ont convaincu de laisser tomber tout ce travail, mais la première est sans doute qu’il restait encore énormément de travail à faire pour retrouver toutes les fonctions. La recherche est sans doute la plus grosse difficulté des sites statiques : comment trouver un mot, s’il n’y a pas une base de données pour effectuer la recherche ? Il existe bien des solutions, mais aucune n’est vraiment satisfaisante :

  • Je pouvais confier ma recherche à un tiers, comme Google ou DuckDuckGo. C’est plus simple ainsi, mais cela revient à laisser une partie de son contenu à ce tiers, et je n’avais pas vraiment envie de le faire. Sans compter que l’on invoquait une interface différente au cœur de son blog, je ne suis pas très fan.
  • Je pouvais mettre en place une solution de recherche complète, par exemple avec Elastic Search. Techniquement, c’est la meilleure solution, mais c’est aussi la plus complexe à mettre en place et il me fallait un serveur dédié, puisqu’elle est incompatible avec les hébergements mutualités que j’utilisais.
  • Je pouvais me contenter d’une recherche en JavaScript, comme celle que j’avais mise en place sur WordPress. C’est d’ailleurs ce que j’avais fait, en utilisant l’excellente bibliothèque lunr.js pour indexer les taxonomies. Cela fonctionnait, mais il me fallait générer l’index hors de Hugo (j’utilisais Gulp pour cela) et à l’arrivée, j’avais quelque chose d’assez lourd et d’incomplet.

Je pourrais encore évoquer d’autres problèmes avec Hugo, comme l’impossibilité d’avoir des images associées à des taxonomies, une fonction que j’apprécie beaucoup sur mon blog (exemple). Plus gênant, je n’avais plus le système de miniatures de WordPress et toutes les pages étaient très lourdes, en particulier la page d’accueil. Près de 6 Mo alors que je n’affichais que six articles seulement, c’était un problème et je n’avais aucune idée quant à la solution.

C’est ça qui m’a finalement décidé : j’ai pris conscience que j’allais devoir encore passer beaucoup de temps sur ces problèmes techniques, au lieu de publier du nouveau contenu. Puisque mon temps dédié au blog dans sa totalité est limité, je ne pouvais pas mener les deux de front. Bref, je perdais du temps sur la technique, plutôt que d’investir du temps dans le contenu, et c’est ça qui m’a finalement décidé.

Le retour à WordPress est un petit peu décevant, mais j’ai au moins mis à jour mon thème avec une page d’accueil enfin responsive. Et j’aime beaucoup l’interface pour les articles, avec l’image en pleine hauteur et le titre et le contenu qui défilent par dessus. Et puis j’ai simplifié quelques éléments qui alourdissaient mon travail, comme le redimensionnement manuel des miniatures. Au passage, cela m’a aussi permis d’activer Photon, le service qui stocke toutes les images du blog sur les serveurs de WordPress.com. C’est gratuit, on active la fonction d’un clic après avoir installé le module JetPack et on a des images chargées depuis un serveur beaucoup plus rapide, et qui plus est des images optimisées. Pour un blog hébergé avec une offre modeste, c’est un avantage indéniable.

Bref, j’ai fini de jouer avec du code et j’ai suivi la voie de la raison. J’ai failli abandonner WordPress, mais j’ai choisi de favoriser le contenu plutôt que tout autre chose. Je ne regrette nullement mon choix et je suis très content de la nouvelle version du blog, mais j’espère encore trouver, un jour, le CMS simplifié qui me conviendra et qui ne sera pas aussi multifonctions que WordPress.

Image de couverture : Cristian Labarca (CC BY-NC 2.0)

Publicités

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s