blog_ecom_magentoimagine
E-commerce Evénements

Magento Imagine Day 1

Par audrey le 12 avril 2016

Magento 2, ce n’est pas qu’une nouvelle version de Magento. C’est une mise à jour complète des principes techniques, de bonnes pratiques ou encore de l’écosystème.
Sur cette première session technique d’Imagine 2016, Magento nous a présenté, entre autres, sa nouvelle Marketplace ainsi que ses nouveaux outils de testing que nous vous détaillons ci-dessous.


Une nouvelle Marketplace

C’est annoncé, une nouvelle Marketplace viendra remplacer, à terme, Magento Connect. L’objectif premier de cette plateforme est de proposer à la communauté des modules de meilleure qualité. A titre d’exemple, jusqu’ici, Magento Connect ne disposait d’aucun processus de validation technique des modules proposés. Cela avait un impact direct sur les e-commercants. En effet, pour qu’un module soit installé en toute sécurité, même en provenance de Magento Connect, il fallait systématiquement auditer son code. Cela pouvait représenter une charge d’analyse non négligeable. Avec la nouvelle Marketplace, de nombreuses validations techniques seront assurées en amont, par Magento et les éditeurs.

De plus, ce nouvel espace se veut plus clair. Par exemple, les modules ne devront pas proposer une fonctionnalité existant déjà sur un autre module. Il est également très conseillé par Magento d’y joindre une documentation précise, etc.

Concrètement, ce nouvel espace à pour but final de clarifier les choses. Pour le marchand, cela se matérialisera par une meilleure qualité technique et fonctionnelle des modules en provenance de la communauté. De plus, le temps nécessaire à l’étude des composants sera réduit.

Enfin, l’achat d’un composant ne représentera plus un risque potentiel (dans le cas d’un module payant instable par exemple). En effet, cette Marketplace autorisera le remboursement sous certaines conditions.

Cerise sur le gâteau, cette nouvelle plateforme est disponible dès aujourd’hui !

Magento Imagine Marketplace
MagentoImagine-Marketplace

Les tests à l’honneur

Les développeurs le savent, les tests techniques et fonctionnels représentent un gain de qualité substantiel. Ils permettent notamment de garantir la qualité de l’application, des modules, mais également la garantie de compatibilité entre les différents composants.

Jusqu’ici, Magento 1 ne proposait aucun outil. Il y avait bien le framework de tests Magento Framework, mais étant donné l’architecture de cette solution (pas de composer, ancien psr, etc), ils étaient difficiles à intégrer.

Avec Magento 2, les tests sont au cœur des développements, et même au cœur de chaque composant développé. Au même titre que les classes standards (Model, Helper, etc), les tests sont aujourd’hui normés. Mieux, ils font partie des bonnes pratiques conseillées par Magento.

La version 2 de Magento représente plus de 15 000 tests unitaires, 3 500 tests d’intégration (inter composants) et 300 tests fonctionnels.

Nous avons lancé ces tests chez Synolia. Ils sont efficients et garantissent que les développements spécifiques n’impactent pas la plateforme standard (exemple : est il toujours possible de commander après l’installation d’un mode de paiement).

Ces tests sont articulés autour d’un Framework complet permettant aux développeurs d’intégrer en quelques lignes leurs propres tests.

En conclusion, il n’y a plus aucune excuse pour ne pas rédiger les tests lors de la création d’un module ! Magento nous prouve encore avec cette version 2, qu’ils aspirent continuellement à améliorer la qualité de l’application elle même, mais également de son écosystème.

MagentoImagine

L’intégration avec Magento 2

Aujourd’hui, l’intégration prend un nouvelle tournure ! Avec la multiplication des contraintes (responsive design, thèmes de plus en plus complexes, etc), cette discipline s’est drastiquement structurée. La notion de « développeur Frontend » est même entrée dans le langage courant.

