BLOG X2i

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

Comment migrer de Magento 1 vers Magento 2 ? Partie 1

14 octobre 2016 - Publié par Christophe - Magento 1, Magento 2

migration magento 1 magento 2
Magento 2 va bientôt souffler sa première bougie et les projets de migration de Magento 1 vers Magento 2 deviennent (doucement mais surement) une réalité.

Cette opération est loin d’être une simple formalité et demande une préparation solide en amont. Des outils existent pour faciliter certaines tâches (migration des données, adaptation du code…), mais il est parfois préférable de les oublier !

Le seul point commun à toutes les migrations Magento 2 : il s’agit d’un véritable projet, pas d’une simple opération de maintenance. Compte tenu de l’ampleur de la tâche, nous avons décidé de scinder cet article en deux parties pour pouvoir vous détailler au maximum les phases indispensables à tout projet de migration ! La première, que nous traitons aujourd’hui, consiste à effectuer une analyse complète du site existant afin de délimiter le périmètre de la migration.




Connaître son existant et le périmètre de la migration

L’avantage de Magento, c’est sa capacité à s’adapter au métier du commerçant. La contrepartie, c’est qu’on se retrouve avec une plateforme assez éloignée du fonctionnement par défaut : ajout d’extensions, développements spécifiques, thèmes front-end personnalisés…

L’opération de migration va donc commencer par une analyse approfondie de l’existant et du périmètre technique et fonctionnel concerné.

Code source Magento

Quelle est la version de Magento 1 ? Est-ce une Community Edition, une Enterprise Edition ? Il faut savoir que plus la version sera élevée, plus simple sera la migration. Magento dresse même une liste des versions compatibles avec ses outils de migration : Enterprise Edition 1.11.x, 1.12.x, 1.13.x, 1.14.x et Community Edition 1.6.x, 1.7.x, 1.8.x, 1.9.x. Si vous n’êtes pas dans ce cas, vous aurez moins de choix dans l’approche de migration, mais elle restera possible, bien sûr !

Le code source du noyau a-t-il été modifié ? Il faut espérer que non, c’est défendu ! Mais bon… ça se voit encore un peu trop souvent. Dans ce cas, pas d’échappatoire : il faut faire le ménage et déplacer tous les éléments spécifiques dans des modules. Ce travail peut être fait en amont (pour faciliter la migration de code et de données) ou seulement dans Magento 2 (pour faire une bonne purge sur une architecture assez différente), tout dépend des données manipulées, des ressources allouées et des objectifs de performances attendus.

Extensions Magento

Aucune plate-forme Magento n’est exploitée sans extensions tierces. Combien en avez-vous sur votre plate-forme ? Quels sont leurs rôles ? Sont-elles compatibles avec Magento 2 ? Exploitent-elles les mêmes formats de données ?

Malgré le temps laissé par Magento aux éditeurs pour mettre à jour leurs extensions (plusieurs mois avant la sortie de Magento 2.0), nous sommes encore trop souvent bloqués par des extensions incompatibles, sur des fonctionnalités aussi critiques que le paiement par carte bancaire, par exemple. À ce sujet, le marché français fait figure de bon dernier et montre sa réticence au changement. On va dire qu’on a l’habitude…

Bref, il va falloir faire des choix et ils ne seront pas tous faciles : autofinancer la montée en version du module ou bien attendre l’hypothétique sortie par l’éditeur, au risque de freiner la migration ? Prendre le taureau par les cornes et changer de service pour les mêmes prestations (vous pouvez pour cela vous aider de nos articles sur les meilleures extensions Magento 2) ? Abandonner l’extension purement et simplement ? Monter un partenariat et servir de client pilote avec les risques d’instabilité liés ?

Multipliez cela par le nombre d’extensions jugées indispensables et vous comprenez mieux l’importance de bien préparer cette partie du projet de migration…

Code spécifique

Quand on respecte les bonnes pratiques Magento, les fonctionnalités spécifiques sont couvertes par des modules spécifiques, bien séparés du noyau de Magento. Aucun outil standard ne permettra une montée en version automatique de ces modules, il faut donc traiter cette partie à la main.

Contrairement aux extensions tierces, vous maîtrisez intégralement le sujet (n’est-ce pas ?), donc les décisions sont plus faciles à prendre.

Une seule chose à garder en tête : l’architecture de Magento 2 est très différente de celle de Magento 1. En théorie, il ne s’agit donc pas d’adapter le code pour rendre compatible les modules avec Magento 2, mais plutôt de refondre leur architecture pour bénéficier de la souplesse et des performances de Magento 2. En pratique, le temps et les ressources coûtent chers, les compromis délais/coûts/résultats s’orientent plutôt vers l’adaptation de l’existant. Vous économiserez sur le coût de migration, mais vous paierez plus tard, à l’exploitation !

De notre côté, nous conseillons de refondre, avant la bascule, tous les modules importants pour votre business ou pour les performances. Vous terminerez les derniers modules dans les semaines qui suivent la bascule. Voyez cela comme une longue traîne avec tous ces aspects bénéfiques (priorisation à court terme, optimisation à moyen terme) !

