Et si je lançais ma marketplace sous Drupal ?

Lorsque l’on souhaite lancer sa place de marché, se pose souvent la question : existe-t-il une solution technique pour accélérer mon développement et si oui, est-elle adaptée à mon besoin ? Nous nous sommes efforcés dans ce blog de vous présenter un panel de solutions les plus larges dans cet article ou au travers de cette vidéo. Nous avons également décortiqué les bases de Sharetribe ou de MultiMerch sur OpenCart. J’aimerais ici vous présenter une solution tournant sous le CMS (Content Management System) Drupal.

Drupal est une plateforme Open Source développée en PHP (et reposant sur le framework Symfony2 à partir de la version Drupal 8) qui permet de faciliter la création de sites internet dédiés principalement à la gestion de contenus (blog, site vitrine, plateforme multi-utilisateurs partageant du contenu…). Solution assez populaire, elle est utilisée par de très grands acteurs comme l’université de Columbia, Tesla Motors ou Ouest-France. De type CMS (tels WordPress ou Joomla !), c’est un peu le pendant des solutions e-commerce comme Magento, PrestaShop ou OpenCart, mais pour la gestion de contenus et non pas la gestion de boutiques en ligne. Cependant, tout comme OpenCart peut être adapté en place de marché multi-vendeurs, Drupal peut être transformé assez facilement en marketplace, principalement de services. En effet, sa structure « contenu » l’oriente plus naturellement vers une gestion de services plutôt que vers une gestion de boutiques e-commerce, où l’on préfèrera une solution type Magento.

Drupal pour quels besoins ?

On s’orientera vers Drupal dans les cas suivants :

  1. On souhaite lancer une place de marché rapidement avec un budget inférieur à 10k€-15k€ et des solutions comme Sharetribe ne sont pas adaptées à nos besoins ;
  2. On crée une marketplace plutôt dédiée services (locations, prestations, restauration,…) que vente de produits.

On peut également utiliser Drupal pour la vente de produits avec le module Commerce Marketplace, cependant, je trouve que ‘OpenCart + MultiMerch’ ou ‘Magento + un module place de marché’ sont plus adaptés. Un développeur ayant l’habitude de Drupal pourra néanmoins trouver plus facile de rester sur Drupal.

Bien entendu, avec un budget de 10-15k€ il est éventuellement possible d’imaginer d’utiliser Sharetribe Open Source et de le faire personnaliser par un développeur. Dans tous les cas la philosophie reste la même : utiliser une solution déjà existante pour limiter les temps de développement et donc baisser les coûts.

Enfin, il peut être envisageable de trouver un développeur qui, pour 10-15k€, développera de zéro une solution sur-mesure. Néanmoins, cela reste peu probable et sous-traiter son développement en Inde, bien que tentant, peut vite s’avérer être une catastrophe si la communication n’est pas bien rodée entre les équipes de développement et vos équipes de spécification.

Pourquoi Drupal ? Quelles limites ?

Drupal, CMS très puissant développé en Open Source, dispose d’une communauté très large qui publie un très grand nombre de modules permettant de le personnaliser. Cet atout est aussi sa faiblesse. Drupal est ainsi souvent critiqué comme étant une machine trop puissante pour des solutions simples. En effet, si l’on n’utilise que 10% de ses fonctions, potentiellement 90% du code est inutile et est cause de ralentissements ou pis encore de bugs. C’est en effet le principal risque de Drupal. Néanmoins, créer une plateforme 100% dédiée à son activité nécessite des investissements financiers (ou en temps) bien supérieurs. Et si l’on n’est pas sûr de son business et que l’on dispose de moyens limités, il est souvent plus sage de limiter son investissement initial, au risque de devoir abandonner Drupal au bout de quelques temps pour repartir sur un développement à zéro si l’entreprise démarre. Mais si l’activité s’envole, on dispose en général de plus de fonds à investir :-). Bien entendu, il s’agit là d’une décision de l’entrepreneur que je vous invite à vous poser et à poser à vos développeurs.

Comment transformer Drupal en place de marché ?

Drupal est un outil assez complexe à prendre en main. Il nécessite une phase d’apprentissage qui le rend beaucoup moins facile d’approche que WordPress par exemple pour ceux qui auraient déjà créé leur blog. C’est donc une solution avant tout pour des personnes n’ayant pas peur de coder ou ayant déjà un peu d’expérience. Je vais donc supposer que vous avez déjà un peu de background sur Drupal. Si ce n’est pas le cas, et que cela vous titille, je vous invite à aller sur Drupal.org, Drupalfr.org et sur les excellents tutos vidéos de Codekarate.

Une fois le cœur de Drupal installé (je vous invite à utiliser la version 7, car la 8 est très récente et dispose d’un faible nombre de modules adaptés), vous pourrez très simplement créer du contenu qui est la fonction de base de Drupal. Ce contenu pourra être des annonces pour des locations de bureaux ou d’appartements, des présentations de repas à domicile, des locations d’objets, etc. Pour la présentation des annonces, le module Views sera extrêmement utile. Il sera à compléter avec quelques modules de géolocalisation si vous souhaitez afficher vos résultats en fonction du lieu géographique. Je vous invite, si vous ne connaissez pas encore, à utiliser la fonction Proximity Search.

