Comment rétrograder un module PrestaShop après une mauvaise mise à jour
Quand les mises à jour de modules tournent mal
Vous avez mis à jour un module PrestaShop et maintenant quelque chose ne fonctionne plus. Peut-être que le checkout a cessé de fonctionner, la page d'accueil affiche des erreurs, ou le panneau d'administration ne répond plus. Les mises à jour de modules peuvent échouer pour de nombreuses raisons - versions PHP incompatibles, conflits avec d'autres modules, erreurs de migration de base de données, ou simplement des bugs dans la nouvelle version. Quelle que soit la cause, vous devez revenir en arrière rapidement pour restaurer la fonctionnalité de votre boutique.
Malheureusement, PrestaShop n'inclut pas de bouton "annuler" intégré pour les mises à jour de modules. Il n'existe pas d'historique de versions natif ni de mécanisme de rollback automatique pour les modules individuels. Cela signifie que vous devez gérer la rétrogradation manuellement.
Avant de commencer - Sécurité d'abord
- Mettez votre boutique en mode maintenance
- Créez une sauvegarde de la base de données
- Documentez l'erreur actuelle
Méthode 1 - Réinstaller la version précédente via le Back Office
- Naviguez vers Modules > Gestionnaire de modules
- Trouvez le module problématique et cliquez sur Désinstaller (PAS "Supprimer")
- Cliquez sur Téléverser un module
- Téléversez le ZIP de la version précédente fonctionnelle
- Installez et configurez le module
Où obtenir la version précédente
- Votre email - La plupart des vendeurs envoient des liens de téléchargement avec chaque achat
- Compte marketplace - Sur PrestaShop Addons et les marketplaces tiers comme mypresta.rocks, vous pouvez télécharger les versions précédentes
- Vos sauvegardes - Extrayez le dossier du module d'une archive de sauvegarde
- Contacter le développeur - Les développeurs peuvent généralement fournir les anciennes versions
Méthode 2 - Remplacement de fichiers FTP/SFTP
- Connectez-vous à votre serveur via FTP/SFTP
- Naviguez vers
/modules/ - Trouvez le dossier du module
- Renommez le dossier actuel - ex:
mymoduleenmymodule_cassé - Téléversez les fichiers de la version précédente
- Réglez les permissions - répertoires à 755, fichiers à 644
- Videz le cache PrestaShop
Méthode 3 - En ligne de commande
# Se connecter en SSH
ssh user@votreserveur.com
# Naviguer vers la racine PrestaShop
cd /var/www/html/prestashop
# Sauvegarder le module cassé
mv modules/mymodule modules/mymodule_cassé_$(date +%Y%m%d)
# Extraire la version précédente
unzip /chemin/vers/mymodule_v1.2.3.zip -d modules/
# Régler les permissions
find modules/mymodule -type d -exec chmod 755 {} \;
find modules/mymodule -type f -exec chmod 644 {} \;
chown -R www-data:www-data modules/mymodule
# Vider le cache
rm -rf var/cache/prod/* var/cache/dev/*Méthode 4 - Rollback complet de la base de données
Si la mise à jour du module incluait des migrations de base de données, vous devrez restaurer une sauvegarde.
Quand vous avez besoin d'un rollback de base de données
- Le module a créé de nouvelles tables
- Le module a modifié des structures de tables existantes
- Le module a inséré ou modifié des valeurs de configuration
Attention - Une restauration complète de la base de données annule TOUTES les modifications depuis la sauvegarde, y compris les nouvelles commandes et inscriptions clients.
Méthode 5 - Nettoyage manuel de la base de données
Examinez les méthodes d'upgrade du module pour comprendre les changements -
// Cherchez des fichiers comme:
// modules/mymodule/upgrade/upgrade-2.0.0.php
public function upgrade($version)
{
if (version_compare($version, '2.0.0', '<')) {
Db::getInstance()->execute('ALTER TABLE `' . _DB_PREFIX_ . 'mymodule`
ADD COLUMN `new_field` VARCHAR(255)');
}
}Après la rétrogradation - Nettoyage essentiel
Vider tous les caches
- Cache Smarty
- OPcache - Redémarrer PHP-FPM ou Apache
- Cache CDN
- Cache navigateur - Tester en navigation privée
Vérifier la version du module
Après la rétrogradation, vérifiez que PrestaShop reconnaît la bonne version.
Tester minutieusement
- La fonctionnalité spécifique du module
- Le processus de checkout
- Les pages admin
- Vues mobile et desktop
- Performance
Prévenir les futurs problèmes de mise à jour
- Toujours sauvegarder avant de mettre à jour
- Tester les mises à jour sur un environnement de staging
- Lire le changelog
- Conserver les versions précédentes
- Vérifier la compatibilité
Quand contacter le développeur du module
Si aucune des méthodes ci-dessus ne résout le problème, contactez le développeur avec votre version PrestaShop, version PHP, les versions du module concernées et les messages d'erreur exacts.
Cette réponse vous a-t-elle été utile ?
Vous avez encore des questions ?
Can't find what you're looking for? Send us your question and we'll get back to you quickly.