WordPress
time_read44mn de lecture

API REST WordPress : comment y accéder et l’utiliser ? Guide complet

27 septembre 2022

API REST WordPress : comment y accéder et l'utiliser ? Guide complet

L’API REST est une fonctionnalité qui permet à WordPress d’interagir avec les applications web externes en utilisant des requêtes HTTP. À travers cette fonctionnalité, votre site WordPress peut recevoir ou envoyer des données à d’autres applications web en dehors même de votre tableau de bord d’administration.😇

La fonctionnalité d’API REST dans WordPress est surtout destinée aux développeurs, qui peuvent pratiquement intervenir sur leurs sites à distance, avec possibilité de presque tout faire. 😊

Objectif

Ce tutoriel est un guide complet qui détaille largement ce qui est l’API REST de WordPress. En tant que développeur WordPress, avoir des notions sur cette fonctionnalité est d’une grande importance. Ce tutoriel vous permettra de connaître les bases de l’API Rest WordPress et la manière dont vous devez procéder pour y accéder et essentiellement comment vous devez l’utiliser.🤗

Prérequis

  • Avoir accès à l’interface de ligne de commandes en tant qu’administrateur du système.
  • Savoir interagir avec une interface de ligne de commandes.
  • Savoir installer WordPress en utilisant WP-CLI.

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

API REST WordPressLa REST API WordPress est une fonctionnalité essentiellement orientée développeur qui fournit une interface permettant aux applications externes d’interagir avec WordPress en dehors même de l’espace d’administration. Il sert davantage aux développeurs qu’aux utilisateurs débutants WordPress.

En fait, vous pouvez gérer tout votre site sans toucher à une moindre partie de l’API REST WordPress. La logique même sur laquelle WordPress est fondée met en avant la facilité d’utilisation dans le sens que vous pouvez entièrement gérer votre site sans nécessiter d’appliquer le code. Ce qui est une bonne nouvelle pour les débutants. Les développeurs peuvent cependant utiliser l’API REST pour interagir directement avec le noyau de WordPress.

Dans l’association API REST, l’API fait référence à l’Interface de Programmation de l’Application. Le deuxième acronyme REST signifie Representationnal State Transfer. Le concept API n’est pas si nouveau pour le web. Vous vous êtes sans doute déjà servis si, par exemple, vous utilisez Google Search Console ou si éventuellement vous affichez des cartes Google Maps sur votre site.

La partie REST est celle qui établit les normes de communication au cours de cette interaction. Nous allons revenir sur ces normes dans la suite de cet article. La combinaison API REST est une nouvelle expérience interactive dans WordPress. Avec cette dernière, les développeurs peuvent ajouter du contenu à un site, modifier les publications existantes ou en faire une suppression directement dans la base de données.

Les bases du fonctionnement de l’API REST WordPress

bases de fonctionnement de l'API REST WordPressLe fonctionnement de l’API REST peut paraître parfois intimidant lorsque vous débutez. Mais une fois que vous comprenez ces notions, vous serez capable de beaucoup faire avec l’API REST de WordPress. Tout d’abord, vous devez noter que l’API REST WordPress n’a été fusionnée avec le noyau de ce logiciel open source qu’en 2016 avec la version 4.7. Auparavant, il fonctionnait comme une extension.

Pour fonctionner, l’API REST utilise le langage de programmation JavaScript. Les données sont envoyées et reçues au format JSON (JavaScript Objet Notation). JavaScript est un langage de programmation qui s’exécute côté client. Vous devez noter que tout environnement capable de recevoir les requêtes HTTP et interpréter les objets au format JSON peut vous aider à interagir avec l’API REST WordPress.

JSON est un format de données visuellement lisibles. Voici à quoi ressemble un fichier contenant des données au formant JSON.format de données/format JSON

Concepts techniques à connaître

