Pourquoi nous n'utilisons pas WordPress et privilégions Wagtail

Chez Cotinga, c'est de manière assumée que nous n'utilisons pas le CMS le plus utilisé au monde. Découvrez pourquoi nous ne l’utilisons pas, ni pour nous, ni pour nos clients.

Mar 30 Avr 2019

Pourquoi nous n'utilisons pas Wordpress

WordPress est omniprésent. Depuis sa naissance, le petit moteur de blogging est parvenu à passer de blogs peu influents aux blogs les plus lus au monde comme Mashable. Et de moteur de blogging classique, il a même pris le rôle de CMS, grâce à une fonctionnalité de thèmes étendue et à des plugins.

Chez Cotinga, nous ne détestons pas WordPress. Néanmoins, nous préférons aider nos clients qui possèdent un site WordPress existant à migrer sur les technologies que l'on utilise.

Nous allons revenir sur les bonnes choses qu'offre WordPress avant de mettre en exergue les avantages de Wagtail, la solution que l'on utilise au quotidien.

Adrien.jpg
Notre priorité n'est pas d'économiser quelques minutes, ni même quelques heures sur un nouveau projet.

Adrien, Fondateur Cotinga

5 minutes d'installation. Et alors ?

Installer WordPress est en effet un jeu d'enfant. Cela prend littéralement moins de 5 minutes.

Mais dans notre agence web, notre priorité n'est pas d'économiser quelques minutes, ni même quelques heures sur un nouveau projet. Cela reviendrait à examiner le projet et son planning de réalisation et se dire : « Nous ferions mieux de choisir une plate-forme que nous pourrons installer en quelques minutes et ignorons totalement comment cela affectera le produit final et ces prochaines semaines / mois de travail à venir.

Qui fait ça ?

Certainement le blogueur amateur, pour qui c'est un critère important, voire indispensable pour se lancer. Mais pour un projet web professionnel où le planning de réalisation est généralement de plusieurs mois, gagner quelques minutes n'en vaut pas la chandelle.

Thèmes et extensions

De nombreuses agences privilégient WordPress en raison des thèmes. Un thème correspond à un ensemble de mises en page et de styles tous regroupés au même endroit. Il est possible d'ajouter une nouvelle feuille de style ou de configurer le thème dans l’interface de l’administration pour lui donner l'apparence de notre choix.

En ce qui concerne le design, nos clients sont généralement soucieux d'avoir un design qui corresponde à leur projet. Ils ne souhaitent donc pas économiser quelques euros pour acheter le thème recyclé de quelqu'un d'autre et ajouter simplement leur logo.

Personnaliser le design d'un site est plus facile et plus rapide lorsque vous utilisez des composants pouvant être rassemblés plutôt que séparés et configurés de manière globale. Ici, WordPress est idéal si vous souhaitez ajouter une mise à jour prête à l'emploi à votre blog personnel. Mais rappelez-vous, nous parlons ici de ce dont nous avons besoin pour un projet web professionnel.

Avec un framework ou un CMS tel que Wagtail notamment, nous mettons à jour (et réutilisons) une fonctionnalité indépendamment de l’apparence des pages sur le site. Et tous ces templates peuvent être édités de la manière la plus adaptée par les développeurs web - en HTML et CSS, sans code logique.

C’est la raison pour laquelle il existe tant de livres et documentation sur la thématisation de WordPress, et il n’y en n’a pas à ce sujet sur les frameworks populaires basés sur MVC (Modèle-vue-contrôleur). C’est parce que ces derniers rendent la conception de templates naturelle pour les développeurs web.

Maintenance avec des plugins installés par l'utilisateur

On voit les limites de ce CMS lorsque l'on souhaite déplacer son site WordPress d'un hébergeur à un autre par exemple.

La première chose dont nous avons besoin est le répertoire de contrôle de version. Mais ici, le site et les mises à jour ne sont pas stockés dans un répertoire unique. Ça n'est pas possible lorsque le répertoire d’installation comprend l’application, les thèmes, les téléchargements des utilisateurs, les plug-ins et même les fichiers de cache, tous mélangés. Et lorsque vous installez des thèmes et des plug-ins, vous le faites à partir de l'interface d'administration, en ignorant le contrôle de version.

