Evaluations et comparatifs Drupal

J'ai récemment posté un billet en proposant de faire des interviews vidéos des projets Drupal phares, ou plutôt des personnes qui ont réalisé ces projets.

Pour des raisons d'emploi du temps, ces interviews n'ont pas eu lieu le 25 mars comme je le pensais. J'avais pourtant obtenu l'accord de plusieurs projets : Rue89, France24, GlamourParis...

Je propose donc de réaliser ces interviews au moment du DrupalCampParis2 (19 avril 2008, Paris). Ca sera plus pratique pour tout le monde : les interviewés seront déjà sur place, et j'aurai tout le monde sous la main. Donc, n'hésitez pas à venir vers moi ce jour-là si vous souhaitez participer.

Les gros projets un peu connus sont un excellent moyen de promouvoir une technologie. Ils montrent aux utilisateurs finaux et aux décideurs ce qu'une techno peut leur apporter, et permettent de faire le lien entre la technique et le pratique.

Je propose donc de faire une série d'interviews vidéo des équipes qui ont réalisé des "grands" projets Drupal (grand par leur taille, leur complexité ou leur renommée). L'objectif est de comprendre pourquoi ils ont choisi Drupal, dans quelle mesure Drupal a été un avantage ou un inconvénient, et de voir ce que Drupal leur a permis de réaliser, exemples à l'appui.

La première série d'interviews s'effectuera le mardi 25 mars sur Paris (3 ou 4 interviews sur la journée). Elles seront ensuite publiées progressivement sur DrupalFrance.com.

Plusieurs projets me viennent à l'esprit (parce que j'ai travaillé ou été en contact avez eux) :

Si vous pensez à d'autres projets, postez-les dans les commentaires. Si vous avez réalisé vous-même des projets, contactez-moi directement pour qu'on organise quelque chose.

Les propos du titre ne sont bien entendu pas les miens, mais ceux de "Ploum", un utilisateur qui raconte dans un billet intitulé Petit test Drupal (daté du 31/03/2007) sa première expérience avec Drupal.

Vous l'aurez compris, celle-ci n'a pas été très positive, mais je trouve son article très instructif : malgré ses efforts, Drupal présente toujours une courbe d'apprentissage importante et reste rébarbatif pour les débutants et les non-techniciens.

Je partage cet avis, qui rejoint mon expérience personnelle : je n'ai pas adopté Drupal juste après l'avoir découvert. J'ai d'abord traversé une phase de découragement où il me paraissait tellement complexe que j'imaginais aller aussi (plus ?) vite en créant mon propre CMS. Cette dernière option représentant un travail tellement énorrrme, je suis finalement revenu vers Drupal (qui avait malgré tout un petit "je-ne-sais-quoi"), je me suis plongé à fond dedans, et depuis je ne suis plus revenu en arrière.

Passons en revue les principaux reproches que Ploum fait à Drupal :

Pas d'auto-installeur

Pour l'installation de nouveaux modules, de nouveaux thèmes, ou de la traduction française, il faut télécharger un fichier .tar.gz depuis Drupal.org, le décompresser et le copier sur le serveur où le site Drupal est hébergé (sans se tromper de répertoire).

Il n'y a pas d'auto-installeur qui permette de télécharger et d'installer des fonctionnalités d'un simple clic.

Pas d'éditeur WYSIWYG

L'édition de contenu se fait par défaut en HTML.

Des éditeurs WYSIWYG existent, mais il faut les télécharger et les installer.

Trop d'options de configuration

Comme dit Ploum : "Tout tout tout tout est configurable ! Il y a des millions d'options partout." Ou encore : "La configuration est ultra-pointue et il existe des millions de plugins dans lesquels il faut fouiller pour trouver ce qu'on souhaite."

Cet argument est ambigü, car la "configurabilité" de Drupal est aussi ce qui fait sa force. Cela dit, l'abondance d'options au point qu'elle décourage le débutant est sûrement un inconvénient. Elle peut révéler une mauvaise conception de l'application ou un mauvais design (il faudrait peut-être prévoir une interface simple et une interface avancée par exemple).

Les "meilleures" remarques anti-Drupal de Ploum

Je ne résiste pas à une petite sélection de ses meilleures critiques :

« Je me dis qu'utiliser Drupal relève de l'utopie. »

« Mon but était simple : arriver à configurer Drupal en un site facilement administrable par le commun des mortels. Bref, un CMSMS mais en mieux, plus performant, plus propre. Eh bien c'est la catastrophe absolue. »

