{"id":912,"date":"2023-06-21T18:34:01","date_gmt":"2023-06-21T15:34:01","guid":{"rendered":"https:\/\/presta.site\/blog\/?p=912"},"modified":"2026-07-26T09:40:25","modified_gmt":"2026-07-26T06:40:25","slug":"ecran-blanc-de-la-mort-dans-prestashop-un-guide-etape-par-etape","status":"publish","type":"post","link":"https:\/\/presta.site\/blog\/fr\/ecran-blanc-de-la-mort-dans-prestashop-un-guide-etape-par-etape\/","title":{"rendered":"\u00c9cran blanc de la mort PrestaShop : guide de correction \u00e9tape par \u00e9tape"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Un <strong>\u00e9cran blanc de la mort PrestaShop<\/strong> est une page vide sans message &#8211; sur le front-office, le Back Office, ou les deux. Cela signifie g\u00e9n\u00e9ralement que PHP s&#8217;est arr\u00eat\u00e9 avant que la boutique ne puisse afficher le HTML. Ce guide montre comment activer le mode debug (m\u00eame lorsque l&#8217;administration est inaccessible), lire la v\u00e9ritable erreur et appliquer les correctifs qui r\u00e9solvent la plupart des cas d&#8217;\u00e9cran blanc.<\/p>\n\n\n<!--more-->\n\n\n<p class=\"wp-block-paragraph\">\u00c0 partir de PrestaShop 1.7 (y compris 8 et 9), les options de debug se trouvent sous <strong>Param\u00e8tres avanc\u00e9s \u2192 Performances<\/strong> lorsque le Back Office charge encore. Si l&#8217;administration est \u00e9galement blanche, il faut basculer <code class=\"codecolorer text default\"><span class=\"text\">_PS_MODE_DEV_<\/span><\/code> dans <code class=\"codecolorer text default\"><span class=\"text\">config\/defines.inc.php<\/span><\/code> via SFTP ou SSH. Les indications officielles sont disponibles dans la <a href=\"https:\/\/docs.prestashop-project.org\/v.9-documentation\/user-guide\/configuring-shop\/advanced-parameters\/performance\" target=\"_blank\" rel=\"noopener noreferrer\">documentation sur les performances de PrestaShop 9<\/a>. Il est recommand\u00e9 de cr\u00e9er une <a href=\"https:\/\/presta.site\/blog\/fr\/comment-creer-une-sauvegarde-dans-prestashop\/\">sauvegarde compl\u00e8te de PrestaShop<\/a> avant de supprimer des modules ou de restaurer des fichiers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que signifie g\u00e9n\u00e9ralement un \u00e9cran blanc de la mort PrestaShop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La page blanche est un sympt\u00f4me, pas un bug unique. Un \u00e9cran blanc de la mort PrestaShop signifie que PHP a rencontr\u00e9 une erreur fatale, a manqu\u00e9 de m\u00e9moire ou a \u00e9chou\u00e9 avant que Smarty ne puisse afficher quoi que ce soit. Le mode production masque ces d\u00e9tails volontairement &#8211; pour que les clients ne voient jamais de trace d&#8217;ex\u00e9cution. L&#8217;objectif est de rendre l&#8217;erreur visible, puis d&#8217;en corriger la cause.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Notez o\u00f9 l&#8217;erreur se produit :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Front-office uniquement &#8211; souvent une surcharge de th\u00e8me, un hook de module ou un artefact de cache sur la boutique<\/li>\n<li>Back Office uniquement &#8211; souvent un module d&#8217;administration, un onglet ou une surcharge dans <code class=\"codecolorer text default\"><span class=\"text\">override\/<\/span><\/code><\/li>\n<li>Les deux &#8211; identifiants de base de donn\u00e9es incorrects, <code class=\"codecolorer text default\"><span class=\"text\">defines.inc.php<\/span><\/code> corrompu, plantage de version PHP ou une erreur fatale qui s&#8217;ex\u00e9cute \u00e0 chaque requ\u00eate<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 1 : Activer le mode debug<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le mode debug affiche l&#8217;exception (ou pointe vers le journal) au lieu d&#8217;une page blanche. Privil\u00e9giez le Back Office quand il s&#8217;ouvre encore.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"484\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-1024x484.png\" alt=\"Page Performances de PrestaShop avec le Mode debug activ\u00e9 pour le d\u00e9pannage d'un \u00e9cran blanc de la mort\" class=\"wp-image-630\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-1024x484.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-300x142.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-768x363.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1-1536x726.png 1536w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_1.png 1611w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Connectez-vous au Back Office.<\/li>\n<li>Allez dans <strong>Param\u00e8tres avanc\u00e9s \u2192 Performances<\/strong>.<\/li>\n<li>Dans le bloc <strong>Mode debug<\/strong>, r\u00e9glez <strong>Mode debug<\/strong> sur <strong>Oui<\/strong>.<\/li>\n<li>Cliquez sur <strong>Enregistrer<\/strong>.<\/li>\n<li>Rechargez l&#8217;URL blanche dans une fen\u00eatre de navigation priv\u00e9e.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si le Back Office affiche \u00e9galement un \u00e9cran blanc de la mort PrestaShop, modifiez le fichier sur le disque. T\u00e9l\u00e9chargez d&#8217;abord une copie de <code class=\"codecolorer text default\"><span class=\"text\">config\/defines.inc.php<\/span><\/code> (m\u00eame si une sauvegarde compl\u00e8te de la boutique a d\u00e9j\u00e0 \u00e9t\u00e9 effectu\u00e9e) pour pouvoir remettre l&#8217;original en un clic si la modification pose probl\u00e8me :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ouvrez <code class=\"codecolorer text default\"><span class=\"text\">config\/defines.inc.php<\/span><\/code> via SFTP, SSH ou le gestionnaire de fichiers de l&#8217;h\u00e9bergeur et enregistrez une copie locale.<\/li>\n<li>Trouvez <code class=\"codecolorer text default\"><span class=\"text\">define('_PS_MODE_DEV_', false);<\/span><\/code> (la formulation peut varier l\u00e9g\u00e8rement selon la version).<\/li>\n<li>Changez-le en <code class=\"codecolorer text default\"><span class=\"text\">define('_PS_MODE_DEV_', true);<\/span><\/code> et enregistrez.<\/li>\n<li>Rechargez la page d\u00e9fectueuse.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9sactivez de nouveau le debug une fois termin\u00e9. Le laisser activ\u00e9 en production expose les chemins et les traces d&#8217;ex\u00e9cution \u00e0 quiconque rencontre une erreur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 2 : Identifier l&#8217;erreur<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avec le debug activ\u00e9, l&#8217;\u00e9cran blanc de la mort PrestaShop devient g\u00e9n\u00e9ralement une exception lisible. Notez le nom de la classe, le nom du module, le chemin du fichier sous <code class=\"codecolorer text default\"><span class=\"text\">modules\/<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">themes\/<\/span><\/code>, ou <code class=\"codecolorer text default\"><span class=\"text\">override\/<\/span><\/code>, et le num\u00e9ro de ligne. Cette cha\u00eene est souvent suffisante pour choisir le bon correctif ci-dessous.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"469\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1024x469.png\" alt=\"Exemple d'erreur PHP affich\u00e9e apr\u00e8s l'activation du mode debug de PrestaShop sur un \u00e9cran blanc\" class=\"wp-image-633\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-1024x469.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-300x137.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2-768x352.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_2.png 1264w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si la page reste blanche m\u00eame avec <code class=\"codecolorer text default\"><span class=\"text\">_PS_MODE_DEV_<\/span><\/code> \u00e0 true, v\u00e9rifiez le journal des erreurs PHP de l&#8217;h\u00e9bergeur (cPanel, Plesk, ou <code class=\"codecolorer text default\"><span class=\"text\">var\/logs\/<\/span><\/code> sur certaines configurations). Une erreur de syntaxe dans un fichier de configuration peut bloquer l&#8217;ex\u00e9cution avant que la couche de debug de PrestaShop ne se lance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sources courantes :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Personnalisations r\u00e9centes<\/strong> &#8211; modifications de th\u00e8me, surcharges ou extraits de code copi\u00e9s<\/li>\n<li><strong>Modules<\/strong> &#8211; en particulier un module install\u00e9 ou mis \u00e0 jour juste avant le plantage<\/li>\n<li><strong>Changements d&#8217;h\u00e9bergement<\/strong> &#8211; mont\u00e9e de version PHP, extension manquante, limite de m\u00e9moire plus basse<\/li>\n<li><strong>Identifiants de base de donn\u00e9es<\/strong> &#8211; valeurs incorrectes dans <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code> apr\u00e8s une migration<\/li>\n<li><strong>Permissions de fichiers<\/strong> &#8211; PHP ne peut pas lire un fichier requis ou \u00e9crire dans le cache<\/li>\n<li><strong>Limite de m\u00e9moire<\/strong> &#8211; erreurs fatales mentionnant que la m\u00e9moire est \u00e9puis\u00e9e<\/li>\n<li><strong>Cache obsol\u00e8te<\/strong> &#8211; templates compil\u00e9s corrompus apr\u00e8s une mise \u00e0 jour<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 3 : Corriger l&#8217;erreur<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"450\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-1024x450.png\" alt=\"Options de performances PrestaShop utilis\u00e9es pour isoler les modules et les surcharges apr\u00e8s un \u00e9cran blanc de la mort\" class=\"wp-image-636\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-1024x450.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-300x132.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3-768x338.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2023\/05\/Screenshot_3.png 1155w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Faites correspondre la sortie de debug \u00e0 un chemin. Modifiez une seule chose \u00e0 la fois, puis rechargez.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Personnalisations et surcharges<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Annulez la derni\u00e8re modification de th\u00e8me ou de surcharge si elle est connue. Dans Performances, essayez <strong>D\u00e9sactiver toutes les surcharges<\/strong> \u2192 <strong>Oui<\/strong>, enregistrez, et testez \u00e0 nouveau. Si la boutique s&#8217;affiche, le bug se trouve dans <code class=\"codecolorer text default\"><span class=\"text\">override\/<\/span><\/code> ou dans la surcharge d&#8217;un module &#8211; corrigez ou supprimez ce fichier plut\u00f4t que de laisser les surcharges d\u00e9sactiv\u00e9es ind\u00e9finiment.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bugs de modules<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dans Performances, r\u00e9glez <strong>D\u00e9sactiver les modules non d\u00e9velopp\u00e9s par PrestaShop<\/strong> \u2192 <strong>Oui<\/strong> et testez \u00e0 nouveau. Si cela fait dispara\u00eetre l&#8217;\u00e9cran blanc de la mort PrestaShop, renommez le dossier du module suspect sous <code class=\"codecolorer text default\"><span class=\"text\">modules\/<\/span><\/code> (ou d\u00e9sinstallez-le depuis le BO une fois l&#8217;administration fonctionnelle) un par un jusqu&#8217;\u00e0 trouver le coupable. Il est pr\u00e9f\u00e9rable de renommer plut\u00f4t que de supprimer pour pouvoir restaurer les fichiers apr\u00e8s l&#8217;avoir identifi\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">H\u00e9bergement et PHP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Comparez <strong>Param\u00e8tres avanc\u00e9s \u2192 Informations<\/strong> avec ce que l&#8217;h\u00e9bergeur indique ex\u00e9cuter. Apr\u00e8s une mise \u00e0 jour PHP, des extensions manquantes ou une gestion des erreurs plus stricte se manifestent souvent par une page blanche. Demandez \u00e0 l&#8217;h\u00e9bergeur quelle version de PHP et quelle <code class=\"codecolorer text default\"><span class=\"text\">memory_limit<\/span><\/code> le vhost utilise r\u00e9ellement.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Connexion \u00e0 la base de donn\u00e9es<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si le debug mentionne l&#8217;acc\u00e8s \u00e0 la base de donn\u00e9es ou si la boutique est tomb\u00e9e en panne juste apr\u00e8s un d\u00e9placement de serveur, v\u00e9rifiez l&#8217;h\u00f4te, le nom, l&#8217;utilisateur et le mot de passe dans <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code>. Les \u00e9tapes compl\u00e8tes se trouvent dans le guide sur la <a href=\"https:\/\/presta.site\/blog\/fr\/comment-modifier-les-parametres-de-connexion-a-la-base-de-donnees-dans-prestashop\/\">modification des param\u00e8tres de connexion \u00e0 la base de donn\u00e9es dans PrestaShop<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Permissions et m\u00e9moire<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque l&#8217;erreur indique un fichier que PHP ne peut pas ouvrir, corrigez le propri\u00e9taire\/les permissions pour ce chemin (propri\u00e9t\u00e9 typique de l&#8217;utilisateur web ; \u00e9vitez <code class=\"codecolorer text default\"><span class=\"text\">777<\/span><\/code> comme correctif permanent). Pour les erreurs de m\u00e9moire \u00e9puis\u00e9e, augmentez la <code class=\"codecolorer text default\"><span class=\"text\">memory_limit<\/span><\/code> dans le <code class=\"codecolorer text default\"><span class=\"text\">php.ini<\/span><\/code> du vhost ou demandez \u00e0 l&#8217;h\u00e9bergeur &#8211; puis videz le cache et testez \u00e0 nouveau.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cache<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Depuis Performances, cliquez sur <strong>Vider le cache<\/strong>. Si le BO est inaccessible, supprimez le contenu de <code class=\"codecolorer text default\"><span class=\"text\">var\/cache\/prod\/<\/span><\/code> (et <code class=\"codecolorer text default\"><span class=\"text\">var\/cache\/dev\/<\/span><\/code> si pr\u00e9sent) via le gestionnaire de fichiers ou SSH, en conservant les dossiers eux-m\u00eames. Les grandes arborescences de cache sont souvent plus faciles \u00e0 vider depuis SSH que depuis FTP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 4 : Quand une aide suppl\u00e9mentaire est n\u00e9cessaire<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si le debug est activ\u00e9, les modules\/surcharges sont isol\u00e9s, les identifiants correspondent, et qu&#8217;il y a toujours un \u00e9cran blanc de la mort PrestaShop, rassemblez : le texte exact de l&#8217;erreur, la version de PrestaShop, la version de PHP, et la derni\u00e8re modification (module, d\u00e9ploiement, mise \u00e0 jour de l&#8217;h\u00f4te). Publiez cela sur les forums PrestaShop, ou envoyez-le \u00e0 l&#8217;h\u00e9bergeur ou \u00e0 un d\u00e9veloppeur capable de lire les journaux du serveur qui ne sont pas visibles depuis la boutique seule.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c9tape 5 : Restaurer \u00e0 partir d&#8217;une sauvegarde<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La restauration de fichiers ou d&#8217;un export de base de donn\u00e9es est un dernier recours &#8211; les modifications apport\u00e9es apr\u00e8s cette sauvegarde sont perdues. Utilisez cette m\u00e9thode lorsqu&#8217;un mauvais d\u00e9ploiement ne peut pas \u00eatre annul\u00e9 rapidement et qu&#8217;une copie r\u00e9cente est disponible. La fa\u00e7on de cr\u00e9er et de conserver ces copies est couverte dans le <a href=\"https:\/\/presta.site\/blog\/fr\/comment-creer-une-sauvegarde-dans-prestashop\/\">guide de sauvegarde PrestaShop<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Liste de contr\u00f4le rapide<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Activez le debug (BO Performances, ou <code class=\"codecolorer text default\"><span class=\"text\">_PS_MODE_DEV_<\/span><\/code> dans <code class=\"codecolorer text default\"><span class=\"text\">defines.inc.php<\/span><\/code>).<\/li>\n<li>Lisez l&#8217;erreur \u00e0 l&#8217;\u00e9cran ou le journal PHP.<\/li>\n<li>Isolez les surcharges et les modules non natifs depuis Performances.<\/li>\n<li>Corrigez les identifiants de base de donn\u00e9es, les permissions, la m\u00e9moire ou le cache comme l&#8217;indique le message.<\/li>\n<li>D\u00e9sactivez le debug ; ne restaurez \u00e0 partir d&#8217;une sauvegarde que si rien d&#8217;autre ne r\u00e9cup\u00e8re la boutique.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">La plupart des cas d&#8217;\u00e9cran blanc de la mort PrestaShop se r\u00e9solvent une fois que le v\u00e9ritable message PHP est visible. Commencez par le mode debug, modifiez une variable \u00e0 la fois, et gardez une option de sauvegarde pr\u00eate avant de supprimer quoi que ce soit qui ne puisse pas \u00eatre remis en place.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Corrigez un \u00e9cran blanc de la mort PrestaShop \u00e9tape par \u00e9tape : activez le mode debug, analysez l&#8217;erreur PHP, isolez les modules et r\u00e9cup\u00e9rez la boutique.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[87],"tags":[],"class_list":["post-912","post","type-post","status-publish","format-standard","hentry","category-developpement"],"_links":{"self":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/comments?post=912"}],"version-history":[{"count":2,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/912\/revisions"}],"predecessor-version":[{"id":2023,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/912\/revisions\/2023"}],"wp:attachment":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media?parent=912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/categories?post=912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/tags?post=912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}