Retrouvez cet article dans : Linux Pratique 37
Introduction
On entend par CMS le moyen de gérer un contenu en ligne (littéralement : Système de Gestion de Contenu), c'est-à -dire de pouvoir modifier, mettre à jour, organiser un ensemble d'informations accessible depuis un butineur. Ces informations peuvent être purement informatives (site institutionnel, journaux sans collaboration ou coopération avec les lecteurs), marchandes (achat, vente, etc.), restreintes à un nombre donné d'utilisateurs (notion d'" intranet ", mais aussi d'utilisateurs autorisés). Elles ont toutes en commun de nécessiter un système perfectionné de gestion sous peine de tuer à la tâche ceux ou celles qui doivent les maintenir. D'ailleurs, les wikis et autres blogs font partie de la famille des CMS. Et ils ont un poids de plus en plus considérable dans la vie de l'Internet, y compris professionnel. Cependant, ici, nous nous contenterons de parler des CMS professionnels, c'est-à -dire ceux qui ont vocation à gérer les sites d'entreprises, marchands ou non. Et certains incluent toutes les formes d'outils collaboratifs en ligne. Néanmoins, dès à présent, je tiens à l'affirmer fermement : il n'y a pas de CMS idéal. C'est-à -dire le CMS qui vous offrirait dès l'installation les fonctions et le visuel qui sied à votre société. Non, pour cela, il va falloir du temps et du travail. Car la force d'un CMS, c'est de mettre à disposition des outils. Et on n'a jamais vu que l'outil remplaçait le génie. Il l'aide, l'assiste et parfois le pervertit. Il y a des CMS qui font mieux certaines choses que d'autres. Certains sont bien écrits et simples d'installation, d'autres abscons au premier regard, mais en revanche totalement paramétrables. Il y a en revanche des CMS pour chaque usage : professionnel ou personnel, collaboratif ou déclaratif. Il y a des CMS qui permettent de monter une galerie commerciale en cinq minutes, mais qui demandent trois jours à être pris en main, d'autres qui permettent de travailler en ligne pour la publication d'informations sans avoir de connaissances techniques préalables, mais ne seront pas capables de faire du e-commerce. Tout est question de savoir ce que l'on veut. Parce que s'il est un problème que posent les CMS, c'est celui de la profusion ! Je souhaite beaucoup de courage à celui ou celle qui tapant CMS dans Google, Freshmeat ou Sourceforge s'attellera à la tâche de tout installer ! Il va falloir trier...Pourquoi tant de code ?
On ne peut qu'être surpris par la diversité de l'offre en CMS professionnel, mais aussi par sa profusion. En fait, au bout du compte, ce qui gêne aux entournures, c'est qu'il y a beaucoup, beaucoup de code redondant. On aimerait avoir des produits plus finis, plus accessibles parfois et un peu moins d'offres différentes. Mais il y a plusieurs raisons à cet état de fait :- Il est facile de coder un CMS. Clairement, un CMS n'est pas le plus difficile à coder ni à penser. On peut donc commencer avec peu de moyens et on dispose paradoxalement de beaucoup d'exemples et de contre-exemples pour s'essayer. Donc, rien n'empêche de foncer. C'est comme les lecteurs de mails ou de musique, vu que c'est simple à penser et à faire, eh bien, on s'essaye avec. Donc, dans un certain nombre de cas, les CMS viennent du fait que c'est un outil parmi les plus évidents à lancer ! Avec des compétences en développement, cela est évident. Le résultat est parfois moins évident !
- On préfère avoir son produit à soi. Bien souvent, derrière les CMS, il y a une commande d'un client ou la demande d'une société ou d'une administration. Il y a un réel besoin qui mène au code. Mais on aurait peut-être pu combler ce besoin en utilisant un outil préexistant et en l'améliorant. Cependant, cela implique de travailler avec les auteurs dudit outil, donc de devoir cohabiter avec des gens qui " ne codent pas comme nous " et dont les objectifs et la volonté peuvent être très différents de ce que l'on attend. Ensuite, il n'est jamais aisé ni agréable de se pencher dans le travail d'autrui pour se l'approprier. Et c'est un péché très commun que de croire qu'il sera plus rapide de recoder soi-même. Parfois c'est vrai ! Mais, il y a une différence entre une librairie basique de lecture d'en-tête MIME et un CMS. En plus, la librairie basique, on ne la recode pas ! Celle-là , on la prend chez les autres ! Donc, on se retrouve à avoir d'excellentes raisons pour se lancer tout seul à l'assaut de la montagne. Et recommencer le chemin déjà fait par d'autres, sans pouvoir (pour ceux qui oublieraient : le temps et les moyens sont limités...) aller forcément plus loin que les autres.
- On veut en priorité une fonctionnalité que les autres n'ont pas. C'est le dernier élément qui " justifie " bien souvent l'écriture d'un nouveau produit. La fonction x ou y qui est indispensable au client z n'existe pas. On peut l'ajouter au produit t qui fait fureur au moment de la commande, mais sans être sûr que le client sera satisfait, car le produit t comporte aussi des défauts... Mais on a dans ses cartons le développement maison qu'on aimerait bien agrandir et c'est l'opportunité pour que cela devienne un produit phare. Donc, c'est parti pour en faire un projet libre qui contiendra la fameuse fonctionnalité x ou y que personne d'autre ne possède. Outre que souvent ladite fonctionnalité existe déjà dans un autre projet qui a échappé à la sagacité des auteurs qui travaillent pour z, il n'est pas dit que le produit maison devienne un projet libre très apprécié et disposant d'une bonne communauté. La démarche est clairement, on ne peut plus, risquée.
Similitudes et différences
La plupart des CMS (si ce n'est tous) reposent sur un triptyque relativement évident : PHP-SQL-XML. En fait, par SQL - rendons à César ce qui lui appartient -, on sous-entend bien souvent MySQL par défaut. Mais la plupart des " bons " CMS acceptent sans sourciller au moins PostGreSQL et parfois Oracle, SQL Server, Firebird et quelques autres. De même, le choix du PHP comme langage dynamique est en soi évident ou presque. Il s'accompagne d'ailleurs souvent d'un doigt de Javascript. Ce choix permet d'être multiplateforme (Apache et PHP tournent sur tous les Unix ou presque, y compris commerciaux, et sur les plateformes Microsoft) et relativement universel tant le nombre de développeurs ayant des connaissances de PHP et de SQL est élevé. L'XML, quant à lui, est devenu une forme d'organisation de données qui se prête bien aux schémas très dynamiques des CMS. Et tout comme le PHP, il est manipulé plus ou moins bien par la majorité des développeurs et même utilisateurs de Logiciels libres. Enfin, le trio permet de réaliser sans trop de peine à peu près tout ce que peut désirer un utilisateur. C'est la combinaison gagnante du moment ! Ce qui différencie les CMS les uns des autres, ce sont les éléments suivants :- la gestion de l'interface utilisateur ;
- la notion et la méthode pour gérer les mises en pages ;
- les fonctions par défaut et l'orientation générale du CMS.
Un CMS pour qui ? Un CMS pour quoi ?
Tour d'horizon des possibles
CMS, ERP, même combat !
Le choix d'un CMS est très proche de celui d'un ERP. Une fois qu'une solution est choisie, il est compliqué voire impossible pendant un laps de temps relativement long d'en changer. Alors, tout comme le choix d'un ERP demande une certaine réflexion (souvent la rédaction d'un cahier des charges et la voix de ceux ou celles qui vont être directement concernées par le changement), la mise en place d'un CMS est une opération structurante à diriger et planifier comme telle. Une fois l'outil en ligne, ce dernier va générer un apport d'informations externes (commandes, réactions, etc.), mais aussi de l'information et de la réflexion en interne (" Peux-tu rédiger telle page ou telle présentation ? ", " Qui a visité le site ce mois-ci ? ", " Comment est perçue la nouvelle mise en page ? "). Si le projet est bien fait et bien mené, quelle que soit la taille de la structure, le CMS devient rapidement un outil complémentaire de l'ERP et, à ce titre, autant indispensable que ce dernier. D'ailleurs, certains CMS s'interfacent avec l'ERP pour faciliter les commandes en ligne et la visualisation des stocks et des en-cours. Le CMS complète l'ERP en lui donnant une vitrine sur le monde en ligne, mais aussi en offrant un complément qualitatif à ce dernier (tel produit n'est pas ou peu acheté en ligne, telle offre visiblement n'attire pas, etc.).De la notion de cahier des charges
J'insiste fermement sur ce point : on ne peut partir s'occuper de CMS sans être un instant penché sur l'usage que l'on veut avoir de l'outil ! En somme, professionnel ou personnel, si l'on veut éviter de grosses bêtises et un découragement certain, il faut prendre le temps de se poser et d'émettre littéralement un cahier des charges. Et c'est de ce cahier des charges que découlera le bon outil. Par contre, attention à ne pas mélanger dans votre cahier des charges les notions d'" ergonomie ", de " fonctions utilisateurs " (impression en PDF depuis le site web par exemple), avec des problèmes du type : " Je veux qu'il soit développé en PHP 5 uniquement ". Il est tentant quand on est face à un problème de partir bille en tête vers la technique et d'y rester. Mais on ne fait pas un site correct et facile d'usage uniquement en parlant de coder du PHP ou du PERL. Si on ne sait pas ce qu'on doit coder, c'est en pure perte ! En résumé, séparez bien le cahier fonctionnel (ce dont vous avez besoin), du cahier des charges technique (comment vous voudriez le faire). Et vous allez découvrir que bien des problèmes se résolvent dès la conception ! Pour information :- Toutes les solutions présentées sont multilingues.
- Le français est parfaitement supporté et déjà intégré.
Publication et édition (vitrine dynamique)
Une solution majeure est utilisée et développée en France : SPIP (http://www.spip.net). Cette solution permet relativement facilement de mettre en ligne des articles et de les modifier le tout via une interface extrêmement agréable. C'est la base des CMS pour quiconque veut s'essayer à dépasser le stade du blog ou du wiki (notons que les deux existent sous forme d'ajouts au sein de SPIP). Ainsi, Le Monde diplomatique (http://www.monde-diplomatique.fr/) travaille sur une base SPIP (Fig. 1) de même que de nombreuses associations, administrations publiques (le cabinet du Premier ministre) et établissements parapublics.
Fig. 1 : Le site Web du Monde Diplomatique est basé sur SPIP.
Il ne faut pas s'y méprendre et penser que SPIP peut tout faire. SPIP est parfait comme premier CMS. Il est facile d'accès et dispose de très nombreuses facilités (modèles, extensions, etc.) et le tout en français ! C'est sa force, sa très grande force. Ensuite, il n'est, par exemple, pas fait pour gérer un cycle de publication avec autorisation multiple, de même qu'il n'est pas conçu pour être une galerie marchande. Ce qu'il fait, il le fait bien. Mais il ne fait pas tout. La force de SPIP tient dans sa facilité d'installation (environ trois minutes du moment qu'on dispose d'une base MySQL avec les droits et d'un serveur Apache avec PHP 4 qui fonctionne), mais surtout d'une communauté très active et de très nombreux exemples, modèles et autres didacticiels ou aides. Une mine pour débuter un site pour une TPE ou une PME qui ne veut pas faire d'e-commerce, mais qui souhaite quelque chose de simple en ligne.Publication et édition (métiers de l'édition)
Vous éditez un fanzine, une publication spécialisée ou, plus simplement, vous êtes éditeur indépendant. Vous avez besoin d'un outil qui vous permette de mettre en ligne des articles, de donner des droits à des utilisateurs et le cas échéant de suivre vos envois et vos abonnements. Campware (http://www.campware.org) est à mon avis une solution très intéressante. Une ONG américaine a planché sur le sujet et a sorti cette suite complète pour médias indépendants (y compris radio et podcast !). Cette suite vise en premier lieu les PECO (anciens États du bloc communiste) et les États d'Afrique et d'Asie où la liberté de l'information reste un vœu pieu et où les structures de distribution et d'édition sont inexistantes. La suite est donc redondante par endroit pour les Français (en effet, ceux-ci se voient déjà offrir certaines prestations, comme la gestion des points de vente, par leur diffuseur national, NMPP – Nouvelles Messageries de la Presse Parisienne – ou autres), mais elle n'en est pas moins passionnante. J'admets tout de go que les fonds de cette ONG peuvent faire rougir quelques puristes, puisqu'on y trouve ni plus ni moins que la NSA ! Mais bon, c'est du Logiciel libre... Le seul inconvénient, étant donné que la France n'est pas vraiment un pays qui entre dans la définition des objectifs de l'éditeur, est qu'il n'y ait pas de traduction française. Mais cela ne représente que quelques jours de travail...Galerie marchande
Le site d'achat en ligne en Logiciel libre est nettement moins simple. Car il sous-entend de disposer de fonctions d'achat et de liens vers des banques. De ce point de vue eZPublish (http://www.ezpublish.no), Mambo/Joomla (http://www.mamboserver.com/http://www.joomla.fr) ou Typo3 (http://www.typo3.org) sont des solutions. Néanmoins, il y a là profusion de propositions en provenance des développeurs anglo-saxons. Mais il faut faire attention aux réponses de Google ou de Freshmeat : beaucoup ne sont pas open source, mais fonctionnent sur des bases open source. Néanmoins, c'est hors champ ! Une fois le flot de réponses nettoyé, il est bon de voir ce qui reste. Et si l'on veut rester dans la simplicité, eh bien, les trois précédemment cités sont la bonne pioche. Les différences tiennent dans les éléments suivants :- eZPublish (Fig. 2 et 3) dispose en standard d'un lien avec l'ERP TinyERP et de moyens de paiement en ligne via PayPal. En revanche, il est TRÈS lourd. C'est une solution qui exige un serveur dédié avec au moins 512 Mo de RAM, si ce n'est plus, en fonction de la taille de la base de données. Il est clairement à destination de personnes morales qui ont prévu des moyens conséquents. Par ailleurs, on retiendra que ses divers exemples par défaut sont excellents et permettent une très rapide mise en ligne. Cependant, la traduction française souffre de défauts réels (interface administrateur et utilisateur) et il demande un certain temps d'adaptation. Son schéma XML de balise n'est pas tout à fait... évident ! Mais il fonctionne très bien. Je vous laisse relire l'article consacré à eZPublish paru dans le Hors-Série n°5 de Linux Pratique.

Fig. 2 : Un site de présentation réalisé avec eZPublish Fig. 3 : L'interface d'administration d'eZPublish comporte un éditeur de texte pour créer votre contenu.
- Typo3 est un outil dont la densité confine à l'extraordinaire (Fig. 4, page suivante). Son moteur de recherche par exemple effectue cette dernière y compris dans les PDF ! Et il contient tout le reste en termes d'extensions ! En revanche, comme ezPublish, faites attention à la taille du serveur dédié et aux optimisations dudit serveur. Ne vous arrêtez donc pas à un test simple sur une station dans un coin. Vous risquez de revenir déçu. De même, préparez-vous à un certain apprentissage pour ce qui est de la structure et de la méthode. Mais c'est puissant !
- Joomla est un outil certainement moins dense immédiatement que Typo3 et moins structurant qu'eZPublish, mais il est aussi plus accessible dans la vie de tous les jours à ceux qui ne font pas vœu d'être des développeurs permanents de sites web (Fig. 5, page suivante). Il a fait l'objet lui aussi d'une complète présentation dans le hors série n°5 de Linux Pratique. Je vous invite à vous y (re-)plonger !






Donnez votre avis
Vous devez avoir ouvert une session pour écrire un commentaire.