Synthèse
Fiche d’identité
- Site de référence : http://drupal.org/
- Éditeur : Communauté
- Date de sortie de la première version : 2001
- Numéro de la version étudiée : 6.16
- Licence : GPL
- Système d’exploitation / logiciels requis : Apache, PHP, MySQL ou PostgreSQL
- Positionnement : Gestion de contenu (CMS)
L’une des principales caractéristiques de Drupal est son mécanisme de catégorisation (« taxonomie »), applicable à tous les objets manipulés et qui possède une place véritablement centrale dans l’outil : les catégories permettent aussi bien de gérer les rubriques que les droits d’accès ou la personnalisation.
Analyse
Contribution
La navigation dans le back-office peut être déroutante pour les contributeurs habitués à raisonner par rubrique : dans Drupal, on crée les contenus avant de leur affecter des critères qui permettront de les classer au bon endroit (automatiquement ou manuellement). A l’usage, cette façon de faire se révèle très efficace.
Une autre particularité de Drupal est la possibilité de fonctionner sans réel back-office : le contributeur peut avoir accès à toutes les fonctionnalités de gestion des contenus directement depuis le front-office (une séparation est bien entendue possible). La prévisualisation dans le contexte est prévue également.
Un administrateur peut créer de nouveaux types de contenus directement depuis le back-office.
Catégorisation / Rubriques
La catégorisation est certainement l’un des points forts de Drupal, qui permet de gérer nativement des familles de catégories (« vocabulaires ») utilisées pour classer les contenus, gérer les droits d’accès, effectuer des recherches, etc.
Le système de classification est simple, multiple, hiérarchisé, et même multi-hiérarchique (la classification est faite sous la forme d’un thésaurus, il est possible d’avoir plusieurs parents à la fois). Alors que la plupart des CMS limitent ces hiérarchies à seulement deux niveaux, Drupal permet d’avoir un nombre infini de niveaux.
Diffusion / Personnalisation
Plusieurs moteurs de template sont disponibles, dont PHPTemplate, un moteur de rendu PHP. Le back-office permet de changer de « thème » facilement (les thèmes sont des habillages prédéfinis). On peut aussi ajouter un nouveau thème en se basant sur un thème de base (un « starting theme »), par exemple ZEN.
On peut également personnaliser l’affichage d’un bloc, d’une liste, ou d’une page bien spécifique en passant par des fichiers de template (ayant une extension .tpl.php) ou éventuellement des fonctions de « theming » (hook_theme). La personnalisation peut se faire en fonction des profils et des catégories associées aux contenus (ou directement via des instructions PHP).
Il est possible de générer des URL propres (manuellement au moyen d’alias, ou automatiquement en fonction du titre des contenus, par le biais du module Pathauto).
Automatisation des processus
Les contenus sont par défaut dans l’un des 3 états suivants : "en attente de validation", "publié" ou "poussé en première page".
Drupal dispose de déclencheurs (des « Trigger ») qui sont des événement (ex : "Après l’ajout d’un article") qu’il est possible de relier à des actions (ex : "envoi d’un email").
En plus avec le module Workflow, il est possible de définir des états supplémentaires pour chaque type de contenu et la transition entre chaque état déclenche des actions bien particulières.
Collaboration
Bien qu’étant initialement orienté « collaboration », Drupal reste assez pauvre en la matière : seules les fonctionnalités de type « espace de discussion » sont présentes (forum, réaction à un article, modération, etc.).
Recherche
Le moteur d’indexation par défaut ne permet pas d’indexer les pièces jointes, mais il existe des modules complémentaires afin d’élargir le champ de la recherche comme par exemple :
- Faceted Search pour la recherche à facettes,
- Apache Solr Search Integration pour intégrer la plateforme de recherche Solr,
- Search Lucene API ajoute des fonctionnalités de recherche du type de Solr à Drupal, en utilisant Zend_Search_Lucene.
Administration
L’interface d’administration de Drupal permet une gestion fine des utilisateurs et des droits, autour de la notion de profil. Il est également possible d’activer / désactiver des modules très simplement.
Avec Drupal 6, la gestion des langues a fortement évolué, en introduisant de nouveaux concepts. Chaque module traduit est désormais livré avec un dossier « translations », qui contient la liste des langues disponibles sous la forme de fichiers .po.
En revanche, la qualité de la traduction reste insuffisante et gagnerait à être améliorée.
Business Intelligence
Le tableau de bord contributeur de Drupal est assez limité, se contentant de filtrer les contenus selon leur type, leur état ou les catégories associées. On ne dispose que de statistiques de consultation du site (avec possibilité d’installer un module de suivi des clics utilisateurs).
Intégration au SI
Drupal nécessite un serveur d’application PHP et une base de données MySQL ou PostgreSQL.
Aucun connecteur n’est fourni par défaut, et il faudra développer à la main toutes les interfaces avec le système d’information.
Exploitation
Possibilité de monitorer toutes les actions sur le front et / ou le back office. Un module de throttling (contrôle de la charge) permet de désactiver des modules prédéfinis lorsque la charge est trop importante sur le serveur. En revanche, rien de spécifique n’a été prévu pour assurer la haute disponibilité.
Extensibilité
Drupal est plus qu’un CMS, et peut être employé comme plateforme de développement, sur laquelle on peut dans une certaine mesure développer des applications sous la forme de modules.
Le code source est placé sous licence GPL, et est abondamment documenté.
Perspectives
Drupal dispose d’une large communauté de développeurs et d’utilisateurs. Même si son utilisation en France est encore relativement modeste, Drupal fait de plus en plus d’émules en France, et a déjà été adopté par de grosses références. La solidité technique et la taille de la communauté devraient toutefois rassurer quant à la pérennité de la solution.
Avec des nouvelles fonctionnalités annoncées pour la sortie prochaine de Drupal 7, comme par exemple la séparation du Front Office et du Back Office, ou l’intégration d’un éditeur de texte riche, Drupal devrait encore gagner du terrain sur le marché des CMS.

RSS du blog