Comment choisir un CMS ?

Publié le 27 avril 2010 par Ccarvounas

CMS, le célèbre acronyme signifiant Système de Gestion de Contenu (Content Management System) s’est installé sur toutes les lèvres, détrônant les Wikis, Blogs et autres vocables.
Pourtant la définition du concept de CMS reste flou, rendant les critères de sélection d’une solution difficiles à cerner.

  • Qu’est ce qu’implique la notion de CMS et quelle définition peut on en donner ?
  • Quelles sont les systèmes de gestion de contenu disponibles ?
  • Comment choisir son système de gestion de contenu ?

Voici en synthèse ce que je vous propose de partager avec vous au travers de ce billet. Tous les commentaires sont évidemment les bienvenus.

Qu’est ce qu’un CMS ?

Un CMS est un sur-ensemble fonctionnel d’un Wiki.

Un CMS est un Wiki aux fonctionnalités sur-vitaminées, permettant un déploiement plus rapide et moins risqué en terme de coûts et d’erreurs humaines.
Le CMS offre des règles de gestion de contenus plus fines, plus complexes et plus difficiles à administrer que celles nativement offertes par un Wiki.

Exemple de différence élémentaire et son impact : Pour un Wiki, tous les utilisateurs consultant les pages de contenus sont par définition aussi des éditeurs – auteurs – potentiels de ces dernières. Les modifications apportées sont immédiatement visibles. Dans le cas du CMS, une partie et une partie seulement des utilisateurs du CMS ont le droit de modifier son contenu. Ils n’ont par défaut que le statu de lecteurs – toute modification nécessitera validation automatisée ou non avant sa publication, avant que la modification en question ne devienne visible par tous les autres utilisateurs.

Cette différence implique une gestion des rôles utilisateurs (lecteur vs éditeur) qui peut s’avérer complexe, car le processus en question nécessite au moins les fonctionnalités suivantes:

  • Une authentification des utilisateurs
  • Une gestion des rôles utilisateurs: Utilisateur-Lecteur / Utilisateur-Auteur, ainsi que l’outil nécessaire à la modélisation de cette gestion (les règles).
  • Attribution des rôles basée sur un granule très fin de l’ensemble du système de gestion de contenu

Sur une page spécifique Sur une section (Nœud de l’arborescence du système)
Sur l’ensemble du système

  • Une trace complète de l’identifiant de l’utilisateur de son adresse IP, adresse email etc…
  • Un système de validation des modifications incluant une protection anti-spam ainsi qu’un filtre de contenu (gestion de mots interdits ou non conforme aux règles d’utilisation du CMS, lien vers des pages de contenu inexistant, etc…)
  • Un système de promotion automatisable des lecteurs vers un statut d’auteurs modifiant (en le supprimant ou l’allégeant) les règles de validation du point précédent.

Ainsi on ne contrôlera pas, ou pas de la même manière, l’auteur de 1000 modifications déjà approuvées et l’auteur proposant sa toute première modification.

Exemple de processus ultra basiques de gestion de contenu que l’on peut mettre en place au travers des fonctionnalités d’un CMS:

  • On peut imaginer qu’au bout de 3 modification approuvées, l’utilisateur acquiert automatiquement le statut d’auteur, et que les modification des auteurs n’ont pas à être approuvées… sur une page, sur un thème ou sur l’ensemble du système.
  • A contrario toutes les modifications qu’elles émanent d’utilisateurs-auteurs ou d’utilisateurs-lecteurs devront en permanence passer par le système de filtre de contenu, évitant toute erreur humaine malencontreuse même de la part d’un auteur confirmé.
  • Tout le contenu du système ou une partie seulement est proposé à modification des utilisateurs…règle pouvant être complexifiée à satiété…
  • Tout le contenu ou une partie seulement est proposé à la modification durant un laps de temps déterminé à partir de la date de publication…
  • Tout le contenu ou une partie seulement est proposé à la modification durant un laps de temps déterminé à partir de la date de publication, uniquement pour les auteurs d’au moins trois publications dans l’ensemble du système…etc…

