Script Modules API
Définition : La Script Modules API est le mécanisme WordPress de gestion des modules JavaScript ES et de leurs dépendances. Elle offre un pipeline distinct des scripts classiques, adapté aux imports natifs.
Comprendre et utiliser
À quoi sert ce terme ?
Elle permet de construire des interfaces modulaires sans tout charger sur chaque page. Les modules peuvent partager des dépendances par identifiant et s’intégrer aux outils modernes du Core.
Fonctionnement technique
Depuis WordPress 6.5, des fonctions PHP comme wp_register_script_module() et wp_enqueue_script_module() gèrent leur registre. La carte d’importation et la façon de déclarer les dépendances appartiennent à ce mécanisme spécifique.
Dans quels contextes l’utiliser ?
Choisir cette architecture pour une nouvelle interface JavaScript modulaire ; ne pas convertir mécaniquement un script utilisant des variables globales sans traiter les imports et l’initialisation.
Cas concret : ATOOLPHA
Un module ATOOLPHA peut importer une fonction d’un module utilitaire et ne charger le point d’entrée que sur la page correspondante.
Exemple de code commenté
Extrait PHP destiné à un plugin ou à un template WordPress, dans le contexte indiqué ; pas au contenu HTML de l’article.
<?php
add_action( 'wp_enqueue_scripts', function () {
wp_register_script_module(
'atoolpha/tools',
plugin_dir_url( __FILE__ ) . 'assets/tools.js', array(), '1.0.0'
);
wp_enqueue_script_module(
'atoolpha/app',
plugin_dir_url( __FILE__ ) . 'assets/app.js',
array( array( 'id' => 'atoolpha/tools', 'import' => 'static' ) ), '1.0.0'
);
} );
Décryptage de l’exemple
Le module app dépend statiquement de tools. Les deux fichiers doivent exister, être valides en ES module et utiliser des identifiants compatibles avec les imports réellement produits.
Résultat attendu
Le navigateur charge le point d’entrée avec les ressources nécessaires, sous le pilotage du gestionnaire WordPress des modules.
Exercice pratique et vérification
Préparer deux fichiers ES minimaux sur un site de test et contrôler l’ordre d’importation. Comparer au comportement d’un script classique.
Précautions et limites
L’absence d’une dépendance ou une mauvaise configuration de build casse les imports. Les modules ne se combinent pas automatiquement avec les dépendances classiques en handles.
À ne pas confondre
La Script Modules API traite les modules ES ; wp_enqueue_script() reste le mécanisme des scripts classiques, avec une gestion différente des dépendances.
Diagnostic avancé
Lorsqu’un import ne se résout pas, examiner la carte d’importation, la console et les URLs effectives avant de modifier les chemins au hasard.
Choix d’architecture et déploiement
Une application modulaire peut bénéficier d’une séparation entre noyau et fonctionnalités facultatives. Cependant, la multiplication des imports n’est pas un objectif en soi : surveiller le coût réseau, la construction des bundles et la compatibilité avec les caches et politiques de sécurité.
Contrôle avant intégration
Veiller à la version minimale de WordPress, à la construction des modules, aux URLs et aux politiques CSP.
Notions associées
- wp_register_script_module()
- wp_enqueue_script_module()
- Chargement différé (defer)
