Suite au lancement officiel de la Magento 2 Beta destinée aux développeurs, le webinar organisé hier par les équipes de Magento a permis de lever le voile sur certaines spécificités de la future version très attendue par les e-commerçants et la communauté.
Résumé des améliorations spécifiques à Magento 2 :
– Compatibilité avec les dernières technologies modernes (JQuery, derniers serveurs PHP…)
– Amélioration des performances et de la scalabilité
– Simplification du process de customisation du Front-Office.
– Amélioration des APIs.
– Amélioration du système de mise à jour entre les versions.
– Amélioration de la rapidité d’installation.
– Optimisation de la création du code (Framework de test intégré)
– Cycle de développement plus rapide
– Meilleure documentation !
Planning de Magento 2 :
Q4 2014 : Lancement de la Beta destinée aux développeurs et aux tests de la plateforme
Q1 2015 (Mars) : Lancement de la Release Candidate (Elle sera très probablement inaugurée lors du Magento Imagine de Las Vegas qui aura lieu en avril prochain)
Q3 2015 (Juin) : Lancement d’une Beta réservée en priorité aux utilisateurs de la version Entreprise (EE). Les clients intéressés pourront s’adresser à Magento pour l’obtenir.
Q4 2015 (Fin) : Lancement de la version stable en versions Community (CE) et Enterprise (EE)
Comment participer à cette Beta :
La Beta destinée aux développeurs étant officiellement dévoilée, Magento invite la communauté à la télécharger dès maintenant pour la tester et monter en compétence. Les bases techniques de cette Beta sont en effet très proches de la version définitive.
Pour télécharger et tester Magento 2 : https://github.com/magento/magento2
Les premières extensions pourront quant à elles être développées dès la Release Candidate disponible.
Les premières sessions de formation à la Magento U débuteront dès le mois de Mars prochain.
Magento 2 Developer Hub :
Le Magento 2 Developer Hub devient le centre de ressource et de documentation indispensable sur Magento 2.
Un très grand nombre d’informations seront également disponibles sur Github.
Magento s’engage à apporter beaucoup plus de visibilité sur les modifications apportées aux divers patchs et corrections entre chaque nouvelle release.
Enfin, l’usage de silent release devrait être proscrit…
Lien vers le Magento 2 Developer Hub : www.magento.com/developers/magento2
Nouveau Magento Connect :
Un nouveau Magento Connect accompagnera le lancement de Magento 2 et embarquera un système de vérification du code avant publication.
Planning du nouveau Magento Connect :
Q1 2015 : Amélioration de la plateforme Magento Connect existante
Q2 2015 : Nouvelle plateforme en ligne (en mode Démo uniquement) > Les modules mis en ligne concerneront les version 1 et 2 de Magento.
Q4 2015 : Lancement de la version définitive
Le « Service Contract »
Le « Service Contract » est un tout nouveau système d’API.
Il s’agit d’une d’une nouvelle architecture technique qui fonctionnera tel un « pont » entre les données et leur usage.
Une fois le « Contract » développé, il pourra être utilisé par tous les modules et permettra de centraliser les éléments fonctionnels de l’applicatif
En effet, plutôt « qu’étendre » le périmètre des fonctionnalités en les modifiant (comme c’est le cas avec Magento 1), il sera désormais possible de faire appel à un service et la fonctionnalité client ne sera pas alors plus modifiée.
Le « Service Contract » est une API web qui fonctionne en SOAP et/ou REST
Le « Service » manipule à la fois des structures de données (Data Interface) mais également des actions sur ces données (Service Interface).
Exemple pour Customer
Pour chaque module, il est possible de développer des interfaces de gestion de données ou de services.
L’interface de données peut être utilisée par n’importe quel module et correspond toujours à une entité (de type commande, client, …)
Il est possible de faire de l’import et de l’extract de data
Le « Service Interface »
Cette interface permet au développeur de créer les méthodes et les fonctionnalité dont le client à besoin client.
La conception permet d’éviter toute dépendance entre les fonctionnalités de l’interface.
Exemple
L’exemple ci-joint démontre la façon de créer une fonctionnalité en utilisant un service (récupération d’ID) et une architecture de donnée (le Client)
Grâce au « Service Contract »:
Les données deviendront persistantes
Il sera possible de transférer plusieurs types de données entre les couches
>> L’exemple ci-joint montre la façon dont la transmission des types de données a été considérablement simplifié
Ce système est déjà disponible sur Magento 2, mais uniquement fonctionnel pour les modules suivants :
– Customer (totalement re-factorisé avec ce « services »)
– Tax
– Catalog
– Catalog Inventory
– Sales
Le « Service Contract » apportera une meilleure compatibilité des extensions, une diminution des dépendances et donc des conflits entre les modules.
Le « Service Contract » est une API publique. Il sera donc possible de l’utiliser pour des systèmes extérieurs à Magento
Quelques Questions/Réponses :
Q.1 : Magento 2 utilisera t’il Zend Framework 1 ou Zend Framework 2 ?
Magento : Zend Framework 1.
—
Q.2 : Y aurait-il toujours des Events et Observers.
Magento :
Oui, mais nous préconisons d’utiliser les plugins (système d’attache de méthode)
—
Q.3 : Quel système recommandez-vous pour travailler sur Magento 2 ?
Magento :
PHPStorm, Mac, MacPort et PHP (PaS de VM). Utiliser Vagrant sur Windows pour avoir un environnent Linux.
—
Q.4 : Magento 2 utilisera t’il toujours Prototype ?
Magento :
Non, il sera remplacé par jQquery.
—
Q.5 : Magento fonctionnera t’il avec PHP 5.5 ou + ?
Magento : Oui avec PHP 5.4 et 5.5 mais nous étudions actuellement la compatibilité avec les versions supérieures (5.6 semble pour le moment fonctionner).
—
Q.6 : Comment va se passer la Migration ?
Magento : Il n’y aura pas de migration du code possible. Nous allons néanmoins nous pencher sur un système de transfert de données.
Voici un exemple de module type pour Magento 2 :
https://github.com/coldgreentea/m2extension