Dans le cadre du déploiement d’une boutique Magento sur plusieurs sites, j’ai pas mal cherché avant d’arriver à trouver comment paramétrer le serveur et l’application correctement. Voila la méthode que j’ai utilisée pour arriver à mes fins. J’espère que cela pourra aider certains d’entre vous.
Au sein de la même installation de Magento, le but est de pouvoir vendre les produits sur plusieurs sites différents (www.site1.com et www.site2.com), ne partageant ni les noms de domaine ni la présentation. Tous les produits sont issus du même stock et sont donc gérés de manière unique.
Créer les catégories
La première étape consiste assez étonnamment, à mon sens, à créer les catégories des produits que l’on souhaite vendre. En effet, les noms de ces catégories (root category) sont demandés lors de la création des boutiques au sein de Magento. Pour que les produits soient accessibles depuis toutes les boutiques, il faut prendre soin de sélectionner une catégorie racine commune pour chacune d’elle. Ces catégories sont créées dans Catalog -> Categories -> Manage Categories.
Bien entendu, pour être accessibles depuis chacun des sites, ces catégories doivent être positionnées à IsActive dans l’onglet General Information.
Si l’on ne souhaite pas partager les stocks entre les différentes boutiques, ou si on souhaite que certaines boutiques vendent des produits propres, on pourra créer des catégories actives uniquement sur une des boutiques.
Une fois les catégories créées, on peut créer les boutiques en trois étapes.
1/ Tout d’abord, référençons nos sites dans Magento, grâce au bouton “Create website” de l’écran System -> Manage Stores.
Name : Entrer le nom du domaine du nouveau site
Code : Paramètre utilisé pour configurer le serveur web (ex. Apache) pour qu’il pointe sur ce domaine
2/ Ensuite, on peut créer les boutiques relatives à nos nouveaux “website” grâce au bouton “Crète Store” buttons toujours dans System -> Manage Stores.
Website : site web auquel la boutique est associée
Name : Nom de la boutique, généralement le même nom que le site web (plus facile de s’y retrouver)
Root Category : La catégorie de base utilisé pour la boutique
3/ Enfin créons les vues des boutiques, qui représentent l’interface visible par nos utilisateurs de la boutique (bouton “Create Store View” toujours dans System -> Manage Stores.)
Store : Boutique à laquelle la vue est associée
Name : Nom de la vue magasin (souvent associée aux traductions)
Code : code de la vue
Status : La vue est accessible aux utilisateurs ou non
Configurer les accès aux sites web
Une fois les boutiques créées il faut en configurer l’accès, pour chacune d’elle. Pour cela deux étapes. Dans Magento configurer les URL d’accès Secure et unsecure ( System -> Configuration -> General -> Web). Attention lorsque vous faite cette manipulation, a bien vérifier que le sélecteur a gauche est bien sur les site web site1.com. Pour paramétrer les URL il faut décocher “Use default [STORE VIEW]“, saisir l’URL du site et sauvegarder la configuration.
Il faut enfin configurer le serveur Apache afin de permettre à tous les domaines (vhosts) de pointer sur le même dossier, afin de partager l’installation de Magento, et éditer le fichier .htaccess de votre installation de Magento, pour y ajouter les lignes suivantes :
SetEnvIf Host www.site1.com MAGE_RUN_CODE=site1_com
SetEnvIf Host www.site1.com MAGE_RUN_TYPE=website
SetEnvIf Host ^site1.com MAGE_RUN_CODE=site1_com
SetEnvIf Host ^site1.com MAGE_RUN_TYPE=website
SetEnvIf Host www.site2.com MAGE_RUN_CODE=site2_com
SetEnvIf Host www.site2.com MAGE_RUN_TYPE=website
SetEnvIf Host ^site2.com MAGE_RUN_CODE=site2_com
SetEnvIf Host ^site2.com MAGE_RUN_TYPE=website
Redémarrez Apache et le tour est joué, vous devriez pourvoir maintenant disposer de vos deux boutiques séparées, mais vendant les mêmes produits.
