Magento 2 is to migrate or not to migrate, the right question ?

68
BARGENTO 2014 conférence Gabriel BOUHATOUS Expert Magento [email protected] MAGENTO 2 is to migrate or not to migrate THE RIGHT QUESTION ?

Transcript of Magento 2 is to migrate or not to migrate, the right question ?

BARGENTO 2014conférence

Gabriel BOUHATOUSExpert Magento

[email protected]

MAGENTO 2 is to migrate or not to migrate

THE RIGHTQUESTION ?

Le centre e-Commercede référence

@ecommerce_acdmy

�-������(�!�$����" �$.�!&�%&�"!���#��"&������ �$��&�!���,���$�"!" ���/�/$�!�� �!&""������)"$�%��,���!��+&��%

������ �����!&"�$�%&�%�"#�$'#����" �$���*��������%�������!��

intervenant

EXPERT MAGENTO

Tél. 01 45 63 19 [email protected]

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 2 is to migrate or not to migrate THE RIGHT QUESTION ?

is « �to migrate or not to migrate�» �the right question ?�

MAGENTO 2

Magento 1.x : historique & contexte Magento 2 : pourquoi une si longue attente ? Magento 1.x Vs. Magento 2.x Magento 2 : roadmap & bilan

1

2

3

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

4

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x historique & contexte

MAGENTO 2 : t o m i g r a t e o r n o t t h e r i g h t q u e s t i o n ?

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

Avant MAGENTO ?

MAGENTO 2 !M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e

������������������������������ �

MAGENTO 2 �M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e �

MAGENTO 2 !M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e

MAGENTO 2 !M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e

1 2 3 4

Décembre 2006 ! Varien décide de créer une solution e-Commerce

Janvier 2007 !!Démarre avec 3 développeurs

Fév. 2007 à Fév. 2008!!12 releases beta par 5 – 8 dévs.

Mars 2008!!Sortie de la stable 1.0

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

MAGENTO aujourd’hui ?!

MAGENTO 2 !M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

250k! •  sites Magento en production •  30% du top 100k Alexa

6.000! •  modules disponibles sur Magento Connect

MAGENTO 2 !M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

Mais surtout… !

MAGENTO 2 !M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

7 années de développement ! •  2007 – 2014

MAGENTO 2 !M A G E N T O 1 . x : h i s t o r i q u e & c o n t e x t e

BARGENTO 2014 !conférence

MAGENTO 1.x MAGENTO 1.X!MAGENTO 2 Pourquoi une si longue attente ?

MAGENTO 2 �M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ? �

«�The platform is mature enough �when it’s requiring �a new major version.�»�Yoav KUTNER �

CTO d’origine�

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

Le rachat par eBay a occasionné : ! •  une réorganisation des équipes •  le départ du CTO & de l’architecte vers OroCRM •  une tentative d’intégration dans X.Commerce

•  et finalement une ré-allocation des ressources X.Commerce vers Magento 2

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

Did you say !« X.Commerce ? »

Même sans le retard lié au rachat : ! •  une fois la solution adoptée à large échelle,

tout changement majeur est impossible •  l’éditeur est contraint de garantir

une rétrocompatibilité sur la version majeure

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

������������������������������ �

MAGENTO 2 �M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ? �

•� Magento 2.x permet de repartir sur de nouvelles bases �sans devoir garantir la rétrocompatibilité �

�•� tous les développements et thèmes 1.x �

sont donc à refaire suivant les nouveaux principes 2.x �

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

Mais cette attente est finalement une très bonne chose !

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

•  cette longue période de « gestation » a permis aux dévs. la liberté d’expérimenter jusqu’à aboutir à des solutions matures

•  exemple avec le moteur de template Twig implémenté dans dev44, amélioré dans dev45, et finalement supprimé dans dev49

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

« Good things take time. Great things take a long time. »

(et ce n’est pas moi qui le dit…)

MAGENTO 2 !M A G E N T O 2 : p o u r q u o i u n e s i l o n g u e a t t e n t e ?

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x Vs. MAGENTO 1.X!MAGENTO 2.x transparence

������������������������������ �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : t r a n s p a r e n c e �

•� le suivi et les contributions sont désormais possibles directement via github.com/magento/magento2 �mais surtout, elles sont intégrées voire enrichies. � ex. : filtre IP sur la maintenance��

•� des webinaires et une documentation technique �mais qui reste à remettre à jour (2012 > 2014) �

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

« Do we have a roadmap ? Yes, we have a roadmap. »

Will you share it with us ?!

« No, we won’t share it with you. Check Github. »

MAGENTO 2 !M A G E N T O 1 . x V s . M A G E N T O 2 . x : t r a n s p a r e n c e

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x Vs. MAGENTO 1.X!MAGENTO 2.x technologies

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : t e c h n o l o g i e s �

ZF1 (ZF2 ?)��

Côté serveur �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : t e c h n o l o g i e s �

ZF1 (ZF2 ?)��

Côté serveur �

������������������������������ �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : t e c h n o l o g i e s �

Côté client�•� dans la lignée de Magento CE 1.9 et EE 1.14, Magento 2 fournit un blank

theme responsive. �Il s’agit de RWD «�mobile-first approach�».��

•� ce blank theme est basé sur HTML5 et CSS 3. �

•� jQuery devient le framework JS natif, �peut-être la fin des doubles implémentations jQuery + prototype �qui alourdissent les pages. �

������������������������������ �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : t e c h n o l o g i e s �

Côté client�•� implémentation de RequireJs. �

La gestion de dépendances entre JS permet des chargements optimisés.��

•� LESS CSS (ou SASS), langage css dynamique, �permet de simplifier la maintenance css et d’optimiser le poids des feuilles de style.�

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x Vs. MAGENTO 1.X!MAGENTO 2.x performances

������������������������������ �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : p e r f o r m a n c e s �

Gestion du cache & FPC �•� le full page cache devient natif en CE : ��

•� interne via Redis (ou FS,…)�•� externe via Varnish ��

•� la gestion de cache public Vs. privé est assurée en FPC comme avec Varnish (ESI)�pour délivrer un haut % de pages via le FPC �

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

MAGENTO 2 !M A G E N T O 1 . x V s . M A G E N T O 2 . x : p e r f o r m a n c e s

Gestion du cache & FPC !•  logique d’invalidation fine du cache,

mais pas de correction sur les tags liés au layout

•  techniquement, tout était déjà possible et/ou fait en 1.x, mais l’intégration native en 2.x encouragera l’adoption

save EAV 4% cleanCache BS

8%

cleanCache AS 8%

indexation 76%

divers 4%

MA

GEN

TO 2

!M

AG

EN

TO

1.x

Vs.

MA

GE

NT

O 2

.x :

per

form

ance

s Sauvegarde produit lente ? !

$product->save(); !

save EAV cleanCache BS cleanCache AS indexation divers

������������������������������ �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : p e r f o r m a n c e s �

Gestion des indexes �•� tous les nouveaux indexes EE 1.13 deviennent natifs en CE �

•� stock, prix, produit & catégorie à plat, produit <> Catégories, URL Rewrite : �les nouveaux indexes sont… refactorisés �

•� tests de ré-indexation (en local, à vérifier) : + 20% à + 40% de performances Vs. EE 1.13 �

������������������������������ �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : p e r f o r m a n c e s �

Gestion des indexes �•� l’indexation partielle devient native �

•� l’indexation manuelle est remplacée par l’indexation asynchrone ou à la sauvegarde�

•� à date pas de plan d’alternative à EAV �

•� techniquement, tout cela était déjà possible en 1.x, �mais l’intégration native en 2.x limitera le spécifique �

MAGENTO 2 �M A G E N T O 1 . x V s . M A G E N T O 2 . x : p e r f o r m a n c e s �

Performance toolkit�•� une suite de générateurs pour �

simuler des volumes (products, orders, ...) �

•� une suite de tests basés sur Jmeter pour �mesurer et suivre les performances�

•� permet en natif, �de valider la bonne performance de comportements clés : �ajout panier, recherche, checkout, ...��

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x Vs. MAGENTO 1.X!MAGENTO 2.x personnalisation

•� Magento 1.x était modulaire, pour l’époque mais finalement, �beaucoup d’adhérence EST mauvais pour les performances / extensibilité �

�•� Magento 2.x l’est «�encore +, encore mieux�»�

•� plus de class finale Mage�•� utilisation des namespaces (php 5.3)�•� injection de dépendances vs. rewrites �•� intercepteurs et plugins vs. events �•� service Layer pour les vues et l’API�

MAGENTO 2 �P e r s o n n a l i s a t i o n �

MA

GEN

TO 2�

Per

sonn

alis

atio

n�

MA

GEN

TO 2�

Per

sonn

alis

atio

n�

MAGENTO 2 !P e r s o n n a l i s a t i o n

Catalog

Configurable Product

Grouped Product

Layered Navigation

Bundle (1.x)

Downloadable (1.x)

Checkout

Checkout Agreements

Multi Shipping

refactoring de la gestion des

prix�

vues dans les modules�

widget grid serializer (Grid

data via layout)�

code obsolète supprimé�

config XML découpée en

mutiples *.xml, moins lourds et validés par

XSD�

MAGENTO 2 �P e r s o n n a l i s a t i o n �

MAGENTO 2 �P e r s o n n a l i s a t i o n �

fallback illimité�

validation XML des layouts�

merge partiel des

layouts�

1 page-action = 1 fichier de

layout�

Magento UI Library�

MAGENTO 2 P e r s o n n a l i s a t i o n

•  bref, avec Magento 2, tout est « plus mieux », tout est « plus simple »

•  mais aussi plus compliqué ?

•  namespaces php 5.3 •  concepts techniques opposés à la 1.x •  concepts techniques « récents » pour php •  risque de sur-modularité

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x Vs. MAGENTO 1.X!MAGENTO 2.x sécurité

MA

GEN

TO 2�

Séc

urit

é�

MAGENTO 2 �S é c u r i t é �

•� Structure renforcée, répertoire «�pub�» dédié �répertoires var et app hors du répertoire public �

•� var/log : system.log et exception.log�•� var/backups �•� fichiers clients dans /var/export et import �•� app/etc/local.xml�

�•� Sécurité renforcée par des pratiques �

conformes Top 10 OWASP ��

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x Vs. MAGENTO 1.X!MAGENTO 2.x

qualité

Suite de tests automatisés�

unitaires (fonctions)�

intégration (produit)�

statiques (qualité)�performances�

obsolescence (code 1.x)�

MA

GEN

TO 2�

Qua

lité

MAGENTO 2 !Q u a l i t é

•  avis : la vraie nouveauté de Magento 2 est la présence de tests automatisés

•  le véritable intérêt des changements apportés est d’avoir rendu le socle Magento 2 :

•  nativement testable •  nativement testé •  donc cohérent avec le positionnement « Enterprise »

MAGENTO 2 Q u a l i t é

AgileGento ? Pratiques de réalisation de projets encouragées par Magento 2

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 1.x Vs. » MAGENTO 1.X!MAGENTO 2.x fonctionnalités ?

MAGENTO 2 !F o n c t i o n n a l i t é s

•  recherche améliorée notamment par la pondération des attributs

•  Google Adwords suivi de la conversion

et… c’est tout. pour le moment… !

MAGENTO 2 F o n c t i o n n a l i t é s

Annoncées…!•  Editeur visuel :

edition du frontend « à la Magento Go » (mise en place puis retiré, non prioritaire)

•  Editeur de template : export, intégration, import automatique

•  Mises à jour plus sûres : sauvegarde, aperçu (DB tierce), confirmation

MAGENTO 2 �F o n c t i o n n a l i t é s �

Supposées… �

0

20

40

60

80

100

120

Import/export

CMS Staging Reporting Recherche

Votes

Fonctionnalités les plus demandées au MLUK 2014 (extrait, sur 628 votes) �

MAGENTO 2 !F o n c t i o n n a l i t é s

Théorie : versions « métiers »!•  avis : une autre « vraie nouveauté » de Magento 2 est

la séparation entre Produit et Logiciel

•  (théorie) cela faciliterait une stratégie de : distribution de modules / versions spécialisées

BARGENTO 2014 !conférence

MAGENTO 1.X!MAGENTO 2 roadmap & bilan

MAGENTO 2 !R o a d m a p & b i l a n

Release prévue pour : ! Q2 2012 Q4 2012 Q1 2013 Q4 2013

2015 ? !

MAGENTO 2 !R o a d m a p & b i l a n

1 2 3 4 Décembre 2014 !!

Dev. Beta Mars 2015!!

Dev. RC Mi-2015!!

Merchant Beta Fin 2015!!

Merchant GA

BARGENTO!2014!–!E/COMMERCE!ACADEMY!

« 1.x maintenue 3 ans »! Migration automatisée partielle, si conforme aux

standards !