Introduction
Définition
Avant toute chose, comment pourrait-on définir la notion de multisite e-commerce ?
Un multisite e-commerce peut être défini comme étant un réseau de plusieurs sites créés à partir d’une seule installation d’une solution e-commerce.
Suivant l’architecture mise en œuvre et la solution e-commerce choisie, les sites vont pouvoir partager des fonctionnalités, des thèmes graphiques, des plugins, une base de données. Le multisite apporte aussi une certaine souplesse en permettant l’activation/désactivation de fonctionnalités en fonction du site cible.
De même un seul système d’hébergement pourra accueillir plusieurs sites à partir d’une seule instance.
Quels apports ?
1/ Un gain de temps indéniable pour des contextes clients riches en offres diverses d’e-commerce :
- Une administration centralisée via un seul backoffice pour la gestion au quotidien par les équipes marketing et IT,
- Une centralisation sur les contenus qui peuvent être partagés avec l’ensemble des sites. Un bloc de contenu éditorial peut être rédigé et publié pour l’ensemble des sites en une seule fois,
- Une gestion centralisée des comptes utilisateurs qui doivent accéder au backoffice des sites et une gestion de profils avec des droits pour gérer des restrictions d’accès par site ou non,
- Des évolutions pouvant être déployées une seule fois pour l’ensemble des sites et être par la suite activées ou désactivées sur les sites cibles.
2/ Un gain économique sur des aspects techniques et d’infrastructure :
- Une centralisation des sites sur un seul hébergement,
- Une maintenance applicative maîtrisée par le fait que les développements et évolutions peuvent être factorisés sur l’ensemble des sites,
- Un gain de temps et d’argent pour la création d’un nouveau site qui consiste à s’appuyer sur de l’existant plutôt que de créer “from scratch”.
Le multisite, dans quels cas ?
Plusieurs cas de figure peuvent induire du multisite :
- Avoir une offre multi-marques en “silo” où chaque marque est un site au sein d’un Groupe,
- Se déployer à l’international en ayant des sites qui proposent potentiellement des offres différentes (de catalogue produits, de fonctionnalités de paiement, de livraison par exemple) et de gérer des langues différentes,
- Adresser une stratégie autour de “marque blanche”,
- Adresser via la même instance de solution e-commerce des modèles d’offres différentes comme par exemple avoir un site B2C et B2B sur la même instance de solution.
Magento et le multisite
L’un des avantages de Magento est de proposer la gestion du multisite depuis le tout début de Magento 1 et que ce soit avec la version gratuite ou payante.
La conception du multisite mise en œuvre dans Magento apporte assez de souplesse pour pouvoir envisager nombre de combinaisons en fonction du besoin et ce, sur une même instance.
Tout réside dans l’existence des entités au sens Magento avec 4 grands niveaux :
ENTITÉ | CARACTÉRISTIQUES | RELATIONS |
Global | Il s’agit du niveau le plus haut qui représente l’instance Magento | |
Website | Il s’apparente à la notion de site, avec : – son propre nom de domaine – sa propre charte graphique – son propre catalogue produit, – potentiellement ses propres comptes clients, – ses propres commandes. – Il peut avoir aussi ses propres fonctionnalités comme des méthodes de paiement ou de livraison différentes par rapport aux autres sites de la même instance |
plusieurs websites peuvent être rattachés à une seule instance Magento |
Store | Il peut s’apparenter à la gestion d’univers différents dans un même website. Il peut avoir : – sa propre charte graphique – son propre catalogue – sa propre navigation |
Relations |
Storeview | C’est le niveau le plus bas et dont la fonction principale est de gérer le multi-langues et le multi-devises | 1 store peut avoir plusieurs storeviews |
NB :
Cette organisation en différents niveaux prend aussi son importance sur :
- l’ensemble des fonctionnalités proposées en natif dans Magento
- les modules intégrés pour répondre à un besoin non adressé en natif
- les développements customs réalisés dans le cadre de certains projets
En effet, le paramétrage de chaque fonctionnalité est associé à un niveau dans Magento et détermine de fait sa portance dans l’application.
Ainsi sur une nouvelle fonctionnalité, il convient de déterminer à quel niveau chaque paramètre de configuration doit être associé.
- Associé au niveau global, le paramètre sera accessible et appliqué de la même manière pour tous les websites
- Associé au niveau website, le paramètre pourra être accessible et appliqué de manière différente par website
- Associé au niveau storeview, le paramètre sera accessible et appliqué de manière différente par storeview.
Exemples de paramètres de configuration :
- activation de la fonctionnalité
- adresse mail de contact
- tarifs de livraison
Quelques exemples de cas de conception :
Quelques exemples de mise en oeuvre :
Il est très fréquent dans les projets e-commerce avec Magento de mettre en œuvre une architecture multisite. Nos clients en sont la meilleure preuve.
https://www.pharmacielafayette.com/ est un site en Magento 2 de vente en ligne de médicaments et de produits de parapharmacie. Afin de répondre à la réglementation de la vente en ligne de produits pharmaceutiques et à l’organisation de pharmacies affiliées du réseau Lafayette Pharmacie, chaque officine est un website Magento.
Ainsi, chaque website (officine) a son propre catalogue, ses propres disponibilités et dans le cas présent ses comptes clients. De même, le panier est mono-officine.
https://www.eram.fr/ est un site en Magento 2 où le multisite a été mis en œuvre pour répondre aux besoins d’adresser la vente en ligne à l’international, en plusieurs langues ainsi que le multi-marques.
https://bic.com est un site réalisé en Magento 2. En plus d’une gestion multi-pays et multi-langue, le multisite a été utilisé pour répondre aux besoins de la vente en ligne aux particuliers (B2C) et aux réseaux de professionnels du secteur (B2B).
L’avis Clever Age sur le multisite de Magento
La gestion du multisite reste très bien pensée dans Magento avec une grande flexibilité permettant d’adresser nombre de cas de structuration en fonction des besoins et de l’organisation chez nos clients.
Toutefois, son utilisation nécessite un travail en amont pour s’assurer de choisir la meilleure structure à mettre en œuvre en fonction du besoin. Il est ainsi important de garder à l’esprit certains partis pris de l’éditeur qui auront un réel impact sur le choix de la structure multisite à mettre en œuvre.
Points d’attention conceptuels :
- La gestion des comptes clients : Avec le multisite se pose la question d’avoir des comptes clients transverses à tous les sites ou bien cloisonnés par site.
Les deux sont faisables dans Magento, en revanche une fois le choix fait, il faut le considérer comme irrémédiable. Il n’existe pas de réel moyen simple pour passer d’un modèle à l’autre. - La gestion des devises : La déclaration d’une devise s’effectue au niveau website dans Magento. Cette conception oriente forcément le choix du multisite si la plateforme doit adresser des pays avec des devises différentes. Il sera alors nécessaire de faire par exemple deux websites différents s’il faut adresser des pays d’Europe et les USA. Il est cependant possible d’avoir une storeview multi-devises, mais dans ce cas là il s’agit de pouvoir gérer des conversions et non d’avoir des prix différents.
- La gestion du multi-langues : Elle se gère notamment au niveau le plus bas des entités à savoir la storeview où le code saisi pourra faire référence au code langue pour apparaître dans l’url du website. Cette mécanique rencontre une difficulté dès que l’on aborde le cas d’une langue multi-pays comme l’anglais ou le français.Le code d’un store est unique dans Magento, on ne pourra donc pas avoir deux storeviews avec le code fr pour deux websites différents (France / Belgique). Il faut donc dès le départ raisonner en couple code pays-code langue. Dans le cas cité on aura ainsi un storeview fr-fr (pour le français France) et une storeview be-fr (pour le français Belgique).
- Les performances : Qui dit plusieurs websites dans Magento dit potentiellement plusieurs catalogues, voire des offres produits différentes avec tout ce que cela implique en termes de produit cartésien (nombre de websites x nombre de catalogues x nombre de produits x nombre d’attributs). Il est donc primordial sur du multisite avec Magento d’engager un travail de fond sur le maintien des performances :
- optimiser les index
- appliquer une politique de cache performante, évolutive et robuste
- se doter d’un monitoring des websites
- Envisager à partir d’un certain seuil en termes de nombre de websites, de s’orienter sur du multi-instances multisite.
- Industrialisation : Sans aller à parler d’usine à sites, la mise en place de multisite doit être l’occasion de mettre en place des procédures :
- de duplication de websites
Magento, via ses nombreux paramétrages fonctionnels, apporte une énorme souplesse dans la création de website. En revanche, il est vite impossible de gérer ces créations de website en allant “manuellement” effectuer les paramétrages. Il devient rapidement primordial de passer par des scripts d’initialisation que gère très bien Magento.
Un regret tout de même est que l’éditeur n’ait jamais mis à disposition des “starters kits” prêt à l’emploi pour faire gagner du temps. - de déploiement
Créer du multisite nécessite rapidement de mettre en place des procédures en amont et en aval pour le déploiement de tout nouveau site. Au delà du paramétrage, l’un des points souvent chronophage reste l’intégration d’une langue. Magento gère les traductions sur 2 niveaux :- les labels des templates/formulaires qui se trouvent généralement dans moults fichiers CSV
- des labels qui correspondent à des paramétrages et qui se retrouvent en BDD
- de duplication de websites
Il s’agit d’un point à anticiper, car il n’existe pas dans Magento d’export permettant de récupérer les items à traduire pour un nouveau website.