Tout savoir sur WordPress

Pourquoi « 100 ans de dettes techniques » ne m’empêchent pas de travailler avec WordPress ?

Bien au-delà de tout l’engouement qu’il peut y avoir autour, le CMS WordPress n’en reste pas moins un outil critiqué. Chef de projet Web en agence, mon métier me confronte bien souvent à des réflexions hostiles (de développeurs, architectes, parfois d’utilisateurs) sur WordPress sur l’architecture bancale, la sécurité déplorable ou encore l’approche technique à la limite de l’insulte pour « les vrais développeurs ».

C’est ainsi qu’au détour d’une conversation pour le moins anodine, j’eu vent d’une remarque assez déroutante : WordPress serait considéré comme une sous-technologie héritant d’une dette technique de plus de 100 ans. Loin de me choquer outre mesure, je suis resté songeur sur l’authenticité de cette information et surtout ce qu’elle implique…

Pour faire simple, la dette technique est un concept qui associe à toute application une dette plus ou moins importante en fonction de la qualité du code développé. On peut le résumer ainsi : moins mon code respecte les « normes de développements », plus mon application accumule de dettes.
Concernant celle de WordPress j’ai décidé de creuser le sujet pour trouver finalement… peu de choses. En effet, la seule donnée chiffrée provient de ce lien (dont je vous laisse seul juge de l’objectivité…) et indique une dette de « seulement » 20 ans.

Au final, en l’absence de données vraiment factuelles, cette remarque dénote en réalité un sentiment plus général sur la qualité de WordPress. A ces « potentiels-futurs-nouveaux-utilisateurs/développeurs » qui pourraient ainsi commettre l’erreur de s’en détourner, voici mes arguments.

1. WordPress fonctionne !

Premier argument des plus simples je vous l’accorde.
Nous ne sommes pas face à un outil marginal et peu utilisé, mais bel et bien face à un mastodonte du CMS soutenu par une société, Automattic, et une communauté hyperactive.

Mon expérience en SSII de dizaines de déploiements et d’adaptation du CMS me permettent de confirmer cette efficacité, sur des projets allant de quelques jours à plusieurs mois*hommes de développement.

Ainsi, lorsqu’un utilisateur à un soucis avec WordPress, cela vient rarement du socle lui-même mais plus de défauts de conception, développements hasardeux, mauvaise connaissance technique de WordPress …

 2. La pérennité du socle

Avoir une dette technique n’est pas forcément signe d’un développement anarchique par une portée de verrat… (dette technique involontaire). Il peut également s’agir d’une altération volontaire pour des raisons de délais et de budget (dette technique volontaire).

