Notre blog

Magento Imagine 2015 : tout savoir sur Magento 2 (Migration, performances, design, template…)

Magento 2 est à deux pas !

L’ensemble des conférences de la première journée de Magento Imagine 2015 ont porté sur le très attendu Magento 2.

Magento 2 change radicalement de l’actuelle version, tant d’un point de vue technique, fonctionnel que visuel.

Selon Magento, cette nouvelle version a pour ambition de devenir indétrônable sur 3 axes majeurs : l’Agilité, l’Innovation et la Scabilité.

Magento2 : 3 axes majeurs : l’Agilité, l’Innovation et la Scabilité

Il y a encore quelque mois, des rumeurs couraient sur le fait que Magento 2 ne verrait peut-être jamais le jour; ces dernières sont à présent enterrées.
Les équipes Magento ont confirmé que le planning fixé sera respecté !

Planning de sortie Magento 2

Un Design totalement repensé

Cette nouvelle version a été totalement repensée. Le nouveau thème associé sera plus simple et orienté vers les E-Commerçants et les utilisateurs n’ayant pas nécessairement de profil technique.

L’aspect du back-office a été retravaillé en flat design et bénéficiera d’une meilleure ergonomie.

Le mobile et les tablettes n’ont pas été oubliés puisque l’espace d’administration sera « Touch Friendly ».

Magento 2 : Un back office plus simple à utiliserMagento 2 : L’aspect du back-office a été retravaillé en flat design et bénéficiera d’une meilleure ergonomieMagento 2 : le back Office compatible mobile / tablette et sera ‘Touch Friendly’

Le design n’est pas l’unique évolution puisque Magento 2 s’enrichira également d’améliorations fonctionnelles, dont 2 majeures, concernant :

  • La grille : choix et ordre des colonnes à afficher, recherche par mots clefs sur chaque colonne, filtre pré-enregistré, etc.
  • Les formulaires : Nouveau type de champs, validation à la volée, etc.

Magento2 : nouvelle grille back office, drag-and-drop, choix et ordre des colonnes à afficherMagento 2 : Nouveau types de champs, validation à la volée depuis le backoffice

Enfin, le process complet de création d’une fiche produit a également été re-pensé.

Il n’aura jamais été aussi simple de créer sa fiche produit : plus besoin de choisir le type, ni de passer par des groupes d’attributs, etc.
Le must sera dans la version Enterprise (EE) qui se dotera d’un système de versionning permettant de programmer les mises en ligne produit.

Tous ces points restent perfectibles et il est possible d’aider les équipes Magento en se rendant à l’adresse suivante : www.magento.com/research/
Magento2 : nouveau process de création d'une fiche produitMagento2 : nouveau système de staging et versionning pour les produits et les promotions

Une configuration optimisée et plus facile à maintenir

La configuration a également été optimisée. Dans le but de ne charger que la configuration nécessaire sur la page, cette dernière a été divisée en plusieurs parties.

La configuration pourra de plus être écrite sous différents formats, mais sera systématiquement transmise à l’application en « Array ».

La majorité des configurations seront écrites en XML. Ce langage déjà utilisé sur Magento 1 sera plus structuré via des systèmes de définition et de validation.

Magento2 chargement de la configuration-optimiséeMagento2-configuration-différents-formatsNouveau schéma de configuration XML pour Magento 2Les différents tests d'intégrités possibles de Magento2

En conclusion, la configuration sera plus rapide, mieux formatée et donc plus simple à maintenir et à faire évoluer.

Malheureusement, nous aurions aimé voir apparaitre un système de configuration par environnement (prod, preprod)… mais il n’est pas trop tard non ? 😉
Magento 2 : la configuration sera plus rapide, mieux formatée et donc plus simple à maintenir

De nouvelles technologies et librairies pour le JS et le CSS

Magento 2 sera plus « ouvert » en offrant la possibilité d’ajouter les librairies que vous souhaitez.

Nativement Magento sera livré avec Jquery, Less, Require, Prototype, etc.
Le fonctionnement : grâce à Require.js vous pouvez gérer toutes vos libraires JS.
Magento 2 sera livré avec Jquery, Less, Require, Prototype, etcMagento 2 : grâce à Require.js vous pouvez gérer toutes vos libraires JS
De plus, le code sera déporté et donc plus facile à maintenir (plus de inline javascript).
Plus de inline javascript pour Magento 2

Côté CSS, Magento se dotera d’une librairie UI complète qui permettra aux intégrateurs de pouvoir plus facilement customiser le design de l’application.
De plus, le CSS sera pré-compilé par la solution LESS, mais il sera également possible d’ajouter d’autres Pre-Processors comme SCSS par exemple.

Magento2 : Pre-Processors CSS et SCSS

Quelques données sur le pré-calcul du CSS :

  • Via PHP = 40s
  • Via Less.js = 10s
  • via Node.js = 7s

D’un coté, Magento profitera de la puissance de chaque technologie, mais de l’autre, il rendra la création un peu plus complexe en rendant nécessaire la maîtrise de ces diverses technologies.

Le templating de Magento 2 a été entièrement revu

