API REST WordPress : utiliser, tester et sécuriser

Vignette36

L’API REST WordPress ouvre votre site à un monde d’applications et de données externes. Cet article vous montre comment l’utiliser, la tester et la sécuriser facilement.

Qu’est-ce que l’API REST WordPress ?

L’API REST WordPress est une interface intégrée au cœur du CMS depuis la version 4.7. En clair, elle permet à des applications externes de dialoguer avec votre site. Elle expose ainsi les données de votre contenu au format JSON. Vous pouvez d’ailleurs consulter la documentation officielle de l’API REST WordPress pour explorer toutes ses possibilités.

Le terme « REST » signifie Representational State Transfer. Il s’agit d’une architecture standard de communication sur le web. En effet, ce protocole s’appuie sur les requêtes HTTP classiques que vous connaissez déjà. Concrètement, une API sert de pont entre deux applications. De plus, elle échange des informations sans afficher de page web complète. Résultat : vous récupérez uniquement les données utiles, comme un article ou une catégorie.

L’API REST est également open source, comme l’ensemble de WordPress. Par conséquent, chaque développeur peut l’étendre selon ses besoins. C’est un atout majeur pour les projets modernes.

Comment fonctionne l’API REST de WordPress ?

Le fonctionnement de l’API REST repose sur une URL de base. Cette URL de base sert de point d’entrée à toutes les requêtes. Elle prend la forme suivante :

https://votre-site.com/wp-json/

Ensuite, chaque type de donnée possède sa propre route. Par exemple, pour lister les publications, vous appelez cette URL :

https://votre-site.com/wp-json/wp/v2/posts

Le serveur renvoie alors une réponse JSON. Ce format léger reste facile à lire pour un humain comme pour une machine. Ainsi, une application mobile ou un front-end JavaScript exploite ces données sans effort.

Chaque appel s’effectue via une méthode HTTP précise. La méthode GET récupère des informations. Les méthodes POST, PUT et DELETE créent, modifient ou suppriment du contenu. C’est le principe des opérations CRUD.

Les points de terminaison de l’API REST

Les points de terminaison, ou endpoints, désignent les routes accessibles. Chaque endpoint correspond à un type de contenu WordPress. Voici les plus courants sur un site WordPress :

  • /wp/v2/posts : pour les articles.
  • /wp/v2/pages : pour les pages.
  • /wp/v2/media : pour les fichiers média.
  • /wp/v2/categories : pour les catégories.
  • /wp/v2/users : pour les utilisateurs.

Vous pouvez également affiner vos requêtes avec des paramètres. Le paramètre per_page limite le nombre de résultats par page. Le paramètre search lance une recherche ciblée dans le contenu.

De plus, chaque publication renvoie de nombreuses propriétés. Vous obtenez le titre, la date, l’auteur ou encore le contenu HTML. Bref, l’API REST expose presque toutes les données de votre site. Par ailleurs, WooCommerce et d’autres plugins ajoutent leurs propres routes. Un site e-commerce expose ainsi ses produits et ses commandes. Cette flexibilité fait la force de l’API REST WordPress.

Comment utiliser l’API REST de WordPress ?

Utiliser l’API REST reste plus simple qu’il n’y paraît. D’abord, ouvrez votre navigateur. Ensuite, tapez l’URL de base suivie d’une route :

https://votre-site.com/wp-json/wp/v2/posts

Vous verrez alors s’afficher une réponse JSON. Elle contient tous vos articles récents. Félicitations, vous venez d’effectuer votre premier appel à l’API !

Pour aller plus loin, vous pouvez interagir avec l’API depuis un script PHP. La fonction file_get_contents() ou la bibliothèque cURL récupèrent les données. Voici un exemple concret en PHP :

$url = 'https://votre-site.com/wp-json/wp/v2/posts';
$response = file_get_contents($url);
$data = json_decode($response, true);

Ce court extrait récupère vos posts et les transforme en tableau. Vous pouvez ensuite les afficher où vous le souhaitez. Notamment dans un thème sur mesure ou une application externe. En JavaScript, la démarche reste identique. La fonction fetch() interroge la même URL. Puis elle traite la réponse JSON côté client. Cette approche s’avère idéale pour un affichage dynamique.

Comment tester l’API REST de WordPress ?

Tester la REST API constitue une étape essentielle avant tout projet. Cette phase vous aide à repérer une erreur ou un problème de configuration. Plusieurs outils facilitent ce travail de debugging.

L’outil le plus populaire reste Postman. Cette application envoie des requêtes HTTP vers vos routes. Vous visualisez ainsi chaque réponse JSON en détail. De plus, Postman gère l’authentification et les paramètres avancés.

