Comment
Drupal Commerce
innove avec Drupal 8
JoshByers-https://unsplash.com/photos/28T_h_aB3J0
1er avril 2016
Qui suis-je ?
Commerce Guys depuis 2012
Drupal depuis 2009
membre de l’association Drupal France
et francophonie depuis 2010
@asplamagnifique
CathrynLavery-https://unsplash.com/photos/fMD_Cru6OTk
Une solution
ecommerce pour Drupal
Un CMS nommé Drupal
Une solution e-commerce
adaptée
Les évolutions de Drupal
Commerce
Les nouveautés de Drupal
Commerce pour Drupal 8
IlzeLucero-https://unsplash.com/photos/l_VVd8nV3PE
+  100 500 utilisateurs
contributeurs actuels
+  2 290 commits
sur la dernière semaine
+  4 400 commentaires
sur la dernière semaine
●  Première version en 2001
●  Représente environ 3% du web
●  Open source, licence GNU GPL
●  PHP (dont PHP 7)
Un CMS nommé Drupal
NithyaRamanujam-https://unsplash.com/photos/fTKetYpEKNQ
Drupal, les versions
Version 6
Plus de 7000 modules et plus de 600 thèmes.
Refonte complète des menus, export des
configurations
Plus de maintenance depuis le 24 février 2016.
plus de support de sécurité
plus de mise à jour officielle dans le dépôt principal
plus de support de la communauté en
général
Publiée le 13/02/08
Version 7
Plus de 11 700 modules et près de 680 thèmes
contribués.
Tout est une entité.
Stable et largement utilisé
Publiée le 5/1/11
Version 8
Plus de 1400 modules et près de 99 thèmes
contribués.
L’export des configuration automatisé et
l’internationalisation intégré, refonte des couches
basses, POO
Publiée le 19/11/15
AaronThomas--https://unsplash.com/photos/0aNUp-RV-Pk
Les mises à jour de Drupal
Programmation de publication mineures nouvelles (8.1, 8.2, …) tous les 6 mois
Version 9 sera le prolongement de la version précédente
Semantic
Versionning
Version 6 non
maintenue
Version 7 maintenue
Version 9 en
continuité avec la
version 8
e-commerce et Drupal
Pourquoi ?
-  gestion de contenus associée à des
fonctionnalités e-commerce
-  clé en main
-  flexible
Comment ?
-  3 nouvelles entités
-  produits, prix et commandes
Qui ?
-  Commerce Guys éditeur
AnnieSpratt-https://unsplash.com/photos/88HN85BJbq4
Drupal Commerce en résumé
Quelques références Drupal Commerce
l’évolution de Drupal
Commerce
Drupal Commerce conçu pour Drupal 7
Drupal Commerce a déjà plus de 4 ans
d’expérimentations
Drupal 8 apporte un grand nombre de
changements
-  intégration native de
l’internationalisation
-  gestion des configuration (CMI)
-  form modes
-  socle importé de Symfony 2
JakeHills-https://unsplash.com/photos/bt-Sc22W-BE
Avant de commencer la nouvelle
version de Drupal Commerce
●  atelier d’architecture - juin 2014
●  rétrospective sur Drupal Commerce
Les forces de Drupal Commerce
-  flexible
-  e-commerce Marketing
-  extensions avec des modules
l’heure du bilan
MickeyO'neil-https://unsplash.com/photos/GSzD6vGIWKM
l’heure du bilan
La complexité de Drupal Commerce
-  la gestion à l’international d’un multi-
catalogue
-  les règles sur les taxes
-  la personnalisation de l’affichage des
prix
-  les divers formats d’adresses
-  la gestion multi-boutique, ...
Ces points ne concernent pas Drupal
mais sont des problématiques métiers
AnnieSpratt-https://unsplash.com/photos/8mqOw4DBBSg
Premier axe de la conception de Drupal
Commerce 2.0, la création de librairies
externes.
-  regrouper les logiques métiers non
spécifiques à Drupal
-  utiliser des services reconnu, à jour
et maintenus
-  bénéficier de l’appui d’autres
communautés
-  se concentrer sur l’essentiel
Tax / Addressing / Intl / zone
le choix de
l’externalisation
LeeMiler-https://unsplash.com/photos/_rsGm7nob3w
Librairie Address
Problématique - prendre en compte les
spécificités régionale des adresses
Chaque pays :
présente ses adresses de façon différente
avec un nombre de champs différents
des étiquettes différentes
un ordre de champs différents
des normes de validation différentes
Provided by Google’s dataser
BrennanEhrhardt-https://unsplash.com/photos/HALe2SmkWAI
Librairie zone, taxes et
pricing
Problématique - Apporter des règles
communes à des groupements
géographique
Locale = langue + pays
Provided by CLDR pour les devices
Permet de gérer :
les modes d’affichage des prix en fonction
de la zone
des tarifs de livraison sur une région
la liste des devises existantes, leur
sympbole, leurs traductions, ...
TomaszBazylinski-https://unsplash.com/photos/V3p5NSMh_lo
la réinvention de Drupal
Commerce avec Drupal 8
Drupal 8 apporte quelques nouveautés
qui sont bénéfiques à Drupal Commerce
-  les form modes
-  l’installation avec Composer
-  l’appel des classes PHP
-  les efforts et choix des mainteneurs
d’initiatives (Inline Entity Form)
BenchAccounting-https://unsplash.com/photos/unG80SBSfMU
stores
Ajout de la notion de store
plusieurs catalogues avec des produits différents (pays par ex)
plusieurs marchands (plusieurs marchands)
Nécessite la distinction des commandes avec des conditions
spécifiques.
Drupal Commerce 1.0
-  module Commerce Store
(marketplace)
-  création d’un champ “pays”
avec des views filtrées
Drupal Commerce 2.0
-  nativement présent
commandes
gestion des statuts de commande
diviser le panier d’achat en fonction du type de produit et de
conditions différentes
gérer les différents statuts de commande étape par étape
Drupal Commerce 1.0
-  order status, suite logique de
statuts sur la commande depuis
la mise en paniermodule
Commerce Store (marketplace)
-  création d’un champ “pays”
avec des views filtrées
Drupal Commerce 2.0
-  nativement présent
produits
typologie des produits et variation
architecture de base proposée
librement personnalisable, chaque entité peut devenir un produit
Drupal Commerce 1.0
-  produits et affichages de
produits était séparé
-  variation générée à partir de
taxonomies
Drupal Commerce 2.0
-  création native de la variation
sur la fiche produit
-  variation gérée par une entité
propre
Stock
Revision de commerce stock pour proposer une Aviability API
(interface)
désactiver un produit s’il n’est plus disponible
désactiver l’action d’achat jusqu’à une date de disponibilité
Drupal Commerce 1.0
-  module stock
Drupal Commerce 2.0
-  API native pour connexion à un
système tiers
-  un module permettra de gérer
un stock interne
panier
nouvelle UI pour le mode review + refonte de la vue du panier
utilisant un view mode pour offrir plus de flexibilité sur la
customisation
Drupal Commerce 1.0
-  vues avec des champs
Drupal Commerce 2.0
-  nouvel affichage
-  vue avec view mode
add to cart
une nouvelle architecture pour le bouton d’ajout au panier
du code plus facile à étendre
ajout de champs personnalités
Drupal Commerce 1.0
-  bouton généré par du code
complexe et peu
personnalisable
Drupal Commerce 2.0
-  formulaire de création d’une
“ligne de commande”
-  form mode spécial
tunnel d’achat
possibilité de configurer plusieurs tunnels
en fonction du type de commande
pour un groupe d’utilisateurs
pour de l’A/B testing
Drupal Commerce 1.0
-  un seul tunnel
Drupal Commerce 2.0
-  création de plusieurs tunnels en
fonction du type de commande,
des utilisateurs, des produits, ...
taxes
Intégration d’un librairie externe, avec intégration de la notion de
validité
activer / désactiver une taxe à une date données
présenter un historique de commandes
importer diverses taxes
Drupal Commerce 1.0
-  création de taxes manuellement
ou via module
-  pas de changement
automatique
Drupal Commerce 2.0
-  gestion de l’historique des taxes
-  activation / désactivation à date
-  externalisation des règles
métier
autres sujets
Discounts / promotions
Paiement
Génération des titres de produits
Gestion des devises
Génération de factures
Drupal Commerce 1.0
-  des modules
Drupal Commerce 2.0
-  un socle dans le coeur de
Drupal et dans le coeur de
Drupal Commerce
-  des modules
Drupal 8 est déjà utilisé en production
pour des sites, principalements
éditoriaux
Drupal 7 sera encore maintenu à
minima jusqu’en 2020
Drupal Commerce pour Drupal 7 est
utilisé par près de 70 000 sites
(déclarés)
Drupal 8.1.0 début avril
Commerce 2.0 utilisable à partir de 8.1
vers Drupal Commerce 2
AndrewRidley-ttps://unsplash.com/photos/Kt5hRENuotI

