L’API Rest de WordPress : bref survol de ses pouvoirs magiques

Les API Rest occupent une place centrale dans le domaine applicatif. En quoi consistent-elles exactement ? Basées sur les méthodes API (Application programming interface) et l’architecture REST (Representational State Transfer) elles permettent la distribution via une connexion Internet de données formatées (format xml ou plus couramment json) et réutilisables par des applications tierces.
Elles peuvent, entre autre, assurer l’actualisation de données d’une application mobile à partir d’un site ou dans le sens inverse, la mise à jour d’un site à partir de données issues d’un logiciel.

Potentiellement, tout site dynamique (CMS) qui contient des données en base susceptibles d’être exploitées par un service tiers peut faire l’objet d’un export json formaté selon le standard des API REST . C’est une option qui peut s’avérer utile lorsqu’on souhaite mettre en place un frontend dynamique en full javascript et affranchi des contraintes de chargement des pages.

L’API REST de WordPress

Depuis la version 4.7  WordPress propose une nouvelle API : API REST qui, une fois activée produira le fichier json contenant tout ou partie de ses données. Bien que l’API REST soit native, elle doit être activée pour mettre à jour le fichier d’interface json. Pour cela, il suffit d’activer la réécriture d’URL.

Réglages > Permaliens > {Choisir une option autre que ‘Simple’}

Pour les versions 4.5 et 4.6, une version incomplète de API REST était également implémentée. Cette version nécessite l’installation d’un plugin complémentaire pour jouer pleinement son rôle.

Dans ce cas, plutôt que d’utiliser un plugin supplémentaire, il est conseillé de faire la mise à jour vers une version actuelle.

Voici un exemple de code json, accessible dans le navigateur à partir de l’adresse nom de domaine/wp-json/ . C’est aussi l’adresse qu’utilisera l’application connectée) :

{
    "name":"IDF Mobilit\u00e9s",
     "description":"",
     "url":"https:\/\/www.monsite.fr",
     "home":"https:\/\/www.monsite.fr",
     "gmt_offset":2,
     "timezone_string":"Europe\/Paris",
     "namespaces":["oembed\/1.0","yoast\/v1","wp\/v2"],
     "authentication":[],
     "routes":{}
     "_links":{
    "help":[]
     }
 }

 

Description des tags json :

  • name : Le nom du site wordpress
  • description : Le slogan du site wordpress
  • url : L’adresse du site wordpress
  • home : L’adresse de la home du site wordpress (la page du blog)
  • routes : L’ensemble des actions proposées par cette API

Côté application tierce, il ne reste plus qu’à parser les données fournies et les exploiter en front ou en backend.

Parmi les objets et collections exploitables à partir de l’API, on retrouve les principales entités de WordPress : pages, articles, commentaires, taxonomies, tags, médias, utilisateurs.

Pour faciliter l’exploitation de ces données en js, l’API REST de WordPress comporte une librairie cliente compatible avec Backbone js . Le détail est donné sur le site officiel de WordPress :

https://developer.wordpress.org/rest-api/using-the-rest-api/backbone-javascript-client/)

Et plus généralement, la liste des services attachés l’API REST est présentée dans la doc en ligne de WordPress :

https://developer.wordpress.org/rest-api/using-the-rest-api/discovery/

 

A quoi peut servir l’API Rest de WordPress ?

Les usages de l’API sont variés et de plus en plus nombreux. En voici quelques exemples :

  • Création d’interfaces dynamiques, éventuellement offline.
    En effet, une fois les contenus du site transférés, leur exploitation peut se faire sur n’importe quelle sorte d’interface (dont js, java, C…) et si l’exploitation des données ne nécessite pas une mise à jour constante, on peut s’affranchir d’une connexion permanente.
  • Développement de versions mobiles.
    La liberté que l’API REST permet au niveau du front end en fait aussi un outil privilégié pour la création de versions mobiles autonomes.
  • Développement de plugins tels que les moteurs de recherche internes.
    La requète à  partir de json  est rapide et fluide, tout en épargnant les appels incessants à la base de données :  cela offre la souplesse de l’Ajax et s’intègre naturellement à des modules internes au site.

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.