Pour comprendre le fonctionnement de l’API REST de WordPress, il existe quelques concepts techniques que vous devez connaître. La compréhension de ces concepts peut vous faciliter une interaction efficace avec l’API.

  • Routes : ce concept fait référence à tout URL que vous saisissez dans l’interface pour exécuter une requête. Vous pouvez comprendre ici une route comme un itinéraire menant vers des données stockées. Par exemple : /wp-json/v2.
  • Endpoints : ils sont également appelés points de terminaison. Il s’agit d’une association d’une route à une méthode HTTP. Nous reviendrons sur les principales méthodes HTTP utilisées plus tard.
  • Requêtes : c’est toute demande soumise au serveur par le biais de l’API. Elles permettent de stocker ou récupérer les données auprès du serveur. Les requêtes de l’API REST WordPress sont représentées par les instances de la classe WP_REST_Request.Les réponses obtenues dépendent des objets générés lors de la soumission de requêtes, qui elles-mêmes sont fonction de routes.
  • Réponses : sont consécutives aux requêtes. Ce sont des données obtenues de l’API. Pour interagir avec les réponses, un développeur doit utiliser la classe WP_REST_Response. Et le format de données utilisé est le JSON.
  • Schémas : les données à soumettre suivent un modèle de structure bien défini. Tout comme les données reçues suivent également un modèle de structure intégré et prédéfini. Ces modèles constitutionnels sont contenus dans des schémas. En d’autres termes, l’API REST se réfère au schéma pour valider la structure de données d’entrée et renvoyer les réponses correspondantes.
  • Classes de contrôleur : elles ont pour fonction de gérer les autres éléments constitutionnels de l’API REST. En fait, une classe de contrôleur permet de créer des nouvelles routes, structurer les schémas ou encore gérer les requêtes et les réponses.

Normes à respecter pour interagir avec l’API REST

Vous connaissez à présent les concepts les plus utilisés dans l’interaction entre une application web et l’API. Vous devez, de plus retenir, qu’il existe des règles à respecter pour qu’un système tiers s’interface avec l’API REST WordPress. L’envoi de données sera donc conditionné par le respect de ces exigences techniques :

  • Interface uniforme : cette contrainte suppose simplement que vous devez utiliser des méthodes d’interaction connues de deux systèmes. Cela implique, par exemple, l’utilisation de format de données et de liens compatibles dans les deux systèmes.
  • Approche client-serveur : cette exigence suppose que les applications client et les applications serveur doivent être maintenues dans un environnement séparé.
  • Interaction client-serveur sans état : le serveur doit traiter toute requête comme nouvelle. En d’autres termes, le serveur ne doit stocker aucune donnée de requêtes effectuées.
  • Mise en cache : les deux systèmes (client et serveur) doivent être en mesure de mettre en cache les données dans le but d’accélérer les performances. Cela implique que l’une de deux parties ne sera pas ralentie par la charge de données lors de la communication. Le cache élimine aussi certaines interactions dans le but de tirer vers le haut les performances du serveur.
  • Utilisation d’un système en couches : cette autre contrainte suppose que la charge du travail peut être repartie sur des serveurs intermédiaires. Par exemple, vous pouvez implémenter les API sur un premier serveur. Les données peuvent être hébergées sur un deuxième serveur et enfin un troisième serveur peut servir à authentifier les requêtes.

Les fonctions de l’API REST WordPress

Implication de WordPress avec API RESTJusqu’ici, vous vous demanderez peut-être à quelles fins vous utiliserez l’API REST de WordPress. Vous pouvez considérer l’API REST WordPress comme un service pouvant vous permettre de gérer votre site sans passer par votre tableau de bord. Cette fonctionnalité offre une certaine flexibilité aux développeurs dans la manière d’interagir avec WordPress.