« Si on a pas passé 6 mois dedans, on est complètement perdu. »

« Les modules se mettent dans un obscur répertoire sites/all/modules qui... n'existe pas ! Il faut le créer en uploadant son premier module ! (Le répertoire /modules, tellement facile, ne doit pas être touché, c'est pour le système. Suis-je bête !) »

Conclusion

Même si je ne partage pas son avis et qu'on pourrait répondre à chacun de ces arguments, j'ai apprécié cette critique parce qu'elle m'a servi de piqûre de rappel. Après plus d'un an passé à travailler sur Drupal, on finit par oublier ce qui nous avait paru compliqué au début. Ca m'a d'ailleurs donné des idées d'améliorations pour la formation Drupal :-).

Ploum conclut en disant que "Drupal est une machine à faire les sites et peut sans doute se révéler utile si vous avez un gros budget web et 10 webmasters qui vont gérer votre site". Il se trompe complètement sur le gros budget et les 10 webmasters (faut pas exagérer quand même), mais il a raison quand il parle de "machine à faire des sites" : Drupal est autant un framework de programmation qu'un CMS. C'est exactement la raison pour laquelle je l'utilise et c'est de là qu'il tire sa puissance et sa flexibilité. C'est aussi pour ça qu'il n'est pas adapté à tout le monde, et notamment pas idéal pour les "utilisateurs finaux".

Voilà pourquoi Ploum évoque "une distribution de Drupal simplifiée, avec par défaut une série de plugins courants, des paramètres déjà configurés pour une utilisation standard et une flopée de paramètres cachés". Un système de installation profile (qu'on pourrait traduire par "distribution") est d'ailleurs déjà en place. Il permet de configurer l'assistant d'installation de Drupal de sorte que par défaut il active et configure certains modules core ou contribués, et effectue certains réglages particuliers. Plus d'infos :

Si vous avez découvert Drupal récemment et que vous vous posez la question de l'utiliser ou pas, je dirais que le mieux est de l'essayer pour vous faire votre propre opinion.

On ne cesse de comparer les CMS entre eux via leurs fonctionnalités, leur code, leur usabilité... mais on ne parle jamais de l'utilisateur (vous !) qui va le manipuler. C'est pourtant le principal critère de sélection : que savez-vous faire ? combien de temps avez-vous ? allez-vous utiliser Drupal professionnellement ou pour un site perso ?...

C'est pour ça qu'il n'y a pas de CMS idéal : parce que certains CMS correspondent mieux à certains types d'utilisateurs. A vous de décider si Drupal est le CMS qui VOUS convient.

Encore tout récemment, je me demandais si Drupal était prêt pour le e-Commerce. Aujourd'hui, la réponse pourrait bien être "Oui, et plus tôt que prévu !".

En effet, Drupal.org vient d'annoncer la sortie du module E-Commerce Version 3, une version compatible à la fois avec Drupal 4.7 et Drupal 5.x.

Note : les modules Drupal suivent maintenant un système de version qui permet de les identifier plus facilement. Une version est définie par les fonctionnalités qu'elle contient. Ainsi, le module e-Commerce v3 contient les mêmes fonctionnalités qu'il soit téléchargé pour Drupal 4.7 ou Drupal 5.

Il semblerait que cette version marque l'introduction (ou le perfectionnement) de tout un tas de fonctionnalités telles que : la génération de factures, les achats anonymes (i.e. sans avoir besoin d'être identifié avec un compte Drupal), les paiements récurrents, les charges flexibles, de nouvelles méthodes d'expédition... pour n'en citer que quelques unes. Ces fonctionnalités étaient très demandées et faisaient partie des principaux reproches que l'on faisait à Drupal en termes de e-Commerce.

Avec E-Commerce Version 3, Drupal propose une solution crédible pour faire du e-Commerce et ajoute une nouvelle corde à son arc, qui, espérons-le, séduira de nouveaux utilisateurs.

Reportez-vous à la page du module e-Commerce pour le détail des fonctionnalités, le téléchargement, et les instructions d'installation.

Source : E-Commerce Version 3 (For Drupal 4.7 and 5) (Drupal.org, 10/03/2007)

J’ai été contacté récemment par un prospect souhaitant réaliser un site e-Commerce avec Drupal. Comme je n’ai jamais réalisé de site e-Commerce avec Drupal et que je n’ai pas entendu beaucoup de bien du module e-Commerce (il ne serait pas très au point et très orienté « américain »), je m’interrogeais : était-il réaliste de vouloir faire un site e-commerce avec Drupal ? Il était temps de se renseigner.

