Hypertext Application Language

Hypertext Application Language (HAL) est une convention pour définir l'hypermedia, tels que les liens vers des ressources externes, à l'intérieur de code JSON ou XML. C'est documenté dans un internet draft (un « travail en cours »), avec la dernière version 11 publiée le 10 octobre 2023. Le standard est initialement proposé en juin 2012 spécifiquement pour être utilisé avec le JSON, mais est devenu accessible en deux versions JSON et XML. Chacun associé à des types MIME : application/hal+xml et application/hal+json[1].

HAL a été créé pour être simple à utiliser et facilement applicable dans différents domaines, sans imposer de prérequis sur la structure du projet. En maintenant un impact minimal, HAL permet aux développeurs de créer des bibliothèques polyvalentes qui peuvent être facilement intégrées dans toute API utilisant HAL.

Les APIs qui utilisent HAL simplifient leur utilisation en open source et permettent l'interaction avec d'autres API utilisant du JSON ou du XML. Une alternative serait de développer un format propriétaire, ce qui obligerait toutefois les développeurs à apprendre à utiliser ce format étranger[2].

Convention

modifier

HAL est structuré de manière à représenter les éléments selon deux concepts : Ressources et Liens. Les ressources comprennent des liens URI, des ressources intégrées, les données standards (que ce soit en JSON ou en XML) et des liens non-URI. Les liens possèdent une URI cible, ainsi que le nom du lien (appelé 'rel'), ainsi que des propriétés optionnelles conçues pour prendre en compte la dépréciation et la négociation de contenu.

Exemple

modifier

Voir aussi

modifier

Références

modifier
  1. Richardson et Ruby Mike Amundsen; foreword by Sam, RESTful Web APIs, O'Reilly, (ISBN 978-1-4493-5806-8), chap. 7
  2. « The Hypertext Application Language », sur stateless.group (consulté le )