Obtenez le meilleur plugin WordPress Backup
& Migration dès aujourd'hui
Obtenir Duplicator maintenant
Annonce de Duplicator Cloud

[Nouveau] Les sauvegardes dans le Cloud deviennent plus simples - Duplicator Cloud élimine le stockage par des tiers

Duplicator Cloud est une solution de stockage en nuage évolutive et abordable qui permet de sécuriser, d'organiser et d'accéder aux sauvegardes de votre site en une seule...
API REST WordPress

L'API REST de WordPress pour les débutants : Accédez à votre contenu n'importe où 

Écrit par : avatar de l'auteur Joella Dunn
avatar de l'auteur Joella Dunn
Joella est une rédactrice qui a des années d'expérience avec WordPress. Chez Duplicator, elle se spécialise dans la maintenance de sites - des sauvegardes de base aux migrations à grande échelle. Son but ultime est de s'assurer que votre site WordPress est sûr et prêt pour la croissance.
     Reviewed By : avatar de l'évaluateur John Turner
avatar de l'évaluateur John Turner
John Turner est le président de Duplicator. Il a plus de 20 ans d'expérience dans le domaine des affaires et du développement et ses plugins ont été téléchargés plus de 25 millions de fois.

L'API REST fait de WordPress quelque chose de plus qu'un système de gestion de contenu traditionnel. Il devient un cadre d'application.

D'autres programmes - qu'il s'agisse d'applications mobiles, de sites web personnalisés ou de services tiers - peuvent communiquer avec votre site WordPress, demander des données et même modifier le contenu.

Vous pourriez penser qu'il s'agit d'un domaine réservé aux développeurs. Ce n'est pas le cas.

L'API REST alimente des fonctions que vous utilisez probablement tous les jours. L'éditeur de blocs ? C'est l'API REST qui est à l'œuvre. Chaque fois que vous ajoutez un bloc ou que vous enregistrez un brouillon de message, vous faites des appels à l'API dans les coulisses.

Dans cet article, je vais expliquer ce qu'est l'API REST de WordPress, ce qu'elle fait réellement et comment la gérer sur votre site.

En voici les principaux enseignements :

  • L'API WordPress REST est intégrée au cœur de WordPress et permet à des applications externes de lire et de modifier votre contenu par le biais de simples URL.
  • Vous l'utilisez déjà ; l'éditeur de blocs s'appuie sur l'API REST pour chaque bloc que vous ajoutez et chaque brouillon que vous enregistrez.
  • Il permet de créer des applications WordPress sans tête, des applications mobiles et des applications à page unique en servant votre contenu sous forme de données JSON que n'importe quelle plateforme peut consommer.
  • Les points de terminaison publics (comme /wp-json/wp/v2/posts) fonctionnent immédiatement, mais la création ou la modification de contenu nécessite une authentification via les mots de passe d'application.
  • La plupart des problèmes liés à l'API REST (erreurs 404, échecs d'authentification) peuvent être résolus en réenregistrant vos permaliens ou en vérifiant la configuration de votre mot de passe d'application.

Table des matières

Qu'est-ce que l'API REST de WordPress ?

L'API WordPress REST est une interface intégrée qui permet à d'autres systèmes d'interagir avec vos données WordPress. Il s'agit d'un pont entre votre site WordPress et le monde extérieur.

Il est livré avec le noyau de WordPress. Vous n'avez pas besoin d'installer quoi que ce soit de plus ; il est déjà là, attendant d'être utilisé.

L'API utilise JSON (JavaScript Object Notation) comme format de données. JSON est un moyen léger de structurer les données sous forme de texte. Il est lisible par l'homme, ce qui signifie que vous pouvez le regarder et comprendre ce que vous voyez.

Un billet de blog en JSON ressemble à une liste ordonnée de propriétés : titre, contenu, auteur, date de publication, etc.

Voici pourquoi cela est important : l'API REST permet le "découplage". Vous pouvez gérer votre contenu dans WordPress mais afficher ce contenu n'importe où. Sur une application mobile. Sur un autre site web. Dans un kiosque numérique. Dans une application personnalisée que votre équipe a créée de toutes pièces.

Votre contenu ne se trouve qu'à un seul endroit. Mais il peut apparaître partout.

