Les CMS

Un système de gestion de contenu (SGC), plus connu sous le nom anglais de CMS (pour Content Management System) est un logiciel ayant pour but de faciliter ou d’automatiser les tâches de conception et de mise à jour d’un site Internet.

“Intéressant, mais moi j’aimerais faire un site web … une définition, ça ne m’aide pas vraiment !

Un CMS est un logiciel – qui tourne sur un serveur web – permettant de créer, de façon simple, des pages web dynamiques. Le CMS gère automatiquement les tâches d’affichage des pages (front office) et de mise à jour du contenu (back-office et lien avec la base de données). Autrement dit, les CMS gèrent à votre place tout ce qui permet de relier le client au serveur et le serveur à la base de données.

Les CMS permettent de mettre en place un site web sans connaissances en programmation. Toutes les actions se font à travers des interfaces graphiques, et non avec des lignes de code.

De la même manière que le logiciel Word vous permet de mettre en forme un texte de façon visuelle, les CMS vous proposent de mettre en forme vos pages web grâce à une interface graphique : vous n’avez pas à écrire vous-même le HTML que vous voulez afficher aux utilisateurs, les CMS s’occupent de le générer.

Séparation entre contenu et design

Dans un même site web, de nombreuses pages, si ce n’est toutes, ont un design similaire. Les CMS intègrent des outils permettant de ne pas avoir à refaire ce design pour chaque page : une fois le design du site choisi, il s’appliquera automatiquement à toutes les pages :

  • vous pouvez récupérer des designs “touts faits” (que l’on appelle des thèmes ou des templates) et les appliquer à votre site directement ;
  • vous pouvez modifier le design du site sans avoir à vous soucier de son contenu. Le nouveau design sera appliqué automatiquement.

Gestion des droits d’accès

Les utilisateurs peuvent avoir des rôles différents au sein d’un site web, et donc avoir le droit, ou non, d’effectuer certaines actions ou d’accéder à certaines pages.

Prenons l’exemple d’un forum :

  • les utilisateurs non enregistrés peuvent lire mais pas poster de messages ;
  • les utilisateurs enregistrés peuvent lire et poster des messages ;
  • les modérateurs peuvent lire et poster des messages, et ils ont en plus la possibilité de modifier et de supprimer les messages des autres utilisateurs ;

La possibilité d’effectuer ou non une action est gérée par ce qu’on appelle des droits (avoir le droit, ou non, d’effectuer une action).

Dans la plupart des CMS, cette gestion des droits existe et est simple à mettre en œuvre : il suffit de créer des groupes d’utilisateurs et de leur donner, ou de leur interdire, l’accès aux différentes parties du site (par exemple l’accès au back-office, à une partie “utilisateur”…).

Extensions

Même s’il ne s’agit pas à proprement parler d’une caractéristique, les extensions, aussi appelées par leur nom anglais plugins, sont désormais un incontournable de tous les CMS.

Les extensions ne sont pas directement incluses dans le CMS (même si certaines sont installées par défaut) : il est possible de les installer séparément selon vos besoins. Ceci permet d’avoir un cœur de CMS contenant uniquement les fonctionnalités indispensables, tout en augmentant fortement la flexibilité de l’outil.

Il est souvent possible de développer vous-même une extension et l’utiliser sur votre site ; il existe plus de 55 000 extensions pour WordPress.

Avantages et inconvénients

Les CMS sont souvent avantageux, mais attention, ils ne sont pas une solution miracle ! Selon la nature de votre projet, choisir un CMS pourra ne pas être pertinent. À vous de peser le pour et le contre !
Avantages

Comme nous venons de le voir, les CMS ont de nombreux avantages.
Ils sont accessibles : pas besoin de connaître un langage de programmation pour pouvoir les utiliser ou les installer.
Ils sont rapides à mettre en place : quelques heures pour les plus complexes, quelques minutes pour les plus simples.
Ils font gagner du temps : développer tout un site web à partir de zéro – plutôt qu’utiliser des outils préconçus – est parfois long.
Ils sont soutenus par une communauté : c’est le meilleur moyen d’avoir des outils performants et variés, et d’obtenir de l’aide.
Ils sont faciles à maintenir et à faire évoluer : le Web évolue, les CMS répercutent ces évolutions et permettent d’avoir un site qui évolue également (usage, technologie, design, ergonomie, etc.).

Inconvénients

Cependant, comme toute solution technique, les CMS ont également des inconvénients intrinsèques.
Voici les plus notables et les plus répandus.
Ils manquent de flexibilité : la grande majorité des CMS proposent énormément de fonctionnalités, néanmoins il est souvent complexe et coûteux d’ajouter celles qui ne sont pas initialement prévues.
Ils sont moins performants : la généricité et la complexité des CMS  les rend, à qualité égale, moins performants qu’un site construit sans CMS.
Ils sont plus susceptibles d’être attaqués : comme tous les sites utilisant le même CMS partagent un code source commun, il est nettement plus aisé de pirater un CMS, surtout s’il est mal protégé. Par ailleurs, le temps investi par un pirate pour attaquer un site web peut être rentabilisé sur d’autres sites construits avec le même CMS.
Ils sont difficiles à migrer : changer de CMS est souvent beaucoup plus long et complexe que de faire évoluer un site web construit sans CMS.
Dans certains cas, les CMS peuvent pâtir d’autres inconvénients.
Ils sont moins faciles à référencer : la structure des pages et les redondances limitent souvent l’adéquation avec les règles du référencement.
Ils sont moins stables : la complexité des CMS les rend parfois moins stables – toujours à qualité égale – qu’un site construit sans CMS.