La nouvelle API de services Web de Joomla 4 vous donnera la possibilité de créer une gamme de nouvelles intégrations pour Joomla.

Parmi les nouvelles fonctionnalités de Joomla 4 figure l'API des services Web. L'API des services Web vous offre un moyen plus propre de permettre à votre site Web de communiquer avec d'autres sites Web via des API. La flexibilité que cela apportera aux sites Web Joomla ne sera limitée que par votre imagination. Par exemple:

  • Vous pouvez utiliser l'API des services Web pour échanger des articles et du contenu entre différents sites Web d'un réseau. Par exemple, vous pouvez créer vos propres pages d'aide spécifiques au client dans un emplacement central, puis les déployer sur tous les sites Web des clients via l'API du service Web.
  • Vous pouvez utiliser l'API des services web pour connecter votre site web à une source de données tierce, telle qu'un annuaire professionnel avec sa propre API, puis utiliser l'API des services web Joomla pour remplir vos articles à partir de l'API de l'annuaire.
  • L'API du service Web peut être utilisée pour intégrer des bannières publicitaires dans le réseau du site Web et les rapports et les factures peuvent être intégrés directement dans Xero (NDT: Cela est possible également avec Dolibarr puisque nous l'avons fait sur des projets clients de l'agence Agerix).
  • Si la distribution de données est votre truc, l'API de service Web pourrait même être utilisée comme fournisseur de données pour un CMS headless.
  • Lors du salon JandBeyond de cette année, Carlos Cámara Mora a expliqué les services Web. À l'aide d'une démo, il a montré comment utiliser Joomla! 4 en utilisant l'API des services Web et Flutter peuvent créer une application Web progressive.
  • Si vous sortez des sentiers battus, vous pouvez même utiliser l'API du service Web pour gérer les appareils IoT (contrôle des appareils via Internet). Un exemple simple serait si un article sur le site Web reçoit un certain nombre de clics que votre lampe connectée change de couleur.
  • Le groupe d'utilisateurs de Joomla de Londres a fait une présentation très approfondie pour leur réunion de juin. Vous pouvez regarder leur atelier Code Along sur YouTube (le lien pointe vers le début de l'atelier) où ils montrent comment vous pouvez pousser et tirer des articles entre un site Web Joomla 3 et un site Web Joomla 4. 

Dans cet article, nous allons vous expliquer quelques conseils clés sur ce que vous devez savoir sur la configuration des éléments dans Joomla 4 afin d'utiliser l'API des services Web.

Notre série d'articles se poursuivra tous les deux mois jusqu'en 2021 pour examiner des exemples plus détaillés de la façon dont vous pouvez utiliser l'API Joomla Web Services. Si vous avez des idées d'articles sur la manière dont vous utilisez l'API des services Web, nous serions ravis d'écrire à ce sujet, alors n'hésitez pas à nous contacter.

Points de terminaison de l'API des services Web

La liste des points de terminaison des API Joomla Core couvre toutes les principales fonctionnalités de base de Joomla. En faisant défiler les points de terminaison, vous pouvez voir comment vous pouvez créer des appels d'API pour exploiter vos données Joomla et renvoyer des informations de différentes manières.