Pourquoi faire un site e-Commerce avec Drupal ?

Pour commencer, on peut se demander pourquoi vouloir utiliser Drupal pour ce genre de besoin. En effet, il existe de nombreuses solutions open source spécialisées dans le e-Commerce, avec des références plutôt convaincantes : osCommerce et ZenCart sont les plus connues, mais il y en a sûrement d’autres.

Seulement, il peut être intéressant d’utiliser Drupal pour profiter de toutes les autres fonctionnalités qu’il propose, et sur lesquelles les sites spécialisés e-commerce ne sont peut-être pas au point, par exemple :

  • La création de fiches produits personnalisées avec CCK.
  • Les vues catalogue en quelques clics avec Views.
  • La publication de tous types de contenus, autres que les produits (textes, images, vidéos…).
  • La gestion fine des droits d’accès.
  • La taxonomie.
  • Le multilingue.
  • ...

Par ailleurs, si l’on possède déjà un site Drupal dans lequel on veut intégrer une boutique, il sera plus facile de ne pas recourir à une solution différente.

Enfin, il y a peut-être plus de bons développeurs Drupal que de bons développeurs osCommerce ? :-) Non, là j’exagère.

Que propose Drupal en matière de e-Commerce ?

Le premier réflexe est de faire un tour sur la liste des modules e-Commerce de Drupal.org.

On y trouve avant tout le module e-Commerce qui propose la plupart des fonctionnalités classiques :

  • Gestion du panier d’achats
  • Gestion des taxes (mais très orientée US)
  • Gestion des abonnements et paiements à intervalles réguliers
  • Vente de produits physiques (éventuellement par lot) et virtuels
  • Génération de facture
  • Notification d’expédition
  • Personnalisation graphique du panier
  • Rapports de ventes
  • Workflow de paiement
  • Historique des commandes

C’est un bon début, mais il manque tout de même quelques fonctionnalités assez courantes. Certaines sont mises à disposition par d’autres modules Drupal :

  • Currency Exchange permet la conversion des prix dans plusieurs monnaies.
  • E-Commerce Live Subproducts permet d’avoir plusieurs modèles du même produit (par exemple, un T-shirt en différentes tailles et couleurs).
  • lm_paypal permet la prise en charge des paiements Paypal.
  • Quickfile propose une gestion améliorée des produits digitaux (ebooks, musique, logiciels…).

Il faut reconnaître que la plupart de ces modules sont uniquement disponibles pour Drupal 4.7 (voire 4.6) ou encore en version bêta, ce qui limite sacrément leur intérêt.

De plus, je n’étais pas sûr qu’ils couvrent tous les besoins de mon prospect…

Drupal couvre-t-il les besoins e-Commerce d’un « vrai » client ?

C’est une chose que de regarder la liste des fonctionnalités, assez génériques, proposées par les modules e-commerce. C’en est une autre que de se demander s’ils vont répondre aux besoins bien spécifiques d’un client.

En confrontant ces besoins à l’offre e-Commerce de Drupal, il ressort certaines lacunes :

  • Pas de gestion adaptée de la TVA.
  • Pas de gestion des frais de port variables en fonction du total de la commande.
  • Pas d’interface avec les plateformes de paiement francophones.
  • Pas de filtrage collaboratif (« Les clients ayant acheté A ont également acheté B. »).
  • Pas de prise en charge des bons cadeaux/bons de réduction.

Bien sûr on peut toujours développer ces fonctionnalités, mais cela limite l’intérêt d’utiliser un CMS ainsi que l’évolutivité de la plateforme.

Conclusion

Si le e-commerce a longtemps été le maillon faible de Drupal, on sent que c’est en train de changer. En témoignent l’activité intense des développeurs e-commerce récemment, ou les initiatives entièrement dédiées à Drupal et au e-Commerce comme Ubercart, qui n’est rien de moins qu’une série de nouveaux modules Drupal e-Commerce destinés aux « boutiques en ligne commercialisant des produits physiques et possédant un large catalogue ».

Une solution pleine de promesses mais qui n’est pas encore sortie à ce jour (février 2007).

Pour vous rendre compte de ce dont Drupal est capable en terme de e-commerce, le mieux est peut-être de consulter la liste de sites Drupal e-commerce [en] de Drupalsites.net (je n’ai pas trouvé de référence francophone).

