Prochain Live découverte : Filière développement web & app, le jeudi 9 janvier à 12h (je m’inscris)

WordPress, est-ce un outil à jeter ?

27/02/2024
Wordpress-caca
Pardonnez-nous ce titre quelque peu bréneux mais pour notre défense, il nous a été directement inspiré par les quelques remarques de développeurs à propos de ce CMS ô combien populaire mais tellement décrié. 

WordPress, le mal aimé

Depuis un peu plus de deux ans, nous proposons dans nos formations, la possibilité pour nos étudiants de se spécialiser. Au choix parmi 3 technologies : Symfony, un framework PHP ; React, une library JavaScript et… WordPress, un CMS qui représente plus de 35% du web, ou plus exactement, 35% des 10 millions de sites Internet les plus visités au monde.

Là, comme ça, en lisant notre dernière phrase, vous pourriez dire assez facilement : « Ah ouais, WordPress ça rigole pas ! Si 35% des sites web tournent grâce à WordPress, c’est que ça doit être costaud ». Une remarque qui frôle un peu la candeur, certes, mais qui est pleine de bon sens.

Pourtant, ce ne sont pas les retours que nous avons. En effet, nous ne comptons plus les remarques de certains développeurs, remettant en cause la « pertinence » de ce CMS. On a pris deux échantillons que nous avons trouvés en commentaire de nos publications sur Facebook. ⤵️

wordpress
Ici, on critique clairement sa pertinence technique. On ne considère pas WordPress comme une bonne pratique car il serait “mal agencé”.
cms-wordpress
L’idée est la même, mais le chemin est différent. Ce n’est pas tant WordPress mais le concept de CMS que l’on remet en cause. Selon Gaël, un “vrai” développeur ne doit pas utiliser WordPress…

Vous imaginez bien que nous avons relevé des messages beaucoup plus fleuris que ceux-ci, messages qui nous ont d’ailleurs inspiré le titre de l’article. Mais vous avez compris l’idée : WordPress, c’est nul, c’est pas vraiment du code et, en plus, c’est mal fait.

Nous avons donc décidé de prendre la plume pour réhabiliter cet outil que nous adorons chez O’clock et nous en profiterons également pour répondre à certains développeurs qui n’ont pas l’air d’avoir compris l’essence de leur métier.

Un paradoxe courant

Avant de rentrer dans la technique, on pourrait se poser la question : comment WordPress peut-il être si utilisé s’il est impopulaire ? Cela peut paraître paradoxal, mais c’est, en fait, un lien de cause à effet. Dans le monde du dev, ce paradoxe est très courant : la plupart des technologies très utilisées souffrent d’une mauvaise presse. C’est le cas de WordPress, mais aussi plus généralement de PHP ou de JavaScript.

PHP, WordPress, même combat.
Un article en plein sur le sujet : Pourquoi les dévs détestent PHP ?
(un blog sous WordPress en plus ?)

Finalement, ce n’est pas si paradoxal que cela : les technologies les plus utilisées sont forcément les plus scrutées. Si Windows est le système d’exploitation possédant la plus grande variété de virus, c’est avant tout parce que c’est le plus utilisé. Il représente donc une cible de choix pour les pirates. C’est la même logique que l’on retrouve pour WordPress : certains critiquent les failles possibles lorsque l’on installe un plugin non identifié. Et c’est vrai, il faut faire tout aussi attention, qu’on installe un logiciel sur Windows ou une extension sur WordPress.

Mais surtout, les technos les plus utilisées sont les technos avec lesquelles on passe le plus de temps, donc avec laquelle la probabilité de s’énerver s’approche de 100% ! C’est le cas de JavaScript, l’une des seules technologies permettant actuellement de programmer côté front-end. Tout développeur web va donc devoir faire avec JS à un moment donné dans sa carrière.

Une célèbre tirade de l’inventeur du C++, l’un des langages les plus utilisés au monde, résume très bien ce paradoxe :

Il n’y a que deux types de langages de programmation : ceux dont les gens se plaignent et ceux que personne n’utilise.

Bjarne Stroustrup

Avec autant d’utilisateurs à son actif, c’est donc tout à fait naturel pour un outil comme WordPress d’avoir son lot de critiques !

WordPress, dans le détail

Bien entendu, dans ce lot de critiques, il y en a plusieurs qui sont fondées. Aucune technologie n’est parfaite. Les choix de conception d’un langage, d’un framework ou d’un CMS vont forcément avoir pour conséquences des avantages comme des inconvénients. Passons en revue les critiques que l’on voit fleurir sur le CMS.

WordPress, c’est pour ceux qui ne savent pas coder

Oui, c’est vrai. On peut utiliser WordPress quand on ne sait pas coder pour mettre en place un site simplifié, afin de pouvoir y publier du contenu. L’idée de WordPress, comme de tous les systèmes de gestion de contenu de ce type, c’est précisément de fournir une solution permettant de mettre à jour du contenu sans avoir à mettre les mains dans le code.

Ensuite, on peut utiliser WordPress lorsqu’on sait coder. Ça peut être le cas par exemple d’un webdesigner qui sait réaliser et intégrer une maquette, mais qui préfère ne pas mettre les mains dans le back-end. Il lui suffira de modifier les fichiers de thème pour modifier l’apparence du site, tout en continuant à utiliser le système.

