Upload
adyax
View
1.930
Download
2
Embed Size (px)
DESCRIPTION
Retour d'expérience sur la réalisation d'un gros site e-commerce international, multi-pays et multilingue, connecté à SAP. Session donnée lors du Drupal Camp Paris 2013. Gestion de plusieurs pays et des workflows associés Import et export du contenu Optimisations et intégration CDN Problématiques SSL Géo-localisation par IP
Citation preview
PLATEFORME
E-COMMERCE MULTI-PAYS &
MULTILINGUE
lundi 24 juin 13
Intégrateur Drupal numéro un en Europe
lundi 24 juin 13
OBJECTIFSlundi 24 juin 13
Un site e-commerce connecté à SAP
gérant plusieurs pays et plusieurs langues,
où chaque pays est indépendant,
où les contenus doivent être validés par la France,
sauf certains...
Front-end fluide, qui marche sur IE6...
avec un contenu éditorial riche,
lundi 24 juin 13
QUELQUES CHIFFRESlundi 24 juin 13
2.500
1618
2ERP, DONT SAP
PAYS, DONT LA CHINE
LANGUES, DONT LE JAPONAIS
REFERENCES PRODUITSlundi 24 juin 13
55
1215
17.000 HEURES
MOIS
PERSONNES
TEMPLATES
lundi 24 juin 13
BASES TECHNIQUESlundi 24 juin 13
lundi 24 juin 13
CHOIX STRATÉGIQUES
Une seule instance Drupal pour tous les sites
Le lancement des sites sera progressif, pays par pays
Export et import des contenus via Excel
Certains sites seront e-commerce, d’autres pas
Pas de flash, malgré l’environnement luxe
lundi 24 juin 13
SKUs Stocks Commandes Clients
PhotosProduits&
Catalogue
lundi 24 juin 13
PAYS & LANGUESlundi 24 juin 13
CANADA
FRANCE
ESPAGNE
CHINE
FR2 EN
FR3
ES
CN
SUISSE FR1 IT DE
lundi 24 juin 13
La gestion des langues s’appuie sur plusieurs modules très standard de Drupal :
Localization Client (i10n_client)
Translation Template Extractor (potx)
Entity Translation (entity_translation)
lundi 24 juin 13
lundi 24 juin 13
t($string, array $args = array(), array $options = array())
Utiliser t() est une obligation.
Utiliser $context dans les $optionsest très conseillé pour aider à la traduction
lundi 24 juin 13
Chaque pays peut être identifié, soit par son domaine (marque.co.uk), soit par une clef URL (marque.com/fr_FR)
Le module Domain Access (domain) nous offre cette fonctionnalité sur un plateau.
lundi 24 juin 13
Trois fonctionnalités sont primordiales :
1
2
3
Un pays ‘central’, où tout contenu original est d’abord crée.
Possibilité de copier en masse tous les contenus d’une langue vers une autre
Notification des pays en cas de modification d’un contenu en ‘central’
lundi 24 juin 13
Pas de workflow pour les contenus principaux (éditorial, produits). Les pays sont responsables et on deux versions à leur disposition.
Un vrai workflow pour les pages d’accueil
lundi 24 juin 13
lundi 24 juin 13
Difficulté particulière : customisation des formulaires (inscription, newsletter) en fonction des pays.
lundi 24 juin 13
lundi 24 juin 13
INTEGRATION ERPlundi 24 juin 13
Com
man
des,
Clien
tsSKUs, Stock,
Status Comm
andes
XMLSOAP
lundi 24 juin 13
Travailler avec SAP n’est pas complexe, mais laborieux. Une commande peut faire 5000 lignes XML.
lundi 24 juin 13
Créez-vous un outil pour envoyer, depuis le back-office Drupal, un XML vers SAP.
Par ailleurs, créez un log de chaque communication (entrante & sortante) avec SAP visible depuis les objets concernés (commande, utilisateur, SKU)
lundi 24 juin 13
lundi 24 juin 13
lundi 24 juin 13
IMPORT / EXPORT DU CONTENU
lundi 24 juin 13
2 fichiers : catalogue et produits/SKUs
Aussi bien les SKUs que les produits peuvent avoir plusieurs photos, donc on a aussi :
une archive ZIP avec les médias organisés en répertoires product/product-ID/xxxxx.jpegou sku/sku-ID/xxxxx.jpeg
lundi 24 juin 13
Images produits : image principale, liste, N images zoom, image de fond, images & vidéos éditoriales
Images SKU : principale, liste, fond, texture
lundi 24 juin 13
Pas de suppression (uniquement via BO)Import ne crée pas de révisionsRéférences vers produits encore inconnusTous les champs (40)
lundi 24 juin 13
Architecture du catalogue complexe
Famille
Famille Groupe Catégorie
Groupe Catégorie
Catégorie
lundi 24 juin 13
GEOLOCALISATIONlundi 24 juin 13
Beaucoup plus complexe que nous le pensions.
Rappelez-vous...
“Le lancement des sites sera progressif, pays par pays”
lundi 24 juin 13
www.marque.com/es www.marque.com/fr
CDN
VARNISH
NGNIX
Max Mind VCL?
www.marque.comJS
lundi 24 juin 13
lundi 24 juin 13
SSLlundi 24 juin 13
Item clairement sous-estimé.
L’idée était de “simplement” mettre en place le module Secure Pages.
Création d’un sous domaine wws
SSL = User Data (Panier, Mon-Compte)
CDN
VARNISH
NGNIX
DRUPAL
Secure Pages
lundi 24 juin 13
Surprise coté Drupal également.
Toutes nos actions liées aux contenus utilisateurs sont effectuées en AJAX.
Or, si contenu utilisateur = SSL
et que SSL = sous-domaine
Oops
lundi 24 juin 13
Du coup nécessité de porter le module Secure Pages Domain Access (securepages_domain).
Pour tous les formulaires utilisateur soumission + redirection.
lundi 24 juin 13
FRONT-END FLUIDElundi 24 juin 13
404
lundi 24 juin 13
OPTIMISATIONSlundi 24 juin 13
CDN
VARNISH
NGNIX
DRUPAL
ESI
BLOCS JS
STATIC.MARQUE.COM
MEMCACHE
ENTITY CACHE VIEWS CACHE
lundi 24 juin 13
CE QUE NOUS AVONS APPRISlundi 24 juin 13
L’import et l’export du contenu est laborieux à faire marcher
SSL, CDN, Création des pays, géolocalisation... Le faire à la fin est une erreur
Même quand il n’y a rien à optimiser, on peut encore optimiser.
La notion de Pays / Langues et workflow associés est complexe à expliquer.
lundi 24 juin 13
MERCI !
lundi 24 juin 13
Intégrateur Drupal numéro un en Europe
lundi 24 juin 13