Schéma JSON de l’API
Pour la nouvelle mouture du site de Sens public (basé sur un moteur BaseX), on veut exposer les données sous forme d’une API en lecture seule.
Quelques questions dans ce travail de restructuration :
- de quels endpoints a-t-on besoin ? (c’est à moi d’y répondre en formulant mes besoins à partir de la structure du front)
- quelles sont les données contenues dans ces endpoints ? (là encore, c’est à moi de demander)
- puisqu’on veut API-fier les données, il faudrait donc produire une « spécification » (éventuellement versionnable pour assurer la conformité du modèle de données dans le temps, à tout le moins une certaine compatibilité) – il me semble que cela serait pertinent dans mon exercice de demandes de données.
Piste à suivre
Produire une spécification des données en JSON-Schema.
Un écosystème d’outillage existe pour valider des données, un peu comme pour les schémas XML.
Rédiger un modèle de données ferait ainsi d’une pierre deux coups : une liste structurée pour maintenant, et un début de spécification pour l’API publique plus tard.
Liste des routes (sous /api/v1)
-
/homepage.json:homepage.schema.json– page d’accueil -
/articles/[id].json:article.schema.json– article individuel -
/dossiers/[id].json:dossier.schema.json– dossier individuel -
/authors/[id].json:author.schema.json– auteur -
/keywords/[id].json:keyword.schema.json– mot-clé -
/pages/[slug].json:page.schema.json– page ordinaire
Edited by Louis-Olivier Brassard