MAGENTO 2
CE QUI VA CHANGER
MAGENTO 2 : CE QUI VA CHANGER


          Gabriel BOUHATOUS
                     Expert Magento
   Audit, conseil, formation @ e-Commerce Academy
            Communauté @ (Bar | Fra)gento
               e-Commerce @ Linea Chic


         @expert_magento | @ecommerce_acdmy
MAGENTO 2 : CE QUI VA CHANGER

 1   Contexte & objectifs


 2   Magento 1 vs. Magento 2


 3   Statut & perspectives
MAGENTO 2 : CE QUI VA CHANGER

 1   Contexte & objectifs


 2   Magento 1 vs. Magento 2


 3   Statut & perspectives
Magento 1.x : contexte



150k         nombre de sites
             en production (25% PDM)


5.500 sur Magento Connect
      nombre de modules



6 ans        nombre d’années
             de développement
Magento 2 : apprendre de l’expérience



1    Magento 2 ?
     Magento 1 + expérience


2    réécriture ?
     remodelage… avancé
Magento 2 : fonctionnalités2



1    les fonctionnalités de
      Magento 1.x (modèle C.E/E.E)


2    … ou presque
     Sitemap HTML, Mage_Tag (?), …


3    et forcément :
     des nouveautés
Magento 2 : les technologies de la 1.x



PHP       PHP 5.3 (5.4 ?)
          ZF 1.x (ZF 2 ?)

SGBD      MySQL
          MSSQL & Oracle


JS        jQuery vs. Prototype
          jQuery wins ! (+ responsive)
MAGENTO 2 : CE QUI VA CHANGER

 1   Contexte & objectifs


 2   Magento 1 vs. Magento 2


 3   Statut & perspectives
Magento 2 : transparence ?

          MAGENTO 1               MAGENTO 2

      Contributions et suivi   Contributions et suivi
        possible par patch     + aisé, « push » sur github

              Informations     Documentation
dispersées, qualité variable   publique, mais à maintenir !

                  Roadmap      « A clear roadmap »
      fournie au début puis    feuille de route technique
                    retirée    claire vs. fonctionnalités ?
Magento 2 : performances, scalabilité ?


          MAGENTO 1               MAGENTO 2

      Configuration lourde      Plus de conventions
verbeuse, utilisation d’alias   classmap, chemins absolus

            Amorçage lent       Bootstrap rapide, classmap
    parsing XML, autoload       + 20% de rapidité

  Stratégie de cache, BDD       Des projets à préciser
  Scalable : Varnish, Redis     Varnish, Redis en natif ?
 Goulot EAV : NoSQL, SolR       Alternative à EAV ?
Magento 2 : sécurité ?

         MAGENTO 1              MAGENTO 2

          Structure fragile   Structure renforcée
 répertoires exposés (var)    répertoire « pub » dédié

            Sécurisé mais…    Sécurité renforcée
               « PEBCAK »     conforme Top 10 OWASP
DB clients, get.php, Paypal
   Validation côté serveur    Validation renforcée
       non formalisée, peu    contrôle systématique
                 cohérente    ex. Magento_Validator
Magento 2 : modularité ?

         MAGENTO 1              MAGENTO 2

   Modularité perfectible     Orientation composant
couplages fort - spaghettis   agrégation de modules

Administration monolitique    Administration modulaire
fonctions groupées dans les   Eclatement Mage_Adminhtml
modules Admin, Adminhtml      Menus et structure simplifiés
    Vues semi-modulaires      Modularité des vues
  un peu de logique métier    logique métier retirée
  accès aux données varié     accès aux données cohérent
       fallback à 3 niveaux   fallback illimité
Magento 2 : interopérabilité ?

       MAGENTO 1             MAGENTO 2

      WEB API correcte     WEB API renforcée
 SOAP, XML-RPC, REST       Ajout de JSON-RPC
couverture fonctionnelle   couverture fonctionnelle
             raisonnable   renforcée

 Supports de plusieurs     Support SGBD complété
                SGBD       Ajout de Postgre SQL
MySQL, MSSQL, Oracle
Magento 2 : international ?

         MAGENTO 1               MAGENTO 2

   Données gérées par vues    Données gérées par langue
        Lourdeur de gestion   Oui, mais…
Deux vues, une même langue    Réelle gestion centrale ?
   = traductions en doublon   Quid de fr_FR vs. fr_BE ?


 Traductions front - admin    Traductions front - admin
 fichier unique pour Mage     fichiers distincts pour Mage
       séparation possible    séparation native
Magento 2 : nouvelles fonctionnalités


                       Editeur visuel
                       Edition du frontend presque
                       « à la Magento Go »
                       Widgets et traductions inclus