Notre propos ayant été illustré, jetons un œil à la définition académique proposée par Wikipédia, qui nous dit:

« Un système de gestion de contenu ou SGC ((en) Content Management System ou CMS) est une famille de logiciels destinés à la conception et à la mise à jour dynamique de site web ou d’application multimédia. Ils partagent les fonctionnalités suivantes :

  1. Ils permettent à plusieurs individus de travailler sur un même document ;
  2. Ils fournissent une chaîne de publication (workflow) offrant par exemple la possibilité de mettre en ligne le contenu des documents ;
  3. Ils permettent de séparer les opérations de gestion de la forme et du contenu ;
  4. Ils permettent de structurer le contenu (utilisation de FAQ, de documents, de blogs, de forums de discussion, etc.) ;
  5. Certains SGC incluent la gestion de versions. »

Pour chacun des 5 points précédents, chaque offre de CMS se singularisera en offrant une facilité de déploiement plus ou moins grande ou plus ou moins adaptée aux besoins qui seront les vôtres, mais aussi et surtout en publiant des interfaces permettant d’exploiter ces 5 grandes zones fonctionnelles. Ces APIs  autoriseront vos traitements propres, au travers de développements personnels ou d’extensions externes (du code spécifique à un problème donné). Parlons clairement, le CMS devient alors un véritable écosystème, au même titre qu’un système d’exploitation, dont vous êtes alors… dépendants. Il devient aisé de comprendre, que ce n’est pas parce qu’une solution de CMS sera Open Source et sous licence GPL (gratuité d’usage) que ses extensions (si elles sont externes à votre organisation) le seront tout autant. Les CMS ont ainsi (eux aussi) fait fleurir de véritables entreprises vivant de leurs développements sur une base totalement gratuite. C’est ce que j’appelle le syndrome de la voiture gratuite… Imaginez que l’on vous donne une voiture gratuitement, mais que cette dernière ne puisse rouler qu’avec un carburant propriétaire au prix prohibitif, et que vous ne vous en rendiez compte  qu’une fois à la pompe, à 1000 kilomètres de chez vous. Remplacez alors la voiture gratuite par le CMS sous licence GPL, la distance qui vous sépare de chez vous avec des mois homme de travail sur la plateforme de CMS en question, le plein à la pompe par le fait que vous avez besoin d’une extension… payante, venant gréver votre budget, et vous aurez  le cauchemar de tout DSI.

Quelles sont les offres de CMS ?

Vous l’aurez compris, il existe deux grandes catégories d’offres CMS:

  1. La catégorie Open Source – à la licence d’utilisation gratuite, et dont le code source complet est disponible.
  2. La catégorie Payante – comme son nom l’indique, l’usage de la licence se fera en contrepartie d’une somme sonnante et trébuchante, suivant le modèle économique de l’éditeur (Payable pour trois ans et incluant les mises à jour durant cette période, au nombre d’utilisateurs, à la quantité d’information mise à disposition et/où modifiée… bref toutes les combinaisons sont possibles et acceptables, puisque nous entrons ici dans le cadre d’un accord commercial de gré à gré).

Énumérer toutes ces solutions serait impossible, et donnerait une information quasi obsolète au moment même de sa parution, tant le domaine est dynamique.

Aussi vais je me limiter à citer les caractéristiques des « grands noms » (qualificatif partial… ceux que je connais serait plus juste) pour chacune des deux catégories.

Open Source

En tout premier lieu, retenez la chose suivante en ce qui concerne cette catégorie de CMS.
Le support est directement fonction du bon vouloir de la communauté qui pousse le produit.
Dites vous que c’est exactement comme lorsque vous avez envie de manger du poisson, il y a deux cas possibles.
Premier cas, vous allez pêcher vous même ce que vous dégusterez – tout ce dont vous avez besoin ce sont les compétence que pour le faire.
Second cas, vous vous rendez chez le poissonnier pour lui acheter votre dîner.
Souvent, bien souvent, même si les produits deviennent de plus en plus matures, si vous ne savez pas pêcher, ne serait ce qu’un peu, vous serez rapidement bloqués ou limités dans le déploiement de la solution.
Ici les compétences minimum sont:

  • Accès à un serveur FTP
  • Connaissances de base des droits d’accès et du système de fichiers de votre serveur
  • Connaissances de base en PHP, CSS, HTML
  • Connaissances de base en administration d’une base de données
  • Connaissances de base en sécurité, afin de mettre en place les pare-feu, anti-spam, et autres outils protégeant à minima votre système.
  • Connaissances de base du fonctionnement d’un DNS, afin de pouvoir mettre en place les redirections ad-hoc

