BLOG X2i

L'actualité Magento et e-commerce vue par X2i

Comment migrer de Magento 1 vers Magento 2 ? Partie 2

20 octobre 2016 - Publié par Bertrand - Magento 1, Magento 2

migration magento 1 magento 2
La semaine dernière, nous vous avons présenté la première partie de cette méthodologie « Comment migrer de Magento 1 vers Magento 2 ? ». Nous vous y expliquions comment effectuer une analyse complète de votre plateforme e-commerce existante, étape indispensable afin de délimiter le périmètre de la migration et d’en mesurer les variables.

Aujourd’hui, nous rentrons dans le vif du sujet et nous vous proposons deux approches de migration différentes en fonction du bilan obtenu à l’issue de la phase d’analyse de votre e-commerce. Nous allons vous détailler point par point les étapes de la migration en tâchant de vous préparer à toutes les éventualités pour que vous soyez prêts et confiants le jour de la bascule vers Magento 2 !


Choisir la bonne approche de migration

L’analyse de l’existant, que nous avons décrite dans l’article précédent, a un but essentiel : vous donnez les bons critères de décision de l’approche de migration. Selon la version de Magento 1, le volume d’éléments spécifiques, de données à traiter, de couplages à revoir, de points faibles à renforcer, vous opterez pour une migration à partir de l’existant ou à partir d’une plate-forme Magento 2 vierge.

Partir de l’existant

Cette première approche consiste à utiliser le socle Magento 1 avec toutes ses données (préalablement optimisées) et à réaliser la montée en version, grâce aux outils fournis par Magento ou des développeurs tiers.

Magento détaille les prérequis et les étapes dans son Guide de migration.

En fait, il ne s’agit pas réellement d’une montée en version : le code source de Magento 2 ne remplace pas celui de Magento 1 et la base de données de Magento 1 n’est pas transformée pour Magento 2. Le principe est de partir de Magento 1, d’installer en parallèle un Magento 2 vierge (avec sa propre base de données) et d’utiliser les outils de transformation (données et fichiers) pour passer de l’un à l’autre.

Bien entendu, ces opérations ne se font pas en production car les traitements, les ajustements et les tests vont prendre plusieurs heures, voire quelques jours.

Il va donc falloir s’imposer des règles strictes :

  • travailler sur une copie de la production
  • ne pas modifier le code source de Magento 1 en production pendant cette phase
  • ne pas modifier la structure des tables de sa base de données
  • ne faire aucune action autre que le traitement de commandes dans le backend

Seules les commandes et les comptes clients pourront continuer à s’empiler, il faudra simplement synchroniser le delta à la fin de la bascule.

Le déroulé

Concrètement, la migration va se faire en deux temps :

  1. Migration des données MySQL
  2. Migration des fichiers (code source, extensions, modules, thèmes, images…)

Pour cela, Magento propose deux outils :



Vous suivrez probablement la chronologie suivante :

  1. Assainissement de la plate-forme source Magento 1, idéalement en production (purge des modules et données inutiles, suppression des corrections de bugs Magento 1, nettoyage des données…).
  2. Copie de la production sur un serveur de migration.
  3. Préparation de la plate-forme cible Magento 2 sur le serveur de migration (installation de la version par défaut avec sa base de données).
  4. Migration des données MySQL.
  5. Migration du code source et des fichiers.
  6. Désactivation de tous les modules Magento 2
  7. Réactivation des modules Magento 2 un par un pour tester la plate-forme.

Mais de nombreux cas particuliers vous pousseront certainement à faire les choses différemment ! En fait, il faut prendre les outils de Magento comme une aide partielle pour gagner du temps sur les transformations simples. Il vous restera une bonne dose de travail manuel : déplacer les fichiers du dossier media, ajuster et tester les modules, transformer les thèmes spécifiques, reconfigurer les utilisateurs et rôles, compléter la configuration, recaler les attributs de produits…

étapes migration magento1 magento2

Étapes de migration avec les outils proposés par Magento.


Sous le capot

Côté code source, les scripts PHP (nommage des modules, des classes, des dépendances, des tables MySQL, ajustement des appels de méthodes…), les fichiers XML de layout (types et noms des blocs, templates, appels JavaScript et CSS) et de configuration (déclarations des modules, routers, indexers, menu du backend, widgets…), ainsi que la structure des dossiers et fichiers seront transformés. Le rendu des modules (Magento 2 views) sera également traité à partir du thème de base.

migration layout magento1 magento2

Principe de transformation d’un module.


migration module magento1 magento2

Principe de transformation du layout.


Une transformation inachevée et bridée

Une fois les traitements terminés, vous obtiendrez un résultat plutôt convaincant sur les éléments par défaut de Magento. Ce sera loin d’être le cas pour les éléments personnalisés (modules, thèmes…). On va dire que c’est une approche “vanilla compliant”…

