D’abord : quelle version de PrestaShop ?
Chaque version de PrestaShop accepte une plage précise de versions de PHP, indiquée dans la documentation officielle de compatibilité. C’est la première chose à regarder, avant même de parler de PHP 8.5.
Une boutique très ancienne ne peut parfois pas monter directement : il faut d’abord migrer PrestaShop lui-même, puis PHP. Les deux chantiers se préparent ensemble, sinon vous payez deux migrations au lieu d’une.
L’audit répond à cette question en premier : version actuelle, version cible possible, et chemin pour y arriver, avec un chiffrage pour chaque étape.
Les modules, premier point de blocage
Un module écrit pour une vieille version de PHP peut s’arrêter net sur la nouvelle. Les plus sensibles :
- Les modules de paiement : le plus critique, il se teste en priorité avec la passerelle en mode test.
- Les transporteurs et points relais : calcul des frais et génération des étiquettes.
- Les flux et comparateurs de prix, les connecteurs de gestion de stock ou de comptabilité.
- Les modules dont l’éditeur a disparu : plus aucune mise à jour possible.
Pour chacun, trois options : mise à jour chez l’éditeur, remplacement par un équivalent suivi, ou correction directe du code.
Overrides et thème personnalisé
Le dossier override/ copie du code du cœur de PrestaShop. Quand le cœur évolue, ces copies peuvent ne plus correspondre et provoquer des erreurs. Idem pour un thème enfant avec des classes ou des templates sur mesure.
Je liste chaque override, je regarde s’il est encore nécessaire, et je le mets à jour ou je le retire. Moins il y en a, plus la boutique est facile à maintenir ensuite.
La méthode, étape par étape
- Sauvegarde complète : fichiers (dont le dossier
img/, souvent volumineux) et base de données. - Copie sur un sous-domaine privé, protégé par mot de passe et en
noindex, pour que ni Google ni vos clients n’y accèdent. - Passer la copie en PHP 8.5 avec le mode développement activé, et vider le cache.
- Parcourir la boutique : catégories, fiche produit, panier, tunnel de commande, compte client, back-office, e-mails.
- Test de paiement avec la passerelle en mode test, de la commande jusqu’à l’e-mail de confirmation.
- Corriger ce que les journaux signalent jusqu’à ce qu’ils restent vides.
- Bascule hors des heures de pointe, boutique en mode maintenance si nécessaire.
Pour voir les erreurs sur la copie de test, uniquement là :
// config/defines.inc.php — sur la COPIE de test seulement
define('_PS_MODE_DEV_', true);Bascule et retour arrière
Juste avant la bascule, une dernière sauvegarde complète est faite. Si quelque chose cloche après le changement de version, le retour à l’état précédent prend quelques minutes, parce qu’il a été préparé et testé à l’avance.
Ensuite, je surveille pendant 7 jours : journaux d’erreurs, e-mails de commande, retours des passerelles de paiement. Une boutique qui encaisse reste sous observation, même quand « tout a l’air bon ».
Questions fréquentes
Ma boutique est en 1.7 : puis-je passer en PHP 8.5 ?
Ça dépend de la version exacte de PrestaShop et de vos modules. L’audit répond précisément à cette question avant tout engagement sur la migration.
Est-ce que je risque de perdre du référencement ou des ventes ?
Un changement de version de PHP ne modifie ni les adresses des pages ni les contenus : le référencement n’est pas touché. Le seul risque est une panne, et c’est justement ce que la copie de test et le retour arrière préparé servent à éviter.
Combien de temps la boutique est-elle indisponible ?
La bascule se fait en quelques minutes, à une heure creuse, avec la boutique en mode maintenance si besoin. Tout le travail lourd se fait avant, sur la copie.