Editeur de template       Mises à jour plus sûres
Export, intégration,      Sauvegarde, aperçu (DB
import automatique        tierce), confirmation
Magento 2 : niveau de complexité

          MAGENTO 1              MAGENTO 2

         Structure éclatée     Structure simplifiée
   Vues hors des modules       Vues dans les modules
 Alias de classes et tables    Alias et base supprimés
        Méthodes et outils     - de méthodes, + d’outils
     plusieurs possibilités    réduction des possibilités
       outils natifs faibles   outils améliorés (Profiler)
Code complexe et obsolète      Complexité du code
     méthodes dépréciées       limitée
     code peu documenté        code obsolète supprimé
                               - complexe, + documenté
A votre avis…




     1.207.032
     nombre de lignes de code
      Magento Enterprise 1.12
Magento 2 : qualité ?

          MAGENTO 1                      MAGENTO 2
                Code non testé        Suite de tests automatisés
  natif : pas de tests unitaires      tests unitaires (fonctions)
   suite de tests d’intégration       tests d’intégration (produit)
        pas de tests de qualité       tests statiques, de qualité
 pas de tests de performances         tests de performances

le code n’est jamais « prouvé »       unitaires + intégration : 45%
                                      objectif : supérieur à 50%



                       fiabilité, conformité
MAGENTO 2 : CE QUI VA CHANGER

 1   Contexte & objectifs


 2   Magento 1 vs. Magento 2


 3   Statut & perspectives
Magento 2 : statut et progression



B.P.       changements structurels, db
           non rétro-compatible


2.300      moyenne des 8 derniers sprints
           fichiers modifiés par semaine
           occasion de contribuer, R&D
           github.com/magento/magento2
Magento 2 : perspectives projets




    AgilGento ?
  pratiques de réalisation de projets
     encouragées par Magento 2
Magento 2 : perspectives X.Commerce




   « Will X.Commerce functionalities
     be by default in Magento 2 ? »
              « The answer is :
if it’s core Magento extension, then yes. »
Magento 2 : agenda



Release prévue pour
Q2 2012 Q4 2012
                        2014
Q1 2013 Q4 2013
                        …2015 ?
migration automatisée partielle
prochaines versions 1.x (optims)
1.x maintenue au moins 2 ans
Merci !
                                  blog.academy-ecommerce.com
                                  www.academy-ecommerce.com
                                  contact@academy-ecommerce.com
   Formation. Conseil. Audit.
Le centre Magento de référence.
                                  Twitter @ecommerce_acdmy

