API
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
Français
English
Italiano