Si vous avez coché non à l’une de ces connaissance minimales, veuillez considérer l’autre catégorie, payante.
Cette dernière sera plus à même de vous offrir un système adapté à vos besoins. Pas de honte à cela, en ce qui me concerne, moi, j’ai toujours acheté mon poisson chez le poissonnier

Énumérons maintenant les grandes offres Open Source (encore une fois, grandes au sens ou je l’ai écrit… à savoir que je connais pour les avoir déployées).

WordPress

WordPress est un CMS initialement orienté blog. Il est totalement indépendant de tout système d’exploitation, puisque totalement écrit en PHP.

Son écosystème est extrêmement actif.

Le succès de WordPress devint exponentiel lorsqu’en 2003, l’entreprise concurrente Six Apart, changea soudainement les termes de la licence initialement GPL de son produit TypePad. Ce changement entraina un incroyable nombre de migrations sur WordPress.

La myriade d’extensions existantes, ont rendu WordPress extrêmement versatile, autorisant la création de système de gestion de contenu très complexes, allant bien au delà de la notion de blog qui lui colle à la peau pour des raisons historiques.

WordPress se targue de pouvoir être installé en 4 clics de souris… si vous avez les connaissances minimums énoncées plus haut, je vous garanti que cela est vrai.

Joomla

Joomla est LE concurrent de Drupal (voir plus bas). Comme lui il offre toutes les fonctionnalités nécessaires, et pourtant certains le considèrent comme le Diable en personne (Avis que personnellement je ne partage pas du tout, comme nous le verrons par la suite).

Pourquoi ? Tout simplement car Joomla est le cas d’école, le meilleur exemple du syndrome de la voiture gratuite dont nous parlions plus haut.

Sa licence GPL permet une exploitation gratuite de la plateforme, à contrario, certaines de ses extensions peuvent coûter…cher…voire très cher, lorsque l’on s’attend à utiliser la plateforme pour rien.

Attention ! Je ne dis pas qu’il faut éviter Joomla, je dis simplement, que bien que classé dans la catégorie Open Source, il vous faudra payer pour exploiter certaines extensions ayant coutées des années homme de développement et d’efforts à leurs auteurs.

Rien de plus normal, et personnellement je suis pour… Mais cela implique qu’avant de plonger dans, et pour l’écosystème Joomla, vous devrez finement et pro-activement analyser vos besoins.

En tant que consultant, je pense que lorsqu’un produit est à la base d’une économie, c’est un gage de pérennité et de continuité… risques que l’on oppose souvent à l’Open Source.

Dans le cas de Joomla ces risques sont moindres…car justement il faut payer pour les lever, engageant de fait, la société éditrice du composant payant à un support…durant quelques années.

Drupal

Drupal est considéré par beaucoup comme le saint Graal du CMS OpenSource… et il est vrai qu’il cumule les points forts.

Créé pour du CMS au sens large du terme, versatile par conception,  il offre tout ce que l’on attend d’un CMS pour répondre à de très nombreux (tous ?) besoins.

Voila ce qui concerne les trois plus grandes offres de CMS Open Source, solutions que j’ai eu l’occasion de déployer.

Pour aller plus loin:

Je vous invite à consulter une énumération des offres Open Source existantes et de les essayer sans les installer: OpenSourceCMS

OpenSourceCMS vous permettra de tester toutes les fonctions d’administration et de personnalisation des solutions, sans rien installer par vous même…pendant une heure.

A la suite de quoi, votre création sera… détruite.

Les solutions payantes