Chaque URL nécessite une authentification sauf si elle est désignée comme une URL publique. Pour la sécurité dans Joomla 4.0.0, l'application Api par défaut nécessite un jeton d'API Joomla super utilisateur (car l'application API est toute nouvelle). Cela peut se détendre à mesure que l'API se stabilise et est bien testée dans la communauté.

Le nouveau type de plugin webservices permettra également aux développeurs d'étendre leurs extensions pour qu'elles soient également disponibles via l'API Joomla 4 Web Services. Un exemple sur la façon dont cela peut être fait à l'aide du composant Liens web se trouve dans la documentation Joomla ici .

Jeton d'API Joomla de super utilisateur

L'API des services Web Joomla 4 évoluera au fur et à mesure que Joomla 4 mûrit, mais pour le moment, l'accès est limité à l'intégration à l'aide de comptes de super utilisateurs.

Pour obtenir votre jeton d'API Joomla afin de pouvoir utiliser l'API des services Web

  • Connectez-vous à votre backend d'administration Joomla 4
  • Allez dans le menu utilisateur (en haut à droite de l'écran)
  • Sélectionnez Modifier le compte
  • Cliquez sur l'onglet Joomla API Token

Ici, vous pouvez copier votre jeton, ainsi qu'activer ou désactiver le jeton et le réinitialiser si vous devez révoquer l'accès et générer un nouveau jeton. Notez que si vous avez choisi de réinitialiser votre jeton, partout où vous avez utilisé ce jeton ne fonctionnera plus tant que vous n'aurez pas mis à jour le jeton avec la nouvelle valeur.

Vous pouvez également modifier votre jeton via Utilisateurs> Gérer. Bien que vous ne puissiez pas voir le jeton pour les utilisateurs autres que vous-même, vous pouvez toujours activer, désactiver ou réinitialiser leur jeton. Par exemple, en cas de suspicion, leur jeton a été divulgué à des personnes non autorisées.

Pour configurer Postman dans la partie suivante de cet article, vous aurez besoin de votre jeton d'API Joomla, vous voudrez peut-être le copier maintenant, ou garder l'onglet ouvert pour revenir lors de la configuration de l'authentification dans Postman.

Comment tester les points de terminaison d'API de service Web

Dans une implémentation pratique, les points de terminaison d'API sont généralement appelés au niveau du serveur à l'aide de CURL ou sont intégrés dans d'autres appels de programmation. Mais lors de la création d'un outil compatible avec les services Web, il est agréable de pouvoir commencer à tester que les données que vous vous attendez à voir sont les informations qui sont réellement extraites par la demande d'API.

Pour tester les points de terminaison de l'API des services Web, vous pouvez utiliser une gamme d'outils.

  • CURL vous permettra de tester les appels API en utilisant une ligne de commande.
  • Vous pouvez également utiliser des outils comme PHP Storm qui vous permettent de tester les services Web RESTful .
  • Il existe également un outil appelé Postman qui est spécialement conçu pour tester les API.

Postman est l'outil que nous allons vous montrer comment utiliser aujourd'hui, facilité par le travail d' Alexandre Elise sur la compilation de la collection Postman de Joomla 4 API Endpoints sur GitHub. Ce fichier JSON pratique couvre tous les points de terminaison actuels et augmentera au fil du temps à mesure que d'autres seront disponibles.

  • La première chose dont vous aurez besoin est de télécharger et d'installer Postman .
  • Ensuite, vous devez télécharger la collection Postman de points de terminaison d'API Joomla 4 à partir de GitHub, où vous trouverez des instructions sur les étapes à suivre pour importer la collection dans Postman.
  • Une fois que vous avez installé la collection, modifiez les paramètres et collez votre jeton API Joomla dans l'onglet Autorisation.
  • Ensuite, allez dans l'onglet Variables et mettez à jour la variable base_path pour pointer vers votre site Web Joomla 4.
  • Enfin, utilisez l'un des points de terminaison GET pour tester que vos points de terminaison se connectent à votre site.

Si vous obtenez un résultat valide, vous êtes prêt à commencer à créer vos propres requêtes dans Postman pour tester l'API! Si vous recevez un message d'erreur Interdit, vous devrez peut-être vérifier davantage vos paramètres, en particulier le jeton API dans l'onglet Autorisation, qui doit avoir la valeur de clé définie sur X-Joomla-Token.

Le test d'application

Maintenant que vous avez configuré Postman, il existe plusieurs couches dans l'API des services Web. Nous n'allons pas entrer dans l'apprentissage de Postman en profondeur ici, ils ont un centre d'apprentissage pour vous aider.

Avec les services RESTful tels que l'API Joomla Web Services, il existe 5 types de méthodes HTTP généralement utilisées lors de l'exécution de commandes. Voici quelques exemples d'utilisation de chaque méthode.

POST - Permet de créer un nouvel enregistrement à l'aide du point de terminaison de destination

  • Créer un nouvel article ou une nouvelle catégorie à l'aide de l'API
  • Créer une nouvelle bannière publicitaire lorsqu'un enregistrement est créé dans un outil de gestion publicitaire
  • Créer un nouveau style de modèle
  • Créer un nouvel utilisateur sur le site

Pour que les méthodes POST fonctionnent efficacement, vous devez également fournir une chaîne JSON contenant les informations que vous souhaitez publier dans la base de données. Ce sera l'objet d'un prochain article sur JCM.

GET - Obtenez des données du site Joomla en utilisant un point de terminaison spécifique

  • Rechercher une liste d'articles sur le site Web
  • Interroger un article spécifique sur un site Web
  • Rechercher une liste de balises utilisées sur le site Web
  • Interroger une liste de redirections sur le site
  • En ajoutant des variables aux requêtes, vous pouvez concentrer les demandes de point de terminaison pour filtrer un enregistrement spécifique. Par exemple, l'ajout d'une valeur pour remplacer {{article_id}} dans un point de terminaison pour les articles vous permettra de ne renvoyer que les informations d'un seul article par opposition à la liste entière des articles.

Les méthodes GET sont les plus faciles à tester dans Postman car elles récupèrent des données à partir des points de terminaison, et vous pouvez ensuite voir les données JSON pour le résultat renvoyé dans Postman.

PUT - Remettre les données dans un point de terminaison

Les méthodes PUT sont destructives, en ce sens qu'elles mettent à jour l'enregistrement dans la base de données en le remplaçant par un nouvel enregistrement. Actuellement, l'API des services Web Joomla 4 n'a pas de points de terminaison PUT, préférant à la place utiliser PATCH qui est utilisé pour mettre à jour et modifier les enregistrements.

PATCH - Modifier les données via un point de terminaison

  • Corrigez un enregistrement de bannière pour modifier la date de publication de fin ou l'état de publication lorsque l'outil de gestion de la publicité doit s'arrêter et que l'annonce n'est pas diffusée temporairement.
  • Corrigez l'enregistrement d'un utilisateur pour mettre à jour dynamiquement sa liste de contrôle d'accès lorsqu'il a changé de rôle dans une entreprise à partir de son système RH.
  • Éléments du menu Patch pour modifier leurs attributs
  • Corrigez les remplacements de langue pour personnaliser les messages d'accueil saisonniers aux visiteurs de votre site Web

Les points de terminaison PATCH sont plus flexibles que les points de terminaison PUT. Pour PUT, l'enregistrement entier doit être réécrit dans la base de données, alors qu'avec un point de terminaison PATCH, vous pouvez mettre à jour uniquement les champs spécifiques d'un enregistrement.

DELETE - Supprimer des données à l'aide d'un point de terminaison

  • Supprimer un contact lorsqu'il quitte l'entreprise
  • Supprimer un remplacement de langue lorsqu'il n'est plus nécessaire
  • Supprimer un style de modèle
  • Supprimer une balise dont vous n'avez plus besoin

Les points de terminaison DELETE sont clairement ceux que vous devez utiliser avec prudence, car ils suppriment des données de votre base de données! Si vous souhaitez plutôt déplacer un article vers la corbeille, utilisez plutôt le point de terminaison PATCH.

Donc, avec ces 5 méthodes HTTP à l'esprit, vous pouvez maintenant jeter un œil aux 111 points de terminaison disponibles (au moment de la publication) et voir ceux que vous pouvez utiliser pour vos propres projets. Si vous trouvez quelque chose d'intelligent, commentez ci-dessous et nous pourrons peut-être partager ce que vous avez fait avec la nouvelle API de services Web Joomla 4 dans un prochain article du Joomla Community Magazine.

Ressources

Si vous souhaitez vous lancer, voici une gamme de ressources pour vous aider:

Article original : Joomla Web Services API 101 - Tokens, Testing and a Taste Test par Patrick Jackson

   
Laisser un commentaire

La soumission de commentaires est réservée aux adhérents de l'AFUJ. Merci de vous connecter pour soumettre un commentaire.

Connexion

Ce site utilise des cookies pour vous offrir le meilleur service.

En poursuivant votre navigation, vous acceptez l’utilisation de cookies sur ce site. En savoir plus

J'ai compris