API
Exemples d'utilisation de l'API
Lister les acteurs :[modifier | modifier le wikicode]
- 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[modifier | modifier le wikicode]
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[modifier | modifier le wikicode]
- 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 :[modifier | modifier le wikicode]
- 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[modifier | modifier le wikicode]
Il faut différencier la notion de propriété de la notion de champ de modèle.
Explication[modifier | modifier le wikicode]
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) :[modifier | modifier le wikicode]
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