Le mode développement de WordPress

La version 6.3 de WordPress a introduit un nouveau concept appelé : « le mode développement » qui impliquera des nuances dans le comportement de WordPress, si ce mode est activé.

Il est donc possible et même recommandé de configurer le mode développement d’un site WordPress en cours de développement à l’aide de la nouvelle constante WP_DEVELOPMENT_MODE.

Présentation du mode développement

La définition de la constante WP_DEVELOPMENT_MODE permet de définir le type de travail de développement pour lequel le site est utilisé.

Vous disposez de plusieurs configurations possibles selon ce que vous envisagez de développer :

  • define( 'WP_DEVELOPMENT_MODE', 'core'); – indique que le site est utilisé comme environnement de développement du cœur de WordPress. Par exemple, cela peut être utile lorsque vous contribuez directement au cœur de WordPress.
  • define( 'WP_DEVELOPMENT_MODE', 'plugin'); – indique que le site est utilisé comme environnement de développement d‘extensions. Par exemple, cela peut être pertinent lorsque vous travaillez sur une extension destinée au répertoire d’extensions de WordPress.
  • define( 'WP_DEVELOPMENT_MODE', 'theme'); – indique que le site est utilisé comme environnement de développement de thèmes. Par exemple, lorsque vous travaillez sur un thème destiné au répertoire des thèmes de WordPress.
  • define( 'WP_DEVELOPMENT_MODE', 'all'); – indique que le site est utilisé comme un environnement de développement WordPress dans lequel les trois aspects cités ci-dessus peuvent être modifiés. Par exemple, cela peut être pertinent lorsque vous travaillez sur un site spécifique dans son ensemble, par exemple pour un client.
  • define( 'WP_DEVELOPMENT_MODE', ''); – une chaîne vide indique qu’aucun mode de développement particulier n’est activé pour ce site. Il s’agit de la valeur par défaut, qui doit être utilisée pour tout site qui n’est pas utilisé pour le développement.

Notez que la définition d’un mode de développement n’est pertinente que pour les sites où un développement quelconque est en cours. Ainsi, il n’est pas conseillé de l’utiliser sur un site en production.

Haut ↑

Pourquoi ces différents paramètres ?

Il n’y a actuellement que quelques cas d’utilisation dans le cœur de WordPress qui sont déterminés par le mode de développement, mais cela va probablement se développer à l’avenir. La plupart des utilisations actuelles concernent la mise en cache du fichier theme.json.

Pour la plupart des sites, la mise en cache de certaines données du fichier theme.json est efficace puisque ces données ne seront invalidées que lors de la mise à jour du thème.

Cependant, si vous développez un thème et que vous modifiez donc très souvent le fichier theme.json, le fait d’avoir à invalider manuellement le cache sera préjudiciable au flux de travail. Ainsi, le mode développement avec le paramètre theme vous permettra de contourner la fonctionnalité de mise en cache du fichier theme.json.

Par contre, si vous contribuez au cœur de WordPress, vous utiliserez le paramètre core puisque votre site doit avoir un comportement aussi proche que possible du comportement réel. Avec ce paramètre, la mise en cache du fichier theme.json ne sera pas contournée.

Haut ↑

Différence entre le mode de développement, le type d’environnement et le mode de débogage

WordPress propose déjà deux concepts assez proches, qui sont le type d’environnement (constante WP_ENVIRONMENT_TYPE) et le mode de débogage (constante WP_DEBUG). Voici en quoi ils diffèrent :

La constante define( 'WP_DEBUG', 'true'); active le mode de débogage général, entraînant l’affichage ou l’enregistrement de notifications supplémentaires.

La constante define( 'WP_ENVIRONMENT_TYPE', ''); définit si le site est un environnement local, de développement, de staging ou de production selon le paramètre utilisé (respectivement local, development, staging et production). Ce paramètre peut être utilisé pour définir les valeurs par défauts d’autres réglages de configuration ou pour activer certaines fonctionnalités du site.

La constante define( 'WP_DEVELOPMENT_MODE', ''); définit un secteur de développement spécifique selon le paramètre utilisé (core, plugin, theme, all, vide) qui s’applique au site actuel, ce qui a pour effet de modifier certains comportements de bas niveau de WordPress, alors que WP_DEBUG n’affecte en rien le comportement du site.

Il est probable que vous n’utiliserez la constante WP_DEVELOPMENT_MODE que sur un site où WP_DEBUG est activé et où WP_ENVIRONMENT_TYPE a pour valeur soit development soit local, puisqu’il n’est pas conseillé que le développement se fasse directement au sein d’environnements de staging ou de production. Cela dit, la constante est toujours découplée, notamment parce qu’elle définit le type de développement qui a lieu de manière plus granulaire qu’un simple interrupteur marche/arrêt comme WP_DEBUG.

Haut ↑

Activer le mode développement

Pour activer ce mode, ajoutez la constante define( 'WP_DEVELOPMENT_MODE', ''); avec le paramètre adapté dans le fichier wp-config.php.

Dans ce cas, il est recommandé de vous assurer que WP_DEBUG est activé et que WP_ENVIRONMENT_TYPE est réglé sur development ou local.

Cet article est largement inspiré de l’article Configuring development mode in 6.3 (en anglais) de Felix Arntz dans lequel vous trouverez des informations complémentaires en particulier comment vérifier le mode de développement actuellement activé.

Article rédigé par Jenny Dupuy le 31 mars 2024
Relu par Patrick Olivaud, JB Audras & Dareth Nhang
Dernière mise à jour le 7 mai 2024

Contribuer à la documentation en français de WordPress