Agora cms - Comment Drupal Commerce innove avec Drupal 8

  • 1.
    Comment Drupal Commerce innove avecDrupal 8 JoshByers-https://unsplash.com/photos/28T_h_aB3J0 1er avril 2016
  • 2.
    Qui suis-je ? CommerceGuys depuis 2012 Drupal depuis 2009 membre de l’association Drupal France et francophonie depuis 2010 @asplamagnifique CathrynLavery-https://unsplash.com/photos/fMD_Cru6OTk
  • 3.
    Une solution ecommerce pourDrupal Un CMS nommé Drupal Une solution e-commerce adaptée Les évolutions de Drupal Commerce Les nouveautés de Drupal Commerce pour Drupal 8 IlzeLucero-https://unsplash.com/photos/l_VVd8nV3PE
  • 4.
    +  100 500utilisateurs contributeurs actuels +  2 290 commits sur la dernière semaine +  4 400 commentaires sur la dernière semaine ●  Première version en 2001 ●  Représente environ 3% du web ●  Open source, licence GNU GPL ●  PHP (dont PHP 7) Un CMS nommé Drupal NithyaRamanujam-https://unsplash.com/photos/fTKetYpEKNQ
  • 5.
    Drupal, les versions Version6 Plus de 7000 modules et plus de 600 thèmes. Refonte complète des menus, export des configurations Plus de maintenance depuis le 24 février 2016. plus de support de sécurité plus de mise à jour officielle dans le dépôt principal plus de support de la communauté en général Publiée le 13/02/08 Version 7 Plus de 11 700 modules et près de 680 thèmes contribués. Tout est une entité. Stable et largement utilisé Publiée le 5/1/11 Version 8 Plus de 1400 modules et près de 99 thèmes contribués. L’export des configuration automatisé et l’internationalisation intégré, refonte des couches basses, POO Publiée le 19/11/15 AaronThomas--https://unsplash.com/photos/0aNUp-RV-Pk
  • 6.
    Les mises àjour de Drupal Programmation de publication mineures nouvelles (8.1, 8.2, …) tous les 6 mois Version 9 sera le prolongement de la version précédente Semantic Versionning Version 6 non maintenue Version 7 maintenue Version 9 en continuité avec la version 8
  • 7.
    e-commerce et Drupal Pourquoi? -  gestion de contenus associée à des fonctionnalités e-commerce -  clé en main -  flexible Comment ? -  3 nouvelles entités -  produits, prix et commandes Qui ? -  Commerce Guys éditeur AnnieSpratt-https://unsplash.com/photos/88HN85BJbq4
  • 8.
  • 9.
  • 10.
    l’évolution de Drupal Commerce DrupalCommerce conçu pour Drupal 7 Drupal Commerce a déjà plus de 4 ans d’expérimentations Drupal 8 apporte un grand nombre de changements -  intégration native de l’internationalisation -  gestion des configuration (CMI) -  form modes -  socle importé de Symfony 2 JakeHills-https://unsplash.com/photos/bt-Sc22W-BE
  • 11.
    Avant de commencerla nouvelle version de Drupal Commerce ●  atelier d’architecture - juin 2014 ●  rétrospective sur Drupal Commerce Les forces de Drupal Commerce -  flexible -  e-commerce Marketing -  extensions avec des modules l’heure du bilan MickeyO'neil-https://unsplash.com/photos/GSzD6vGIWKM
  • 12.
    l’heure du bilan Lacomplexité de Drupal Commerce -  la gestion à l’international d’un multi- catalogue -  les règles sur les taxes -  la personnalisation de l’affichage des prix -  les divers formats d’adresses -  la gestion multi-boutique, ... Ces points ne concernent pas Drupal mais sont des problématiques métiers AnnieSpratt-https://unsplash.com/photos/8mqOw4DBBSg
  • 13.
    Premier axe dela conception de Drupal Commerce 2.0, la création de librairies externes. -  regrouper les logiques métiers non spécifiques à Drupal -  utiliser des services reconnu, à jour et maintenus -  bénéficier de l’appui d’autres communautés -  se concentrer sur l’essentiel Tax / Addressing / Intl / zone le choix de l’externalisation LeeMiler-https://unsplash.com/photos/_rsGm7nob3w
  • 14.
    Librairie Address Problématique -prendre en compte les spécificités régionale des adresses Chaque pays : présente ses adresses de façon différente avec un nombre de champs différents des étiquettes différentes un ordre de champs différents des normes de validation différentes Provided by Google’s dataser BrennanEhrhardt-https://unsplash.com/photos/HALe2SmkWAI
  • 15.
    Librairie zone, taxeset pricing Problématique - Apporter des règles communes à des groupements géographique Locale = langue + pays Provided by CLDR pour les devices Permet de gérer : les modes d’affichage des prix en fonction de la zone des tarifs de livraison sur une région la liste des devises existantes, leur sympbole, leurs traductions, ... TomaszBazylinski-https://unsplash.com/photos/V3p5NSMh_lo
  • 16.
    la réinvention deDrupal Commerce avec Drupal 8 Drupal 8 apporte quelques nouveautés qui sont bénéfiques à Drupal Commerce -  les form modes -  l’installation avec Composer -  l’appel des classes PHP -  les efforts et choix des mainteneurs d’initiatives (Inline Entity Form) BenchAccounting-https://unsplash.com/photos/unG80SBSfMU
  • 17.
    stores Ajout de lanotion de store plusieurs catalogues avec des produits différents (pays par ex) plusieurs marchands (plusieurs marchands) Nécessite la distinction des commandes avec des conditions spécifiques. Drupal Commerce 1.0 -  module Commerce Store (marketplace) -  création d’un champ “pays” avec des views filtrées Drupal Commerce 2.0 -  nativement présent
  • 18.
    commandes gestion des statutsde commande diviser le panier d’achat en fonction du type de produit et de conditions différentes gérer les différents statuts de commande étape par étape Drupal Commerce 1.0 -  order status, suite logique de statuts sur la commande depuis la mise en paniermodule Commerce Store (marketplace) -  création d’un champ “pays” avec des views filtrées Drupal Commerce 2.0 -  nativement présent
  • 19.
    produits typologie des produitset variation architecture de base proposée librement personnalisable, chaque entité peut devenir un produit Drupal Commerce 1.0 -  produits et affichages de produits était séparé -  variation générée à partir de taxonomies Drupal Commerce 2.0 -  création native de la variation sur la fiche produit -  variation gérée par une entité propre
  • 20.
    Stock Revision de commercestock pour proposer une Aviability API (interface) désactiver un produit s’il n’est plus disponible désactiver l’action d’achat jusqu’à une date de disponibilité Drupal Commerce 1.0 -  module stock Drupal Commerce 2.0 -  API native pour connexion à un système tiers -  un module permettra de gérer un stock interne
  • 21.
    panier nouvelle UI pourle mode review + refonte de la vue du panier utilisant un view mode pour offrir plus de flexibilité sur la customisation Drupal Commerce 1.0 -  vues avec des champs Drupal Commerce 2.0 -  nouvel affichage -  vue avec view mode
  • 22.
    add to cart unenouvelle architecture pour le bouton d’ajout au panier du code plus facile à étendre ajout de champs personnalités Drupal Commerce 1.0 -  bouton généré par du code complexe et peu personnalisable Drupal Commerce 2.0 -  formulaire de création d’une “ligne de commande” -  form mode spécial
  • 23.
    tunnel d’achat possibilité deconfigurer plusieurs tunnels en fonction du type de commande pour un groupe d’utilisateurs pour de l’A/B testing Drupal Commerce 1.0 -  un seul tunnel Drupal Commerce 2.0 -  création de plusieurs tunnels en fonction du type de commande, des utilisateurs, des produits, ...
  • 24.
    taxes Intégration d’un librairieexterne, avec intégration de la notion de validité activer / désactiver une taxe à une date données présenter un historique de commandes importer diverses taxes Drupal Commerce 1.0 -  création de taxes manuellement ou via module -  pas de changement automatique Drupal Commerce 2.0 -  gestion de l’historique des taxes -  activation / désactivation à date -  externalisation des règles métier
  • 25.
    autres sujets Discounts /promotions Paiement Génération des titres de produits Gestion des devises Génération de factures Drupal Commerce 1.0 -  des modules Drupal Commerce 2.0 -  un socle dans le coeur de Drupal et dans le coeur de Drupal Commerce -  des modules
  • 26.
    Drupal 8 estdéjà utilisé en production pour des sites, principalements éditoriaux Drupal 7 sera encore maintenu à minima jusqu’en 2020 Drupal Commerce pour Drupal 7 est utilisé par près de 70 000 sites (déclarés) Drupal 8.1.0 début avril Commerce 2.0 utilisable à partir de 8.1 vers Drupal Commerce 2 AndrewRidley-ttps://unsplash.com/photos/Kt5hRENuotI