Un système de gestion de contenu (CMS) est un logiciel d’administration de contenu. Généralement, les systèmes de gestion de contenu pour l’administration ou la création de sites web sont abrégés en CMS, par exemple WordPress. En fait, ces systèmes ne sont qu’un type de CMS et sont généralement appelés systèmes de gestion de contenu Web (WCMS) dans les publications spécialisées.

Toutefois, il est plus important que ces termes de comprendre comment fonctionne un système de gestion de contenu. Après tout, si vous avez une compréhension approximative du fonctionnement et de la structure d’un CMS, il est généralement beaucoup plus facile de choisir un système adapté à votre projet.

Comment fonctionne un système de gestion de contenu

On peut grosso modo diviser la fonctionnalité des systèmes de gestion de contenu en trois ou quatre domaines : Avec un système de gestion de contenu, c’est possible :

  • Stocker le contenu,
  • Gérer le contenu,
  • Fournir du contenu,
  • Afficher le contenu (facultatif).

Selon le système de gestion de contenu, il y a bien sûr des étapes d’expansion infinies pour chaque domaine, mais il y a aussi une sorte d’ensemble minimal de fonctionnalités que tout CMS devrait avoir. Pour une meilleure compréhension, ces fonctions essentielles sont expliquées plus en détail.

Sauvegarder des contenus avec un CMS

Un système de gestion de contenu stocke le contenu. Et il existe de nombreux types de contenus différents. Pour les auteurs et les gestionnaires de contenu, ces variantes ne sont pas particulièrement pertinentes. Cependant, elles peuvent être très importantes pour les opérateurs de sites web et les services informatiques car elles présentent des avantages et des inconvénients différents.

Les grands CMS bien connus comme WordPress, Drupal ou Joomla utilisent une base de données relationnelle classique pour stocker du contenu. Les bases de données courantes sont MySQL, MariaDB ou PostgreSQL. Les bases de données prises en charge par un CMS sont énumérées dans la configuration système requise.

Cependant, il existe également des systèmes de gestion de contenu qui ne nécessitent pas de base de données. Au lieu de cela, ils stockent le contenu dans des fichiers sur le serveur et sont donc souvent appelés CMS à fichiers plats. Kirby ou Statamic, par exemple, font partie du CMS à fichier plat. Ces dernières années, le Markdown est devenu le format de fichier le plus populaire pour le contenu. Toutefois, d’autres formats tels que TXT, XML, JSON ou directement HTML sont également envisageables. Parmi les avantages des CMS à fichiers plats, on peut citer la tendance à une plus grande sécurité et une manipulation plus facile, par exemple lors du déplacement du site web.

Il existe également des CMS d’entreprise complexes qui se passent d’une base de données classique. Il s’agit notamment d’Adobe AEM, de Magnolia ou encore de Sulu. Ils stockent le contenu dans une sorte d’arborescence sur le serveur et utilisent certaines normes. Pour le langage de programmation Java, il existe le standard JCR (Java Content Repository) et pour le langage PHP, il existe le standard PHPCR. Ces systèmes sont particulièrement efficaces pour traiter les contenus non structurés et permettent une utilisation très souple du contenu.

Il existe d’autres variantes et formes intermédiaires, par exemple les bases de données intégrées comme SQLite ou les bases de données NoSQL comme MongoDB ou CouchDB, qui gèrent également très bien les contenus non structurés. Toutefois, les détails sont plus pertinents pour les experts en bases de données.

La différenciation entre les bases de données classiques et les systèmes de stockage basés sur des fichiers concerne principalement le stockage de contenu textuel. Cependant, s’il s’agit d’images, de documents ou d’autres fichiers, ces « actifs » sont presque toujours stockés dans le système de fichiers du serveur et gérés séparément.

Gérer le contenu avec un CMS

Le contenu doit être géré, par exemple, créé, édité, supprimé ou publié. À cette fin, les systèmes de gestion de contenu offrent une interface utilisateur (appelée « interface utilisateur »). Via l’interface utilisateur, les éditeurs peuvent « gérer » le contenu et les administrateurs peuvent configurer le CMS.

