CMS – Le rôle de la base de données

LEÇON

 

Un site CMS est typiquement composé de :

  • fichiers PHP, CSS, HTML, JavaScript, images, polices, etc - livrés de base avec :
    • le système CMS
    • les modules (plug-ins) complémentaires
    • les thèmes
  • les données de configuration faites par le gérant du site via l'interface de gestion :
    • aux fonctionnalités de base du système CMS
    • aux modules (plug-ins) complémentaires
    • aux thèmes
  • le contenu textuel
  • le contenu non-textuel (images, fichiers audio, fichiers vidéo et cetera)
  • les images ajoutés via l'interface de gestion pour configurer/complémenter les thèmes

Remarque : Il ne faut pas oublier que les systèmes CMS sont souvent des systèmes "Open Source" donc il peut y avoir d'autres fichiers ajoutés "à la main" par le gérant du site - mais laissons ça de côté pour l'instant.

 

Les éléments fixes

Parmi les éléments cité ci-dessus les "fichiers PHP, CSS, HTML, JavaScript, images, polices, etc - livrés de base avec le CMS/modules/thèmes" sont des éléments fixes. C'est à dire (hors besoin de modifier la fonctionnalité offerte par le système CMS) ces fichiers n'ont pas besoin d'évoluer. Ces éléments sont donc présent sous forme de fichier dans les répertoires du CMS.

 

Configurations et Contenu Textuel -> Base de Données

Tout ce qui est modifiable via l'interface, donc évolutif est stocké dans la base de données :

  • les données de configuration
  • le contenu textuel (articles et textes des pages)

 

Éléments non-textuels

Les images (et fichiers audio, vidéo, etc) ne sont pas stockées dans la base car c'est souvent inefficace. Typiquement des répertoires sont réservés dans hiérarchie de l'application web pour stocker ces éléments (qu'ils soient liés au contenu ou aux thèmes).

 


 

EXERCICES
Dans chaque cas identifier où le système CMS stocke ces informations (base de données ou système de fichiers) :

  1. le titre d'un article de blog
  2. le corps d'un article de blog
  3. un texte ajouté par le gérant du site sur la page d'accueil
  4. une image employée par l'interface de gestion
  5. un commentaire sur un article de blog
  6. un fichier CSS associé à un thème
  7. un script PHP pour générer l'affichage des commentaire d'un article de blog
  8. un fichier jpg qui sert de fond de bannière sur chaque page du site
  9. les codes d'accès pour la base de données
  10. les textes qui servent de titres dans le menu principal de navigation sur le site
  11. une image liée à un article
  12. le nom de l'auteur d'un article
  13. la couleur de fond du site telle qui a été configuré par le gérant via l'interface de gestion
  14. le nom d'un utilisateur du site
  15. l'avatar (photo) d'un utilisateur du site
  16. le mot de passe d'un utilisateur du site
  17. des fonctionnalités écrites en JavaScript pour un module (plug-in)
  18. le choix du thème actif
  19. les images utilisé par un thème dans sa configuration par défaut
  20. les images ajoutés par le gérant pour configurer un thème