API

De Communauté de la Fabrique des Mobilités
Aller à :navigation, rechercher

Exemples d'utilisation de l'API

Lister les acteurs :

  • Pour les acteurs avec une limite de 50 : https://wiki.lafabriquedesmobilites.fr/api.php?action=ask&query=[[Catégorie:Acteur]]|?Theme|?shortDescription&format=json
  • Pour éviter le offset à 50, et aller jusque 500 : https://wiki.lafabriquedesmobilites.fr/api.php?action=ask&format=json&query=[[Catégorie:Acteur]]|?Theme|?shortDescription|&limit=500
  • Pour sélectionner un Thème particulier, il faut remplacer |?Theme par [[Theme::nom du thème]], par exemple eXtrême Défi

Récupération des projets

L'URL pour requêter tous les projets est :

  • https://wiki.lafabriquedesmobilites.fr/api.php?action=ask&format=json&query=[[Catégorie:Projet]]|?Theme|?shortDescription|limit=500

Récupération des acteurs et des projets

  • Pour faire les lien entre les acteurs et les projets https://wiki.lafabriquedesmobilites.fr/api.php?action=ask&format=json&query=[[Cat%C3%A9gorie:Projet]]|?Theme|?shortDescription|?Acteur|limit=500

Lister les ressources et afficher leurs données autour des utilisateurs ainsi que leur description et mail :

  • http://wiki.lafabriquedesmobilites.fr/api.php?action=ask&query=[[Catégorie:Ressource]]|?ShortDescription|?Utilisateur|?Mail&format=json&format=json

Plus d'informations : http://wiki.lafabriquedesmobilites.fr/api.php

Bac à Sable de l'API : Spécial:ApiSandbox

Questions autour de l'utilisation des propriétés avec l'API

Il faut différencier la notion de propriété de la notion de champ de modèle.

Explication

Si on rajoute les noms des propriétés (et non pas le nom de leur champ) ils s'affichent bien. Par exemple, si l'on rajoute la propriété Tags :

Soit : |?Tags Et donc sur l'URL : http://wiki.lafabriquedesmobilites.fr/api.php?action=ask&query=[[Cat%C3%A9gorie:Acteur]]|?Theme|?Tags|?shortDescription&format=json

On a bien les tags qui s'affichent dans l'API

Pour connaître les noms des propriétés à appeler, il faut aller regarder dans les modèles. Par exemple, https://wiki.lafabriquedesmobilites.fr/index.php?title=Modèle:Acteur&action=edit et regarder dans la deuxième partie si une propriété a été associée au champ (les champs, ce sont les éléments de la première partie, les propriétés elle s'affichent avec des [[ ]] dans la seconde partie) :

Page wiki du modèle acteur : http://wiki.lafabriquedesmobilites.fr/index.php?title=Modèle:Acteur&action=edit

Page de la propriété **Tags** http://wiki.lafabriquedesmobilites.fr/wiki/Attribut:Tags

Attention :

  • Certaines propriétés n'ont pas encore été crées.
  • Certains champs des modèles n'ont pas encore de propriété associée (la majorité d'ailleurs), ou la propriété n'a pas encore été crée.

La liste des propriétés déjà existantes est là : https://wiki.lafabriquedesmobilites.fr/index.php?title=Spécial:Propri%C3%A9t%C3%A9s&limit=250&offset=0 (certaines sont pas encore configurées).

Pour créer une propriété, c'est ici : http://wiki.lafabriquedesmobilites.fr/wiki/Spécial:CreateProperty).

Une fois crée, il faut ensuite l'associer à un champ de modèle (une propriété peut être associée à plusieurs champs de modèles différents sur un même modèle ou sur plusieurs modèles). Voir ci dessous :

Exemple (acteur Aurizone) :

On a rajouté la propriété sur l'email dans le modèle Acteur avec cette commande : [[Poprietemail::{{{email|}}}]]

La voilà active : https://wiki.lafabriquedesmobilites.fr/wiki/Attribut:Poprietemail

Quand on va dans l'API et que l'onappelle la propriété, le champ email sort correctement pour l'acteur Aurizone :-))

http://wiki.lafabriquedesmobilites.fr/wiki/AURIZONE

Un deuxième lien affiche le nom réel de la "popriété"

http://wiki.lafabriquedesmobilites.fr/wiki/Spécial:Parcourir/:AURIZONE

Et donc, si on lance l'appel avec l'url query : http://wiki.lafabriquedesmobilites.fr/api.php?action=ask&query=[[Cat%C3%A9gorie:Acteur]]|?Theme|?Poprietemail|?shortDescription&format=json

Cela fonctionne.

Attention : Il faut éditer et sauvegarder l'acteur Aurizone pour mettre à jour la propriété (sans rien modifier, ou alors utiliser la fonction "purger la page")), sinon, il faut attendre quelques minutes - d'ailleurs 15mn, plus tard, on a une vingtaine d'acteurs qui remontent dans la page de la propriété ( http://wiki.lafabriquedesmobilites.fr/wiki/Attribut:Poprietemail ) qui sont autant d'informations que l'on retrouvera dans l'API. Au final, 226 seront associées.

Enfin, on peut modifier à tout moment les propriétés des champs de données et donc harmoniser tout cela ou se brancher sur une ontologie de notre choix sans avoir à modifier les champs. Cela met un peu de temps à se mettre à jour (genre quelques minutes) et ensuite on peut récupérer les infos

Ps : tous les panneaux d'administrations de mediawiki sont accessibles là : http://wiki.lafabriquedesmobilites.fr/wiki/Sp%C3%A9cial:Pages_sp%C3%A9ciales