Les CMS c’est pas automatique, parlez-en à votre développeur !*

Aujourd’hui, je vais parler de CMS et surtout pourquoi ils ne devraient pas être automatique.

Tout d’abord, je vous conseille la lecture de cet article de Bertrand Keller qui explique « le piège des CMS : la dépendance ».

Maintenant que vous connaissez le piège, je vais vous expliquer pourquoi il faut vraiment se poser la question avant d’utiliser un outil de ce genre.
En règle générale lorsque l’on vous confie un projet, la question suivante se pose : « Quelles technos vais-je utiliser ? » et peut être que votre choix va se porter sur un CMS ou un Framework. Si ce choix est réfléchi en amont et que le pour et le contre a bien été analysé, normalement vous savez à quoi vous attendre.

En revanche, certaines personnes ou entreprises se sont avec le temps spécialisées dans un outils et ne jure que par ce dernier. Je pense notamment au agence de com qui ne font que des sites avec WordPress. Ces entreprises ont formé leurs équipes afin qu’elles puissent réaliser tout genre de sites avec cette techno. Ce n’est pas une bonne méthode (selon moi) car chaque projet a forcément une techno qui lui convient mieux qu’une autre. Je ne dis pas que ce CMS est un mauvais choix puisque je l’utilise également mais je pense qu’il ne doit pas automatiquement être utilisé. Si vous devez faire un site vitrine relativement simple qui comporte un blog, vous pouvez songer à l’utiliser cependant si votre site est particulier, qu’il a certaines fonctionnalités un peu poussées ainsi qu’une partie blog (ou pas) le CMS n’est pas automatique.

Je veux dire ici, que vous pouvez à la limite utiliser un CMS pour la partie blog du projet (s’il en contient une) et utiliser autre chose (Framework ou pas) pour le reste.
Cela sera certainement plus facile de gérer deux outils pour le même site que de devoir créer toutes les fonctionnalités sous forme de module afin de les rendre compatible avec le CMS utilisé sachant que tout peut « sauter » à la prochaine importante mise à jour.

On pense souvent qu’utiliser un CMS va faciliter la vie car le plus gros est déjà fait mais en réalité c’est un cercle vicieux.

Un maçon n’utilise pas le même plan pour chaque maison et les fondations de chaque maison sont uniques.

Pourquoi croyons-nous qu’utiliser un CMS (ou un Framework) c’est bien ?

La plupart du temps, la rapidité de mise en place (rapide = – de temps = meilleur prix pour le client) et l’atout numéro un qui va nous pousser à choisir cette solution . Vient ensuite le grand choix de modules déjà disponibles et l’aide que peut porter la communauté. Les mises à jours peuvent aussi faire tourner la roue. Mais en réalité tout n’est pas si rose.

Pourquoi ce n’est pas forcément bien en réalité

Il faut savoir que les CMS sont le plus souvent open source et donc ouvert à tous. Il peut arriver qu’une (ou plusieurs) faille de sécurité se glisse dans une version. Dès qu’une personne s’en aperçoit, elle peut soit utiliser cette faille sur les milliers de sites qui fonctionnent avec la version en question soit prévenir la communauté. Les développeurs vont alors publier une nouvelle version corrigeant ce défaut et par conséquence cela va prévenir les personnes mal intentionnées que cette faille existe.

Par ailleurs, un CMS (et/ou Framework) est souvent prévu pour un usage assez générique et donc il contient plein d’options (dans le code j’entends) qui ne sont pas forcément utiles à tous les cas d’utilisation. Tout ce qui est inutile devient alors un poids et cela ralenti votre site sans que vous ne puissiez agir.

Ensuite, se pose le cas ou l’on ne sait pas faire quelque chose avec l’outils que l’on souhaite utiliser. Facile vas voir la documentation !
Oui mais dans la doc’ il n’y a pas forcément tout et ce n’est pas toujours super compréhensible bien que le plus souvent on s’en sort.

Parce qu’il est souvent plus facile/rapide de développer une fonctionnalité de toute pièce plutôt que :

  • chercher un module qui va faire plus ou moins se que l’on attend ;
  • se rendre compte que ça ne convient pas ;
  • chercher un autre module ;
  • en trouver un qui convient à peu près et le modifier / ne pas en trouver et le développer soit même en devant respecter le standard fixé par le CMS.

Parce qu’il est plus difficile pour un hacker qui veut pénétrer votre base de données de comprendre le fonctionnement de votre application développée avec un framework maison que de comprendre le fonctionnement de la solution ouverte à tous et utilisée sur des milliers de sites.

Cet article n’a pas pour but de vous faire oublier les CMS ou autres outils du genre cependant je vous incite plutôt deux fois qu’une à réfléchir aux conséquences sur le long terme qui peuvent découler de l’utilisation de votre CMS favoris.

Je vous invite à réagir sur cet article dans les commentaires ci-dessous.

PS : Moi aussi j’utilise des CMS mais parfois je le regrette…

1* : « Les antibiotiques c’est pas automatique. Parlez-en à votre médecin ! »