Qu'est-ce qu'une interface de programmation d'applications (API) ?

J'aime expliquer les API à l'aide de l'analogie du restaurant parce qu'elle fonctionne réellement.

Vous êtes assis à une table. Vous voulez manger. Mais vous ne pouvez pas entrer dans la cuisine et commencer à sortir des aliments du réfrigérateur. Vous avez besoin d'un intermédiaire : c'est le serveur.

Vous indiquez au serveur votre commande (votre demande). Le serveur la transmet à la cuisine (le serveur/la base de données). La cuisine prépare votre repas. Le serveur vous le rapporte (la réponse).

Une API est un serveur. C'est l'intermédiaire entre une application qui veut des données et le système qui possède ces données. L'API reçoit les demandes, communique avec les bons systèmes et fournit les résultats dans un format que l'application demandeuse peut comprendre.

Sans l'API, les applications auraient besoin d'un accès direct à votre base de données. Ce serait désordonné, peu sûr et presque impossible à gérer à grande échelle.

Qu'est-ce que le transfert d'état représentationnel (REST) ?

REST est un ensemble de règles architecturales pour la création d'API. Lorsqu'une API respecte ces règles, on dit qu'elle est "RESTful". L'API REST de WordPress suit ces principes, c'est pourquoi il y a "REST" dans son nom.

Voici les concepts de base :

Apatride

Le serveur ne se souvient pas des demandes précédentes. Chaque demande que vous faites doit inclure tout ce dont le serveur a besoin pour la traiter. Vous ne pouvez pas supposer que le serveur sait ce que vous avez demandé il y a cinq secondes.

Cela semble contraignant, mais c'est en fait ce qui rend les API REST évolutives. Le serveur ne gaspille pas ses ressources à suivre les états de session pour des milliers de demandes simultanées.

Client-Serveur

Le client (l'application qui fait les requêtes) et le serveur (votre site WordPress) sont complètement séparés. Ils peuvent être développés indépendamment l'un de l'autre. Votre application React ne se préoccupe pas de savoir si WordPress passe à la version 6.5 ou 7.0, tant que les points de terminaison de l'API restent cohérents.

Interface uniforme

Les API REST utilisent des méthodes HTTP standard telles que GET, POST, PUT et DELETE. Cette standardisation rend l'API prévisible. Les développeurs familiers avec REST peuvent prendre en main l'API WordPress rapidement car elle suit des conventions qu'ils connaissent déjà.

Ces principes ne sont pas seulement académiques. Ils rendent l'API REST de WordPress fiable, prévisible et facile à utiliser.

Que fait l'API REST de WordPress ?

L'API REST expose les données de WordPress par le biais d'URL appelées "endpoints". Un point d'accès est une adresse spécifique à laquelle vous pouvez demander des données particulières.

Par exemple : /wp-json/wp/v2/posts est le point de terminaison pour les articles de votre blog. Visitez cette URL sur votre site et vous obtiendrez une réponse JSON contenant vos articles - titres, contenu, auteurs, images vedettes, tout.

Il s'agit de la technologie qui alimente l'éditeur de blocs. Lorsque vous travaillez dans Gutenberg, chaque action que vous effectuez déclenche un appel à l'API.

Ajouter un bloc de paragraphe ? Appel API. Télécharger une image ? Appel API. Sauvegarder votre brouillon ? Appel API. L'interface de l'éditeur est essentiellement une application JavaScript qui communique avec votre site WordPress via l'API REST.

L'API permet des opérations CRUD programmatiques (créer, lire, mettre à jour et supprimer). Vous pouvez effectuer toutes ces opérations sur votre contenu sans jamais ouvrir le tableau de bord de WordPress.

En tant que développeur, vous pouvez écrire un script qui crée 100 messages en cinq secondes. Ou rassembler tous vos articles du mois dernier et générer un rapport. Ou mettre à jour tous les articles étiquetés "périmés" avec une bannière d'avertissement.

Les possibilités s'élargissent considérablement lorsque vous réalisez que WordPress n'est plus un simple site web, mais une API de contenu qui permet également de créer des sites web.

Commandes courantes de l'API REST

L'API REST utilise des méthodes HTTP standard pour effectuer différentes actions. Voici ce que fait chacune d'entre elles :

Méthode HTTPActionExemple
GETRécupérer les données du serveurRécupérer une liste de tous les articles publiés
POSTCréer de nouvelles donnéesAjouter un nouvel article de blog ou une nouvelle page
PUT / PATCHMise à jour des données existantesModifier le titre d'un message existant
DELETESupprimer les donnéesSupprimer un commentaire ou un fichier multimédia

Les requêtes GET sont en lecture seule. Tout le monde peut les effectuer car elles ne modifient pas vos données. Si vous visitez un point d'accès public dans votre navigateur, vous effectuez une requête GET.

Les autres méthodes modifient vos données. Elles nécessitent une authentification. WordPress doit vérifier que vous avez la permission de créer, de mettre à jour ou de supprimer du contenu avant de traiter ces demandes.

Comment accéder à l'API REST de WordPress

L'API REST est activée par défaut sur tous les sites WordPress fonctionnant avec la version 4.7 ou supérieure. Le chemin de base est /wp-json/.

Vous pouvez le tester dès maintenant.

Ouvrez un nouvel onglet de navigateur et naviguez vers yourdomain.com/wp-json/. Vous verrez une réponse JSON répertoriant toutes les routes API disponibles. Ce n'est pas très joli, mais cela confirme que votre API fonctionne.

Vous voulez voir vos messages ? Essayez votredomaine.com/wp-json/wp/v2/posts. Vous obtiendrez un tableau JSON de vos articles publiés, avec toutes leurs métadonnées.

Ces points de terminaison publics n'affichent que les données déjà visibles publiquement sur votre site. Mais qu'en est-il des actions qui modifient les données, comme la création d'articles, la mise à jour de pages ou la suppression de commentaires ?

Ceux-ci nécessitent une authentification.

WordPress supporte deux méthodes d'authentification principales. L 'authentification par cookie fonctionne pour les requêtes provenant d'un même domaine (comme l'éditeur de blocs).