Définitivement, l’intégration ne se limite plus à du css, du JavaScript et du html. Aujourd’hui, il existe des framework, des outils techniques, des bonnes pratiques, etc.

Magento a choisi de se placer à la pointe de la technologie pour cette version 2.
Dans le cadre de l’intégration, cela se matérialise par des choix technologiques et une architecture orientée extension et réutilisation.

Parmi les outils utilisés par Magento, on note notamment Less, requirejs, etc, des outils de pointe et d’une efficacité redoutable (d’un point de vue production comme d’un point de vue qualité ou fiabilité).
Mais ce n’est pas sur cela que nous souhaitons nous attarder ici mais plutôt sur les outils proposés par Magento pour améliorer notre efficacité, ainsi que la qualité du produit final.

Notons pour commencer le Framework de Magento. Le choix de Magento ne s’est pas porté sur bootstrap ou un autre Framework. Magento a créé son propre Framework d’integration, proposant tous les outils (boutons, zones déroulantes, etc) utilisés dans Magento. Ce choix nous permet de centraliser notre intégration et de gagner en efficacité.

Ensuite, Magento a intégralement revu sa façon de gérer les blocs (layout, block, etc).
Ici, Magento a apporté plus de granularité à son architecture. L’idée et d’améliorer la réutilisation notamment par le billet de layouts plus avancés.

On note également la possibilité de gérer un héritage multiple entre thèmes (la notion de multiplicité n’était pas possible jusqu’ici). Cela permet, dans le cadre d’instances multisite, de gérer des squelettes ou des éléments graphiques communs sans avoir à réécrire tout le code.

Une autre nouveauté de taille est le système de rendu de Magento 2. Pour faire simple, cette version permet d’utiliser le moteur de rendu de notre choix très simplement. Par exemple, intégrer Twig à la place des html classiques dans Magento 2 est possible très aisément.

Ce que nous retirons de nos études et des conférences du Imagine 2016, c’est que Magento a réussit à rendre modulaire la couche intégration, au même titre que la couche développement.

Les outils choisis (Less, requirejs, et autres), servent cet objectif. Comme pour la partie développement Magento 2 a réussit à rendre la partie intégration réutilisable, extensible et interchangeable, bref, modulaire.

Chez Synolia, nous étudions cette architecture depuis la sortie de la première version publique Magento 2. Et aujourd’hui, pendant l’Imagine 2016, nos découvertes et orientations techniques ont été confirmé en intégralité par les conférences que nous avons suivi ! C’est une grande fierté pour le pôle technique Synolia.

Magento 2 layout XML Magento 2 UI Library

Magento et la communauté

Avec sa version 2, Magento mise tout sur la communauté. Le monde open source ne fonctionne que grâce à celle-ci, et Magento continue de miser dessus.

Tout d’abord, comme aux premiers jours de Magento 2, le dépôt github est annoncé comme une zone d’échanges et de partage. Cette zone permet aux développeurs de donner leur avis sur le code mais également de remonter et de corriger des bugs.
Cet espace garantie une réactivité sans équivalent car ce n’est plus Magento seul qui développe son application mais tout le monde open source, dans un contexte bien encadré par l’éditeur.

De plus, les équipes de développement Magento se veulent à l’écoute. On notera par exemple une zone d’échange avec Alan Kent lui même (l’architecte en chef de Magento) sur le forum Magento : https://community.magento.com/t5/Just-Ask-Alan/bd-p/ask-the-architect.

Un autre exemple est le choix des technologies de Magento 2. Ils sont les résultats d’échanges avec la communauté. Mieux encore, pendant les conférences, Magento a annoncé qu’ils étaient prêts à revenir sur certaines technologies, ou en ajouter si la communauté en exprimait le besoin.

Magento Communauté

Intégration dans le SI

Avant tout, qu’est ce que l’intégration ?

