Introduction aux CMS
Introduction Prérequis : But du cours : Aucun Qu'est-ce qu'un CMS ? A quoi ça sert ? Quels sont les avantages et les inconvénients ? Quels sont les CMS les plus utilisés ? Pas de description d'un CMS en particulier (voir TD)
Qu'est-ce qu'un CMS ? En français, système de gestion de contenu En anglais, content management system (CMS) Les buts : Offrir des fonctionnalités de publication, d'organisation et d'administration de contenu Structurer le contenu et le séparer de la forme Limiter les compétences nécessaires pour maintenir un site Web dynamique Gérer les utilisateurs, leurs rôles et leurs permissions
Les fonctionnalités Choix du modèle de page Interface Web de gestion « Article », « blog », « FAQ », « forum »... Thèmes au choix Interface Web de gestion Publication de contenu avec validation par un modérateur (workflow) Organisation des menus et des catégories Création de flux RSS Administration du site Gestion des utilisateurs Statistiques
Les fonctionnalités Séparation du contenu... … et de la forme Le contenu et les paramètres sont dans une base de données La page affichée est toujours dynamiquement créée à partir de cette base de données … et de la forme La présentation est définie par des feuilles de style (XSLT, CSS) On peut choisir plusieurs « thèmes » et modifier les feuilles de style
Les fonctionnalités Balisage HTML simplifié Sous-ensemble de HTML BBCode … Mais on peut revenir au HTML complet si on le décide
Les fonctionnalités Les CMS les plus utilisés sont open-source, et de nombreux modules supplémentaires sont disponibles Il y a probablement un module répondant plus ou moins à votre problème : Tableau récapitulatif éditable Calendrier Gestion d'emploi du temps Nuage de tags Édition de PDF Etc.
Les avantages Installation et prise en main des fonctionnalités de base facile Installation par un administrateur compétent mais pas nécessairement expert Gestion par un non-spécialiste Réduit les coûts de développement Les aspects sécurité sont (en général) déjà gérés
Les avantages Le CMS n'est pas seulement pour les « petits », des gros sites utilisent des CMS Cela permet : D'homogénéiser l'ensemble du site De donner un cadre de travail strict à tous les développeurs De bénéficier d'outils déjà prêts et testés Et on peut toujours se plonger dans le code lorsqu'on a quelque chose de plus complexe à faire
Les inconvénients Attention : ne pas utiliser un CMS pour un site statique, le coût de prise en main sera plus important que le gain Limites : dès que l'on souhaite faire des choses qui sortent de l'ordinaire, ça se complique Même si les modules sont utiles, ils ne colleront jamais à votre problème spécifique On doit alors résoudre notre problème tout en restant dans le cadre du CMS Si cette situation se répète, les contraintes deviennent plus fortes que les avantages
Les inconvénients Performance : comme tout contenu généré automatiquement, les performances sont réduites Dépendance d'un outil externe Maintenance, mises à jour, migrations
Quelques CMS Les plus utilisés : WordPress Joomla Drupal SPIP Typo3 Le plus simple à prendre en main : WordPress (pour un simple blog ou un petit site) Le plus « pro », complexe et complet : Drupal Un bon intermédiaire : Joomla