Aller au contenu principal

Format des données Blueprint

Un fichier JSON de Blueprint peut contenir de nombreuses propriétés différentes qui seront utilisées pour définir votre instance Playground. Les propriétés les plus importantes sont détaillées ci-dessous.

Voici un exemple qui en utilise plusieurs :

{
"landingPage": "/wp-admin/",
"preferredVersions": {
"php": "8.3",
"wp": "6.5"
},
"features": {
"networking": true
},
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
}
]
}

Schéma JSON

Les fichiers JSON peuvent être fastidieux à écrire et il est facile de s’y tromper. Pour vous aider, Playground fournit un fichier schéma JSON que vous pouvez utiliser pour obtenir l’autocomplétion et la validation dans votre éditeur. Définissez simplement la propriété $schema comme suit :

{
"$schema": "https://playground.wordpress.net/blueprint-schema.json",
}

Page d’arrivée

La propriété landingPage indique à Playground vers quelle URL naviguer après l’exécution du Blueprint. C’est un excellent outil, en particulier lors de la création de démos de thèmes ou d’extensions. Souvent, vous voudrez démarrer Playground dans l’éditeur de site ou ouvrir un article précis dans l’éditeur d’articles. Assurez-vous d’utiliser un chemin relatif.

{
"landingPage": "/wp-admin/site-editor.php",
}

Versions préférées

La propriété preferredVersions déclare vos versions préférées de PHP et de WordPress. Elle peut contenir les propriétés suivantes :

  • php (string) : charge la version PHP indiquée. Accepte 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5 ou latest. Les versions mineures comme 7.4.1 ne sont pas prises en charge.
  • wp (string) : charge la version WordPress indiquée. Accepte les sept dernières versions majeures de WordPress. Au 28 avril 2026, il s’agit de 6.3, 6.4, 6.5, 6.6, 6.7, 6.8 ou 6.9. Vous pouvez aussi utiliser les valeurs génériques latest, beta ou nightly (alias trunk). beta correspond à la bêta ou Release Candidate la plus récente d’un cycle de publication actif ; nightly/trunk est construit directement depuis la branche de développement de WordPress.
{
"preferredVersions": {
"php": "8.3",
"wp": "6.7"
},
}

Fonctionnalités

Vous pouvez utiliser la propriété features pour activer ou désactiver certaines fonctionnalités de l’instance Playground. Elle peut contenir les propriétés suivantes :

  • networking : vaut true par défaut. Active ou désactive la prise en charge réseau de Playground. Si elle est activée, wp_safe_remote_get et les fonctions WordPress similaires utiliseront réellement fetch() pour effectuer des requêtes HTTP. Si elle est désactivée, elles échoueront immédiatement. Cette propriété doit être activée si vous voulez que l’utilisateur puisse installer des extensions ou des thèmes.
{
"features": {
"networking": false
},
}

Bibliothèques supplémentaires

Vous pouvez précharger des bibliothèques supplémentaires dans l’instance Playground. Les bibliothèques suivantes sont prises en charge :

  • wp-cli : active la prise en charge de WP-CLI pour Playground. Si elle est incluse, WP-CLI sera installé pendant le démarrage. Si elle n’est pas incluse, vous obtiendrez un message d’erreur en essayant d’exécuter des commandes WP-CLI avec l’API JS. WP-CLI sera installé par défaut si le Blueprint contient des étapes wp-cli.
{
"extraLibraries": [ "wp-cli" ],
}

Étapes

Sans doute la propriété la plus puissante, steps vous permet de configurer l’instance Playground avec des thèmes, des extensions, du contenu de démo préinstallés, et plus encore. L’exemple suivant connecte l’utilisateur avec un nom d’utilisateur et un mot de passe dédiés. Il installe et active ensuite l’extension Gutenberg. En savoir plus sur les étapes.

{
"steps": [
{
"step": "login",
"username": "admin",
"password": "password"
},
{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "gutenberg"
}
},
]
}

Erreurs courantes de placement des propriétés

Les erreurs de validation de Blueprint viennent souvent d’une propriété valide placée dans le mauvais objet.

Activer une extension ou un thème

activate doit se trouver dans options, pas dans pluginData, themeData ni directement sur l’étape.

{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "gutenberg"
},
"options": {
"activate": true
}
}

Installer des extensions avec le raccourci

Le raccourci plugins est une propriété de premier niveau du Blueprint. Ne le placez pas dans preferredVersions.

{
"preferredVersions": {
"php": "8.3",
"wp": "latest"
},
"plugins": ["gutenberg"]
}

Utiliser une seule forme d’installation d’extension

Pour une étape installPlugin, utilisez pluginData. Ne mélangez pas pluginData avec d’anciens exemples ou des objets personnalisés comme pluginZipFile.

{
"step": "installPlugin",
"pluginData": {
"resource": "wordpress.org/plugins",
"slug": "woocommerce"
},
"options": {
"activate": true
}
}

La ressource wordpress.org/plugins nécessite un slug séparé. N’écrivez pas le slug dans la valeur resource, comme "wordpress.org/plugins/woocommerce".

Limiter preferredVersions aux versions

preferredVersions accepte uniquement php et wp. Utilisez features pour le réseau, plugins ou installPlugin pour les extensions, et steps pour les tâches de configuration ordonnées.

Utiliser des étapes explicites lorsque l’ordre compte

Les raccourcis comme plugins, login, siteOptions et constants sont développés avant le tableau steps. Si une action doit avoir lieu avant une autre, écrivez les deux actions sous forme d’étapes explicites dans l’ordre nécessaire.