C'est pourquoi les sites spéciaux de sauvegarde WordPress sont devenus si populaires. Il ne s’agit pas de sauvegarder une base de données et peut-être un seul dossier de téléchargement utilisateur (car tout le reste se trouve dans un répertoire source), vous devez sauvegarder l’ensemble de votre site.

Encore une fois, ce n’est pas grave si c’est votre propre blog. Toutefois, lorsqu'il s'agit d'un projet plus volumineux ou aux enjeux plus importants, vous voulez vous assurer que vos composants sont séparés et que vos versions soient contrôlées.

Optimisé pour la recherche

Une recherche rapide sur Google « wordpress seo » vous montrera que WordPress est le chouchou de la communauté du référencement. Vous pouvez créer des liens permanents lisibles vers des articles et des pages de blog et installer des thèmes qui suivent les meilleures pratiques d'optimisation des moteurs de recherche.

Le problème est que ce sont des pratiques standards.

La structure des URLs est également très importante. Wagtail nous permet de structurer notre arborescence de site, les metadata et le sitemap par défaut.

La plupart des solutions techniques pertinentes au référencement proviennent d'un bon HTML. Donc, ce que l'on souhaite vraiment, c'est un système qui nous permet de coder du code HTML sémantique, facilement accessible, en fonction des besoins du projet. Entre des "thèmes" et les templates HTML adaptés pour les développeurs, nous choisissons ces derniers les yeux fermés.

Plugins et sécurité

Chaque CMS peut souffrir d’une faille de sécurité occasionnelle. Cependant, WordPress a une histoire « plus riche » de bogues de sécurité.

Cela provient en partie du modèle sur lequel se base WordPress. Il facilite l'installation de thèmes et de plug-ins via l'interface d'administration. Ce qui permet à n'importe qui de déposer du code exécutable via l'interface d'administration.

Il existe évidemment de nombreux sites fonctionnant sous WordPress et qui ne subissent aucun problème de sécurité. D’ailleurs, aucun framework ou CMS n'est totalement exempt de failles de sécurité.

Cependant, nous sommes plus à l'aise de travailler avec un framework comprenant une sécurité intégrée dans la conception et par l'utilisation de bonnes pratiques.

PHP vs Python (et tout le reste)

C’est « seulement » une question de choix, mais un choix capital.

L’une des principales raisons de l’omniprésence de WordPress est lié aux technos utilisées. C’est écrit en PHP. Il est difficile de trouver un hébergeur qui n’exécutera pas PHP sur leurs serveurs. Il n’y a donc pas besoin de configuration ou d’installation supplémentaire, ni de recherche d’un meilleur hébergeur web.

Donc quel est le problème ? PHP est le problème. Nous avons constaté que Python était non seulement un langage plus agréable à programmer, mais également plus productif, produisant de meilleurs projets pour nos clients en moins de temps. Une grande partie de cela concerne plus particulièrement le framework Django, et on n'obtient pas Django sans Python.

Wagtail : notre CMS de prédilection

Au fil de nos expériences et des différents projets clients, nous avons testé de nombreux CMS pour déterminer ce qui constituait le cœur de fonctionnalités d'un CMS. C'est ce qui nous a aussi permis de trouver de nombreux points où Wagtail se distinguait de ses concurrents.

Pour Cotinga, c'est l'outil parfait qui correspond exactement à nos attentes. Il permet de déployer des solutions flexibles et fiables rapidement tout en offrant une structure de travail complète.

Ses avantages

  1. Communauté active et une documentation impeccable

Cette solution open source a beaucoup de contributeurs actifs qui sont en charge du développement. Ils sont réactifs et ont défini une solide roadmap pour le développement du CMS. Les nouvelles versions et mises à jours sont régulières. La documentation est simple mais détaillée et donc très pratique.

Wagtail est également basé sur le framework Django, qui est sans aucun doute l'un des meilleurs framework Python.

