Page blanche PrestaShop après l'installation d'un module
Vous installez un module et la boutique devient blanche, back-office compris. La cause tient en deux dossiers, la remise en ligne prend dix minutes.
Vous cliquez sur « Installer », la page tourne, et la boutique devient blanche. Le back-office aussi. Vous n'avez plus aucune interface pour revenir en arrière.
Situation angoissante, réparation courte. Tout se joue en FTP, dans deux dossiers.
Ce que voit le client, et ce que dit le serveur
En provoquant cette panne en laboratoire, la page renvoyée est rigoureusement vide : pas un pixel, pas un message. Rien à photographier, rien à montrer à qui que ce soit.
Le serveur, lui, est parfaitement clair :
PHP Fatal error: Uncaught Error: Class "ClasseDisparueAvecLeModule"
not found in /var/www/html/override/classes/Product.php
Le chemin commence par override/. En une ligne, vous savez que la cause est une surcharge et non le module lui-même, et vous savez quelle classe est touchée. C'est tout le paradoxe de cette panne : l'écran le plus vide est celui dont le diagnostic est le plus rapide, à condition de savoir où regarder.
Pourquoi le back-office tombe aussi
C'est la question que tout le monde se pose, et la réponse explique la marche à suivre.
Un module PrestaShop ne se contente pas d'ajouter des fonctions au site public. Il peut installer des surcharges, des fichiers déposés dans override/ qui remplacent le comportement de classes du cœur. Ces classes sont utilisées partout, front-office comme back-office.
Si la surcharge contient une erreur, ou si elle référence une classe absente, tout ce qui utilise cette classe s'arrête. C'est-à-dire la boutique entière.
La remise en ligne, dans l'ordre
1. Voir l'erreur. Dans config/defines.inc.php :
define('_PS_MODE_DEV_', true);
Rechargez. Le chemin du fichier fautif s'affiche, et il désigne le coupable sans ambiguïté.
2. Neutraliser le module. Dans modules/, renommez son dossier en lui ajoutant -hs. PrestaShop ne le trouve plus et l'ignore.
3. Neutraliser les surcharges. C'est l'étape oubliée, et sans elle la boutique reste blanche. Renommez override/ en override-hs/, puis créez un dossier override/ vide.
4. Vider le cache. Supprimez le contenu de var/cache/. Sans cela, l'index de classes continue de pointer vers les fichiers que vous venez de mettre de côté, et rien ne change. C'est le piège classique : les gens font correctement les étapes 2 et 3, sautent la 4, et concluent que ça n'a pas marché.
5. Recharger. La boutique revient.
Récupérer ce qui doit l'être
Ne laissez pas override/ vide indéfiniment. D'autres modules y avaient peut-être déposé des surcharges légitimes, qui portent des fonctionnalités que vous utilisez.
Ouvrez override-hs/ et comparez les dates de modification : les fichiers créés à l'instant appartiennent au module fautif, les autres étaient là avant. Remettez ces derniers en place, videz le cache, vérifiez.
Éviter la prochaine fois
Sauvegardez avant d'installer. Fichiers et base. Un module qui casse une boutique peut aussi avoir modifié la base, et le retour arrière complet demande les deux.
Vérifiez la compatibilité annoncée. Un module prévu pour 1.7 installé sur PrestaShop 8 fonctionne parfois, et casse parfois. Le tableau de compatibilité est sur la fiche du module.
Testez ailleurs qu'en production. Une copie de la boutique sur un sous-domaine coûte une heure à monter et évite exactement ce genre de soirée.
Ne désinstallez jamais un module en le supprimant en FTP. C'est ce qui laisse les surcharges orphelines dont personne ne connaît plus l'origine. Passez par le bouton Désinstaller du back-office, qui nettoie derrière lui.
Si la page reste blanche
Deux cas subsistent après les cinq étapes.
L'erreur est ailleurs, dans app/config/parameters.php ou dans une base inaccessible. Le journal du serveur le dira.
Ou le module a modifié la base de données, ajouté une colonne, changé un réglage. Là, la restauration d'une sauvegarde est plus rapide et plus sûre que le démontage manuel.
Si vous êtes bloqué sans sauvegarde, ne multipliez pas les manipulations : chaque tentative rend la remise en état plus difficile. Décrivez-moi ce que vous voyez, le diagnostic est gratuit.
Toujours bloqué ?
Décrivez-moi la panne, j'analyse et je vous dis exactement ce qui ne va pas, sans engagement.
Demander mon diagnostic gratuit →