Wiklog - Le sur-mesure informatique accessible à tous

Pourquoi ne pas utiliser de CMS pour son site ?

Rédigé par Stéphane Hervy le 11 juin 2018

C’est quoi un CMS au juste ?

Avant de vous expliquer pourquoi, je ne conseille pas d’utiliser un CMS, voici un petit rappel sur ce qu’est un Content Management System (CMS ou SGC Système de Gestion de Contenu en français).

Et pour ne pas réinventer la roue, la définition que l’on peut trouver sur Wikipédia (1) est tout à fait pertinente. Un CMS est une famille de logiciels destinés à la conception et à la mise à jour dynamique de sites Web ou d'applications multimédia. Ils partagent les fonctionnalités suivantes :

  • ils permettent à plusieurs individus de travailler sur un même document ;
  • ils fournissent une chaîne de publication (workflow) offrant par exemple la possibilité de mettre en ligne le contenu des documents ;
  • ils permettent de séparer les opérations de gestion de la forme et du contenu ;
  • ils permettent de structurer le contenu (utilisation de FAQ, de documents, de blogs, de forums de discussion, etc.) ;
  • ils permettent de hiérarchiser les utilisateurs et de leur attribuer des rôles et des permissions (utilisateur anonyme, administrateur, contributeur, etc.)

Et bien c’est parfait pour moi, où est le problème ?

Comme vous pouvez le constater, un CMS est loin de pour répondre toutes les éventualités nécessaires à un site puisque sa fonction première est de gérer du contenu. Comment gérer un e-service ? Comment faire l’interface avec tel autre système informatique ? Comment appliquer une nouvelle réglementation (voir aussi « RGPD au-delà du règlement une opportunité ») ? Bref, vous l’aurez compris un CMS à ses limites.

Et alors ? Il existe des plugins !

En effet, les plugins sont là pour combler ces manques (parfois) et permettent de faire croire que les CMS sont la solution universelle. Sauf que l’erreur est bien là. La plupart des sites utilisant comme base un CMS finissent par ne devenir qu’un assemblage de plugins alourdissant ainsi le site de manière générale.

Mais au-delà de la lourdeur induite par cet assemblage, le véritable problème, à mon sens, est le manque de cohérence globale du site. Un plugin par définition est autonome, il vient s’ajouter à l’existant en essayant de ne pas (trop) le perturber et puis c’est tout. Il ne cherche pas à savoir si les ressources dont il a besoin sont déjà utilisées par un autre ; alors il les charge. Dans la même idée, le plugin s’installe avec ses propres tables de bases de données sans se soucier de savoir comment il pourrait tirer profit de l’existant et je ne parle pas des colonnes inutiles qui ne vous serviront pas.

Très bien et je fais quoi alors ? Utilisez un Framework !

Un Framework ? Qu’est-ce donc ? Là encore un petit tour sur Wikipédia pour avoir une première approche et une définition succincte (2). En programmation informatique, un Framework désigne un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d'un logiciel (architecture). Un Framework se distingue d'une simple bibliothèque logicielle principalement par :

  • son caractère générique, faiblement spécialisé, contrairement à certaines bibliothèques ;
  • le cadre de travail (traduction littérale de l'anglais : Framework) qu'il impose de par sa construction même, guidant l'architecture logicielle voire conduisant le développeur à respecter certains patrons de conception.

Les Frameworks sont donc conçus et utilisés pour modeler l'architecture des logiciels applicatifs, des applications web, des middlewares et des composants logiciels.

En d’autres termes, vous êtes libre de faire comme bon vous semble, c’est vous qui assemblez vos pièces et qui gardez la vision et la cohérence globale de votre site.

Pour ma part, j’utilise Laravel (3) mais il en existe bien d’autres (4) dont Zend et Symfony.

Alors oui, cela demande un effort supplémentaire d’utiliser un Framework mais vous avez la liberté de ne pas être tributaire des évolutions du CMS et surtout des plugins associés. Autre point à ne pas négliger, la maintenance de votre site sera beaucoup plus simple à réaliser puisque vos dépendances sont très faibles.

Pour finir, je dirai que les CMS sont peut-être une solution rapide et économique à court terme mais gardez à l’esprit que vous aurez toujours un intérêt à basculer vers l’usage d’un Framework à moyen terme pour assurer la cohérence de votre site et en faciliter la maintenance mensuelle.

Sources
(1) https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu
(2) https://fr.wikipedia.org/wiki/Framework
(3) https://laravel.com
(4) https://fr.wikipedia.org/wiki/Liste_de_frameworks_PHP