Dans le cas de WordPress, je ne vais pas mentir, on a un peu des deux. Toutefois, le socle tend à s’assainir fortement au fil des versions (10 à 15% du code est révisé à chaque version http://bit.ly/1GHTxNT). Ce nettoyage non agressif a un gros avantage : maintenir une certaine pérennité du socle et éviter les changement brutaux. Par cela, comprendre un maintien plus ou moins important de la rétrocompatibilité : si vous développez un plugin ou un thème aujourd’hui, il fonctionnera sur les versions futures de WordPress (ou les adaptations à apporter seront vraisemblablement négligeables et restent jusque maintenant assez peu fréquentes).

3. La courbe d’apprentissage coté utilisateur…

L’expérience WordPress reste, en toute objectivité, une des plus user friendly que j’ai l’occasion d’utiliser. Le backoffice est relativement simple et la logique d’utilisation est très efficace. Sauf dans le cas de développements complexes sur ce socle, les demandes de formation sur l’utilisation sont peu courantes; et si elles existent, ces formations sont rapides et plutôt bien appréhendées par les clients.

4. …mais également côté développeurs

A l’image de la prise en main de l’outil, l’apprentissage technique autour de WordPress se fait de façon relativement rapide par rapport aux autres solutions du marché. Pour certains, cette simplicité dénote un manque de « professionnalisme technique ». Selon moi, cette simplicité (qui encore une fois est relative) n’est qu’une simple continuité de la logique même de PHP : se concentrer sur l’aspect fonctionnel avec un outil simple à appréhender pour LE DEVELOPPEUR.

En clair, un BON développeur sait faire de la qualité avec du WordPress.

 5. Pour garantir un budget « raisonnable »

Comparée à d’autres solutions, WordPress est très bon marché. Bien sûr, on peut revenir sur la licence Open Source et la gratuité de l’outil de base. Cependant même lorsque l’on prend l’exemple de thèmes premium ou de plugins payants, ceux-ci reste abordables pour de très petits budgets (TPE, PME, indépendants).

Prenons le cas des développements spécifiques à présent. La simplicité technique de l’outil aide également à réduire les coûts. Bien sûr un framework/CMS complexe sera plus gratifiante pour le développeur qui comprend et appréhende son fonctionnement. Cependant il y a également une logique économique, en tout cas dans mon métier de fournisseur, qui m’oriente vers la solution ayant le meilleur rapport qualité/coût de développement. Intrinsèquement, la simplicité fait baisser les coûts, et WordPress est un choix judicieux dans beaucoup de cas.

6. L’adaptabilité

Un des atouts de WordPress est également sa capacité à s’adapter pour répondre à pas mal de problématique à l’aide de plugins du marché/ de la communauté ou de développements spécifiques : sites web, intranet/extranet, réseaux social, eCommerce, gestion documentaire,…

Bien évidemment, WordPress n’est pas judicieux dans tous les cas. Même si certains peuvent se lancer le défi, je me vois mal aujourd’hui demander à mes équipes de développer une application métier complexe (un ERP par exemple) avec WordPress.

7. La sécurité

Souvent critiquée, la sécurité de WordPress est prise très au sérieux et les failles corrigées dans des délais très courts (la dernière concernait les commentaires il y a presque 6 mois). La plupart de ces failles est d’ailleurs imputée à tort au cœur de WordPress et sont par expérience de 3 types :

– failles liées à du (mauvais) développement spécifique,

– non respect des bonnes pratiques d’utilisation et d’installation,

– failles de sécurités liées à l’installation de plugins et de thèmes tiers corrompus.

Pour le reste, WordPress reste un socle très utilisé et donc plus propice à attirer l’attention de développeurs malveillants. Il convient essentiellement de rester en alerte sur les failles potentielles, comme c’est le cas avec n’importe quel socle.

8. La Communauté

WordPress c’est enfin un véritable outil communautaire. On retrouve cela dans le nombre de thèmes et de plugins à disposition (même si quantité et qualité…), mais également dans l’organisation de nombreux événements dans le monde, et de plus en plus en france (WordCamp Paris, WordCamp Lyon, WP-tech Nantes, WPMX Day). Ces évènements regroupent tout type de profils qui utilisent de près ou de loin WordPress : développeurs PHP, intégrateurs, utilisateurs, designers, agences, ESN, éditeurs de plugins, etc. Si bien qu’il existe une véritable synergie autour de l’outil, toujours très motivante et enrichissante.

Ces différents arguments en faveur de WordPress me permettent aujourd’hui de faire confiance sur la durée au CMS et d’être très à l’aise dans mes propositions techniques et commerciales sur le sujet. Tout cela en garantissant à mes clients-utilisateurs, la pertinence d’un outil pérenne et répondant à leurs besoins. Alors convaincus ?

Cet article a été mis à jour il y a 1051 jours - Il n'est peut être plus à jour !

Article écrit par Julien Oger

3 Commentaires

  1. Hello,

    Moi je crois que cracher sur WordPress est un peu facile et permet à certains d’essayer maladroitement de se mettre en avant.

    C’est un peu comme cracher sur Apple ou dire que les voitures Renault sont pourries.

    Comme vous le dîtes, l’interêt de WordPress, c’est avant tout une question de gain de temps de développement (facile à dev, nbres de plugins et thèmes) et donc de budget…

  2. Voilà un article intéressant. D’abord parce qu’il met en lumière ce nouveaux buzzword : la dette technique. Partant sans doute d’une bonne démarche (comprendre qui se veut objective), il est déjà galvaudé et brandi comme étendard par celui qui veut défendre sa techno préférée (le monde technique étant très friand de guerres de religion).

    Il reste que la question posée est intéressante : est-ce bien raisonnable pour un projet aussi important que WordPress de pratiquer la rétro-compatibilité à un tel niveau ? La semaine dernière, les questions posées aux core developers lors du WordCamp Londres tournaient beaucoup autour de ce sujet.

    Je dirais que comme souvent, la réponse est complexe et qu’on marche sur un fil : ne pas stagner / ne pas forcer la main de millions d’utilisateurs au nom d’une pureté technique toute relative. C’est le choix que doivent affronter les core developers à chaque mise à jour de WordPress.

    Ce qui est sûr, c’est que l’équation doit impérativement prendre en compte le coût et les difficultés des mises à jour. Est-ce que le calcul de la dette technique est objectif à ce sujet ? En tout cas, au cours des projets que j’ai pu faire, j’ai connu de grosses déconvenues et c’est aussi pour ça que j’aime travailler avec WordPress.

    D’autre part, il est bien de rappeler que le calcul de la dette technique vient d’une société qui a établi son propre référentiel de qualité et scanne les codes sources de différents projets automatiquement (on découvre par exemple que ne pas avoir de favicon est un problème majeur de performance). Cette société scanne ses propres projets évidemment (et ils respectent le référentiel qualité). Enfin cette société vend des audits de code. Le service est sans doute intéressant et de qualité mais on est loin d’un audit indépendant. L’article cité d’ailleurs apporte un peu de contexte à ce sujet. J’avoue que je préfère l’approche de cet autre article : https://trueclarity.wordpress.com/2014/09/04/when-code-is-considered-technical-debt/. Evaluer une dette technique et en tenir compte n’est sans doute pas qu’affaire de bonnes pratiques et de scans.

f3ea8e23cd6771fa24aae09b6e28f742""""""""""""""