API

From Communauté de la Fabrique des Mobilités

Exemples d'utilisation de l'API

Lister les acteurs :[edit | edit source]

  • 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[edit | edit source]

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[edit | edit source]

  • 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 :[edit | edit source]

  • 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[edit | edit source]

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

Explication[edit | edit source]

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) :[edit | edit source]

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