Magento 2 : ce qui va changer

  • 1.
    MAGENTO 2 CE QUIVA CHANGER
  • 2.
    MAGENTO 2 :CE QUI VA CHANGER Gabriel BOUHATOUS Expert Magento Audit, conseil, formation @ e-Commerce Academy Communauté @ (Bar | Fra)gento e-Commerce @ Linea Chic @expert_magento | @ecommerce_acdmy
  • 3.
    MAGENTO 2 :CE QUI VA CHANGER 1 Contexte & objectifs 2 Magento 1 vs. Magento 2 3 Statut & perspectives
  • 4.
    MAGENTO 2 :CE QUI VA CHANGER 1 Contexte & objectifs 2 Magento 1 vs. Magento 2 3 Statut & perspectives
  • 5.
    Magento 1.x :contexte 150k nombre de sites en production (25% PDM) 5.500 sur Magento Connect nombre de modules 6 ans nombre d’années de développement
  • 6.
    Magento 2 :apprendre de l’expérience 1 Magento 2 ? Magento 1 + expérience 2 réécriture ? remodelage… avancé
  • 7.
    Magento 2 :fonctionnalités2 1 les fonctionnalités de Magento 1.x (modèle C.E/E.E) 2 … ou presque Sitemap HTML, Mage_Tag (?), … 3 et forcément : des nouveautés
  • 8.
    Magento 2 :les technologies de la 1.x PHP PHP 5.3 (5.4 ?) ZF 1.x (ZF 2 ?) SGBD MySQL MSSQL & Oracle JS jQuery vs. Prototype jQuery wins ! (+ responsive)
  • 9.
    MAGENTO 2 :CE QUI VA CHANGER 1 Contexte & objectifs 2 Magento 1 vs. Magento 2 3 Statut & perspectives
  • 10.
    Magento 2 :transparence ? MAGENTO 1 MAGENTO 2 Contributions et suivi Contributions et suivi possible par patch + aisé, « push » sur github Informations Documentation dispersées, qualité variable publique, mais à maintenir ! Roadmap « A clear roadmap » fournie au début puis feuille de route technique retirée claire vs. fonctionnalités ?
  • 11.
    Magento 2 :performances, scalabilité ? MAGENTO 1 MAGENTO 2 Configuration lourde Plus de conventions verbeuse, utilisation d’alias classmap, chemins absolus Amorçage lent Bootstrap rapide, classmap parsing XML, autoload + 20% de rapidité Stratégie de cache, BDD Des projets à préciser Scalable : Varnish, Redis Varnish, Redis en natif ? Goulot EAV : NoSQL, SolR Alternative à EAV ?
  • 12.
    Magento 2 :sécurité ? MAGENTO 1 MAGENTO 2 Structure fragile Structure renforcée répertoires exposés (var) répertoire « pub » dédié Sécurisé mais… Sécurité renforcée « PEBCAK » conforme Top 10 OWASP DB clients, get.php, Paypal Validation côté serveur Validation renforcée non formalisée, peu contrôle systématique cohérente ex. Magento_Validator
  • 13.
    Magento 2 :modularité ? MAGENTO 1 MAGENTO 2 Modularité perfectible Orientation composant couplages fort - spaghettis agrégation de modules Administration monolitique Administration modulaire fonctions groupées dans les Eclatement Mage_Adminhtml modules Admin, Adminhtml Menus et structure simplifiés Vues semi-modulaires Modularité des vues un peu de logique métier logique métier retirée accès aux données varié accès aux données cohérent fallback à 3 niveaux fallback illimité
  • 14.
    Magento 2 :interopérabilité ? MAGENTO 1 MAGENTO 2 WEB API correcte WEB API renforcée SOAP, XML-RPC, REST Ajout de JSON-RPC couverture fonctionnelle couverture fonctionnelle raisonnable renforcée Supports de plusieurs Support SGBD complété SGBD Ajout de Postgre SQL MySQL, MSSQL, Oracle
  • 15.
    Magento 2 :international ? MAGENTO 1 MAGENTO 2 Données gérées par vues Données gérées par langue Lourdeur de gestion Oui, mais… Deux vues, une même langue Réelle gestion centrale ? = traductions en doublon Quid de fr_FR vs. fr_BE ? Traductions front - admin Traductions front - admin fichier unique pour Mage fichiers distincts pour Mage séparation possible séparation native
  • 16.
    Magento 2 :nouvelles fonctionnalités Editeur visuel Edition du frontend presque « à la Magento Go » Widgets et traductions inclus Editeur de template Mises à jour plus sûres Export, intégration, Sauvegarde, aperçu (DB import automatique tierce), confirmation
  • 17.
    Magento 2 :niveau de complexité MAGENTO 1 MAGENTO 2 Structure éclatée Structure simplifiée Vues hors des modules Vues dans les modules Alias de classes et tables Alias et base supprimés Méthodes et outils - de méthodes, + d’outils plusieurs possibilités réduction des possibilités outils natifs faibles outils améliorés (Profiler) Code complexe et obsolète Complexité du code méthodes dépréciées limitée code peu documenté code obsolète supprimé - complexe, + documenté
  • 18.
    A votre avis… 1.207.032 nombre de lignes de code Magento Enterprise 1.12
  • 19.
    Magento 2 :qualité ? MAGENTO 1 MAGENTO 2 Code non testé Suite de tests automatisés natif : pas de tests unitaires tests unitaires (fonctions) suite de tests d’intégration tests d’intégration (produit) pas de tests de qualité tests statiques, de qualité pas de tests de performances tests de performances le code n’est jamais « prouvé » unitaires + intégration : 45% objectif : supérieur à 50% fiabilité, conformité
  • 20.
    MAGENTO 2 :CE QUI VA CHANGER 1 Contexte & objectifs 2 Magento 1 vs. Magento 2 3 Statut & perspectives
  • 21.
    Magento 2 :statut et progression B.P. changements structurels, db non rétro-compatible 2.300 moyenne des 8 derniers sprints fichiers modifiés par semaine occasion de contribuer, R&D github.com/magento/magento2
  • 22.
    Magento 2 :perspectives projets AgilGento ? pratiques de réalisation de projets encouragées par Magento 2
  • 23.
    Magento 2 :perspectives X.Commerce « Will X.Commerce functionalities be by default in Magento 2 ? » « The answer is : if it’s core Magento extension, then yes. »
  • 24.
    Magento 2 :agenda Release prévue pour Q2 2012 Q4 2012 2014 Q1 2013 Q4 2013 …2015 ? migration automatisée partielle prochaines versions 1.x (optims) 1.x maintenue au moins 2 ans
  • 25.
    Merci ! blog.academy-ecommerce.com www.academy-ecommerce.com contact@academy-ecommerce.com Formation. Conseil. Audit. Le centre Magento de référence. Twitter @ecommerce_acdmy