En conclusion, si vous devez développer un site de e-Commerce aujourd’hui, je recommanderais Drupal uniquement pour une boutique sans trop de contraintes pratiques pour gérer les commandes, avec un catalogue relativement réduit, et peu de procédures automatisées à mettre en place. En revanche, pour un catalogue plus important et dans le but de vraiment seconder le commerçant dans son activité, Drupal est loin d’avoir le même niveau de fonctionnalités qu’un osCommerce dont c’est la spécialité. Dans ce cas il faudra mieux s’abstenir avec Drupal ou patienter… mais combien de temps ?

Une question fréquente consiste à demander ce qu'on peut faire avec Drupal. Le site Now Public est un bon exemple. C'est un site de journalisme participatif :

Aux Etats-Unis, ce mouvement naissant stimulé par NowPublic.com a un nom : le citizen journalism (journalisme citoyen). L'idée de base est que tout événement est potentiellement une information pour les internautes. Michael Tippett: «Si vous voyez quelque chose, filmez-le, enregistez-le, photographiez-le et chargez-le sur notre site. Quel que soit le format, nous le diffuserons.»

Ce site utilise Drupal depuis ses débuts :

Le pionnier du journalisme citoyen a d'abord commencé avec un simple software de blog avant de se tourner vers drupal.org, une plateforme de gestion de contenu.

Voir l'article complet : Le journalisme participatif de Nowpublic.com (Largeur.com, 16/01/2007)

Cet article est une reproduction d’un billet de Stéphane Le Solliec, publié le 7 mai 2004 sur http://blog.metacites.net/2004/05/drupal_un_blogi.html. Il ne reflète que l’avis de son hauteur, et pas celui de DrupalFrance.org.

On fait tout un buzz en ce moment autour de Drupal, qui serait la nouvelle killer app du blog. Etant curieux et intéressé par ces histoires de blogs, je suis donc allé sur le site de Drupal, j’ai téléchargé le truc, puis je l’ai installé sur mon petit VIAO (oui, en ce moment je suis sur PC...).

Voici mes petites notes en brefs :

Drupal est un système de gestion de contenu qui semble modulaire et extensible.

J’aime bien

  • facilité d’installation et de démarrage
  • bien documenté
  • bonne gestion des utilisateurs :
    • inscription en ligne facile
    • création de rôles
    • ajout d’un module qui donne plus d’infos sur les utilisateurs
  • un graphisme clean
  • tu développes une nouvelle boîte en 5 minutes

J’aime pas

  • les urls sont moches (node/1...)
  • c’est jamais qu’un nuke-like...
  • je suis pas certain que ça soit facile à ré-habiller, notamment la home...
  • j’arrive jamais trop à voir la différence entre les différents ajouts de contenu (story, post, page, ...) c’est tout le temps le même formulaire.
  • je vois pas comment chaque utilisateur peut personnaliser son propre blog.
  • des trucs tout cons comme l’ajout d’images, sont optionnels : faut installer un module rien que pour ça, et j’arrive pas à voir si chaque utilisateur a ses images, ou bien si les images sont communes.
  • en tout cas, il semble que les feeds RSS de l’agrégateur soient communs, puis qu’avec un user, j’ai pu modifier le feed ajouté par un autre.
  • en fait, au final, le truc est aussi fouilli qu’un nuke-like, avec ses kyrielles de modules.

Questions ouvertes

  • est-ce qu’il y a un trackback dans Drupal ? : Oui, c’est un module.
  • est-ce qu’on peut géocoder dans Drupal ? : Rien trouvé là dessus.
  • ajout de livres ? à priori, oui, car le truc est modulaire. J’imagine qu’il faudrait partir d’un module comme le module de "cooking recipes" et faire la même chose avec des livres.

Faudrait que je me cogne la documentation pour les développeurs pour voir comment leur système modulaire fonctionne.

Sites sous Drupal

  • www.motime.com : "instant publishing and communication".
  • www.tipic.com : "more than instant messaging".
  • www.splinder.it : blogfarm italienne, 60 000 blogs moches comme tout [NDW : ce site ne semble plus être en ligne en date du 23/12/2006].
  • www.MichelDumais.com : journaliste "Gouvernance et démocratie en ligne", il a fait tout un tapage en passant de Typepad à Drupal.

Bref, au final, il y a de l’idée, d’autant que j’ai pu comprendre que tu peux faire un rating des histoires proposées, et ainsi alimenter un site à la slash dot, ou bien son weblog perso. Mais pour ce qui est de faire une blogfarm, on est très loin du compte.

(J’aimerais trouver juste un site tournant sous Drupal qui soit vraiment joli.)