En d’autres termes, vous pouvez pratiquement tout faire sur votre site comme vous le ferez depuis votre espace d’administration. Les quelques actions que vous pouvez faire sont notamment :

  • Éditer les publications de votre site : en utilisant les points de terminaison via la REST API WordPress, vous pouvez accéder à votre site pour créer ou modifier des publications existantes.
  • Créer des nouvelles pages ou supprimer celles existantes de votre site.
  • Lire les contenus publiés : vous pouvez utiliser des requêtes HTTP pour lire les derniers contenus publiés sur votre site depuis l’API REST.
  • Gérer les taxonomies : l’API REST WordPress peut être aussi utilisée pour gérer les catégories ou les étiquettes sur votre site.
  • Personnaliser les plugins et les thèmes : pour les développeurs, l’APIpeut aider à personnaliser les fonctionnalités de base des plugins ou des thèmes afin d’obtenir des interfaces de création de contenus très avancées.
  • Améliorer le fonctionnement de WordPress : vous pouvez également exécuter des requêtes API REST pour interférer avec le fonctionnement de WordPress au cours de certaines tâches.
  • Améliorer l’éditeur Gutenberg : vous devez aussi noter que l’éditeur Gutenberg, l’actuel éditeur de contenus par défaut de WordPress fonctionne essentiellement avec l’API REST. Vous pouvez de ce fait intervenir depuis l’API REST afin de modifier ou améliorer ses fonctionnalités. Toutefois, cela relève d’une utilisation avancée de l’API REST WordPress.
  • Gérer les utilisateurs de votre site : vous pouvez également voir la liste des auteurs ou d’autres utilisateurs de votre site.
  • Connecter WordPress à des services externes : grâce à l’API REST, vous pouvez par exemple créer des SPAs (Single Page Application).

Cependant, vous devez noter que l’étendue de l’utilisation de l’API REST de WordPress est une question de compétences. Plus vous comprenez comment les choses fonctionnent, plus vous pouvez faire des tâches complexes.

Comment accéder et utiliser l’API REST de WordPress ?

accéder et utiliser l'API REST WordPressÉtant donné que l’API REST fonctionne avec des routes qui sont fondamentalement constituées des URLs, vous pouvez accéder à votre site en utilisant n’importe quelle application notamment les navigateurs web. Par exemple, il suffit de taper la commande suivante dans la barre de navigation de n’importe quel navigateur pour accéder aux articles de votre site.

votredomaine.fr/wp-json/wp/v2/posts

Cette commande va afficher tous les articles publiés de votre site étant donné que ce sont des ressources accessibles publiquement. Cela veut dire que tout le monde peut y accéder. Ces ressources seront affichées au format JSON comme sur l’interface ci-dessous👇 fichiers JSON PostsComme vous le voyez dans l’interface ci-dessus, les articles sont affichés avec d’autres détails (filtre, ID…). La requête renseignée ci-dessus dans le navigateur a affiché toutes les publications.

Mais vous pouvez aller plus loin et spécifier la route en ajoutant l’ID d’une publication spécifique. Dans l’exemple, ci-dessous, nous avons demandé une publication dont l’ID est 26👇publication specifiqueMalheureusement, les navigateurs ne sont pas assez adaptés pour exécuter les tâches avancées dans les fichiers de votre site. Pour cela, vous devez utiliser WP-CLI pour accéder à l’API REST WordPress.

En fait, WP-CLI est l’interface de ligne de commandes pour communiquer avec WordPress depuis un terminal. WP-CLI peut vous permettre d’installer et gérer entièrement votre site WordPress à distance.

Si vous avez installé WordPress en local pour des raisons de tests, vous pouvez utiliser un terminal sur Mac ou sur le système Linux. Sur le système Windows, vous devez accéder à l’invite de commandes. Cependant, pour un site en production et hébergé sur un serveur en ligne, vous avez besoin d’un accès SSH.

Plus d'informations


Si vous êtes client de LWS, les accès SSH sont disponibles pour les formules suivantes :

Vous pouvez ensuite accéder à l’API REST de votre site WordPress en saisissant le chemin suivant dans votre terminal SSH :

votredomaine.fr/wp-json/wp/v2

Vous pouvez, ensuite, spécifier la route pour accéder à des ressources spécifiques tels que les pages, les articles, les catégories et les balises. Cela se fait en utilisant les points de terminaison.

Authentification de la connexion

Si vous n’arrivez pas à accéder à votre site, alors vous devez peut-être authentifier votre connexion. En fait, vous devez noter que les fichiers publics de votre site le resteront même lorsque vous souhaitez y accéder depuis l’API REST. Dans ce cas, l’authentification ne sera pas nécessaire. Et vous pouvez exécuter certaines requêtes sans cette dernière. C’est le cas par exemple, lorsque vous souhaitez afficher tous les articles publiés.

