Content Management System & Typo 3
Présentation des CMS
Cette partie du site présente les principes fondamentaux sur lesquels reposent les CMS.
Pourquoi les CMS ?
Aujourd'hui, le principal problème que rencontrent les administrateurs de sites web, qu'ils soient intra ou Internet, est celui de leur administration.
L'administration d'un site web peut être décomposée en plusieurs tâches :
- l'ajout de contenus,
- la mise à jour de contenu,
- la suppression de contenu,
- la réorganisation des données,
- la gestion des accès et des autorisations aux pages du site.
Comme on peut le constater, la problématique concernant la gestion des sites web peut vite rendre le travail des administrateurs de ces sites infernal.
Il existe dans les commerces de nombreux outils pour répondre à ces besoins :
Les CMS apportent plusieurs solutions intéressantes à ce problème :
- une administration centralisée par des interfaces web
- un système de travail collaboratif ( workflow )
- un système d'horodatages des contenus
Principe
Séparation de fond et de la forme
La séparation du fond et de la forme, correspondant respectivement au données et leur mise en forme (présentation graphique), et le concept fondamental que respect tous les CMS.
Dans la littérature consacrée au CMS, on appel le fond : le contenu et la forme un template ou un gabarit.
Ce sont ces dénominations que nous utiliserons dans la suite de cet exposé.
Ce concept implique que le contenu doit être dénué de toutes informations de mise en forme. Cette contrainte est parfois trop restrictive. Dans la plupart des cas, les CMS autorise quelques exceptions comme la forme des textes :
- en gras,
- en italique,
- souligné …,
mais en aucun cas :
- la fonte,
- la taille des caractères,
- les couleurs,
- l'alignement, …
En général, le fond est stocké en bases de données et la forme dans des feuilles de styles CSS.
Différences de stockages :
Contenus |
Gabarits |
Base de données |
Feuille de styles CSS |
Fichiers plats |
Base de données |
Fichiers structurés (type XML) |
|
Annuaires (LDAP) |
|
Cette séparation permet :
- de dissocier le métier des graphistes qui vont travailler sur la forme du site Internet, de celui des contributeurs qui vont se charger de l'alimentation du contenu du site (le fond).
- de garder une mise en page unique entre toutes les pages du site web (garantir l'homogénéité du site).
- de partager un contenu commun entre plusieurs pages du site. Ceci limite les possibilités de duplication de l'information.
Le CMS joue un rôle de frontières entre ces deux mondes. Lorsqu'un client va demander une page du site au CMS. Celui-ci va rechercher les données demandées, ainsi que les gabarits associés et les fusionner ensemble pour rendre la page du site.
C'est ce que présente le schéma suivant :
Cette opération est appelée : une restitution HTML.
Structuration des contenus
Le contenu est la plus petite unité de fond (unité atomique d'information). Les contenus d'un site sont structurés en articles.
Un article est composé :
- D'un titre,
- D'un sous titre
- D'images
- De corps de texte
Les CMS manipulent ces articles pour constituer les pages d'un site. Chaque page d'un site peut contenir différents articles, et un article peut apparaître dans plusieurs pages.
Cette abstraction du contenu permet de manipuler les articles comme des objets.
Gestion de contenus : les solutions open source
On distingue deux types de CMS :
- Ceux, orientés contenus : chaque contenu publié donne lieu à une page web, basé sur un template (ex : Cofax, Spip, Apache Lenya, InfoGlue, …)
- Et ceux orientés pages : chaque page est constitués de colonnes, qui contiennent un ou plusieurs contenus. Ce type de CMS offre une plus grande souplesse de mise en page. (ex : Typo3, Jahia).
La structuration du contenu ne se limite bien entendu pas à la forme que prennent les pages et les articles qui les composent.
L'organisation des contenus est un concept fort des CMS.
Les CMS organise leur contenu de manière hiérarchique arborescente (semblable à l'organisation d'un contenu de répertoires). Ce concept d'organisation permet de générer automatiquement les menus de navigations des sites générés par les CMS.
Fonctionnement
Maintenant que nous avons ce qui constituait les pages Web géré par un CMS, nous allons voir comment elles sont présentées aux utilisateurs qui les consultent.
Ce mécanisme s'effectue en trois étapes :
- le Visiteur demande au moteur du CMS (core) un page particulière (ici nommée X)
- le moteur du CMS récupère le gabarit de la page et les données qu'il contient
- le moteur du CMS fusionne les données dans le gabarit et renvoie le résultat au Visiteur qui les affichera dans son navigateur Web.