On me demande souvent combien de temps prend une migration de PrestaShop 1.7 vers la 8. La question n'a pas de réponse tant qu'on n'a pas ouvert le dossier des modules, parce que ce n'est pas le cœur de PrestaShop qui pose problème. La montée de version du cœur, sur une boutique saine, est presque un non-événement. Ce qui prend du temps — et ce qui casse — se trouve autour.
Le vrai inventaire n'est pas celui des modules installés
La première liste à établir n'est pas celle des modules présents dans le back-office, mais celle des modules réellement utilisés. Sur une boutique de cinq ou six ans, l'écart est régulièrement d'un tiers : des modules testés puis abandonnés sans être désinstallés, des doublons fonctionnels installés par deux prestataires successifs, des extensions dont l'éditeur a disparu. Chacun de ces modules devra pourtant être vérifié, et éventuellement racheté dans une version compatible.
La question à poser pour chacun n'est donc pas « est-il compatible avec la 8 ? » mais « qu'est-ce qu'on perd si on le supprime ? ». Dans la moitié des cas la réponse est : rien. C'est la première économie de la migration, et elle est rarement chiffrée par ceux qui la vendent.
Les surcharges, ou la dette invisible
Le dossier override/ et les modifications faites directement dans le thème sont la principale cause de mauvaise surprise. Une surcharge non documentée modifie un comportement du cœur sans que rien ne le signale : après la montée de version, le symptôme apparaît ailleurs — un calcul de port faux, une remise qui ne s'applique plus, un email de commande qui ne part pas — et le rapprochement avec la migration n'est pas immédiat.
La règle que j'applique : toute surcharge conservée doit être relue et comprise avant la migration, pas après. Celles qu'on n'arrive pas à justifier sont supprimées et le comportement retesté. C'est fastidieux, et c'est exactement ce qu'on saute quand on veut aller vite.
Le thème décide du budget
Trois situations, trois budgets sans commune mesure. Un thème du marché maintenu par son éditeur : on met à jour, on revérifie l'affichage, c'est court. Un thème enfant propre : les modifications sont isolées, on les reporte une par une, c'est raisonnable. Un thème parent modifié directement : les modifications et le thème ne font plus qu'un, et il n'existe pas de moyen simple de les séparer. C'est la situation qui explique la majorité des boutiques restées sur une version ancienne.
La préproduction n'est pas une option
Une migration se répète. On ne bascule pas une boutique en production pour voir ; on copie la boutique complète — base, fichiers, configuration — sur un environnement identique, on migre, on teste le tunnel de bout en bout avec un vrai paiement en mode test, et on recommence jusqu'à ce que le passage soit ennuyeux. Le jour J ne doit rien découvrir.
La liste de tests minimale tient en peu de lignes et ne se néglige pas : création de compte, ajout au panier avec déclinaison, calcul des frais de port pour trois zones, paiement, email de confirmation, état de commande côté marchand, facture. Puis le SEO : redirections en place, URL inchangées, sitemap régénéré.
Le retour arrière, qu'on prépare avant d'en avoir besoin
Une sauvegarde qu'on n'a jamais rejouée n'est pas une sauvegarde. Avant la bascule, la restauration doit avoir été testée au moins une fois, chronomètre en main : savoir qu'on peut revenir en vingt minutes change complètement la façon dont on aborde la journée. C'est aussi ce qui permet de basculer un mardi matin plutôt qu'un vendredi soir.
Ce qu'on gagne réellement
Il faut être honnête sur le bénéfice : une migration ne rend pas une boutique rapide, et ne corrige pas un catalogue mal structuré. Ce qu'elle apporte, c'est de revenir dans une version qui reçoit des correctifs de sécurité, de retrouver des modules maintenus, et de pouvoir enfin faire les chantiers qu'on repoussait faute de compatibilité. C'est beaucoup, mais ce n'est pas un gain de chiffre d'affaires immédiat — et un prestataire qui vous le promet vous vend autre chose que ce qu'il livrera.
Commentaires
Aucun commentaire pour l’instant. Le vôtre sera le premier.