En revanche, les requêtes visant à modifier un article, mettre à jour un brouillon ou encore ajouter une page peuvent souvent nécessiter l’authentification. Ainsi, pour authentifier votre site, vous avez besoin d’installer une extension d’authentification. L’extension la plus facile à configurer est Basic Authentication handler. Elle fonctionne uniquement pour les sites utilisant une connexion SSL ou si vous déployez votre site dans un environnement de tests.

Vous pouvez en outre installer l’extension OAuth Server pour les connexions non sécurisées. L’extension Basic handler suppose que vous devez chaque fois authentifier votre connexion pour toutes les ressources qui ne sont pas publiques. Par exemple, pour les brouillons d’articles, vous devez envoyer la requête dont la forme est la suivante :

curl -X GET --user username:password -i http://yoursite.com/wp-json/wp/v2/posts?status=draft

Vous devez chaque fois renseigner votre mot de passe et votre identifiant.

Commandes d’interaction avec l’API REST WordPress

Une fois que vous êtes connecté à l’API REST de votre site, notez qu’il existe quatre commandes principales pour interagir avec celle-ci. Ces commandes déterminent la réponse que vous obtenez après avoir soumis une requête. Voyons en détail ces commandes et de quelle manière vous devez les intégrer pour valider vos requêtes.

Commande GET

Elle est apparemment la commande la plus utilisée dans l’API REST WordPress. Cette dernière permet de récupérer les données auprès du serveur et les afficher dans l’interface. Dans votre site WordPress, tout ce que vous pouvez récupérer peut être un article, une page, un utilisateur de votre site.

Vous pouvez par exemple, récupérer tous les articles publiés sur votre site en envoyant la requête suivante à l’API REST :

GET http://votredomaine.fr/wp-json/wp/v2/posts

Dans la réponse renvoyée, vous aurez tous les articles publiés sur votre site. De même, vous pouvez demander à l’API de renvoyer toutes les catégories créées sur votre site. Comme la route de catégories est /wp/v2/categories, pour les afficher, vous pouvez exécuter la commande ci-dessous :

GET https://votredomaine.fr/wp-json/wp/v2/categories

Prenez toujours le temps d’adapter la requête à votre situation en remplaçant par votre propre domaine. Mais si vous souhaitez aller plus loin et récupérer une catégorie spécifique, vous devez ajouter l’identité de la catégorie dans votre point de terminaison. Cela prend la forme suivante :

GET https://votredomaine.fr/wp-json/wp/v2/categories/<id>

Commande POST

La commande POST permet aux développeurs d’ajouter des données dans WordPress. Avec cette dernière, vous pouvez créer des nouveaux articles, des nouvelles catégories, ajouter des utilisateurs ou ajouter n’importe quelle autre donnée à votre site. Ainsi, si vous souhaitez par exemple créer une nouvelle page, vous devez interroger la requête dont la structure est la suivante :

POST https://votredomaine.fr/wp-json/wp/v2/pages/

Cette requête aboutit à la création d’une nouvelle page que vous pouvez récupérer en utilisant la commande GET tout en spécifiant l’ID de la page créée.

De la même manière, si vous souhaitez créer une nouvelle balise, vous devez exécuter la requête suivante :

POST https://votredomaine.fr/wp-json/wp/v2/tags/

Vous pouvez, ensuite suivre la même procédure pour récupérer la balise créée au niveau du serveur avec la commande GET.

Commande PUT

La commande PUT permet aux développeurs d’apporter des modifications aux données existantes. Vous pouvez par exemple, modifier des publications existantes, des catégories et des pages, etc. Mais pour modifier un élément spécifique, vous devez connaître son ID. Et cet ID doit être spécifié dans le point de terminaison à interroger.

La requête à exécuter ressemble à celle-ci :

PUT http://votredomaine.fr/wp-json/wp/v2/posts/26

La requête ci-dessus va rechercher la publication dont l’ID est 26 pour vous permettre d’y apporter des modifications ou le publier si cette dernière était encore en brouillon.

Vous pouvez aussi récupérer un commentaire spécifique et modifier son contenu en utilisant la requête suivante :

PUT https://example.com/wp-json/wp/v2/comments/<id>

Vous devez remplacer dans le chemin, l’ID correspondant au commentaire que vous souhaitez modifier.