2. Mise en place facile

Créer un nouveau projet ne pouvait pas être plus simple grâce à l'application de démo fournit par l'équipe derrière Wagtail. C'est un simple blog qui est configuré avec Vagrant. Il permet de rapidement voir comment il est facile de gérer Wagtail et ses dépendances Python avec une machine virtuelle.

Grâce aux fonctionnalités puissantes de Django, comme les tests unitaires, les migrations de la base de données et autres, ces outils nous assurent un développement facile, flexible et robuste.

3. Super expérience utilisateur

Wagtail embarque DraftJS, un éditeur web simple et élégant. L'une des choses qui nous importe le plus dans l'agence est de pouvoir fournir à nos clients un back-office avec une interface accessible, élégante et simple d'utilisation. L'éditeur de texte rend l'édition de contenu à nouveau agréable. Il se débarrasse de tous les inconvénients causés par les anciens et obsolètes éditeurs Web HTML.

Pourquoi nous n'utilisons pas WordPress et adorons Wagtail.jpg

4. Fonction de recherche

Wagtail a plusieurs moteurs de recherche. L'un d'eux est Elasticsearch. C'est un puissant moteur de recherche open source. Sans aucun doute l'une des fonctionnalités que nous préférons dans ce CMS.

L'intégration d'Elasticsearch est vraiment facile et les résultats en terme de performances sont exceptionnelles. Les développeurs peuvent activer les champs dans lesquels la recherche sera effectuée et définir le niveau de pertinence par modèle/champ.

L'interface d'administration embarque un lot très intéressant de fonctionnalités et de vues qui permettent de gérer rapidement et de façon fluide les pages, les images et les documents de vos sites.

5. Architecture modulaire

Nous réalisons un grand nombre de customisations et d'adaptations pour nos clients et en ayant ça en tête, nous cherchons toujours à déployer des outils accessibles, simples d'utilisation et personnalisables. Ils se doivent également d'être robustes et correctement construits d'un point de vue technique.

Wagtail répond exactement à cette philosophie en divisant chaque fonctionnalité et composant en une structure modulaire organisée. Les tests unitaires couvrent 96% et l'intégration continue est gérée avec Travis, ce qui permet de s'assurer qu'aucune ligne de code n'est ajoutée sans avoir été testée.

Développer et ajouter des fonctionnalités au CMS est aussi simple que de créer vos propres applications Django et de les connecter à Wagtail.

Wagtail permet également aux développeurs de remplacer les fichiers principaux tels que les modèles, les feuilles de style, les fichiers JS et ainsi de suite. Ce qui rend les choses vraiment faciles lors de l'intégration de vos fonctionnalités dans l'interface d'administration du CMS.

Et donc ?

Notre but en rédigeant cet article n'est pas de vous convaincre à tout prix d’utiliser ou de ne pas utiliser tel CMS ou un seul framework (sauf si vous êtes un de nos clients car dans ce cas là, ça nous concerne).

Il existe des cas où WordPress est un excellent choix. Comme par exemple, les blogs très fournis avec une architecture d’information basique. Pour tout ce qui va au-delà, utiliser un framework ou un système de gestion de contenu basé sur un framework permet de faire le travail avec plus de productivité et moins de tracas.

Encore une fois, WordPress est un excellent outil de bricolage pour créer des blogs. Cependant, en tant que concepteurs et développeurs web professionnels, cela ne nous offre tout simplement aucun avantage.

Wagtail n'est pas parfait non plus, mais nous l'adorons parce qu'il embarque les fonctionnalités de base et permet de créer un site web sur-mesure avec des fondations saines.

C’est une courte explication de la raison pour laquelle nous n’utilisons pas WordPress pour développer des sites web orientés vers le contenu pour nos clients, pas pourquoi personne ne devrait l’utiliser. Nous pensons que les alternatives telles que Wagtail, servent mieux nos clients.

N'hésitez pas à nous demander une démonstration de Wagtail si vous souhaitez en savoir plus sur ce système de gestion de contenu open source !



Marine

Marine

Co-fondateur de Cotinga