Au delà de l’offre SharePoint de Microsoft, je n’ai pas eu l’occasion de mettre en place un CMS à la licence payante, mais tous les éditeurs majeurs vont proposeront une offre CMS au moins basée sur:

  • leur base de données,
  • leur serveur HTTP,
  • leur gestion de flux,
  • leur moteur d’indexation etc…
  • sans oublier leurs consultants et leurs tarifs journaliers, afin de vous garantir de la bonne intégration de l’ensemble…normal.

Néanmoins afin de vous faire une idée de l’ensemble du marché du CMS (Open Source + Payant), et comparer toutes les fonctionnalités je ne saurai que trop vous recommander CMSMatrix.

Si votre choix initial n’est pas dans ce tableau, alors je vous invite vraiment à y réfléchir à trois fois avant de plonger.

Comment choisir un CMS ?

Je vous propose une méthode, simple, en 7 points:

  • Prenez une feuille de papier et résumez sur au moins une demi page A4 le propos, la raison d’être de votre système. Soyez le plus précis possible, avec des phrases courtes, qui se suffisent à elles mêmes. Elles constitueront les descriptifs fonctionnels dont vous avez besoin.
    Est ce un portail de communication/publication externe ? Interne ?
    Est ce un portail de E-Commerce permettant à vos clients de recencer tous les documents contractuels et spécifications techniques de leurs achats ?
    Est ce un portail de support ? Une base de connaissance ?
  • Prenez une autre feuille de papier et cette fois dessinez avec des « Patatoïdes » et des flèches votre processus de circulation de l’information depuis la production jusqu’à la mise en ligne, la publication.
    Commencez par les producteurs de contenus internes à votre organisation, ajoutez sur les flèches des mots simples pour résumer vos règles de validations.
    Ajoutez enfin de la même manière (Patatoïdes + flèches) le processus de production/validation depuis les usagers de votre site (si il y a lieu).
  • Prenez (encore) une feuille et tracez un arbre inversé, dont la racine représente le point de d’entrée de votre solution, les ramifications et les feuilles de l’arbre les options de navigations et les pages d’informations qui leur correspondent. Vous aurez ainsi la structure et l’arborescence de votre site de gestion de contenu. Logiquement vous devriez retrouver autant de pages d’informations que de phrases simples recensant les descriptions fonctionnelles de votre solution (point 1). Sinon vous avez oublié quelque chose, ou avez une page d’information inutile.
  • Prenez une feuille de papier (du calepin que j’ai omis de vous demander de prendre… ) dessinez avec des rectangles en traits pleins et pointillés l’apparence de la première page ainsi que d’une page secondaire type. Vous aurez une idée du type de personnalisation dont vous aurez besoin en terme d’apparence, d’interface visuelle.
  • Comparez les données que vous avez recensées avec les fonctions des solutions existantes (utilisez les liens que je vous ai donné).
  • Si la solution que vous avez choisie est payante, vous aurez du support quant à la mise en place et une prise en main quant à son exploitation et son déploiement. Sinon (cas des solutions Open Source), comparez les compétences dont vous disposez en interne avec les compétences minimales requises que je vous ai donné.

Enfin et pour finir (point 7), si vous avez  des doutes, conservez pieusement vos feuilles de papier et n’hésitez pas à me contacter. Je me ferai un plaisir de vous aider.

En conclusion

Le choix d’un CMS est un choix stratégique, ou l’on confronte des offres techniques et des processus d’entreprise.

Le plus difficile n’est pas tant de trouver celui qui correspond aujourd’hui, mais aussi et surtout celui qui correspondra demain, et à quel coût.

Le CMS outil interne, vitrine externe, ou support de communication doit pouvoir évoluer en même temps que l’organisation qui le gère, en même temps que ses processus, ses activités, ses compétences.

Véritable pari sur l’avenir d’un point de vue organisationnel, il est la mémoire d’une activité ou d’un savoir faire qu’il modélise.

Voila, vous savez tout ou presque.
Vous passez trop de temps devant votre écran 

Au plaisir de vous lire.
Christophe Carvounas