Pour les applications externes, vous utiliserez des mots de passe d'application. Il s'agit de jetons de 24 caractères que vous générez dans WordPress, spécialement conçus pour l'accès aux API. Ils sont plus sûrs que votre mot de passe réel car vous pouvez les révoquer individuellement sans modifier vos identifiants de connexion principaux.

Pour en créer un, allez dans Utilisateurs " Profil. Recherchez les paramètres des mots de passe d'application et créez-en un nouveau.

Mot de passe de l'application utilisateur de WordPress

Ensuite, accédez à l'API REST avec ceci :

https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer[Password]

Veillez à remplacer [Mot de passe] par le mot de passe de votre application et à supprimer les espaces.

Sinon, vous pouvez utiliser un plugin comme JWT Authentication for WP REST API.

Les mots de passe d'application sont la méthode préférée. Ils sont sûrs, ils peuvent être suivis et ils n'exposent pas votre mot de passe réel à des applications tierces.

Pour tester la connexion, utilisez cette commande dans une ligne de commande :

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

Comment utiliser l'API REST de WordPress : Cas d'utilisation courants

Maintenant que vous savez ce qu'est l'API REST et comment elle fonctionne, examinons les scénarios pratiques dans lesquels il est judicieux de l'utiliser.

WordPress sans tête

Il s'agit de l'utilisation de WordPress uniquement comme outil de gestion de contenu. Vos visiteurs ne voient jamais de thème WordPress. Au lieu de cela, vous construisez un frontend personnalisé en utilisant un framework JavaScript comme React, Vue ou Next.js.

Ce frontend récupère le contenu de l'API REST de WordPress et le rend comme vous le souhaitez. Vous bénéficiez des excellents outils de gestion de contenu de WordPress, associés à une liberté de conception totale sur le frontend.

Applications mobiles

Vous pouvez alimenter une application native iOS ou Android entièrement avec le contenu de votre site WordPress. L'application fait des requêtes API pour récupérer les articles, afficher les images et les commentaires.

Votre équipe de contenu gère tout à partir du tableau de bord WordPress qu'elle connaît déjà. Les développeurs d'applications ne touchent jamais au CMS.

Applications à page unique (SPA)

Il s'agit d'applications web qui ne se chargent qu'une seule fois et qui récupèrent ensuite le nouveau contenu de manière dynamique, sans rechargement complet de la page. L'expérience de l'utilisateur est plus rapide et ressemble davantage à une application.