Commande DELETE

La commande DELETE doit être utilisée avec beaucoup de précautions car elle permet de supprimer les éléments de votre base de données. Ici, lorsque vous souhaitez par exemple supprimer un article, la commande DELETE se comporte comme lorsque vous souhaitez supprimer la même publication depuis le tableau de bord de WordPress.

Par exemple, l’exécution de la requête ci-dessous renvoie l’article identifié premièrement dans la corbeille :

DELETE http://votredomaine.fr/wp-json/wp/v2/posts/24

Mais si vous souhaitez faire une suppression définitive, vous devez utiliser l’argumentforce. Alors, la requête à exécuter prend la forme suivante :

DELETE http://votredomaine.fr/wp-json/wp/v2/posts/24?force=true

De même, si vous souhaitez supprimer un commentaire, vous devez utiliser la commande ci-dessous :

DELETE https://votredomaine.fr/wp-json/wp/v2/comments/<id>

Vous devez remplacer l’identité correcte de votre commentaire. Pour éviter que, ce dernier soit renvoyé dans la corbeille et en faire une suppression définitive, vous devez appliquer l’argument force comme dans le cas susmentionné. En outre, si le commentaire est protégé par un mot de passe, vous pouvez utiliser l’argument password et correspondre le mot de passe relatif.

Comment désactiver l’API REST de WordPress ?

désactiver l'API REST WordPressIl est en effet possible de désactiver l’API REST de WordPress. Vous pouvez désactiver cette fonctionnalité si vous souhaitez empêcher aux applications tierces d’accéder et lire les données de votre site à votre insu. Mais cette procédure est fortement déconseillée.

Attention ! La désactivation de l’API REST entraîne la cassure de la fonctionnalité WordPress Admin. Vous pouvez envisager cela uniquement si vous connaissez ce que vous faites.

Il est plutôt judicieux de limiter les demandes d’accès en configurant un filtre d’authentification. Cette procédure consiste à limiter les accès externes en renvoyant une erreur de type WP_Error pour les connexions non authentifiées.

Corriger une erreur d’authentification via l’API REST WordPress

Parfois les utilisateurs qui exercent dans un environnement CGI (Common Gateway Interface) peuvent faire face à un échec d’authentification des en-têtes. Cela est éventuellement dû au serveur qui supprime ces en-têtes au moment de l’interaction avec le CGI. Si vous vous retrouvez dans cette situation, vous devez ajuster la configuration de votre serveur.

Sur un serveur de type Apache, ajoutez les lignes de codes suivantes dans le fichier .htaccess :

<IfModule mod_setenvif>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</IfModule>

Et si vous êtes sur un serveur Nginx, ajoutez le code ci-dessous à la section FastCGI de votre serveur :

fastcgi_pass_header Autorisation;

Une fois que vous avez terminé et enregistrez les modifications et réessayez la connexion à votre interface.

Conclusion

🥳Toutes nos félicitations, vous savez maintenant ce qu’est l’API REST WordPress et comment l’utiliser ! Cet outil vous permet d’accéder à votre site à distance sans utiliser l’espace d’administration. Vous pouvez accéder à l’API REST de WordPress en utilisant WP-CLI. Par le biais de l’API REST WordPress, vous pouvez gérer votre site, y ajouter du contenu, créer des pages ou encore supprimer le contenu existant, etc. Vous savez maintenant comment faire, il ne vous reste qu’à passer à l’action.

Besoin d’un hébergement WordPress rapide et de qualité ?

LWS vous conseille sa formule d’hébergement WordPress en promotion à -20% (offre à partir de 3,99€ par mois au lieu de 4,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l’offre

Utilisez vous l’API REST de WordPress ? Dites-nous tout en Commentaires !

Avatar de l'auteur

Auteur de l'article

Joseph

Bonjour, je m'appelle Joseph. Je suis rédacteur spécialisé dans WordPress, PrestaShop et d'autres CMS. Fort d'une expertise approfondie en PHP et MySQL, je partage mes connaissances à travers des tutoriels simples et accessibles. Passionné par le développement et la transmission de savoir, j'aime expliquer et rendre les concepts techniques compréhensibles pour tous

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.