<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Creebs</title>
    <description>The latest articles on DEV Community by Creebs (@creebs).</description>
    <link>https://dev.to/creebs</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4195586%2F50151531-f9ea-478b-bcea-55674bc5fe79.png</url>
      <title>DEV Community: Creebs</title>
      <link>https://dev.to/creebs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/creebs"/>
    <language>en</language>
    <item>
      <title>Page blanche ou erreur critique : ce ne sont pas les mêmes pannes</title>
      <dc:creator>Creebs</dc:creator>
      <pubDate>Thu, 22 Oct 2026 08:00:02 +0000</pubDate>
      <link>https://dev.to/creebs/page-blanche-ou-erreur-critique-ce-ne-sont-pas-les-memes-pannes-1mem</link>
      <guid>https://dev.to/creebs/page-blanche-ou-erreur-critique-ce-ne-sont-pas-les-memes-pannes-1mem</guid>
      <description>&lt;p&gt;Tout le monde appelle ça « la page blanche ». Le terme est resté des années 2010, quand un plugin cassé laissait effectivement un écran vide. Aujourd'hui, dans l'immense majorité des cas, votre écran n'est pas blanc : il porte une phrase. Et cette différence décide de l'endroit où chercher.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que vous voyez presque toujours
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F60hxja40l8n0177jlvxl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F60hxja40l8n0177jlvxl.png" alt="Il y a eu une erreur critique sur ce site" width="800" height="201"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;WordPress 6.7 après une erreur fatale dans une extension. Capture réelle, provoquée en conteneur.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Depuis WordPress 5.2, le cœur installe un &lt;strong&gt;gestionnaire d'erreur fatale&lt;/strong&gt;. Quand une extension ou un thème plante, il intercepte le crash et affiche ce message au lieu de laisser une page vide.&lt;/p&gt;

&lt;p&gt;C'est une bonne nouvelle : cela signifie que WordPress a démarré, qu'il a lu &lt;code&gt;wp-config.php&lt;/code&gt;, qu'il s'est connecté à la base, et qu'il est allé assez loin pour installer ses propres protections. Le problème est donc &lt;strong&gt;dans une extension ou dans le thème&lt;/strong&gt;, et il est localisable.&lt;/p&gt;
&lt;h3&gt;
  
  
  Où est écrite la réponse
&lt;/h3&gt;

&lt;p&gt;Dans &lt;code&gt;wp-content/debug.log&lt;/code&gt;, à condition de l'avoir activé. Voici ce que le laboratoire a relevé sur la panne ci-dessus :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[22-Aug-2026 07:19 UTC] PHP Fatal error:  Uncaught Error:
Call to undefined function creebs_lab_fonction_supprimee_par_une_maj()
in /var/www/html/wp-content/mu-plugins/lab-fatal.php:3
Stack trace:
#0 /var/www/html/wp-settings.php(451): include_once()
#1 /var/www/html/wp-config.php(139): require_once('/var/www/html/w...')
#2 /var/www/html/wp-load.php(50): require_once('/var/www/html/w...')
#3 /var/www/html/wp-blog-header.php(13): require_once('/var/www/html/w...')
#4 /var/www/html/index.php(17): require('/var/www/html/w...')
  thrown in /var/www/html/wp-content/mu-plugins/lab-fatal.php on line 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La première ligne suffit : le fichier fautif et le numéro de ligne. Vous n'avez pas à désactiver vos extensions une par une, le journal vous donne le coupable directement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce que vous voyez rarement, et qui veut dire autre chose
&lt;/h2&gt;

&lt;p&gt;Une page &lt;strong&gt;réellement&lt;/strong&gt; blanche, sans une lettre, existe encore. Elle a une signification précise : l'erreur est survenue &lt;strong&gt;avant&lt;/strong&gt; que WordPress ait pu installer son gestionnaire. Autrement dit, avant même que WordPress existe.&lt;/p&gt;

&lt;p&gt;Trois cas produisent cela :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;une erreur de syntaxe dans &lt;code&gt;wp-config.php&lt;/code&gt;, ou dans un fichier chargé avant lui ;&lt;/li&gt;
&lt;li&gt;la constante &lt;code&gt;WP_DISABLE_FATAL_ERROR_HANDLER&lt;/code&gt; positionnée à &lt;code&gt;true&lt;/code&gt; ;&lt;/li&gt;
&lt;li&gt;une mémoire PHP épuisée au point que le gestionnaire lui-même ne peut plus s'exécuter.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le premier cas est de loin le plus fréquent, et il suit presque toujours une modification manuelle : ajout d'une constante de cache, saisie d'identifiants SMTP, ou copier-coller d'un extrait trouvé sur un forum.&lt;/p&gt;