Données

Magento stocke beaucoup de données : produits, clients, commandes, contenus statiques, images, mais aussi configuration, index, mise en cache, statuts de tâches automatiques, adresses réécrites, log de visites… Sans oublier les données ajoutées pour les besoins spécifiques du site.

L’important est d’en faire un inventaire très précis. Une seule donnée manquante peut empêcher la plate-forme de tourner.

Les données manipulées en standard par Magento ne posent pas de problème particulier. Des outils existent pour les traiter, comme nous le verrons plus loin. Il faut se concentrer sur les données manipulées par les extensions tierces, les modules spécifiques et les couplages (ERP, CRM, PIM…).

Gardent-elles le même format ? Doit-on les adapter au format de Magento 2 ? Peut-on même les conserver ? Quelles sont les données à conserver absolument ? Et celles à purger ?

Cette étape doit retenir votre attention : les données font la valeur de votre activité, c’est un actif majeur de l’entreprise. Sans données cohérentes et justes, le plus beau moteur ne sert à rien. C’est d’autant plus important que Magento 2 et son architecture orientée services pousse à rendre chaque information autonome et manipulable par n’importe quel outil.

La migration vers Magento 2 est souvent le moment idéal pour consolider les données, leur donner plus de sens, purger les informations inutiles et les doublons.

Thèmes Magento

Un gros morceau nous attend ! La gestion des thèmes a été totalement repensée dans Magento 2. Les fichiers ne sont plus aux mêmes endroits, les modules récupèrent une partie de la construction du front-end (les views) et les développeurs doivent utiliser des outils intégrés (SASS, génération de fichiers statiques…). Sans oublier les changements d’architecture qui modifient le contenu et l’agencement des blocs de pages, sur la base d’un thème par défaut responsive.

Aucun outil ne fera aussi correctement le boulot qu’un bon intégrateur Magento 2 ! Les mains dans le cambouis et, page par page, on remonte le thème. Difficile de passer à côté, mais c’est un pur bonheur en exploitation quand il faut faire des modifications rapides ou monter Magento 2 en version. En gros, ça coûte à la migration, mais on optimise l’exploitation par la suite.

Infrastructure et services

Magento a besoin de services pour tourner et échanger des données. Il va donc falloir faire le tour des outils concernés : PHP, Apache, MySQL, outils d’amélioration des performances (Memcache, Redis, Varnish)…

Rien de bien sorcier de ce côté. Il suffit d’utiliser les bonnes versions des applications (par exemple, passer de PHP 5 à PHP 7), ce qui veut dire, mettre son hébergeur dans la boucle afin de garantir des serveurs compatibles le jour de la bascule. Ça n’a l’air de rien, mais quand on l’oublie, ça devient un cauchemar en une seule journée !

Couplages

Au-delà des services, Magento est souvent connecté à des outils de gestion (comptabilité, relation client, gestion du catalogue). Il échange des données essentielles, de façon automatique et en permanence. Autant dire que le sujet est crucial.

Les formats d’échange de données sont-ils toujours corrects ? Les temps de traitement resteront-ils acceptables ? Comment redistribuer l’exécution des tâches automatiques dans le temps ? Doit-on utiliser des approches techniques différentes ?

On aura tout intérêt à utiliser l’architecture orientée services de Magento 2, si le budget permet la refonte de certains couplages. L’utilisation d’un ESB (Enterprise Service Bus) facilite grandement le travail.

Prévoyez également des tests conséquents, afin de valider tous les cas d’échange de données entre Magento 2 et les autres solutions (ERP, PIM, CRM…).

Procédures et ressources

Les aspects techniques ne sont pas les seuls à entrer dans le périmètre de la migration vers Magento 2. Les procédures d’exploitation et, de manière générale, toutes les actions menées par les intervenants sur la plateforme devront également être vérifiées et éventuellement mises à jour.

Il faut donc intégrer au plan de bataille la formation des équipes internes, la mise à jour des documents d’exploitation, la mise à niveau des prestataires et partenaires, la vérification des points de sécurisation de la plateforme et des données…





Arrivé à ce stade, vous devriez avoir une idée plus précise de l’ampleur du projet à mener : quelles données et extensions purger, quels modules monter en version, le temps nécessaire pour remonter le thème, les acteurs extérieurs à solliciter (hébergeur, systèmes de paiement, agence SEO…), les tests à prévoir pour les couplages et le budget total à allouer au projet. Selon ces variables, vous saurez s’il vaut mieux effectuer votre migration à partir du site existant ou à partir d’une plateforme Magento 2 vierge. La présentation de ces approches et de leur mise en œuvre technique sont l’objet d’un deuxième article : « Comment migrer de Magento 1 vers Magento 2, partie 2« . Nous vous y expliquons comment anticiper, planifier, puis lancer la bascule le Jour J, mais aussi ce qu’il faut mettre en oeuvre les jours suivants pour ajuster rapidement la plateforme.

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...