Guides en français pour créer un site Wordpress, Prestashop – Tutoriels LWS

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

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.🤗

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.

Découvrir l'offre

Prérequis

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.

Découvrir l’offre

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.

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 :

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 :

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.

Découvrir l'offre

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 :

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.

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'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.

Découvrir l'offre

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

Quitter la version mobile