Ceci est une traduction de Lego vs Playmobil : Is Drupal that hard, or is building a site hard?, un article de Bèr Kessels paru le 11 janvier 2006 sur Webschuur.com. Ces propos ne reflètent que l’avis de leur auteur, et pas celui de DrupalFrance.org.

Quand j’étais petit, je n’aimais pas trop les enfants qui jouaient aux Playmobil. J’étais plutôt du genre Lego. Les Lego me donnaient l’immense pouvoir de construire mes propres jouets et d’être créatif. Ils me laissaient construire ce que j’avais en tête, et pas seulement jouer de la façon dont un département marketing l’avait envisagé.

La différence entre Lego et Playmobil est un bon moyen d’expliquer l’un des reproches fondamentaux que l’on fait à Drupal. De nombreuses personnes se plaignent de la difficulté d’aborder Drupal, ou de l’impossibilité de l’utiliser pour construire tel ou tel genre de site. Par exemple, beaucoup d’utilisateurs regrettent l’absence d’une procédure automatique d’installation.

Que se passerait-il si l’installation automatique existait ? Toutes les difficultés disparaîtraient-elles d’un seul coup ? Est-ce que n’importe qui pourrait alors construire son site sous Drupal ? Sûrement pas. L’installation automatique n’est qu’une partie de la solution. Cela résoudrait certains problèmes, mais cela ne suffirait pas à rendre soudain la pratique de Drupal beaucoup plus facile. De la même façon, faciliter l’achat de Lego ou baisser leur prix ne vous rend pas automatiquement capable de les utiliser pour construire de superbes voitures de course.

Drupal est comme une boîte de Lego. Je parle des Lego traditionnels, pas des nouveaux modèles. WordPress ou PHPbb, en revanche, sont comme des Playmobil. Avec Playmobil, vous achetez une voiture de course et aussitôt, vous êtes prêt pour un Grand Prix. Avec Lego, vous construisez votre propre voiture de course. Qu’elle soit issue de votre imagination ou copiée sur un modèle, vous le faîtes pour le plaisir de la construire. Ca vous plairait que les Lego soient vendus pré-construits ? Ou s’il vous suffisait d’appuyer sur un bouton pour obtenir votre voiture de course ? Moi pas, parce que j’ai choisi Lego pour sa puissance, pour ne pas devoir suivre les règles, et inventer la voiture de course idéale.

WordPress vous apporte un blog prêt-à-utiliser. PHPbb vous apporte un forum prêt à recevoir ses premiers messages. Mais s’il vous prend l’envie d’être créatif et que vous vous dites « Tiens, ça me dirait bien de transformer ma voiture de course en 4x4 pour qu’elle puisse faire un Paris-Dakar », WordPress et PHPbb ne peuvent plus grand-chose pour vous. Il est difficile de les utiliser pour autre chose que ce pour quoi ils ont été conçus.

Drupal n’a été conçu dans aucun but particulier. Avec une boîte de Lego et un peu de créativité, vous pouvez faire ce que vous voulez. Y compris une voiture de course sous-marine 4x4. Avec Drupal, vous pouvez construire votre propre blog, forum, business, annuaire, brochure… Et bien plus encore.

Ca n’est pas sans contraintes pour l’utilisateur de Drupal : il doit posséder une certaine connaissance du web, de la sécurité, de l’organisation ou de l’optimisation d’un site. Pour construire un blog avec Drupal, vous devez savoir comment un blog fonctionne, comment les gens l’utilisent, et de quelles fonctionnalités ils ont besoin ou pas. WordPress, en revanche, est déjà entièrement optimisé pour les blogs. Tout comme votre voiture de course Playmobil est déjà prête pour le Grand Prix.

La nécessité d’avoir des connaissances web pour utiliser Drupal est la première difficulté. La seconde est de transposer ces connaissances dans l’univers Drupal. Quelle partie d’un thème faut-il modifier ? Quel module fait quoi ?... Il est parfaitement possible de construire PHPbb entièrement avec Drupal pour peu que vous sachiez quoi modifier et comment. D’où l’importance de savoir précisément ce dont vous avez besoin. Si c’est de PHPbb, alors utilisez PHPbb. Si c’est uniquement de certaines fonctionnalités de PHPbb, alors regardez dans votre boîte de Lego si vous possédez les briques qui pourraient servir à leur construction.

Au bout du compte, il y a de fortes chances que la réponse soit « Oui, Drupal peut faire ça ». Mais Drupal n’est pas une solution clé en main pour faire « ça ». C’est à vous qu’il appartient de construire « ça », pas à Drupal.

Syndiquer le contenu