&lt;h3&gt;
  
  
  Le piège du diagnostic
&lt;/h3&gt;

&lt;p&gt;Sur une vraie page blanche, &lt;strong&gt;inutile de chercher dans &lt;code&gt;wp-content&lt;/code&gt;&lt;/strong&gt;. Aucun &lt;code&gt;debug.log&lt;/code&gt; ne sera écrit, pour une raison simple : WordPress n'a jamais démarré, donc il n'a jamais pu configurer où écrire.&lt;/p&gt;

&lt;p&gt;La réponse est dans le journal d'erreurs PHP de l'hébergeur. Voici ce que le laboratoire a relevé sur une page rigoureusement vide :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Sat Aug 22 07:19:53 2026] [php:error] [pid 20] PHP Parse error:
syntax error, unexpected token ";" in /var/www/html/wp-config.php on line 143
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Côté visiteur : rien, pas un pixel. Côté serveur : le fichier et la ligne exacts. C'est tout le paradoxe de cette panne, elle paraît opaque et elle est en réalité la mieux documentée des trois.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le tableau qui résume
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ce que vous voyez&lt;/th&gt;
&lt;th&gt;Ce que ça veut dire&lt;/th&gt;
&lt;th&gt;Où chercher&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;« Il y a eu une erreur critique sur ce site »&lt;/td&gt;
&lt;td&gt;WordPress a démarré, une extension ou le thème plante&lt;/td&gt;
&lt;td&gt;&lt;code&gt;wp-content/debug.log&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Page entièrement vide&lt;/td&gt;
&lt;td&gt;L'erreur précède le démarrage de WordPress&lt;/td&gt;
&lt;td&gt;Journal PHP de l'hébergeur&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;« Erreur lors de la connexion à la base de données »&lt;/td&gt;
&lt;td&gt;WordPress tourne, la base ne répond pas&lt;/td&gt;
&lt;td&gt;Identifiants dans &lt;code&gt;wp-config.php&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal Server Error&lt;/td&gt;
&lt;td&gt;Apache refuse avant même de passer la main à PHP&lt;/td&gt;
&lt;td&gt;Journal d'erreurs du serveur, souvent &lt;code&gt;.htaccess&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Ce qu'il faut retenir
&lt;/h2&gt;

&lt;p&gt;La couleur de l'écran n'est pas un détail cosmétique, c'est un élément de diagnostic. Un message affiché veut dire que WordPress vit encore et sait vous parler. Un écran vide veut dire qu'il n'a jamais eu la parole, et qu'il faut monter d'un cran, vers PHP et le serveur.&lt;/p&gt;

&lt;p&gt;Si votre journal est introuvable ou si l'erreur qu'il affiche ne vous dit rien, décrivez-moi ce que vous voyez : le diagnostic est gratuit.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Article publié à l'origine sur &lt;a href="https://creebs.fr/blog/page-blanche-ou-erreur-critique" rel="noopener noreferrer"&gt;creebs.fr&lt;/a&gt;. Creebs dépanne les sites WordPress et PrestaShop en panne, chaque solution testée en labo avant d'être écrite.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>hosting</category>
      <category>devops</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Site bloqué sur « Bientôt de retour » : le fichier que WordPress a oublié d'effacer</title>
      <dc:creator>Creebs</dc:creator>
      <pubDate>Tue, 20 Oct 2026 07:39:48 +0000</pubDate>
      <link>https://dev.to/creebs/site-bloque-sur-bientot-de-retour-le-fichier-que-wordpress-a-oublie-deffacer-538h</link>
      <guid>https://dev.to/creebs/site-bloque-sur-bientot-de-retour-le-fichier-que-wordpress-a-oublie-deffacer-538h</guid>
      <description>&lt;p&gt;Votre site affiche en boucle « Briefly unavailable for scheduled maintenance. Check back in a minute. » La minute dure depuis ce matin. Bonne nouvelle : la réparation prend quelques secondes, et vous pouvez très probablement la faire vous-même.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgsdlhdmhtoj3nekvdkzk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgsdlhdmhtoj3nekvdkzk.png" alt="Écran d'un site WordPress bloqué en maintenance" width="800" height="156"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Ce que voient vos visiteurs. Capture réelle d'un WordPress 6.7 bloqué en maintenance, provoqué en conteneur pour cet article.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Ce qui s'est passé exactement