Autre aspect important : gardez bien à l’esprit que cette transformation ne fait que rendre le code source compatible avec Magento 2, elle n’assure pas l’utilisation optimale de la nouvelle architecture de Magento 2. Vous n’obtiendrez donc pas les performances que Magento 2 serait capable de vous fournir si vous aviez mis à plat la conception de vos modules. C’est exactement comme si vous placiez un TGV sur une ligne Intercités : personne n’oserait rester dans cette situation trop longtemps…

Partir d’une feuille blanche

Les limitations rencontrées avec les outils de migration de Magento nous poussent à voir la migration de Magento 1 vers Magento 2 comme un projet de migration d’une solution technique vers une autre. Le coût de l’opération peut sembler plus élevé qu’avec la première approche, mais comme elle ne masque pas de mauvaises surprises et offre des opportunités intéressantes pour le business et les performances, elle est plus avantageuse dans de nombreux cas.

Elle consiste à monter la plate-forme Magento 2, élément par élément, après un travail de purge et de refonte qui assure un démarrage sur des bases saines.

Le travail se concentrera sur les modules et extensions qui feront l’objet d’une refonte de leur architecture. Ces changements auront des conséquences sur les données, il faudra donc aussi ajuster la base de données.

Rien n’empêche d’utiliser les outils de migration de code de Magento pour accélérer le travail d’adaptation. Le but ne sera pas de construire directement une plate-forme Magento 2, mais seulement de récupérer un code source compatible avec Magento 2 avant de refondre ses composants.

Une fois le travail effectué sur chaque module, la plate-forme Magento 2 sera construite par l’ajout et l’activation successifs des modules.

Côté données, plusieurs possibilités existent, comme l’importation de fichiers de données préparés spécifiquement ou, encore mieux, par l’importation des données consolidées dans les autres solutions (ERP, PIM, DAM, CRM…) et complétées par les données spécifiques à Magento.

Avantage de cette approche : la plate-forme Magento est neuve, purgée des données inutiles, avec des extensions et modules performants qui exploitent les services de la nouvelle architecture de Magento 2.

Bien gérer la bascule et les premiers jours d’exploitation

Quelle que soit l’approche mise en œuvre, il faudra, à un moment ou à un autre, mettre en ligne tout ce travail ! À ce stade, il n’y a pas vraiment de conseils spécifiques à la migration Magento 1 vers Magento 2, juste quelques points de bon sens valables dans tous les projets de création ou de refonte de sites e-commerce :

  • bien tester en amont (code fonctionnel, scénarios corrects, performances au rendez-vous)
  • préparer longtemps à l’avance sa bascule avec tous les intervenants (équipe IT, équipe marketing, équipe Relation client, hébergeur, partenaire Magento, services de paiement, agence SEO…)
  • réaliser une ou plusieurs bascules à blanc (évaluation des temps de traitements, élimination des points bloquants, plate-forme opérationnelle)
  • prévenir les clients de l’opération plusieurs jours à l’avance (ils seront plus tolérants le jour J et vous feront des retours utiles après la bascule)

Quand tous les indicateurs sont au vert, la bascule réelle peut avoir lieu. En principe, elle devrait être une formalité puisque les obstacles auront été éliminés avant. Cependant, il est souhaitable de conserver sa plate-forme Magento 1 bien au chaud, quelques heures après la fin de l’opération, pour effectuer un roll-back au cas où.

Une fois le site en ligne, ce n’est pas fini ! La surveillance des premières heures d’exploitation est cruciale. De nombreux indicateurs vont voir leur valeurs évoluer parce que des éléments techniques ont changé (performances des pages, espace disque, fichiers de log, code HTML différent…). Il faut donc rester sur le pont et focalisé sur les indicateurs business principaux : taux de rebond, taux de pages vues, répartition des visites par rubriques, taux de transformation, panier moyen, produits vendus, pertes dans les étapes du tunnel d’achat, paniers abandonnés…

Les performances doivent également être surveillées de près pour corriger au plus vite les petits défauts techniques.

Comme vous aurez pris soin de conserver tous les intervenants autour de vous pendant 3 ou 4 jours, vous pourrez apporter les optimisations nécessaires très rapidement. C’est un facteur clé de succès de la bascule !




Vous l’aurez compris : la migration de Magento 1 vers Magento 2 n’est pas un simple clic sur un bouton. Magento a préféré développer une plate-forme à l’architecture très différente pour répondre aux besoins actuels. C’est un choix qui se défend et favorise l’exploitation et les évolutions, au prix d’une migration assez studieuse.

Par contre, une fois en place, et si vous avez respecté les bonnes pratiques de Magento 2, les mises à jour (par exemple, passer de Magento 2.1 à Magento 2.2) seront vraiment plus simples et rapides qu’avec Magento 1 !

En attendant, si vous avez des questions ou si vous cherchez un partenaire fiable pour vous accompagner dans votre projet de migration vers Magento 2, n’hésitez pas à nous contacter !

A lire aussi

Laisser un commentaire

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

Actualité

NEWSLETTER X2i

Recevez en exclusivité notre actualité par e-mail :
conseils, nouveautés Magento, événements e-commerce, livres blancs...