Réaliser un site e-commerce multi-pays et multilingue connecté à SAP

2,231 views
2,108 views

Published on

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

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,231
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Réaliser un site e-commerce multi-pays et multilingue connecté à SAP

  1. 1. PLATEFORMEE-COMMERCE MULTI-PAYS &MULTILINGUElundi 24 juin 13
  2. 2. Intégrateur Drupalnuméro un en Europelundi 24 juin 13
  3. 3. OBJECTIFSlundi 24 juin 13
  4. 4. Un site e-commerce connecté à SAPgé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
  5. 5. QUELQUES CHIFFRESlundi 24 juin 13
  6. 6. 2.50016182ERP, DONT SAPPAYS, DONT LA CHINELANGUES, DONT LE JAPONAISREFERENCES PRODUITSlundi 24 juin 13
  7. 7. 55121517.000HEURESMOISPERSONNESTEMPLATESlundi 24 juin 13
  8. 8. BASESTECHNIQUESlundi 24 juin 13
  9. 9. lundi 24 juin 13
  10. 10. CHOIX STRATÉGIQUESUne seule instance Drupal pour tous les sitesLe lancement des sites sera progressif, pays par paysExport et import des contenus via ExcelCertains sites seront e-commerce, d’autres pasPas de flash, malgré l’environnement luxelundi 24 juin 13
  11. 11. SKUs Stocks Commandes ClientsPhotosProduits&Cataloguelundi 24 juin 13
  12. 12. PAYS & LANGUESlundi 24 juin 13
  13. 13. CANADAFRANCEESPAGNECHINEFR2 ENFR3ESCNSUISSE FR1 IT DElundi 24 juin 13
  14. 14. La gestion des langues s’appuie sur plusieursmodules très standard de Drupal :Localization Client (i10n_client)TranslationTemplate Extractor (potx)EntityTranslation (entity_translation)lundi 24 juin 13
  15. 15. lundi 24 juin 13
  16. 16. t($string, array $args = array(), array $options = array())Utiliser t() est une obligation.Utiliser $context dans les $optionsest très conseillé pour aider à la traductionlundi 24 juin 13
  17. 17. Chaque pays peut être identifié, soit par sondomaine (marque.co.uk), soit par une clef URL(marque.com/fr_FR)Le module Domain Access (domain) nousoffre cette fonctionnalité sur un plateau.lundi 24 juin 13
  18. 18. Trois fonctionnalités sont primordiales :123Un pays ‘central’, où tout contenu originalest d’abord crée.Possibilité de copier en masse tous lescontenus d’une langue vers une autreNotification des pays en cas demodification d’un contenu en ‘central’lundi 24 juin 13
  19. 19. Pas de workflow pour les contenus principaux(éditorial, produits). Les pays sont responsableset on deux versions à leur disposition.Un vrai workflow pour les pages d’accueillundi 24 juin 13
  20. 20. lundi 24 juin 13
  21. 21. Difficulté particulière : customisation desformulaires (inscription, newsletter) en fonctiondes pays.lundi 24 juin 13
  22. 22. lundi 24 juin 13
  23. 23. INTEGRATION ERPlundi 24 juin 13
  24. 24. Commandes,ClientsSKUs,Stock,StatusCommandesXMLSOAPlundi 24 juin 13
  25. 25. Travailler avec SAP n’est pas complexe, maislaborieux. Une commande peut faire 5000lignes XML.lundi 24 juin 13
  26. 26. Créez-vous un outil pour envoyer, depuis leback-office Drupal, un XML vers SAP.Par ailleurs, créez un log de chaquecommunication (entrante & sortante) avecSAP visible depuis les objets concernés(commande, utilisateur, SKU)lundi 24 juin 13
  27. 27. lundi 24 juin 13
  28. 28. lundi 24 juin 13
  29. 29. IMPORT / EXPORT DU CONTENUlundi 24 juin 13
  30. 30. 2 fichiers : catalogue et produits/SKUsAussi bien les SKUs que les produits peuventavoir plusieurs photos, donc on a aussi :une archive ZIP avec les médias organisés enrépertoires product/product-ID/xxxxx.jpegou sku/sku-ID/xxxxx.jpeglundi 24 juin 13
  31. 31. Images produits : image principale, liste, Nimages zoom, image de fond, images &vidéos éditorialesImages SKU : principale, liste, fond, texturelundi 24 juin 13
  32. 32. 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
  33. 33. Architecture du catalogue complexeFamilleFamille Groupe CatégorieGroupe CatégorieCatégorielundi 24 juin 13
  34. 34. GEOLOCALISATIONlundi 24 juin 13
  35. 35. Beaucoup plus complexe que nous le pensions.Rappelez-vous...“Le lancement des sites sera progressif, pays par pays”lundi 24 juin 13
  36. 36. www.marque.com/es www.marque.com/frCDNVARNISHNGNIXMax MindVCL?www.marque.comJSlundi 24 juin 13
  37. 37. lundi 24 juin 13
  38. 38. SSLlundi 24 juin 13
  39. 39. Item clairement sous-estimé.L’idée était de “simplement”mettre en place le moduleSecure Pages.Création d’un sous domainewwsSSL = User Data (Panier,Mon-Compte)CDNVARNISHNGNIXDRUPALSecure Pageslundi 24 juin 13
  40. 40. Surprise coté Drupal également.Toutes nos actions liées aux contenus utilisateurs sonteffectuées en AJAX.Or, si contenu utilisateur = SSLet que SSL = sous-domaineOopslundi 24 juin 13
  41. 41. Du coup nécessité de porter le module SecurePages Domain Access (securepages_domain).Pour tous les formulaires utilisateur soumission+ redirection.lundi 24 juin 13
  42. 42. FRONT-END FLUIDElundi 24 juin 13
  43. 43. 404lundi 24 juin 13
  44. 44. OPTIMISATIONSlundi 24 juin 13
  45. 45. CDNVARNISHNGNIXDRUPALESIBLOCS JSSTATIC.MARQUE.COMMEMCACHEENTITY CACHE VIEWS CACHElundi 24 juin 13
  46. 46. CE QUE NOUS AVONS APPRISlundi 24 juin 13
  47. 47. L’import et l’export du contenu estlaborieux à faire marcherSSL, CDN, Création des pays, géolocalisation...Le faire à la fin est une erreurMême quand il n’y a rien à optimiser, on peutencore optimiser.La notion de Pays / Langues et workflowassociés est complexe à expliquer.lundi 24 juin 13
  48. 48. MERCI !lundi 24 juin 13
  49. 49. Intégrateur Drupalnuméro un en Europelundi 24 juin 13

×