&lt;/h2&gt;

&lt;p&gt;Avant chaque mise à jour, WordPress dépose un fichier nommé &lt;code&gt;.maintenance&lt;/code&gt; à la racine du site. Tant que ce fichier existe, WordPress répond à tout le monde par ce message et un code &lt;code&gt;503&lt;/code&gt;, le temps que l'opération se termine. Puis il le supprime, et le site revient.&lt;/p&gt;

&lt;p&gt;Si la mise à jour est interrompue en cours de route, le fichier n'est jamais supprimé. Les trois causes habituelles : le temps d'exécution PHP a expiré, l'onglet du navigateur a été fermé trop tôt, ou la connexion a lâché pendant le téléchargement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Le détail qui prouve que le site n'est pas cassé
&lt;/h2&gt;

&lt;p&gt;En montant cette panne en laboratoire, j'ai relevé le journal d'erreurs du serveur pendant que le message s'affichait. Il est &lt;strong&gt;entièrement vide&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;C'est une information, pas une absence d'information. Un site réellement en panne écrit toujours quelque chose dans le journal du serveur. Ici, rien : WordPress fonctionne parfaitement, il a simplement trouvé un fichier qui lui dit de ne servir personne. Vos données sont intactes, votre base n'a rien perdu.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vérifier en trente secondes
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Connectez-vous en FTP, ou ouvrez le gestionnaire de fichiers de votre hébergeur.&lt;/li&gt;
&lt;li&gt;Placez-vous à la racine du site, là où se trouvent &lt;code&gt;wp-config.php&lt;/code&gt; et &lt;code&gt;wp-content&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Activez l'affichage des fichiers cachés.&lt;/strong&gt; C'est l'étape que tout le monde saute : un nom qui commence par un point est invisible par défaut, et beaucoup de gens concluent que le fichier n'existe pas alors qu'il est sous leurs yeux.&lt;/li&gt;
&lt;li&gt;Si &lt;code&gt;.maintenance&lt;/code&gt; est là, vous avez trouvé.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Le correctif
&lt;/h2&gt;

&lt;p&gt;Supprimez le fichier. Rechargez le site : il revient immédiatement, sans vider de cache ni redémarrer quoi que ce soit.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ne vous arrêtez pas là.&lt;/strong&gt; Le site est revenu, mais la mise à jour qui a échoué, elle, est restée à moitié faite. Une base de données partiellement migrée ne se voit pas tout de suite : elle produit des erreurs bizarres deux semaines plus tard, quand plus personne ne fait le lien. Retournez dans Tableau de bord puis Mises à jour, et relancez proprement celle qui a échoué.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Si le message revient
&lt;/h2&gt;

&lt;p&gt;Un &lt;code&gt;.maintenance&lt;/code&gt; qui réapparaît à chaque tentative de mise à jour signale autre chose : un temps d'exécution PHP trop court pour votre hébergement, des droits d'écriture incorrects sur les dossiers, ou une extension qui bloque le processus. Là, supprimer le fichier ne suffira plus, il faut traiter la cause.&lt;/p&gt;

&lt;p&gt;C'est mon quotidien. Diagnostic gratuit, et je vous dis franchement si c'est une chose que vous pouvez régler seul.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pour aller plus loin
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Si le site affiche « Il y a eu une erreur critique sur ce site » au lieu du message de maintenance, c'est une autre panne : voir &lt;a href="https://creebs.fr/page-blanche-wordpress" rel="noopener noreferrer"&gt;Page blanche WordPress&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Si vous obtenez une erreur 500 après la mise à jour : voir &lt;a href="https://creebs.fr/erreur-500-wordpress" rel="noopener noreferrer"&gt;Erreur 500 WordPress&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Article publié à l'origine sur &lt;a href="https://creebs.fr/blog/wordpress-bloque-en-maintenance" rel="noopener noreferrer"&gt;creebs.fr&lt;/a&gt;. Creebs dépanne les sites WordPress et PrestaShop en panne, chaque solution testée en labo avant d'être écrite.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>php</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