Cette petite observation est tout un exploit, car un système de gestion de contenu a besoin de nombreuses fonctionnalités pour une interaction significative avec les éditeurs et les administrateurs. Des caractéristiques qui peuvent rendre le CMS très complexe. L’ensemble minimal de fonctionnalités pour une interface utilisateur utilisable ressemble à ceci :

  • Administration des utilisateurs : pour que les utilisateurs puissent se connecter, un CMS a besoin d’une administration des utilisateurs. Là, par exemple, de nouveaux utilisateurs peuvent être créés et des rôles et des droits peuvent être attribués.
  • Rôles et droits : étant donné que tous les utilisateurs n’ont pas les mêmes tâches (par exemple les éditeurs et les administrateurs), il doit ou devrait y avoir des rôles et des droits différents. Dans le cas le plus simple, le CMS offre deux ou trois rôles fixes qui peuvent être attribués à un utilisateur. Dans les systèmes complexes de gestion de contenu, vous pouvez créer ces rôles vous-même et distribuer les droits individuellement.
  • Gestion des pages : les différentes pages de la présence sur le web doivent bien sûr être créées, triées et gérées quelque part dans l’interface utilisateur.
  • Éditeur : dans le cas le plus simple, un éditeur HTML standard suffit pour créer et modifier le contenu. Cependant, les étapes d’expansion sont illimitées. Les technologies d’édition en ligne ou, plus récemment, les éditeurs en bloc sont courantes.
  • Gestion des médias : les médias tels que les images, les vidéos, les PDF et autres fichiers sont généralement gérés séparément dans un CMS et également stockés séparément dans le système de fichiers. Avec les systèmes complexes de gestion de contenu, des logiciels indépendants sont intégrés pour la gestion des médias, souvent appelés « Digital Asset Management System » (DAM).
  • Configuration : même le plus simple des systèmes de gestion de contenu offre quelques configurations de base. Cela nécessite une gestion de la configuration, qui ne doit pas nécessairement être affichée dans l’interface utilisateur.

Outre ces caractéristiques de base, la conception ultérieure de l’interface utilisateur dépend beaucoup du système de gestion de contenu respectif. Voici quelques exemples de caractéristiques : De nombreux CMS proposent une modélisation du contenu, par exemple avec l’aide d’un gestionnaire de formulaires. Dans ce cas, l’éditeur ne crée pas le contenu avec un seul éditeur standard, mais avec plusieurs formulaires personnalisés, qui peuvent être compilés individuellement par un développeur en fonction des exigences du site web. Un CMS peut également fournir une gestion de flux de travail configurable pour l’administration du contenu ou fournir des fonctionnalités pour l’exploitation de sites web multilingues. Dans la version de commerce électronique, des fonctions de paiement et de gestion des produits sont ajoutées, des systèmes distincts tels que la gestion des informations sur les produits (PIM) étant souvent utilisés ici aussi. Ces exemples de caractéristiques peuvent être poursuivis à l’infini.

Un niveau de complexité élevé n’est pas toujours populaire, d’ailleurs. C’est pourquoi de nombreux développeurs préfèrent se passer d’un CMS avec une interface d’administration complexe. Ils utilisent plutôt un générateur de site dit statique pour créer une présence sur le web. Comme son nom l’indique, les générateurs de sites statiques comme Jekyll ou Gatsby peuvent être utilisés pour générer des présences web statiques. Les générateurs de sites statiques ne sont pas commandés par une interface utilisateur, mais par des commandes de programmation que le développeur peut entrer via la console. Les générateurs de sites statiques ne sont pas comptés parmi les systèmes de gestion de contenu complets, car ils ne peuvent qu’afficher le contenu (par exemple sous forme de page HTML), mais pas le stocker, le gérer ou le produire de manière dynamique.

Produire du contenu avec un CMS

Avec un Web CMS, vous pouvez non seulement gérer le contenu, mais bien sûr aussi produire du contenu. Pour cette troisième fonction de base, un système de gestion de contenu Web doit comporter au moins deux fonctions : le contrôle d’accès et le contrôle du format de sortie.

  • Contrôle d’accès : Le contrôle d’accès concerne les personnes autorisées à voir quel contenu et à quel moment. Dans sa forme la plus simple, un CMS devrait au moins faire la distinction entre le contenu qui n’est pas visible par le public et le contenu qui est visible par le public, par exemple entre « Draft » et « Publish ». Dans le détail, cependant, beaucoup de choses sont concevables ici, comme la publication pour des groupes d’utilisateurs spécifiques, la publication pour des canaux spécifiques, un processus de publication progressif avec des flux de travail ou même une publication contrôlée dans le temps. Un grand art est la production personnalisée de contenu, où un ensemble de règles complexes, le plus souvent modifiables ou même auto-apprenantes, contrôle la production.
  • les formats de sortie : Dans le cas le plus simple, un CMS ne propose que du HTML comme format de sortie et génère simplement une présence web en HTML. Cependant, les systèmes de gestion de contenu plus complexes offrent divers formats de sortie, par exemple des formats de données tels que XML ou JSON ou des formats de documents tels que PDF.

Contenu de l’affichage

Traditionnellement, le contenu d’un CMS peut être facilement accessible via une URL avec un navigateur web et y être affiché comme une page HTML. Cependant, la production (et éventuellement l’administration) de données et de contenus via une interface de programmation d’application (API) est de plus en plus courante. Grâce à l’API, les développeurs peuvent appeler le contenu avec leur propre script et le traiter ensuite. Le format de sortie dominant est le JSON.