Mais surtout, on peut utiliser WordPress lorsqu’on est un développeur confirmé. Un développeur de ce niveau aura la capacité de tout recoder lui-même, mais pourquoi réinventer la roue ? Surtout s’il s’agit de fournir au client une interface toute prête pour qu’il puisse, après la mise en ligne du site, être autonome dans la gestion de ses contenus. Pour cela, WordPress se révèle être un formidable outil.

Réaliser un site totalement administrable sans utiliser de CMS, c’est possible. Mais cela augmente le temps de développement, et donc la facture pour le client. Et ce n’est pas anecdotique ! Certains puristes oublient trop souvent qu’il s’agit là d’un argument fondamental : le développement web, ça coûte de l’argent.

D’accord, mais le code est de mauvaise qualité

La dette technique de WordPress est une réalité, car cette solution existe depuis 2003. Forcément, il y a pas mal de choix techniques qui semblent datés. Est-ce que ça veut dire que c’est inutilisable pour autant ? Est-ce qu’il faut forcément qu’une solution utilise les toutes dernières technologies pour être valide ? Évidemment, non.

Un code de mauvaise qualité, ce n’est pas un code qui n’utilise pas les derniers patterns tendance. Un code de mauvaise qualité, c’est un code qui va générer des inconvénients concrets : des performances limitées, une sécurité fragilisée, une modularité entravée. Or, WordPress ne souffre pas de ces défauts — à moins bien sûr d’installer tout un tas d’extensions dans tous les sens. Mais ça, c’est la responsabilité du développeur, d’utiliser les modules créés par la communauté avec prudence.

Aussi, certains choix techniques permettent d’être inclusif. Il est souvent par exemple reproché à WordPress de ne pas avoir de système de template. Alors déjà, ce n’est pas tout à fait vrai, puisque via Timber, on peut utiliser Twig, un moteur de rendu populaire, plébiscité par le framework Symfony. Mais si WordPress n’en utilise pas par défaut, c’est pour rester simple et accessible pour un intégrateur ou un webdesigner.

Et oui, ajouter un système de template, ajouter du MVC, de la POO : tout ça nous paraît une bonne chose quand on est développeur. Mais ce serait fermer la porte à ceux qui ne maîtrisent pas tous ces sujets.

Ouais OK, selon vous, il n’y a aucun défaut…

On vous rassure, il y en a, des défauts ! C’est notamment pas évident pour pouvoir travailler en local et déployer facilement. Il n’y a pas de système de migration de base de données et certains éléments y sont stockés “en dur”. Le système de plugins est parfois fastidieux. C’est le revers de la médaille de la simplicité.

Mais est-ce que ça vaut le coup ? Pour répondre à cette question, on peut s’en poser une deuxième : est-ce que je préfère les défauts de WordPress ou est-ce que je préfère tout recoder à la main ? Dans la plupart des cas, on va préférer WordPress. C’est d’ailleurs le choix que nous avons fait pour ce blog.

Et oui, les lignes que vous êtes en train de lire ont été tapées directement dans l’interface d’éditeur de contenu de WordPress. Très pratique !

back office WordPress
L’UX du back-office WordPress a été retravaillé dans Gutenberg, la dernière version de l’éditeur ?

WordPress, dans l’avenir ?

La solution WordPress bouge. Aujourd’hui, le CMS peut facilement être utilisé comme une API, afin de gérer le contenu avec WordPress tout en utilisant une autre solution pour le front qui viendra simplement consommer les contenus rédigés. WordPress est de plus en plus utilisé de cette façon, qui permet de profiter des avantages sans les inconvénients.

Autre exemple marquant, la version 5 a introduit Gutenberg, le nouveau système d’éditeur de contenu. Une petite révolution qui plaira aux puristes, puisqu’elle utilise de nombreuses technos en vogue, comme React.js (bon, faut avouer, ça déchire React). Mais surtout, elle étend le champ des possibles en permettant aux auteurs la création de contenus riches et flexibles. C’est vraiment très chouette !

À l’avenir, il y a de fortes chances que la popularité de WordPress ne faiblisse pas, et que son développement et l’enrichissement de son écosystème ne ralentissent pas. Sans conteste, ce sera un CMS de premier choix pendant de nombreuses années encore.


Certains seront plutôt d’accord, d’autres s’en amusent, et ils ont bien raison. Mais c’est finalement la beauté de la communauté des développeurs : personne n’est d’accord, donc il existe une kyrielle de technologies et de philosophies différentes. C’est ce qui fait la richesse de l’écosystème web !

Ce qui est certain, c’est que nous avons beaucoup d’étudiants O’clock qui, en se formant au CMS WordPress, s’ouvrent la porte à de nombreuses opportunités professionnelles. D’autant plus que notre formation WordPress ne fait pas qu’effleurer les possibilités de la solution. On y parle POO, API ou encore tests unitaires, afin de pousser la solution et de rendre son utilisation plus robuste.

Niveau débouchés, les cibles de choix pour nos étudiants qui se spécialisent en WordPress ? Les agences web. L’utilisation du CMS permet de se libérer du temps pour écouter le besoin du client, de travailler sur l’interface graphique, sur le référencement… Le tout, sans perdre de temps à développer ex nihilo un système administrable.

On ne pouvait pas finir cet article sans citer les collègues de Whodunit, agence web qui travaille avec WP et qui a la particularité comme la Team O’clock, de travailler en 100% télétravail ! La bise… Enfin une télé-bise du coup ? !