Pour un test rapide, votre navigateur suffit néanmoins. Ouvrez l’URL de base d’une route en méthode GET : si le JSON s’affiche, votre API fonctionne correctement.

Parfois, une erreur REST API apparaît malgré tout. Elle provient souvent d’un plugin de sécurité trop strict. Elle peut aussi venir d’un conflit avec le thème actif. Dans ce cas, désactivez les extensions une à une pour identifier la source.

Créer ses propres routes d’API REST

L’un des grands atouts de l’API REST reste sa souplesse. En effet, vous pouvez créer vos propres routes personnalisées. Cette custom API répond alors à des besoins spécifiques. Pour cela, WordPress fournit la fonction register_rest_route. Vous l’appelez dans un plugin ou dans le fichier functions.php du thème. Voici un exemple simple à adapter :

add_action('rest_api_init', function () {
    register_rest_route('mon-site/v1', '/infos', array(
        'methods'  => 'GET',
        'callback' => 'ma_fonction_callback',
    ));
});

function ma_fonction_callback() {
    return array('message' => 'Bonjour depuis mon API !');
}

Décortiquons ce code ensemble. D’abord, rest_api_init déclenche l’enregistrement de la route. Ensuite, register_rest_route définit le nom de l’espace et le chemin. Enfin, la fonction de rappel (callback) renvoie les données souhaitées.

Vous appelez ensuite votre nouvelle route à cette URL :

https://votre-site.com/wp-json/mon-site/v1/infos

Par ailleurs, cette technique alimente aussi les projets WordPress headless. Vous exposez uniquement les données utiles à une application front-end séparée. C’est une pratique de plus en plus répandue chez les développeurs.

Comment sécuriser l’API REST de WordPress ?

La sécurité de l’API REST mérite toute votre attention. En effet, une route mal protégée expose vos données sensibles. Plusieurs solutions renforcent donc cette protection.

Par défaut, WordPress applique déjà des droits selon les rôles utilisateur. La lecture publique reste ouverte, mais l’écriture exige une identification. Ainsi, seul un compte autorisé crée ou modifie un article.

WordPress headless grâce à l’API REST

Le concept de WordPress headless séduit de nombreux projets web. Dans ce modèle, WordPress gère uniquement le contenu en coulisse. L’affichage, lui, revient à une application externe. L’API REST joue alors un rôle central. Elle transmet les données au front-end via des réponses JSON. Vous combinez ainsi la puissance de gestion de contenu de WordPress avec un site ultra-rapide.

Cette approche convient notamment aux applications mobiles. Une seule base de contenu alimente le web et le mobile. Par conséquent, vous gagnez du temps et gardez une cohérence parfaite.

Conclusion : maîtrisez l’API REST WordPress

L’API REST WordPress transforme votre site en véritable plateforme de données. Vous pouvez désormais l’utiliser, tester chaque route et créer vos propres endpoints. De plus, vous savez comment sécuriser vos appels avec un token JWT.

En résumé, cette interface ouvre d’immenses possibilités pour vos projets web. Que vous visiez une application mobile ou un site headless, l’API REST vous accompagne. Il ne vous reste plus qu’à explorer vos premières routes au format JSON. Merci de votre lecture, et bonne exploration de l’API REST !

Plus d’articles sur WordPress

  • MCP WordPress : piloter votre site avec l’IA Claude

    MCP WordPress : piloter votre site avec l’IA Claude

    Le MCP WordPress transforme votre site en assistant piloté par l’IA. Grâce à ce protocole, Claude et d’autres outils exécutent des tâches directement sur votre WordPress. Qu’est-ce que le protocole MCP ? Le MCP, ou Model Context Protocol, est un standard ouvert créé pour connecter une IA à des applications externes. En clair, il agit…

    Lire cet article

  • WordPress.org vs WordPress.com : lequel choisir ?

    WordPress.org vs WordPress.com : lequel choisir ?

    Vous hésitez entre WordPress.org vs WordPress.com pour lancer votre site ? Ce guide clarifie la différence entre ces deux plateformes et vous aide à choisir la bonne solution. WordPress.org vs WordPress.com : de quoi parle-t-on ? Beaucoup de gens confondent ces deux noms. Pourtant, il s’agit bien de deux services distincts. D’un côté, WordPress.org fournit…

    Lire cet article

  • Réparation WordPress : guide pour récupérer votre site

    Réparation WordPress : guide pour récupérer votre site

    Votre site WordPress affiche une page blanche ou une erreur critique ? La réparation WordPress permet de remettre votre site en ligne vite, souvent en quelques minutes seulement. Pourquoi un site WordPress tombe-t-il en panne ? Un site WordPress peut tomber en panne pour de nombreuses raisons. En effet, ce CMS repose sur un ensemble…

    Lire cet article