Il est généralement admis que la présentation du contenu sous la forme d’un site web est la tâche centrale d’un système de gestion de contenu. En fait, cependant, la présentation du contenu n’appartient pas nécessairement à un Web CMS. Les nouveaux SGC sans titre, par exemple, n’affichent pas de contenu du tout et sont limités à la sortie ou à la fourniture de contenu via une API (interface de programmation d’applications). Un autre système est alors responsable de la présentation, qui doit être connecté au CMS par un développeur.

Un système de gestion de contenu traditionnel, cependant, ne fournit pas seulement la livraison du contenu mais aussi une présentation du contenu, au moins une présentation sous forme de page web (HTML). Toutefois, cela nécessite à nouveau quelques caractéristiques en arrière-plan :

  • Moteur de template : le moteur de template intègre le contenu dynamique et les données du CMS dans un document statique (HTML). Cette fonction peut être comparée à une fusion de lettres, dans laquelle les différents emplacements du modèle de lettre sont remplis de données dynamiques comme l’adresse. Pour ces fonctions, vous ne devez pas nécessairement utiliser un composant logiciel distinct. Cependant, des moteurs de modèles prêts à l’emploi tels que Twig pour PHP, JSP pour Java ou Mustache pour JavaScript sont souvent utilisés.
  • Thèmes : Alors que le moteur de template organise l’intégration du contenu dans une page HTML, le thème s’occupe essentiellement de la conception et de l’apparence du contenu : Les modèles HTML statiques sont conçus, la page est divisée en zones telles que les en-têtes, les pieds de page et la navigation, et les classes et ID CSS correspondantes sont attribuées. La fameuse optimisation mobile via un design web réactif est également une tâche du thème. Presque tous les systèmes de gestion de contenu offrent la possibilité de développer son propre thème et, idéalement, de le changer en appuyant sur un bouton.

Tout comme pour la gestion du contenu, il peut y avoir de nombreuses fonctionnalités supplémentaires pour la présentation du contenu. Par exemple, un aperçu de la page, le changement de thèmes déjà mentionné, l’ajustement individuel des thèmes via l’interface utilisateur du CMS ou – plus intéressant pour les développeurs – l’utilisation de différents moteurs de modèles.

Insertion : Termes de l’environnement CMS

CMS

Abréviation de Content Management System.
système de gestion de contenu
Un logiciel de gestion de contenu numérique.

WCMS
Web Content Management System, un CMS basé sur le web, par exemple pour l’administration de sites web.

CMS d’entreprise
Ce terme désigne une stratégie logicielle globale pour la gestion des contenus numériques et, outre le CMS, il inclut d’autres types de logiciels de gestion de contenus tels qu’un système de gestion de documents (SGD). Dans la pratique, cependant, le terme est également utilisé pour les systèmes de gestion de contenu Web très complexes afin de les recommander comme solution pour les grandes entreprises et de les différencier des CMS moins complexes.

DXP
Abréviation de Digital Experience Platform. Un terme relativement nouveau qui est couramment utilisé dans l’environnement des entreprises. DXP désigne les suites logicielles qui comprennent, outre le CMS, d’autres composants logiciels tels que des fonctions d’analyse, de ciblage ou de personnalisation. L’objectif du logiciel est de créer et de cartographier des expériences holistiques pour les clients ou les utilisateurs.
Le meilleur de la race
Une stratégie plutôt opposée au DXP. Dans la stratégie « Best of breed », le CMS se concentre sur ses fonctions essentielles et n’est pas proposé comme partie intégrante d’une suite complète de marketing. Au lieu de cela, le CMS offre des interfaces matures pour connecter les meilleurs logiciels tiers au système de gestion de contenu.

CMS sans tête
Un système de gestion de contenu qui n’offre que le stockage, l’administration et la livraison du contenu et laisse la présentation du contenu à d’autres systèmes. Le contenu est fourni via une API (Application Programming Interface). La CMS sans tête peut également être comprise comme une amélioration de la meilleure stratégie de la race.

CMS découplé
Un CMS découplé comprend toutes les fonctions de base telles que le stockage, l’administration, la livraison et la présentation du contenu. Cependant, les différentes parties du logiciel sont découplées les unes des autres et largement indépendantes. Les données entre les parties du logiciel sont échangées via une interface de programmation d’application (API).

Flat-File CMS
Un système de gestion de contenu qui n’utilise pas de base de données relationnelle, mais qui stocke le contenu dans des fichiers (généralement des fichiers de démarque) sur le serveur.

CMS open source
Un système de gestion de contenu qui est distribué via l’une des licences open source courantes telles que MIT ou GPL. Bien que la libre utilisation de ces systèmes soit courante dans la pratique, elle n’est pas une obligation pour l’Open Source.

