Migration PrestaShop 8.2.x vers 9.x : guide technique complet

1. Préparation : environnement, exigences et sauvegardes
Exigences techniques :
- PHP ≥ 8.2 (recommandé : 8.4)
- MySQL ≥ 8.0 ou MariaDB ≥ 10.5
- Symfony 6.4
- Extensions PHP : intl, mbstring, zip, curl, gd, DOM, PDO
Sauvegardes à effectuer :
- Dossier /modules/, /themes/, /img/, /upload/, /override/
- Base de données via
mysqldump
Environnement de staging : toujours migrer sur une copie isolée avant la production.
2. Compatibilité des modules et thèmes
Modules : vérifier la compatibilité via Addons Marketplace ou documentation officielle.
Thèmes : refonte possible si basés sur Bootstrap 4. Utiliser Colibri ou créer un thème enfant compatible Twig/Webpack Encore.
3. Migration technique : fichiers et base
Remplacement du core :
- Supprimer les fichiers du core sauf modules, img, themes, upload.
- Télécharger la version 9.x depuis prestashop.com ou GitHub.
- Copier les nouveaux fichiers dans le dossier du site.
Mise à jour de la base :
/install/upgrade/upgrade.php
Vérifier ensuite dans la BDD :
SELECT version FROM ps_configuration WHERE name = 'PS_VERSION_DB';
4. Ajustements post-migration
- Vider le cache :
rm -rf var/cache/*
- Rafraîchir les modules :
php bin/console prestashop:modules:refresh
- Permissions :
chown -R www-data:www-data .
etchmod -R 755 .
5. Recette technique et fonctionnelle
- Tester le tunnel de commande complet
- Vérifier le fonctionnement des modules de paiement et de livraison
- Valider la génération de PDF (factures)
- Tester la langue, devises, emails SMTP
6. Mise en production
- Reproduire la migration en production
- Activer le mode maintenance ou rediriger en 503
- Appliquer les changements, vider le cache, réactiver les modules
Bonnes pratiques
- Pas de migration directe sur le site en ligne
- Documenter tous les modules personnalisés modifiés
- Utiliser Git pour tracer les modifications
- Superviser la boutique avec WAF ou agent HIDS comme Wazuh
Conclusion : la migration vers PrestaShop 9.x est une opération méthodique. Elle offre des gains de performance et de sécurité importants, mais doit être testée de manière rigoureuse avant d’être mise en production.