Migrer une boutique PrestaShop 1.6 vers 8
Il n’existe pas de saut direct entre PrestaShop 1.6 et 8 avec l’outil officiel : il faut passer par la 1.7, au moins transitoirement, ou repartir d’une installation neuve et migrer les données. Voici les deux méthodes, ce qui casse en chemin, et comment je choisis.
Pourquoi il n’y a pas de raccourci vers PrestaShop 8
Le module officiel autoupgrade (anciennement 1-Click Upgrade) sauvegarde fichiers et base, puis exécute les scripts de mise à jour de schéma nécessaires pour passer d’une version majeure à la suivante. Aucune version de cet outil ne saute directement de la 1.6 à la 8 : la structure de la base change à chaque version majeure, avec de nouvelles tables et des colonnes renommées, et les scripts officiels sont écrits pour une étape à la fois.
Deux méthodes restent possibles. Enchaîner les migrations, 1.6 vers 1.7 puis 1.7 vers 8, avec sauvegarde complète et reconstruction de thème à chaque étape. Ou repartir d’une installation neuve de PrestaShop 8 et migrer uniquement les données (catalogue, clients, commandes) plutôt que le site : souvent plus rapide quand thème et modules 1.6 sont de toute façon à refaire.
Côté PHP, PrestaShop 8 demande au minimum 7.2.5, avec PHP 8.0 et 8.1, puis 8.2 depuis septembre 2024. La 1.6 fonctionne au mieux jusqu’à PHP 7.1 : le saut de version PHP fait partie intégrante de la migration, pas une option séparée.
Ce qui casse typiquement dans une migration 1.6 vers 8
- Un module de paiement utilisant encore displayPayment (1.6) n’apparaît plus au tunnel de commande en 8, où seul paymentOptions est appelé.
- Les modules utilisant l’ancienne syntaxe entre accolades (par exemple $array{0}) provoquent des erreurs fatales, supprimée depuis PHP 8.
- Le thème 1.6, sur Default et Smarty seul, n’a pas d’équivalent direct dans l’architecture hybride Symfony/Twig de la 8 : reconstruction nécessaire, pas simple copie.
- Un module ne déclarant compatibilité que jusqu’à la 1.7.8 (config.xml, $ps_versions_compliancy) est bloqué à l’installation sur PrestaShop 8.
Comment je choisis et je conduis la migration
-
Audit de l’écosystème actuel
Je liste les modules, leurs versions, et leur compatibilité déclarée avec la 8, et j’évalue l’état du thème.
-
Choix de la méthode
Chaîne 1.6 → 1.7 → 8 si thème et modules ont une bonne chance de passer, ou installation neuve en 8 si la reconstruction est de toute façon inévitable.
-
Sauvegarde complète avant chaque étape
Fichiers, base complète, configuration des modules critiques, sauvegardés hors du dossier d’autoupgrade avant tout lancement.
-
Migration ou import de données sur un environnement de test
Jamais en production. Je valide chaque étape avant de passer à la suivante.
-
Reconstruction du thème et remplacement des modules incompatibles
Thème reconstruit sur Classic ; je cherche un équivalent fonctionnel pour chaque module qui ne migre pas, ou je le réécris.
-
Vérification puis bascule en production
Bascule programmée à faible trafic, une fois la boutique de test validée.
Ce que je sauvegarde et comment je vérifie qu’il ne manque rien
Avant la première étape, je sauvegarde l’intégralité des fichiers, un dump complet de la base, la liste précise des modules avec leurs versions, et la configuration des modules de paiement et transport. Cette sauvegarde initiale est conservée à part, indépendamment de celles que génère autoupgrade à chaque étape intermédiaire, car celles-ci peuvent être écrasées.
Après la bascule finale, je vérifie que le nombre de commandes, clients et produits correspond exactement à l’avant-migration, que les URLs principales répondent toujours avec le bon code, que les redirections fonctionnent, et je passe une commande de test complète pour confirmer que le tunnel de paiement fonctionne avec paymentOptions.
<compatibility>
<min>1.7</min>
<max>8.99.99</max>
</compatibility>
Pour préparer ou compléter cette migration
-
Passer à PHP 8
Ce qui change quand PHP saute au cours de la même migration.
-
Modules incompatibles
Comment je repère les modules à remplacer et par quoi.
-
Checklist avant migration
Ce que je vérifie avant toute migration PrestaShop.
-
Migrer sans interruption de vente
Basculer en production sans bloquer les commandes en cours.
- PHP 5.2 à 7.1 PrestaShop 1.6
- PHP 7.2.5 minimum, jusqu’à 8.2 PrestaShop 8
devdocs.prestashop-project.org
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.