Les principales fonctions d'un CMS

Un CMS (Système de Gestion de Contenus ou Content Managment System) comme Joomla! permet la création d'un site internet professionnel en facilitant certaines fonctions  générales.

Gestion dynamique de contenus

C'est évidemment la fonction principale puisqu'elle touche le cycle de vie des contenus. Au delà de la simple édition de contenus, en mode WYSIWYG, on doit ajouter la possibilité d'attacher des tags pour faire des regroupements dynamiques entre contenus et aussi une gestion complète du cycle de vie des contenus avec une gestion d'états, un workflow, un contrôle de version, des notifications emails et des droits hierarchisés pour les auteurs, relecteurs, etc...

Avec la gestion des contenus, les CMS proposent aussi une gestion des médias (images) pour ranger, classer et retrouver les médias qu'on ajoutera dans les pages des contenus.

Une approche qui s'est imposée depuis quelques années est de fonctionner avec un CCK (Content Construction Kit ou Kit de Construction de Contenus) qui permet de tailler ses propres contenus à partir de champs spécifiques et de produire des vues dynamiques sur ces contenus selon des paramétrés passés. Propulsée par le CMS Drupal mais à peine existant dans Wordpress, il existe une dizaine de CCKs pour Joomla!

Il est important de constater,avec cette approche CCK, que toutes les pages web de tous les sites n'ont en fait que 3 fonctions:

  • des formulaires (en front comme un formulaire de contact ou en back pour créer un contenu)
  • des vues détail des contenus
  • des vues listes (resultat d'une recherche implicite)  qui recherche et affichage des résultats sous forme de listes

Navigation

Un CMS doit aussi proposer des interfaces simples pour définir la navigation entre les pages au travers de menus et de fils d'ariane.

Séparation du fond et de la forme

Une fonction capitale est la possibilité de gérer des templates ou thèmes graphiques indépendamment des contenus. Un CMS doit permettre la mise à jour du style graphique d'un site sans toucher à l'architecture et à la navigation du site. Les templates produits doivent pouvoir s'adapter plus ou moins automatiquement à toutes sortes d'écran (support "responsive").

Ajout d'extensions

Un CMS doit offrir la possibilité de construire son site web très rapidement par l'ajout d'extensions tierces. Les principaux CMS (Joomla, Drupal, Wordpres) disposent de miliers d'extensions qu'on peut installer en quelques secondes et qui ajoutent de nouvelles fonctions à l'outil (Emailing, Blog, etc...)

Programmation

Même si un CMS n'et pas utilisé comme un framework de développement dans la plupart des cas, avec notamment l'assemblage d'extensions tierces pour couvrir le cahier des charges du client, on doit souvent intervenir au niveau du code (PHP) pour développer sa propre extension ou venir en modifier une. Le CMS doit proposer une API claire et complète de l'outil pour permettre de répondre exactement au cahier des charges.

Droits d'utilisateurs

La gestion de contenu implique une gestion des utilisateurs du CMS. L'outil doit définir des groupes d'utilisateurs (publics, enregistrés, gestionnaires, administrateurs, relecteurs, auteurs....) auxquels on donne des droits (lecture, écriture, publication, changement d'état) sur les contenus ou sur les fonctions du site (possibilité de parametrer le site, de modifier la navigation, d'ajouter des blocs, etc...)

Multi sites

Fonction plus récente mais répondant aux besoins des projets actuels, la gestion multi sites permet de produire, avec une même instance du CMS, différents sites ou sous-sites qui peuvent partager des contenus et des fonctions mais avec un frontal et un back office dédié. C'est souvent l'occasion de faire des économies de maintenance et d'une gestion quotidienne plus aisée.

Gestion multilingues

Fonction évidente pour un CMS, le multi langues est souvent traité de façons très différente selon les CMS. Il importe de pouvoir disposer de plusieurs méthodes selon les projets et selon les objectifs. Certains CMS fonctionnent par duplication des contenus (un article français qui correspond à un article anglais...) ou par duplication des champs dans un contenu (un même article contient des champs dupliqués pour chaque langue pour une gestion plus rapide en back office).

Moteurs de recherche

C'est la fonction de base d'un CMS: pouvoir retrouver une page selon un mot clé. Les moteurs de recherche intégrés au CMS sont assez rudimentaire. On peut soit l'améliorer en construisant, si on a opté pour une approche CCK (voir plus-haut), des moteurs de recherche spécifique, soit adjoindre au CMS un moteur de recherche personnalisé comme Elastic Search ou SOLR, soit utiliser un moteur externe comme celui de Google mais limité aux contenus de votre site.

SEO

Un site web doit être bien indexé dans les moteurs de recherche et c'est pourquoi les fonctions (Search Engine Optimization) de réécriture d'URL, gestions des méta informations et les balises spécifiques au référencement  sont absolument capitales pour finir un projet.

Formulaires en ligne

Une autre fonction élémentaire sur un CMS est de proposer la construction de formulaires de saisie que ce soit en front (demande d'info) ou en back (saisie d'un nouvel article sur le site). Joomla!, avec le CCK Seblod, est la seule solution qui a réussi à modéliser le web en unifiant notamment la notion de formulaire (défini par ses champs) avec celle de type de contenus (aussi définis par leurs champs).

 

Technologies
512
Votre projet web ?
Parlons-en !

Faites confiance à nos spécialistes depuis 2007!