C'est ainsi que fonctionne Gmail. Lorsque vous cliquez entre deux courriels, la page n'est pas rechargée - le JavaScript récupère le contenu des courriels par l'intermédiaire d'une API. Vous pouvez créer la même expérience avec le contenu de WordPress.

Synchronisation des données

Tirer des données de WordPress vers une autre plateforme, ou pousser des données d'un service externe vers WordPress.

J'ai vu cela utilisé pour synchroniser les informations sur les produits entre WordPress et les systèmes de gestion des stocks. Ou pour créer automatiquement des articles WordPress à partir de données collectées dans un CRM.

L'API REST permet ces intégrations sans manipulation complexe de la base de données.

Quand ne pas utiliser l'API REST

Si vous gérez un blog ou un site web commercial simple, vous n'avez probablement pas besoin de toucher directement l'API REST. Un thème WordPress traditionnel s'en charge parfaitement.

Lorsque la vitesse de chargement de la page initiale est votre priorité absolue, un thème rendu serveur sera souvent plus rapide.

Les configurations "headless" nécessitent l'utilisation de JavaScript pour récupérer et rendre le contenu, ce qui ajoute de la latence. Pour les sites à fort contenu où chaque milliseconde de temps de chargement compte, l'architecture traditionnelle de WordPress peut mieux vous servir.

Si un plugin fiable et bien supporté résout déjà votre problème d'intégration, utilisez-le. Ne créez pas une solution d'API REST personnalisée simplement parce que vous le pouvez.

Les plugins sont maintenus, testés et mis à jour. Une intégration personnalisée est une dette technique que vous devrez gérer.

L'API REST est puissante. Mais la puissance sans objectif crée une complexité inutile.

Comment désactiver l'API REST de WordPress

Je dois commencer par un avertissement : la désactivation complète de l'API REST va briser l'éditeur de blocs. Il est probable que plusieurs plugins soient également désactivés. Si vous la désactivez complètement et que vous vous demandez ensuite pourquoi Gutenberg a cessé de fonctionner, voici pourquoi.

La meilleure approche est la restriction, et non la désactivation. Vous pouvez exiger une authentification pour tous les points de terminaison de l'API. L'éditeur de blocs reste ainsi fonctionnel pour les utilisateurs connectés, tout en bloquant l'accès anonyme aux points de terminaison publics.

Si vous souhaitez absolument désactiver l'API REST, je vous recommande d'utiliser un plugin comme WPCode. Il dispose d'un extrait de code intégré qui gère cette tâche pour vous.

Désactiver l'API REST avec WPCode

Sélectionnez l'extrait de code et insérez-le automatiquement dans votre site. Activez et mettez à jour l'extrait de code pour enregistrer vos modifications.

Insertion automatique d'un snippet en WPCode

Comment résoudre les problèmes courants liés à l'API REST

Même si l'API REST est activée et fonctionne, vous rencontrerez parfois des problèmes. Voici les problèmes les plus courants que j'ai rencontrés et la manière de les résoudre.

404 Non trouvé

C'est l'erreur que je vois le plus souvent. Vous essayez d'accéder à un point de terminaison de l'API, et WordPress renvoie un 404 comme si la page n'existait pas.

Neuf fois sur dix, il s'agit d'un problème de permaliens. WordPress utilise des règles .htaccess (sur les serveurs Apache) pour acheminer correctement les requêtes API. Parfois, ces règles sont corrompues ou ne se régénèrent pas correctement après une migration ou un changement de serveur.

Allez dans Réglages " Permaliens dans votre tableau de bord WordPress. Ne changez rien. Cliquez simplement sur Enregistrer les modifications. WordPress régénère les règles de réécriture, et votre API recommence à fonctionner.

Permaliens WordPress

Erreurs d'authentification 401 ou 403

Un code 401 signifie "non autorisé" - vous n'avez pas fourni d'informations d'identification. Un 403 signifie "interdit" - vous avez fourni des informations d'identification, mais elles ne sont pas autorisées à effectuer cette action.

Vérifiez que le mot de passe de l'application est correctement saisi (pas d'espace, nom d'utilisateur correct). Vérifiez que le compte d'utilisateur a les capacités nécessaires pour ce que vous essayez de faire.

