Juin 2020 est maintenant une échéance bien connue des détenteurs d’une version 1.x de Magento : celle de la fin du support technique de la première version de la solution e-commerce.
Magento 2, quant à elle, fêtera bientôt quatre ans d’existence (la dernière mise à jour correspondant à la version 2.3.3).
Certains e-commerçants ont déjà entrepris des démarches de refonte ou de migration de leur plateforme vers Magento 2 ou une autre solution. D’autres sont encore au début de leur réflexion, concernant le devenir de leur plateforme e-commerce.
L’échéance arrivant à grands pas, nous vous proposons quelques éclairages, témoignages et autres idées qui, nous l’espérons, vous permettront d’y voir plus clair …
Pour quelles raisons devrais-je faire évoluer mon Magento 1 ?
Certaines raisons vous sont imposées
Concrètement, à partir de juin 2020, Magento cessera de supporter aux versions 1.x pour se concentrer uniquement sur les 2.x. Ceci implique :
- Aucun correctif
- Aucune nouvelle fonctionnalité
- Aucune montée en version technologique (versions de PHP par exemple)
- Aucune mise à jour de sécurité
Dans les faits, l’aspect correctif s’avère mineur car les dernières versions sont relativement stables, ou les problèmes qui leur sont rattachés ont déjà été probablement contournés par un bon intégrateur.
Le fait qu’aucune nouvelle fonctionnalité ne soit publiée est plus dommageable, mais il vous reste la possibilité de procéder à des développements sur mesure le cas échéant. Toutefois, ne comptez pas sur la publication de nouveaux modules au sein de la place de marché Magento : les éditeurs d’extensions ne continueront pas longtemps à publier des extensions compatibles Magento 1, ou même à les maintenir.
Les 2 derniers points sont problématiques et sont liés. En effet, sur du moyen terme, la dette technologique se creusera entre les architectures actuelles et les fondations de Magento (Zend, PHP) : vous aurez de plus en plus de difficultés à trouver un hébergeur qui acceptera votre plateforme. Il vous restera bien entendu la solution de gérer vous-même votre hébergement, quand vous en avez la capacité et les moyens.
Les mises à jour de sécurité peuvent devenir un risque majeur, notamment à cause du piratage des données sensibles (clients, comptabilité, etc.). L’actuel support de Magento est principalement actif sur le sujet de la sécurité, et continue d’assurer jusqu’à cette fameuse date butoire (juin 2020) une action régulière de corrections et de mises à niveau, de manière à lutter contre des failles connues et exploitées.
D’autres raisons peuvent être liées à votre contexte
Le support arrive bientôt à terme et c’est un souci. Cependant, indépendamment de cette échéance, il se peut que certains autres facteurs vous poussent à quitter votre plateforme Magento 1 ou participent à votre décision :
- Votre plateforme comporte trop de bugs et est devenue instable
- Le niveau de personnalisation de votre plateforme est devenu trop important et vous empêche de profiter des mises à jour ou d’une maintenance fluide
- Vos sites ont besoins d’être relookés, repensés, au final refaits
- Vous avez besoin de versions mobiles ou responsive plus abouties
- Vous changez des outils ou services tiers qui sont fortement couplés à votre Magento 1
- Vous ne parvenez pas à obtenir le niveau de performance souhaité
- Vous prévoyez le développement de nouvelles fonctionnalités majeures
- Vous prévoyez d’ouvrir de nouveaux sites
- …
Dans les faits, c’est un ensemble de critères qui vont imposer une date butoir à la fin de votre Magento 1.
Et Magento 2 dans tout cela ?
La nouvelle version de Magento possède un certain nombre d’arguments qui pourraient vous séduire, en reprenant et en améliorant les ingrédients ayant déjà fait le succès de cette plateforme eCommerce.
Sur le plan de l’architecture :
- Des possibilités de personnalisation avancées qui vous permettent de développer vos propres extensions ou de faire appel à la communauté. Avec la version 2, les modules tiers sont fiabilisés car ils font l’objet de vérifications
- Un back-office partagé entre des sites multiples, afin de simplifier la gestion de vos magasins et qui devient plus intuitif, ergonomique et responsive pour un usage multi-devices. Les performances back-office sont également améliorées et supportent un plus grand nombre d’administrateurs actifs en simultané
- Une capacité d’accueillir un catalogue volumineux et complexe, qui est optimisé en version 2 du fait d’une nouvelle conception de la base de données, permettant d’améliorer la montée en charge de la plateforme. Cela se ressent sur la performance front et back (3 bases de données distinctes : produits, commandes, paiements)
- Intégration en standard de Varnish pour la gestion du cache et la compatibilité avec des versions récentes de PHP (jusqu’à PHP 7.2 pour la version Magento 2.3)
- Une architecture permettant d’exposer tout ou partie de ses fonctionnalités sous forme de services, ce qui permettra par exemple de n’utiliser nativement que le back-office et d’intégrer un front office complètement indépendant de la plateforme (plateforme “headless CMS”)
- Des technologies modernisées depuis la version 2.0 : jQuery, React, HTML5 et CSS3
Pour les aspects fonctionnels :
- Des fonctionnalités natives plus proches des attentes actuelles du web et du e-commerce, régulièrement enrichies pour s’adapter aux mutations du marché, avec par exemple un thème responsive intégré pour le front, un tunnel d’achat épuré et fluidifié, un partage de traductions entre plusieurs sites, des fonctionnalités de staging pour optimiser la gestion de campagnes, etc.
- La version 2.3 introduit également un front PWA (Progressive Web App) (voir notre article sur Magento et les PWA)
- Également l’intégration d’un éditeur WYSIWYG (What You See Is What You Get) en net progrès (page builder) qui ne nécessite plus de compétences HTML (glisser/déposer, aperçu instantané, etc.)
- Une gestion plus avancée des stocks
- Une version dédiée au B2B depuis Magento 2.2, comme nous l’avions évoqué dans l’article présentant les aspects B2B de Magento (devis, achat en compte, grilles tarifaires, etc.)
- Un support des équipes Magento renforcé, avec des mises à jour régulières incluant de nouvelles fonctionnalités, des mises à jours de sécurité dont l’installation facilitée n’impacte plus les développements spécifiques
- Des APIs flexibles facilitant la connexion avec des services tiers très divers (ERP, CRM, CMS, PIM, entre autres) qui s’enrichissent rapidement
La migration en pratique : les différents aspects de la migration, des risques et des points de vigilance
Qu’est ce que je migre d’un Magento 1 vers un Magento 2 ?
Si vous passez d’un Magento 1 à un Magento 2, certains éléments ne pourront pas être repris du fait de la réécriture du code entre les deux versions et de l’évolution de l’architecture.
Thèmes et templates : malheureusement, ils ne pourront pas être repris de l’un vers l’autre. Il vous faut les reconstruire. Vous pourrez, toutefois, vous appuyer sur le thème par défaut de Magento.
Les extensions : là aussi, la montée en version automatique n’est pas possible. Il vous faudra vérifier si une version Magento 2 de votre extension a été prévue par l’éditeur et est disponible sur la marketplace ou éventuellement s’il existe des extensions équivalentes chez d’autres éditeurs.
Les flux : là encore, pas de miracle. Les interfaces et moyens de communication ont été revus de fond en comble et vous devrez recoder les interfaces côté Magento. Si votre architecture l’a anticipé vous aurez les demi-interfaces Magento à recoder. Seule bonne nouvelle, les APIs sur la version 2 sont nettement plus étoffées et vous pourrez également vous appuyer sur RabbitMQ.
Le référencement : Même combat… Il vous incombera (ou à votre agence SEO) de vous assurer de la meilleure reprise possible de votre référencement. Pensez à bien mesurer avant pour faciliter la recherche des écarts à l’issue de la migration : la tentation de revoir sa politique d’indicateurs et de refondre son plan de taggage sera grande. Cependant, dans l’optique d’une vision ROIste de vos investissements, le besoin de garder un socle commun des KPIs, à titre de comparaison, sera nécessaire.
L’équipe technique de développement : là encore pas de migration possible :-). Plus sérieusement, la conception, l’architecture et le code de Magento 2 sont très éloignés de ceux de Magento 1 et, si vous avez en interne une équipe technique formée sur Magento 1, il vous faudra la former sur Magento 2. Ce point n’est pas à prendre à la légère, car répliquer des pratiques Magento 1 sur une plateforme Magento 2 vous conduirait au désastre.
Alors où sont les bonnes nouvelles ? Et bien elles concernent les données elles-mêmes. L’équipe Magento a mis à disposition un outil de migration de données (Data Migration Tool) qui fonctionne plutôt bien :
- Possibilité de migrer pratiquement tous vos items : produits, clients, commandes, factures, shipments… Vous aurez bien entendu une partie à développer sur vos spécifiques ou certains modules
- Des performances plutôt bonnes : c’est l’avantage de travailler directement de base de données à base de données
- La possibilité de procéder par one shot ou sur du continu (nous avons testé ce dernier point mais n’avons finalement pas pu le retenir sur le projet concerné)
Il y a bien évidemment quelques limites ou lourdeurs, qui impliquent de prévoir l’utilisation de l’outil en amont mais son intérêt est certain.
La migration depuis Magento 1 : un projet à part entière
Migrer depuis un site Magento 1 est un projet à part entière. Comme on vient de le voir, il est illusoire d’espérer une migration du code de votre plateforme. Ainsi, que vous choisissiez une nouvelle plateforme ou la plateforme Magento 2 pour cible, vous devrez impérativement considérer que votre projet consiste à :
- Construire une nouvelle plateforme (par exemple sur Magento 2)
- Assurer la migration des données, de votre SEO, la formation de vos équipes, les liens avec votre SI ou d’autres outils tiers
- Préparer la bascule
Et le JOUR J
Le jour du “Go live”, un certain nombre de points de vigilance seront à observer :
- Accessibilité au site
- Performance
- Visibilité
- Contribution
Un élément essentiel sera la reprise des données entre votre M1 et votre M2. Dans cette optique on pourra envisager plusieurs stratégies de déploiement :
- Fermeture de l’ancien site le temps de faire la reprise des données (une extension est proposé par Magento)
- Prévoir, en parallèle de la refonte, des flux supplémentaires qui permettront d’alimenter les 2 plateformes en même temps ; la nouvelle plateforme, même en construction, est alimentée avec les données migrées de l’ancienne plateforme de façon à rester à jour et prête pour le jour de la bascule
Quelle valeur ajoutée puis-je en tirer ?
En préambule
En regardant ce qu’implique une migration depuis Magento 1.x, on l’aura compris, il s’agit d’une refonte globale. Les risques qui en découlent sont clairs :
- Des risques projets classiques avec la construction de la nouvelle plateforme, qui est un projet à part entière avec les risques inhérents (délais, coûts et techniques)
- Des risques sur le chiffre d’affaires, notamment la bascule est un moment clé et génère inévitablement de facto un risque de perte de C.A. (il existe des méthodologies permettant de réduire ce risque mais qui peuvent être coûteuses)
- Des risques opérationnels ; une nouvelle plateforme amènera immanquablement des façons de fonctionner différentes (techniques et humaines), une expérience utilisateur (UX) différente, etc
Sauf à y être totalement contraint, il nous semble important que la nouvelle solution apporte de la valeur et ne soit pas vue que comme un remplacement technique d’une plateforme obsolète.
Comment mesurer ce que m’apportera une nouvelle plateforme ?
C’est la première question à se poser. Faites la liste de ce que vous perdez, de ce que vous gagnez, intégrez les risques dans vos calculs et faites le bilan.
Les réponses à cette question dépendront uniquement de votre contexte. Par exemple :
- Votre Magento est actuellement taillé aux petits oignons, très customisé et stable tout en répondant parfaitement à votre besoin, si ce n’est peut-être un petit relookage du front, alors un changement n’est probablement pas opportun même s’il vous faut traiter les problématiques de sécurité
- Au final votre Magento 1 est sous-dimensionné (ou au contraire sur-dimensionné) par rapport à vos besoins, peut-être avez-vous beaucoup à gagner dans un changement de solution, mais pas nécessairement vers Magento 2
- Vous avez dû tordre le cou de votre Magento 1 pour satisfaire vos besoins (complexités fortes sur du B2B par exemple, ou sur des métiers particuliers), dans ce cas si des solutions natives plus proches de votre besoin existent, il est probable que vous gagneriez à un changement
Au final, est-ce bien Magento 2 qu’il me faut ?
La voie naturelle lorsqu’on est sur une plateforme Magento 1 consiste à penser une migration vers Magento 2. La version 2 apporte de très nombreuses évolutions dans de très nombreux domaines par rapport à la version 1 est est de facto une excellente future plateforme.
Pourtant, comme on l’a constaté plus haut, cette migration est un projet de replatforming à part entière et il est donc naturel de requestionner la solution pour s’assurer qu’elle est toujours la meilleure réponse à vos attentes. C’est la réponse aux questions ci-dessus, sur ce que doit vous apporter la nouvelle plateforme, qui devra être votre réel guide pour déterminer si vous partez sur un Magento 2 ou une autre solution.
Si vos besoins sont avant tout B2B, des solutions plus spécialisées sur ce domaine existent, comme SAP Commerce, OroCommerce, Salesforce CloudCraze ou encore Intershop.
Si vos besoins sont au final moindres, vous pouvez tout à fait imaginer passer sur des solutions plus légères type Prestashop ou encore avec WooCommerce ou Shopify.
A contrario, vous pouvez avoir besoin de passer sur un modèle plus intégré avec des suites applicatives complètes comme SAP Commerce, Salesforce Commerce ou Oracle Commerce. A noter cependant que le rachat par Adobe laisse présager l’apparition d’une suite plus intégrée et plus complète pour le futur de Magento.
Vous pouvez également décider d’adopter une nouvelle génération de solutions commerce unifiée telle que Proximis, TofuGear …
Enfin, si aucune de ces approches ne satisfait vos besoins, il reste le “custom made” avec la possibilité de vous appuyer sur des solutions facilitant la mise en œuvre comme Spryker, Commerce Tools ou Sylius.
Si je décide de conserver mon Magento 1, comment mitiger les risques ?
Plusieurs approches vous permettent de mitiger les risques, notamment ceux liés à la sécurité. Parmi ces approches, l’idée de ne moderniser que la partie exposée (le Front) peut s’avérer une très bonne solution. Des éditeurs comme Front Commerce proposent une réelle alternative qui vous permet de masquer votre Magento 1, en le réservant à un usage Back-End (normalement plus sécurisé), tout en bénéficiant d’un Front solide, construit avec les technologies les plus récentes.
D’autres approches, plus onéreuses, consistent dans le même esprit à déléguer votre Front à un outil tiers, comme Drupal par exemple.
C’est décidé, je me lance : c’est quoi la suite ?
Notre meilleur conseil :