Nous avons maintenant défini ce qu'est un CMS. Sachez cependant qu'il existe en réalité des dizaines de CMS différents, et Drupal n'est que l'un d'eux. Certains CMS sont généralistes et complexes, d'autres sont simples et spécifiques. Ce site par exemple est propulsé par un CMS (Drupal), en effet, je peux taper mon tutoriel directement en ligne sur le site, je peux réarranger l'ordre de mes chapitres, changer les images, tout cela sans écrire de code !
Les CMS peuvent être regroupés en différentes familles et selon différents types d'usage. On retrouve :
- Les CMS hébergés, comme WIX, e-monsite, service 1&1 voire SkyBlog. Ce sont alors des services payants ou gratuits qui hébergent et mettent eux-mêmes en ligne votre site. Ces CMS ne sont pas open-source.
- Les CMS Open-Source, à l'image de Drupal, dont le code est libre d'être lu, modifié, amélioré par le tout à chacun.
- Les CMS avec bases de données, comme Joomla, Wordpress, et... Drupal !
- Les CMS sans bases de données, plutôt orientés contenu simple, comme AjaXplorer.
Ces différents CMS peuvent servir à :
- Créer un forum: à l'image de PhpBB.
- Créer un blog: comme Wordpress historiquement.
- Gérer et partager des fichiers: comme Pydio.
- Créer des galeries et albums photos: comme Koken.
- Créer des portails web: comme Joomla historiquement ou Lutèce.
- Créer un réseau social: comme Netweb.
- Créer un site de e-commerce: comme Thelia
- ...
Il serait presque possible de trouver autant d'usages que de CMS !
Voici une liste non exhaustive de quelques fonctionnalités fournies par la plupart des grands CMS modernes:
- Gérer le contenu : rédiger et modifier du contenu, publier et dépublier ce contenu.
- Gérer les utilisateurs : permettre la création d'un compte utilisateur, généralement lié à un rôle. Permettre l'accès ou non à certains contenus pour ces utilisateurs/rôles.
- Gérer les droits : Les utilisateurs peuvent être regroupés en groupes d'utilisateurs ayant un ensemble de droits: pouvoir ou non ajouter du contenu à votre site, pouvoir ou non commenter vos articles, etc...
- Gérer les commentaires : Pouvoir commenter les différents contenus et pouvoir modérer, publier, dépublier les commentaires.
- Gérer les médias : Pouvoir uploader et afficher des images, voir des médias plus complexe comme des vidéos, des musiques ou plus généralement des fichiers.
- Gérer les classements : suivant les CMS, un contenu peut-être vu comme un assemblage de champs, ou catégorisé par des étiquettes, etc... Il est alors possible de faire des classements et des recherches rapides et pertinentes dans les contenus. Cela peut vous sembler obscur mais nous allons très rapidement détailler tout cela dans le cadre spécifique de Drupal.
- Gérer des concepts sémantiques : aussi appelé entité. Pour une école par exemple, les élèves, les parents et les professeurs sont des personnes n'ayant pas les mêmes accès, tandis que les cours en lignes sont encore un autre concept du même site.
- Séparer le contenu et sa vue : nous détaillerons là encore plus tard ce principe. En quelques mots tout de même, il s'agit de comprendre qu'un contenu et son affichage sont deux choses différentes. Un même texte peut être mis en page différemment pour être imprimé dans un livre, enregistré sur une clef USB, afficher dans une page web ou encore télécharger dans un PDF.
Drupal prend bien-sûr en charge chacune de ces fonctionnalités, ainsi que bien d'autres. Dans le chapitre suivant, nous allons voir le vocabulaire spécifique à Drupal pour chacune de ces fonctionnalités.
Ajouter un commentaire