Conflits de plugins ou de thèmes

Parfois, un plugin ou un thème mal codé interfère avec la fonctionnalité de l'API REST. Utilisez le processus de dépannage standard de WordPress : désactivez tous les plugins, adoptez un thème par défaut (comme Twenty Twenty-Four) et testez l'API.

Si cela fonctionne, réactivez les plugins un par un jusqu'à ce que vous trouviez le coupable. Contactez ensuite le développeur de ce plugin ou trouvez une alternative.

Erreurs CORS

Ils apparaissent dans la console de votre navigateur lorsqu'une application web d'un domaine tente d'accéder à l'API d'un autre domaine. CORS (Cross-Origin Resource Sharing) est une fonction de sécurité du navigateur. Il bloque ces demandes par défaut.

La solution consiste à ajouter des en-têtes HTTP spécifiques sur votre serveur WordPress qui autorisent explicitement les requêtes provenant du domaine de votre application. Cela implique généralement de modifier votre fichier .htaccess ou de configurer les en-têtes dans votre panneau de contrôle d'hébergement.

Si vous voyez des erreurs CORS, vous travaillez avec une configuration sans tête ou découplée, et vous aurez besoin d'un accès au niveau du serveur pour les résoudre.

Foire aux questions (FAQ)

L'API de WordPress est-elle sûre ?

Oui, l'API principale de WordPress est sécurisée de par sa conception. Elle respecte le système de rôles et de capacités des utilisateurs de WordPress, et les points de terminaison publics n'exposent que les données qui sont déjà visibles publiquement sur votre site.

Puis-je intégrer l'API dans WordPress ?

Oui, de deux manières : d'autres applications peuvent se connecter à l'API REST de votre site WordPress pour lire ou modifier le contenu, ou vous pouvez utiliser WordPress pour vous connecter à des API tierces telles que des services météorologiques ou des processeurs de paiement.

Comment protéger mon API WordPress REST ?

Utilisez des mots de passe d'application pour l'authentification, appliquez le protocole HTTPS à l'ensemble de votre site et maintenez le noyau, les thèmes et les plugins de WordPress à jour. Envisagez d'ajouter un pare-feu d'application Web (WAF) pour filtrer les requêtes malveillantes.

Quelle est la capacité de l'API REST de WordPress ?

L'API fournit un accès programmatique aux articles, pages, utilisateurs, taxonomies, médias, commentaires et paramètres. Des plugins tels que WooCommerce peuvent ajouter leurs propres points de terminaison personnalisés pour des fonctionnalités supplémentaires.

L'avenir est connecté

L'API WordPress REST transforme WordPress d'un système de gestion de contenu traditionnel en un véritable cadre d'application. Il ne s'agit plus seulement de créer des sites web, mais de rendre votre contenu disponible partout où vous en avez besoin.

Cette API est le pont. Elle relie WordPress aux applications web modernes, aux applications mobiles et aux services tiers. Comprendre son fonctionnement vous permet de prendre de meilleures décisions concernant l'architecture de votre site, de résoudre les problèmes plus rapidement et de communiquer plus efficacement avec les développeurs.

Les données de votre site WordPress sont le moteur de tout, des pages que vos visiteurs voient au contenu que votre API REST sert à d'autres applications. La protection de ces données n'est pas négociable.

Duplicator Pro vous offre un moyen fiable de sauvegarder l'ensemble de votre installation WordPress. Avant de commencer à expérimenter une installation sans tête ou de connecter une nouvelle application, lancez une sauvegarde complète. Avec Duplicator Pro, vous pouvez programmer des sauvegardes automatiques et avoir l'esprit tranquille en sachant que votre précieux contenu est en sécurité.

Pendant que vous êtes ici, je pense que vous aimerez ces autres ressources WordPress triées sur le volet :

avatar de l'auteur
Joella Dunn Rédactrice de contenu
Joella est une rédactrice qui a des années d'expérience avec WordPress. Chez Duplicator, elle se spécialise dans la maintenance de sites - des sauvegardes de base aux migrations à grande échelle. Son but ultime est de s'assurer que votre site WordPress est sûr et prêt pour la croissance.

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, il se peut que nous recevions une commission. Nous ne recommandons que des produits dont nous pensons qu'ils apporteront une valeur ajoutée à nos lecteurs.