CMS propriétaire
Dans le cas d’un système de gestion de contenu propriétaire, l’utilisation et la distribution ultérieure du logiciel sont limitées, par exemple, par des conditions de licence spécifiques à l’entreprise (CLUF). En pratique, l’utilisation de ces systèmes est généralement soumise à une redevance.

DAM
Un Digital Asset Management System est un logiciel de gestion des médias. Un DAM est intégré en tant que composant logiciel indépendant dans un CMS complexe.

PIM
La gestion des informations sur les produits est un logiciel d’administration des produits. Les PIM sont souvent utilisés dans le commerce électronique et sont connectés au CMS en tant que logiciel indépendant.

Modèle
Un type de page que vous pouvez généralement sélectionner dans un CMS lors de la création d’une nouvelle page. Par exemple, il peut y avoir différents modèles pour la page d’accueil, pour les pages statiques ou pour les articles de blog. Les modèles font généralement partie d’un thème et sont contrôlés par un moteur de modèles.

Thème
Un thème présente le contenu au monde extérieur comme un site web et détermine sa conception et son apparence. Un thème peut être développé individuellement pour un CMS, de nombreux CMS proposent une sélection de thèmes prêts à l’emploi.

Plugin
Les Plugins sont aussi appelés en option extensions ou modules et sont des extensions fonctionnelles qui peuvent être activées pour un CMS et, si nécessaire, installées séparément.

WYSIWYG
Ce que vous voyez, c’est ce que vous obtenez. Nom commun par exemple pour les éditeurs WYSIWYG, où les formats appliqués sont déjà visibles lors de l’édition. En revanche, les éditeurs à simple démarque, où seul le texte en clair avec la marque de démarque est visible. Le formatage n’est alors affiché que dans un aperçu de la page ou sur la page finie après conversion en HTML.

Capacité multi-clients
Désigne la capacité d’un système de gestion de contenu à gérer plusieurs présences web indépendantes au sein d’une installation CMS.

Version
La capacité d’un système de gestion de contenu à maintenir les anciennes versions d’une page de contenu et à passer d’une version à l’autre.

Modélisation du contenu
La modélisation du contenu consiste à structurer le contenu d’un site web et à adapter le système de gestion du contenu aux besoins du contenu. Par exemple, un gestionnaire de formulaires peut être utilisé pour créer des formulaires de saisie appropriés pour les auteurs. Tous les systèmes de gestion de contenu ne disposent pas d’options sophistiquées pour modéliser le contenu.

Backend
Le code de programmation qui s’exécute sur le serveur, par exemple PHP, Java ou Python. Par « backend », les utilisateurs entendent souvent l’interface de création et d’administration. Cependant, les interfaces utilisateurs font généralement partie de l’interface utilisateur d’un développeur.

Frontend
Le code de programmation qui est exécuté dans le client (par exemple dans le navigateur), par exemple JavaScript, HTML et CSS. Par frontend, les utilisateurs entendent souvent uniquement le site web accessible au public. Pour un développeur, cependant, chaque partie d’un logiciel qui fonctionne avec du code côté client appartient au frontend, y compris chaque interface utilisateur telle qu’une interface d’administration.

Plan du site
Une liste de toutes les pages d’un site web (la plupart du temps) et donc une sorte de table des matières séparée. Habituellement, le plan du site est affiché au lecteur sous forme de page HTML pour l’orientation, ou il est produit dans un format XML pour l’indexation par les moteurs de recherche tels que Google.

Autres caractéristiques d’un CMS

Les fonctionnalités décrites ci-dessus sont les composantes de base d’un CMS complet, un CMS minimal pour ainsi dire. Au-delà de ces fonctions essentielles, il n’y a pas de limites à la richesse des fonctionnalités d’un CMS. Par exemple, presque tous les systèmes de gestion de contenu offrent la possibilité de développer leurs propres extensions. Ces extensions fonctionnelles sont souvent appelées plugins, extensions ou modules. Les autres fonctionnalités disponibles dépendent du positionnement du CMS sur le marché.

Les systèmes de gestion de contenu tentent de se surpasser non seulement par la richesse de leurs fonctionnalités, mais aussi par leur minimalisme. Car outre la tendance à une technologie de plus en plus complexe, notamment avec Enterprise CMS, on peut également observer un contre-mouvement : Les systèmes de fichiers plats, les CMS sans tête ou les générateurs de sites statiques sont nés de la volonté de simplifier à nouveau la gestion des contenus et la création de sites web.

Avec le nombre élevé de systèmes de gestion de contenu, les nombreuses tendances et les caractéristiques les plus diverses, le choix d’un CMS adapté n’est pas facile. Afin de prendre une décision éclairée, même une catégorisation approximative des systèmes peut être très utile.