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.🤗
Une solution clés en main pour créer un site WordPress ?
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.
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 ?
La 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.
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.
Les bases du fonctionnement de l’API REST WordPress
Le 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.
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
Jusqu’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.
Besoin d'un serveur privé virtuel VPS sécurisé ?
LWS vous conseille sa formule d’hébergement sur VPS en promotion à -75% (offre à partir de 4,99€ par mois au lieu de 19,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.
Comment accéder et utiliser l’API REST de 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👇 Comme 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👇Malheureusement, 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 :
- Formules d’hébergement mutualisé cPanel
- Serveurs VPS cPanel et VPS ISPconfig
- Formules d’hébergement web mutualisé avec LWS Panel
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 ?
Il 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.
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'une solution de sauvegardes en ligne ?
LWS vous conseille sa formule de sauvegarde Cloud Drive en promotion à -50% (offre à partir de 3,99€ par mois au lieu de 7,99 €). Non seulement vos données sont sauvegardées en France mais vous profitez en plus d’un support exceptionnel.
Utilisez vous l’API REST de WordPress ? Dites-nous tout en Commentaires !
Commentaires (0)