Plateformes Communautaires Open Source
Panorama des plateformes communautaires open-source : Critères de choix, solutions répandues, avantages & inconvénients d’une utilisation simultanée de plusieurs plateformes.
Par David Thomas & Olivier Chauffert-Yvart
I) Panorama des plateformes
« Un système de gestion de contenu ou SGC (Content Management System ou CMS) est une famille de logiciels destinés à la conception et à la mise à jour dynamique de sites Web ou d’applications multimédia. » (Wikpédia)
- Ils permettent à plusieurs individus de travailler sur un même document ; (collaboration)
- ils fournissent une chaîne de publication (workflow) offrant par exemple la possibilité de mettre en ligne le contenu des documents ;
- ils permettent de séparer les opérations de gestion de la forme et du contenu ;
- ils permettent de structurer le contenu (utilisation de FAQ, de documents, de blogs, de forums de discussion, etc.) ;
- ils permettent de hiérarchiser les utilisateurs et de leur attribuer des rôles et des permissions (utilisateur anonyme, administrateur, contributeur, etc.) ;
- certains SGC incluent la gestion de versions.
II) Généralités
1. Installation
La plupart des plateformes communautaires open source peuvent être supportées par une architecture LAMP (Linux Apache MySQL Php). Attention toutefois à certaines exceptions comme Redmine qui utilise le framework Ruby on Rails. L’installation est la plupart du temps simplifiée et automatisée au maximum.
2. Communautés & Support
Lors du choix d’une plateforme, il est nécessaire de s’assurer que la communauté qui la porte compte un nombre assez important d’utilisateurs et de développeurs actifs ; ces indicateurs permettent de savoir si un support et une aide extérieure rapide pourront être obtenus rapidement en cas de problème.
3. Personnalisation
La majorité des CMS actuels permet de séparer le contenu de la mise en forme. Ainsi, il est tout à fait possible de changer totalement l’interface et l’ergonomie d’un site, sans avoir à effectuer des retouches sur le contenu. Cette personnalisation est très souvent rendue possible grâce à la forte communauté qui anime les plateformes open-source collaboratives (mise à disposition de thèmes et modules).
4. Pré-requis techniques
Les CMS les plus courants s’installent sur un environnement de type LAMP. Bien que la première installation reste intuitive, il est toutefois nécessaire pour l’administrateur technique d’avoir des connaissances en HTML, Php, MySQL afin de comprendre le fonctionnement des architectures qu’il installe, et éventuellement d’apporter des modifications au code source. Il faut toutefois rester vigilant : ces modifications pourraient être écrasées en cas de mise à jour du CMS.
6. Gestion quotidienne
Le choix d’un CMS doit être effectué en connaissance de l’usage auquel il se destine : en effet, le volume de données à traiter et la complexité de l’interface d’administration sont deux éléments qui entrent en jeu lors de la décision. Lorsqu’un utilisateur du site s’y rend quotidiennement, il peut assimiler les complexités techniques du back-office, alors qu’un utilisateur ponctuel pourrait oublier le fonctionnement d’une interface trop développée.
7. Usages
L’orientation que l’on souhaite donner à son site internet oriente également le choix de la plateforme. En effet, nombreux sont les sites de presse à utiliser Drupal, pour ses avantages de personnalisation, et pour sa capacité à traiter de lourdes bases de données. Toutefois, pour des publications orientées « blogging », WordPress fait figure de leader. Pour un site orienté forum, une solution telle que PhpBB reste plus adaptée, bien que les autres plateformes intègrent peu à peu cette fonctionnalité dans leur code source.
8. Version tablette / mobile par défaut ?
84 % des 15-24 ans utilisent un smartphone pour naviguer sur Internet et 40% des 15-60 ans en possèdent un (Source). Il devient dont très important pour les administrateurs web de mettre à disposition une version mobile compatible de leur site. Plusieurs solutions s’offrent à eux ; les détails sont fournis dans un autre article de ce blog. Nativement, les CMS n’offrent pas tous de solution « mobile ». Cependant, l’ajout d’un module sous WordPress ou la modification du thème sous Drupal (CSS) permettent de répondre à ce besoin.
9. Solutions répandues
Les CMS les plus installés sur la toile nécessitent principalement un serveur web (Apache ou IIS de Microsoft), et une base de données (MySQL, Postgresql). Leur installation se réalise par une suite d’étapes grâce à une interface graphique en ligne. Ces CMS s’installent sur des hébergements mutualisés (la majorité des hébergements tous publics) ou sur des serveurs dédiés.
- Drupal
Plus de un pour cent des sites dans le monde utilisent Drupal, soit environ 500.000 sites (source : Le Monde). Le logiciel est téléchargé 250.000 fois par mois (source : Rue89). Cet outil permet de créer des sites internet supportant de fortes audiences et est très personnalisable. Sa particularité est de différencier entièrement le contenu (appelé “node” dans le jargon Drupal) de la forme (thème graphique).
- Joomla
Fervent concurrent à Drupal, le logiciel Joomla est également très réputé sur le globe. Sa conception diffère de Drupal dans l’ergonomie de l’interface d’administration. Cette dernière, plus attractive visuellement à la première utilisation peut se révéler être un frein pour la configuration simple d’un site. Nos tests personnels ont montré l’utilisation de Joomla comme moins aisée que celle de Drupal, notamment dans la conception de l’architecture d’un site.
- WordPress
Environ 8,5% des sites web (soit environ 30 millions) sont propulsés par le CMS WordPress. Il est tellement extensible – plus de 16.000 plugins existent – que certains le considèrent même comme un framework. Cette plateforme permet de monter très facilement toutes sortes de sites : blog, site d’entreprise, e-boutique… assez simplement, et dispose d’une importante communauté active. Avec 48 références dans le top 100 des plus gros blogs, c’est le CMS le plus utilisé.
- SPIP
Très présent dans l’éducation, SPIP reste cependant moins présent que les solutions précédemment citées. Ce CMS a peut-être l’inconvénient d’être moins ergonomique et graphique qu’un Drupal. Par conséquent, il est nécessaire d’utiliser ou créer un “squelette Spip” pour personnaliser son site. Il est de moins en moins utilisé de nos jours.
- Redmine
Orienté vers le domaine des gestionnaires de projets et des systèmes de gestion de tickets, Redmine est un outil basé sur Ruby On rails (RoR). Son installation nécessite de bonnes compétences techniques. Cet utilitaire permet de gérer des projets et sous-projets, d’y créer des tâches, de les affecter à des ressources et d’en planifier la réalisation. Sont également disponibles des tableaux croisés de reporting des activités.
- Moodle
Outil axé sur le créneau des plateformes pour l’éducation, Moodle permet de gérer des archives de cours en ligne, des collaborations de groupe (échange de fichiers), les dépôts de devoirs, ou encore la gestion des notes. Son usage se répand progressivement au sein des universités de l’hexagone.
Quelques exemples connus dans la sphère web:
Drupal : France 24, Mediapart, Slate.fr, Radio France, Voyages-sncf, La Maison Blanche
Joomla : Nations Unies, Danone
Wordpress : Blogs Windows Live Spaces, blogs LeMonde.fr, New York Times, Blackberry
III) Avantages et inconvénients liés à l’utilisation de plusieurs CMS dans un Système d’Information (SI)
- Sécurisation
Le déploiement de différents CMS au sein d’un même système d’informations (SI) requiert une bonne connaissance technique de chacun d’entre eux par les administrateurs. Toutefois, lorsque ces déploiements ne sont pas correctement anticipés, il est possible de trouver un CMS exploitant une base de données avec un couple login/password disposant de droits d’administrateurs. Une faille de sécurité sur ce CMS permettrait alors à n’importe quelle personne mal intentionnée de récupérer l’ensemble des informations de la BDD ou de la corrompre. Il est donc vital de bien séparer les comptes SQL pour chaque CMS et de cloisonner leurs droits.
Lors de la mise en place de CMS, de nombreux freins techniques sont liés aux droits sur les répertoires (CHMOD). Pour corriger passagèrement un bug, l’administrateur peut mettre un droit dit “Chmod 777” sur le répertoire qui lui pose problème. Ce dossier est alors libre en écriture, lecture et exécution par n’importe quel internaute. Il devient possible d’y exécuter du code malveillant, d’y héberger des pages frauduleuses, d’en extraire le contenu, etc.
L’utilisation de CMS nécessite une veille permanente des mises à jour. En effet, les principaux outils cités précédemment s’appuient sur de grandes communautés qui mettent à jour failles, bugs et évolutions techniques. L’application de correctifs de sécurité et de mises à jour de modules permet de faire évoluer sereinement l’environnement d’un CMS.
Ces outils sont des plateformes communautaires. Cela entend que plusieurs utilisateurs peuvent y être connectés en même temps. L’attribution de droits spécifiques au rôle de chaque internaute est nécessaire. Il est également important de veiller à l’application de règles sur la définition des mots de passe (longueur minimale, caractères spéciaux etc.).
- Garantie de portabilité – Long Term Evolution?
Le déploiement d’un CMS est un choix qui est ensuite exploité durant plusieurs années. Ainsi, il faut s’assurer que la solution retenue est fréquemment mise à jour (notamment contre les vulnérabilités de sécurité). L’exploitation d’un CMS répandu sur le globe permet d’assurer en partie l’évolution technique à long terme des plateformes.
- SSO
Les SI disposant de plusieurs CMS ne les installent généralement pas tous au même moment. Dans la vie d’un SI, ces outils viennent constituer des briques supplémentaires apportant de nouvelles fonctionnalités aux utilisateurs. Cependant, il est souvent demandé à l’utilisateur de se re-connecter sur chaque outil. La mise en place d’un portail (SSO) comme l’a par exemple fait l’Université de Lille1 permet d’éviter ce désagrément, et donne une impression d’intégration unifiée pour l’utilisateur final.
Sources complémentaires :
http://www.web-design-nantes.com/divers/article/wordpress-le-cms-roi-du-web
http://www.autourduweb.fr/wordpress-utilise-48-100-meilleurs-blogs-monde/
http://royal.pingdom.com/2012/04/11/wordpress-completely-dominates-top-100-blogs/