Relier WordPress au JavaScript par une API sécurisée
Vous débutez totalement ? Commencez par la section « Mode débutant » de chaque atelier : elle explique où cliquer, quoi faire et comment vérifier votre résultat. Le code vient après les manipulations simples. Voir aussi le guide de prise en main →
Vous construisez une petite interface de consultation des réalisations sans exposer les brouillons ni autoriser des écritures anonymes.
Votre livrable professionnel
Route GET limitée aux contenus publiés ; validation des paramètres ; démonstration de permissions sur POST ; composant JavaScript fetch sans injection HTML ; plan de tests d’erreur.
Comment travailler ce module ?
Lisez la notion et l’exemple.
Reproduisez le code sur un WordPress de test, jamais sur le site d’un client.
Vérifiez le résultat attendu et enregistrez une preuve.
Validez votre étape avec le switch du panneau de progression.
Terminez par le quiz noté, tout en bas de la page.
PARCOURS GUIDÉ
Cinq étapes pour produire un résultat concret
Cliquez sur une étape pour découvrir sa mission. Le bouton « Aller à cette étape dans le cours » ouvre directement sa procédure détaillée. Le switch en colonne de droite enregistre votre avancement.
ÉTAPE 01 / 05
Créer une route REST de lecture publique
Votre première route GET Les routes REST se déclarent sur rest_api_init . Une route publique doit renvoyer uniquement les contenus que le visiteur peut consulter. Exemple de route add_action(…
Action : lire la procédure, la reproduire, puis activer le switch après contrôle du résultat.
ÉTAPE 02 / 05
Ajouter validation d’arguments
Valider les paramètres et les limites Les API peuvent recevoir des valeurs mal formées : elles doivent être filtrées avant leur utilisation. Paramètre contrôlé ‘args’ => [
‘per_page’ => [
…
Action : lire la procédure, la reproduire, puis activer le switch après contrôle du résultat.
ÉTAPE 03 / 05
Contrôler les écritures et permissions
Protéger POST, PATCH et DELETE Pour modifier le contenu, une requête POST ne doit pas être ouverte à tous. Les permissions s’évaluent sur l’utilisateur réellement authentifié et parfois sur…
Action : lire la procédure, la reproduire, puis activer le switch après contrôle du résultat.
ÉTAPE 04 / 05
Afficher les résultats via fetch sécurisé
Afficher les données avec fetch sans XSS La réponse JSON ne doit pas être injectée comme HTML de confiance. Préférez textContent et la construction des éléments DOM. JavaScript d’affichage async…
Action : lire la procédure, la reproduire, puis activer le switch après contrôle du résultat.
ÉTAPE 05 / 05
Tester refus anonymes et cas d’erreur
Tests REST et tableau des erreurs Une API professionnelle s’évalue sur ses refus, pas seulement sur la réponse « heureuse ». Matrice à remplir GET public → 200 ; n’expose aucun…
Action : lire la procédure, la reproduire, puis activer le switch après contrôle du résultat.
COURS APPROFONDI & ATELIERS
Comprendre, coder et construire le site
Ces exemples sont volontairement progressifs. Les extraits de code s’exécutent dans des fichiers PHP d’un thème/plugin WordPress, pas directement dans le texte d’une page LiveCanvas.
Schéma pédagogique illustratif : ce n’est pas une capture réelle de votre écran WordPress.
L’API REST permet à un outil externe de lire certaines informations de WordPress. Avant d’écrire une route, observons les réponses existantes sans les modifier.
⌖
Où aller ?
Navigateur → https://votre-site.test/wp-json/ et /wp-json/wp/v2/posts.
Manipulation expliquée pas à pas
01
Dans votre navigateur, ouvrez l’URL /wp-json/ de votre WordPress de test.
02
Repérez le format JSON : des accolades, des champs et des valeurs.
03
Ouvrez /wp-json/wp/v2/posts et observez les titres des articles publiés.
04
Comparez l’accès à ces URL en navigation privée et en session administrateur.
05
Dans votre carnet, notez que seules certaines données sont publiques et que les brouillons ne doivent pas être exposés.
La lecture publique et la modification de données n’ont pas les mêmes risques. Chaque action d’écriture doit vérifier l’identité et les capacités de l’utilisateur.
⌖
Où aller ?
Plugin → permissions de la route REST ; WordPress → Réalisations → Brouillons.
Manipulation expliquée pas à pas
01
Dans le plugin de test, préparez une route POST pour créer un brouillon de projet.
02
Ajoutez permission_callback qui vérifie current_user_can(‘edit_posts’) ou une capacité appropriée.
03
Validez et assainissez le titre reçu avant wp_insert_post.
04
Testez la route sans connexion : le serveur doit refuser la création.
05
Testez ensuite avec un compte autorisé et un mécanisme d’authentification adapté à l’API ; vérifiez que le contenu créé est un brouillon.
Exemple à observer ou reproduire
// Exemple de contrôle :
'permission_callback' => function () {
return current_user_can('edit_posts');
}
✓ Résultat attendu
Un anonyme ne peut pas créer de projet ; un utilisateur autorisé peut créer un brouillon contrôlé.
Si cela ne fonctionne pas
Attention : un nonce REST n’est pas un jeton d’autorisation autonome et n’établit pas la permission d’écrire. Il faut vérifier current_user_can().
À retenir
Authentification : qui est connecté ? Autorisation : que peut-il faire ? Validation : la donnée respecte-t-elle le format attendu ?
Protéger POST, PATCH et DELETE
Pour modifier le contenu, une requête POST ne doit pas être ouverte à tous. Les permissions s’évaluent sur l’utilisateur réellement authentifié et parfois sur l’objet ciblé.
Une API professionnelle s’évalue sur ses refus, pas seulement sur la réponse « heureuse ».
Matrice à remplir
GET public → 200 ; n'expose aucun brouillon
GET per_page=100 → 400 ; argument refusé
POST anonyme → 401/403 ; contenu non créé
POST auteur autorisé → 200/201 ; brouillon créé
PATCH autre auteur → 403 ; modification refusée
ID inexistant → 404 ; message neutre
Pas à pas
Reproduisez les six cas via un client REST (navigateur, Postman ou autre).
Conservez requête, code HTTP et extrait de réponse pour chaque cas.
Notez si le test a besoin d’une session ou d’un nonce REST.
Vérifiez qu’aucune erreur serveur 500 n’est déclenchée par une entrée invalide.
Après correction, relancez tous les cas, y compris ceux qui fonctionnaient déjà.
Livrable
Une API de démonstration et un tableau de recette montrant les refus d’accès attendus.
Point de contrôle 05
Le résultat est-il reproductible ? Gardez une preuve (capture ou extrait de code), puis validez l’interrupteur « Étape 05 » dans votre suivi.
Documentation officielle : Consulter la référence WordPress ↗. Vidéos : ajoutez des tutoriels enregistrés et vérifiés dans LiveCanvas ; aucune vidéo factice n’est présentée comme un cours existant.
Note pédagogique — Les PDF sont des supports transversaux. Les extraits de code et procédures enrichies de cette page font partie de la V2.3. Les corrigés détaillés des quiz apparaissent seulement après soumission du questionnaire.
FIN DU MODULE · ÉVALUATION
Vérifiez vos connaissances
Répondez aux cinq questions. Après correction, découvrez votre note sur 20, le nombre d’erreurs et l’explication de chaque réponse. Quatre réponses correctes sur cinq sont nécessaires pour valider le nouveau quiz.