Il faudra ensuite se consacrer à l’étape paiement. Si PayPal est bien adapté sur Drupal, malheureusement l’ensemble des solutions permettant l’encaissement pour compte de tiers n’est pas développé pour Drupal. Il faudra donc s’attacher à développer cette partie et utiliser l’API de votre solution de paiement.

Le paramétrage de l’ensemble des ces fonctions réalisé, vous pourrez passer à la personnalisation du thème. Pour économiser en coût de développement et éviter de recoder un thème, l’achat d’un thème bien choisi permettra de mettre en forme votre marketplace rapidement. Parmi les thèmes très adaptés que j’ai repérés et assez faciles à modifier en place de marché, on pourra citer :

bizreview-theme-marketplace

realia-theme-marketplace

driveme-theme-marketplace

citylights-theme-marketplace

L’ensemble des ces opérations réalisées, vous disposerez de votre place de marché opérationnelle.

Quelques exemples de places de marché tournant sur Drupal

On ne pourra que citer dans un premier temps le site de Drupal lui-même qui comprend une section marketplace où sont présentés les membres actifs de la communauté Drupal vers lesquels vous pouvez vous tourner pour diverses prestations.

Un autre bon exemple est le site de cours OpenSesame. En France, BricoKasion, spécialisé dans le bricolage, utilise également Drupal. Enfin, la plateforme Export-Impulse tourne sur Drupal [edit 23/09/2017 : la plateforme Export-Impulse a fermé suite à difficultés à trouver un modèle viable].

4 commentaires

  1. Bonjour Christophe,
    Je cherchais des informations sur le développement de marketplaces et j’ai trouvé votre site. Les articles sont vraiment très intéressants, félicitations 🙂
    Après lecture de celui-ci, je me demandais quelle solution serait vraiment la mieux adaptée à la création d’une plateforme de location entre particuliers (type drivy ou encore ouicar) . La plateforme e-commerce « Magento » (+ modules Webkul) ou bien plutôt le CMS « Drupal » (+ modules spécifiques) ? Sachant qu’il y aura forcément l’encaissement pour compte tiers à prendre en compte. A priori, il existerait un module Drupal qui intégrerait la solution de paiement MangoPay (https://www.mangopay.com/fr/services-and-modules/) . Qu’en pensez-vous ?

    1. Bonjour Antoinette,
      Merci pour votre message !
      Question assez difficile, sans connaitre réellement les fonctions que vous imaginez, le budget dont vous disposez et la taille de votre plateforme. Néanmoins, si vous êtes en phase de test, Sharetribe pourrait très bien répondre à votre besoin. Il vous permettrait de disposer de quasiment toutes les fonctions présentes sur Drivy, sauf la gestion des calendriers. Si vous avez besoin du calendrier (pour la gestion des réservations), vous pourriez imaginer payer un développement spécifique Sharetribe. L’autre solution est sinon en effet de passer par une autre plateforme. Drupal pourrait tout à fait fonctionner (à noter que le module MangoPay pour Drupal est en phase bêta). J’aurais tendance à le privilégier face à un MangoPay qui gère plutôt des produits physiques (livraisons…). Il y a quand même pas mal de développement. Cela pourrait également valoir le coup de comparer le coût d’un développement sur Drupal face à un développement spécifique en demandant des chiffrages à des agences. N’hésitez pas à en dire plus pour essayer de répondre au mieux à votre besoin (ou en message privé s’il y a de éléments confidentiels).

  2. Bonjour,

    Merci pour cet article très intéressant 🙂
    Dans une optique de marketplace orientée service, sauf erreur vous n’abordez pas la problématique du calendrier de disponibilité.
    C’est d’ailleurs ce qu’il manque également à ShareTribe pour que son utilisation soit envisageable dans le cadre d’une plateforme type AirBnb, Jobbers, Youpijob, etc.
    J’ai vu qu’il y avait pas mal de plugins dispo pour cette fonctionnalité, par exemple celui-ci qui semble bien maintenu :
    https://www.drupal.org/project/availability_calendars
    Après, je ne sais pas s’ils sont intégrables dans ce cadre là.
    Cdlt,

    1. Bonjour Jean,
      Oui c’est en effet un des manques de Sharetribe, qui devrait être comblé à terme.
      Pour le plugin sur Drupal, celui-ci est utilisable pour des réservations d’un site e-commerce simple (ex. j’ai un site pour mon hôtel), mais nécessite un peu de modifications pour l’adapter dans une marketplace. Néanmoins si vous coder un peu, ça peut être une bonne base pour accélérer le développement.
      En cherchant un peu pour une questions similaire il y a quelques mois, je n’ai pas trouvé de solution Drupal opérationnelle pour une marketplace actuellement sur le marché. Ils doivent tous être recodés un peu. Mais si vous trouvez, n’hésitez pas à le partager.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *