Qu’est-ce que le débogage de WordPress et quel est son intérêt ?
Le débogage du code PHP représente une étape importante dans la plupart des projets de programmation web. En effet, WordPress n’est pas le seul CMS basé sur le langage PHP. Beaucoup de systèmes de gestion de contenus, à l’instar de Drupal et de Joomla, sont développés avec PHP. Toutefois, dans le cas de WordPress, des mécanismes spécifiques de débogage ont été intégrés. Ces mécanismes visent à simplifier la procédure de débogage de WordPress et d’harmoniser le code au niveau du noyau, des extensions ou des thèmes. Si vous rencontrez des difficultés avec votre site WordPress, l’activation du mode de débogage peut s’avérer bénéfique. Cela vous permettra d’identifier les anomalies éventuelles et mettra en lumière certains éléments tels que les :
- erreurs PHP ;
- notifications ;
- avertissements.
Le débogage de WordPress permet donc au développeur de voir des messages qui peuvent l’aider à déterminer l’origine d’un problème sur le site. Il devient alors plus facile pour lui de résoudre ce problème. Le mode débogage n’est pas utile uniquement pour le programmeur qui a développé le site. Il peut l’être aussi pour le propriétaire du site qui n’a pas nécessairement le profil d’un développeur. En effet, en fonction du message qui s’affiche et de l’erreur survenue, le détenteur du site peut informer son développeur ou celui de l’extension ou du thème qui est à la base du problème. Ces informations aideront ces derniers à corriger les erreurs afin d’optimiser le fonctionnement du site.
Journal de débogage de WordPress : qu’est-ce que c’est ?
Lorsque vous activez le mode de débogage de WordPress, différents messages peuvent s’afficher sur le site en frontend ou en backend. Ces messages vous indiquent les problèmes survenus et parfois, les lignes de code qui en sont la cause. Il convient toutefois de souligner que ces messages ne sont pas enregistrés dans un emplacement spécifique. Il est donc nécessaire d’enregistrer ces messages afin d’aider les développeurs à résoudre plus tard le problème. Pour enregistrer ces messages, WordPress a prévu l’activation du journal de débogage. Ce journal a pour objectif de stocker toutes les notifications et les erreurs dans un fichier sur le serveur du site.
Lorsque vous activez le mode de débogage de WordPress, différents messages peuvent s’afficher sur le site en frontend ou en backend. Ces messages vous indiquent les problèmes survenus et parfois, les lignes de code qui en sont la cause. Il convient toutefois de souligner que ces messages ne sont pas enregistrés dans un emplacement spécifique. Il est donc nécessaire d’enregistrer ces messages afin d’aider les développeurs à résoudre plus tard le problème. Pour enregistrer ces messages, WordPress a prévu l’activation du journal de débogage. Ce journal a pour objectif de stocker toutes les notifications et les erreurs dans un fichier sur le serveur du site.
Lorsque vous activez le mode de débogage de WordPress, différents messages peuvent s’afficher sur le site en frontend ou en backend. Ces messages vous indiquent les problèmes survenus et parfois, les lignes de code qui en sont la cause. Il convient toutefois de souligner que ces messages ne sont pas enregistrés dans un emplacement spécifique. Il est donc nécessaire d’enregistrer ces messages afin d’aider les développeurs à résoudre plus tard le problème. Pour enregistrer ces messages, WordPress a prévu l’activation du journal de débogage. Ce journal a pour objectif de stocker toutes les notifications et les erreurs dans un fichier sur le serveur du site.
Activation du mode débogage de WordPress
L’activation du mode de débogage de WordPress peut se faire de diverses manières. Dans cet article, nous examinerons principalement trois procédés d’activation.
- L’activation du mode de débogage avec un outil proposé par le fournisseur d’hébergement ;
- Activation avec une extension WordPress de débogage ;
- Activation manuelle du mode de débogage.
Première méthode : activer le débogage avec un outil proposé par le fournisseur d’hébergement
Beaucoup d’hébergeurs web aujourd’hui disposent d’un outil d’installation en un clic de WordPress. Ces fournisseurs proposent généralement un utilitaire astucieux qui permet d’activer le mode de débogage de WordPress. Avec cet utilitaire, vous n’aurez pas besoin d’effectuer des modifications directes au sein de votre fichier wp-config.php. C’est donc une fonctionnalité qui se révèle pratique pour activer directement et sans encombre le mode de débogage et diffuser des messages sur votre site. Le problème avec ce type d’utilitaire, c’est que vous ne serez pas en mesure de gérer le journal de débogage de WordPress. Vous ne pourrez pas non plus contrôler l’affichage des messages sur les pages. Alors, les messages d’erreurs peuvent s’afficher n’importe où sur les pages de votre site. L’usage du journal de débogage est pourtant important. Nous vous proposons donc d’installer une extension WordPress dédiée au mode debug. Cela rendra certainement le débogage plus complet.
Cette première méthode de débogage de WordPress a un avantage. Il faut savoir que certaines erreurs ne permettent pas d’accéder au tableau de bord du site afin de chercher les éventuelles causes des problèmes. Lorsque vous activez le mode débogage via l’utilitaire, vous pourrez plus facilement voir les lignes de code mises en cause et voir les messages d’erreur renvoyés par le système.
Deuxième méthode : utiliser une extension de débogage
Si votre hébergeur web ne dispose pas d’un utilitaire de débogage, vous pouvez utiliser une extension WordPress pour procéder au débogage de votre site. Vous trouverez facilement un plugin qualifié, gratuit pour cela. Dans la bibliothèque des extensions sur WordPress.org, il y a plusieurs options, mais nous conseillons l’usage de WP Debugging du développeur Andy Fragen. Cette extension est gratuite et facile à prendre en main. Dès que vous l’installez et l’activez, elle entre en action immédiatement. Par défaut, le plugin WP Debugging définit les paramètres suivants sur “True”, ce qui veut dire qu’il active les fonctionnalités ci-après :
- WP_DEBUG : cette constante met en marche le mode de débogage ;
- WP_DEBUG_LOG : cette constante stocke les messages dans un fichier journal ;
- SCRIPT_DEBUG ;
- SAVEQUERIES.
Nous nous intéresserons plus loin aux fonctions exactes des deux dernières constantes à savoir SCRIPT_DEBUG et SAVEQUERIES. Dans l’interface d’administration de WordPress, vous pouvez effectuer quelques réglages afin que le mode de débogage soit effectif. Accédez à l’onglet “Outils” et sélectionnez “WP Debugging”.
Après avoir fini le débogage et effectué les modifications nécessaires pour régler le problème, assurez-vous de désactiver l’extension. Si vous ne le faites pas, le mode de débogage restera toujours actif et vos visiteurs pourront voir des messages d’erreurs sur leurs écrans de navigations en cas de problème.
Troisième méthode : activation manuelle du mode degug de WordPress
L’activation manuelle du mode de débogage de WordPress ne peut se faire qu’en modifiant l’un des fichiers importants du CMS au niveau du serveur. Vous devez insérer manuellement les constantes WP_DEBUG et WP_DEBUG_LOG dans votre fichier wp-config.php. Pour ce faire, utilisez un client FTP pour accéder à votre serveur et apporter des modifications au fichier mentionné. Par défaut, le fichier wp-config.php se trouve dans le répertoire principal de votre site (sauf si vous l’avez déplacé à des fins sécuritaires).
Pour activer exclusivement le mode de débogage de base de WordPress, insérez le code ci-après dans le fichier :
// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );
Vous avez également la possibilité d’utiliser quelques-unes des constantes ci-dessous, selon vos préférences :
// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );
// Disable display of errors and warnings
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Le mode debug est ainsi activé et vous pouvez effectuer toutes les modifications que vous souhaitez afin de stabiliser votre site et de résoudre les problèmes. À la fin du débogage, vous avez deux possibilités. Vous pouvez soit ajuster les constantes à la valeur “false”, soit supprimer l’extrait de code afin de désactiver le mode debug.
Les autres options pour le débogage WordPress
Les trois méthodes de débogage de WordPress que nous venons de voir sont celles que les développeurs utilisent généralement. En dehors de ces méthodes, il existe d’autres options qui peuvent aussi vous aider à faire le débogage. Il s’agit précisément d’outils intégrés ou tiers. Souvenez-vous, nous avons dit que nous aborderons plus tard les fonctionnalités SCRIPT_DEBUG et SAVEQUERIES. Ce sont des options relativement efficaces pour effectuer le débogage de WordPress. Voici quelques alternatives aux trois méthodes précédemment citées.
SCRIPT_DEBUG
La fonctionnalité SCRIPT_DEBUG est une constante qui impose à WordPress l’emploi des versions de développement des fichiers JavaScript et CSS du noyau. Les versions minifiées chargées habituellement ne sont alors plus prises en compte. Cette constante peut s’avérer précieuse lors de la validation des modifications apportées aux fichiers .js ou .css intégrés.
Pour activer SCRIPT_DEBUG, vous avez le choix entre deux solutions. Vous pouvez premièrement employer l’extension gratuite WP Debugging mentionnée précédemment. Cette extension active SCRIPT_DEBUG par défaut. La deuxième option consiste à ajouter la constante suivante à votre fichier wp-config.php :
define( ‘SCRIPT_DEBUG’, true );
SAVEQUERIES : débogage de requête de base de données
Si vous rencontrez des problèmes relatifs à la base de données de votre site, vous pouvez mettre en place une procédure de journalisation des requêtes base de données. Cela peut se faire en activant la constante SAVEQUERIES. L’activation de cette constante vous permet de suivre :
- Chacune des requêtes effectuées sur la base de données ;
- La fonction ayant fait appel à la requête base de données ;
- La durée d’exécution de la requête.
L’activation de la journalisation des requêtes peut se faire de deux manières distinctes. Premièrement, vous pouvez recourir à l’extension WP Debugging qui la déclenche par défaut. Comme nous l’avons évoqué précédemment, cette extension est gratuite. La deuxième méthode consiste à intégrer au fichier wp-config.php de votre site, la constante suivante :
define( ‘SAVEQUERIES’, true ) ;
Il faut noter que cette action est susceptible d’avoir un impact considérable sur les performances de votre site. Il est donc recommandé d’utiliser le débogage de requête de base de données sur un site de préproduction.
Usage de l’extension Query Monitor
Comme WP Debugging, l’extension Query Monitor est gratuite et efficace pour le débogage de WordPress. Query Monitor sert avant tout à diagnostiquer divers aspects de WordPress dont :
- Erreurs PHP ;
- Requêtes de la base de données ;
- Actions et Hooks ;
- Les capacités des utilisateurs ;
- Appels d’API http ;
- Blocs de l’éditeur ;
- Feuilles de styles et scripts en attentes ; etc.
Query Monitor est certainement l’un des meilleurs outils de débogage de WordPress que vous trouverez sur le marché. Beaucoup d’utilisateurs le préfèrent d’ailleurs aux autres outils. Après l’avoir installé et activé, vous pouvez accéder aux nouvelles fonctionnalités dans la barre d’outils de WordPress. Une boîte exclusivement dédiée à l’extension fournit des informations complémentaires nécessaires pour effectuer le débogage.
New Relic
Pour analyser et diagnostiquer les performances d’un site web, New Relic apparaît comme un outil de haute qualité. Il peut être un allié précieux dans la détection d’éventuels problèmes ou dysfonctionnements qui entravent l’efficacité de votre plateforme web.
Votre fournisseur d’hébergement web intègre peut-être déjà un outil de débogage de WordPress en son sein. Néanmoins, il est parfois utile d’utiliser New Relic.
Pourquoi désactiver le mode de débogage quand on a terminé ?
Le débogage de WordPress est nécessaire pour résoudre les problèmes d’un site web. Mais pour des raisons sécuritaires, vous ne devez absolument pas le laisser activer 24H/24. En effet, il faut savoir que le mode debug peut révéler une partie de votre code PHP. Or, tous les visiteurs d’un site web n’ont pas le même profil. Certains visiteurs sont des développeurs qualifiés. D’autres, en plus de savoir développer en PHP, peuvent avoir de mauvaises intentions. Ils peuvent pirater votre site et lui causer des dommages inestimables. Nous recommandons donc de toujours désactiver ce mode lorsque vous finissez de résoudre les problèmes.
Conclusion
Les sites web, qu’ils soient réalisés avec WordPress ou avec n’importe quel autre outil de développement, peuvent connaître des dysfonctionnements. Vous pouvez alors, à n’importe quel moment, avoir besoin de résoudre des problèmes sur votre site Internet. Si votre site a été réalisé avec WordPress, pensez à passer en mode débogage avant de résoudre les problèmes éventuels. Ce mode permet d’identifier et de résoudre des erreurs normalement inhérentes au langage PHP. Il y a plusieurs méthodes permettant de procéder au débogage. Chez certains fournisseurs d’hébergement, l’activation du mode de débogage de WordPress peut se faire directement à l’aide d’un outil dédié. Mais vous pouvez aussi utiliser une extension WordPress pour déboguer votre site. Une troisième méthode est peu conseillée quand on n’est pas développeur professionnel. Il s’agit de l’ajout d’extraits de code au fichier wp-config.php du site. Après la modification en mode debug, il est nécessaire de désactiver le débogage.
En outre, vous pouvez faire recours à d’autres outils tels que Query Monitor et New Relic. Connaissez-vous une autre méthode de débogage de WordPress ? N’hésitez pas à nous la signaler en commentaire.