Dans ce contexte, cela désigne les interactions entre les différents éléments de votre écosystème. Par exemple, nous parlons d’ERP, de PIM, d’applications mobiles, de bornes en magasins, etc. L’intégration de Magento avec ces éléments représente un enjeu critique pour les marchands. En effet, il est toujours difficile et onéreux d’intégrer correctement le système existant. C’est même l’une des charges les plus élevée dans le cadre d’un projet Magento et celle qui nécessite bien souvent la plus grande expertise.

Lors du Imagine 2016, Magento nous a présenté sa philosophie. Concrètement, Magento 2 fournit de très nombreux outils afin de faciliter cette Integration.

On notera notamment un nombre d’api impressionnant. En effet, la plupart des modules standards de Magento sont pilotables via web service (rest, soap sont tous deux fonctionnels en standard).

Mais ce n’est pas tout. Sur Magento 1, il était assez complexe de créer soit même une API ou d’altérer le standard. Dans cette version 2, ce processus est très simplifié et se réduit à l’écriture de fichiers simples et clairs (voir la notion de services contracts de Magento 2) !
Notons également que les apis de Magento 1 souffraient de lenteurs conséquentes. Magento promet un gain de performance très important sur cette version 2.

Notons que pendant nos recherches sur Magento 2, nous avons également constaté que Magento 2 a intégralement revu son système d’imports csv. A titre d’exemple, nous pouvons citer notamment une meilleure intégration en back office.

Toutes ces innovations vont permettre de mettre en place des systèmes plus complexes plus rapidement et plus efficacement.

Pour conclure, l’intégration est un point critique dans l’évolution de l’activité des marchants sur internet. Magento 2 fournit aux agences des outils permettant d’ouvrir le champ des possibles !

Magento Multiple Authentification
Magento  2 Integration PIM

Magento 2 et performances

Sur sa version 2, Magento a imaginé une architecture encore plus évolutive que sur Magento 1. Cela est valable à tout niveau, et notamment concernant les performances.

Cette nouvelle version de Magento comporte en effet de très nombreuses optimisations : varnish en standard sur les versions CE et EE, compilation des fichiers (amélioré par rapport à la version 1), la possibilité d’avoir des bases de données métier (catalogue, checkout, etc) séparées sur la version Enterprise, etc.

Mais quels sont les résultats de ces optimisations ?
Jusqu’ici, nous avons pu voir sur internet, de nombreux bench affichant des performances erratiques. Certains sont excellent d’autres le sont moins. Bref, rien de très fiable.

Afin de clarifier les choses, Magento a réalisé trois bench mettant en concurrence Magento 1 et 2, sur 3 machines différentes et dans trois contextes différents :

  • Une petite instance hébergée sur un serveur mutualisé, et avec 15 utilisateurs naviguant sur le site, sans varnish, ni redis, et sur Magento Community.
  • Une instance intermédiaire, sur un serveur dédié 12 core, et avec 30 utilisateurs naviguant sur le site, avec varnish (ou fpc pour Magento 1) et sur Magento Enterprise.
  • Une grosse instance, avec un cloud 24 coeurs, et 100 utilisateurs naviguant sur sur le site, avec varnish (ou fpc pour Magento 1) et sur Magento Enterprise.

Puisque quelques photos parlent mieux que de longs discours, nous vous laissons juger des performances excellentes sur un Magento standard.

Petite annonce également confirmant certaines rumeurs sur le web, Magento 2 intégrera, dans sa version 2.1, le formidable moteur de recherche « ElasticSearch » ce que notre agence a déjà réalisé pour ses clients sur les versions Enterprise 1.1x et 2.0. Cela présentera également un gain important de performances sur la partie recherche car ElasticSearch garantie des temps de réponse excellents.

Magento 2 performance - bench
Magento 2 performance - bench
Magento 2 performance - bench
Magento 2 performance - bench
Magento 2 performance - bench
Magento 2 performance - bench
Magento 2 performance - bench

 

LinkedIn Google+ Email
Decouvrez également...