Tous les éléments du template sont maintenant présents dans l’architecture du module. Cela signifie que chaque module sera livré avec un design spécifique.
Ceci facilitera l’installation de nouvelles extensions sans compromettre l’apparence du site.

De plus, les layouts et les blocks ont été recodés afin d’être plus précis et concentrés sur leur but final.

Magento 2 : les layouts et les blocks ont été re-codéMagento 2 : Blocks et templates

Avec ces nouveaux systèmes et la liste des nouvelles technologies il faudra prévoir, selon Magento, 50% d’efforts supplémentaires pour les premiers développements, 20 % pour les seconds… mais à terme inférieurs aux temps de développements nécessaires sur Magento 1.
Magento2 : efforts et temps de développements nécessaires par rapport à la version 1

Coté performances ? Magento 2 sera plus rapide que Magento 1 !

Et c’est une première bonne nouvelle !

Au niveau de la consultation catalogue, le gain de rapidité est d’environ 15%.
Le plus impressionnant reste au niveau de l’ajout au panier qui est pratiquement 2 fois plus rapide.

Magento2 : l'affichage du catalogue produit sera 15% plus rapide que Magento 1Comparaison des performances entre Magento1 et Magento2 : l'ajout au panier est 2 fois plus rapide !!!

Un catalogue plus rapide, check !

Mais un des points très importants concerne le tunnel d’achat.
Ici aussi, Magento 2 a fait de gros progrès !

Il sera globalement plus rapide sur le passage de la commande (3 étapes sur les 5 nécessaires seront plus rapides).
Mais les équipes de développement de l’éditeur continueront de travailler sur les performances jusqu’à la sortie officielle de Magento 2.

Cette nouvelle version arrive avec plusieurs améliorations de performances dont une meilleure compilation, une gestion plus légère des objets, etc.

Notons également que les données XML sont maintenant stockées en « array » dans les fichiers de cache, ce qui améliore nettement le chargement du cache.

2 autres points importants raviront les équipes techniques soucieuses de l’optimisation : la prise en compte native de Varnish 4 et de HHVM.
Magento2-compatible-varnish4-et-HHVM

Magento a également optimisé la partie front-end de son application pour rendre l’expérience utilisateur plus rapide.
Les résultats obtenus avec les outils Yslow et PageSpeed sont très corrects.

Magento2 : resultats des performances  avec PageSpeed etYslow

L’un des points les plus prometteurs sera la facilité pour Magento 2 de grossir en fonction de son environnement.
En effet, des fonctionnalités comme « la base séparée pour les commandes » seront livrées nativement avec l’outil.

Magento2 : évolutivité et scalabilité de de l'architectureMagento2 : Les différences en la version CE et EE

Enfin, vous trouverez ci-dessous une comparaison impressionnante entre Magento 1 et 2 : il sera possible de faire 2 fois plus de commandes et servir 20 fois plus de pages catalogue avec la même architecture serveur.
Magento 2 un catalogue 20 fois plus rapide et 2 fois plus rapide pour le checkout !!!

Comment préparer sa migration de Magento 1 vers Magento 2

Comme vu précédemment, il y a de multiples raisons de passer sur Magento 2 : plus puissant, plus rapide, plus pratique… Mais comment procéder ?

Pour commencer, il faut savoir quoi migrer.
Pour cela, Magento présente la plateforme en 4 parties :

  • Le core / Les données : à migrer avec les scripts fournis par Magento 2.
  • Le custom : à migrer par vos propres moyens (Refonte du code pour Magento 2).
  • Le temporary : inutile à migrer car il peut être recréé à nouveau (cache, session, etc.)
  • Les medias : rien n’a été touché à ce niveau. Il vous suffira donc de copier/coller le dossier media.

Ci-dessous la procédure de migration indiquée par Magento :

  • Installer Magento 2 sur un autre environnement.
  • Migrer la configuration complète grâce à un script PHP (migrations:settings)
  • Passer l’ensemble des développements custom : thèmes, modules, etc.
  • Mettre en maintenance le Magento 1 (totale ou partielle : laisser uniquement la visualisation du catalogue).
  • Migrer l’ensemble des données (produits, commandes, clients) via le script PHP (migration:data)
  • Si des données ont été créées pendant le transfert, vous pouvez re-migrer les données manquantes via le script (migration:delta)
  • Rafraichir le cache et les données temporaires.
  • Ouvrir votre site sur la plateforme Magento 2.

Les performances de l’outil de migration semblent correctes. Il faudra compter 1000 produits, 1200 commandes et 15500 clients par minute.

Magento2 performances de l'outil de migration : 1000 produits, 1200 commandes et 15500 clients par minute

Selon l’éditeur, migrer vers Magento 2 sera assez simple.
Reste néanmoins à prendre en compte les spécificités et développements propres à chaque plateforme, dont les temps de migration nécessaires pourront être très variables.

En conclusion

La refonte visuelle, les orientations techniques et les performances annoncées sont plus que prometteuses. Il ne nous reste plus qu’à faire preuve d’encore un peu de patience en attendant son lancement officiel.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *