Création d'INFOJUNE

TADAM !!!
Pour plus de décentralisation, l’API REST pour Infojune est disponible sur https://infojune.fr/api

Exemples :

Le code source du plugin (CMS SPIP) est disponible sur gitlab.

1 Like

Bravo !

Moyen de rewrite l’url pour quelque chose de plus court ?

genre https://infojune.fr/api/langues ?

1 Like

C’est fait :wink: https://infojune.fr/api/

J’ai le cerveau en feu mais j’ai écrit cette regex (sans chatGPT parce qu’il m’a dit de la merde :stuck_out_tongue: ) mais avec https://regex101.com/

rewrite ^/api(\/(.*))?$ /spip.php?action=api_http&arg=ezrest/$2 last;

@ManUtopiK Maintenant y’a moyen de récupérer le contenu d’InfoJune pour le site monnaie-libre.fr :wink:

2 Likes

Génial ça !
Et est-ce qu’il y a la possibilité via l’api de soumettre une entrée ?

1 Like

Pas avec le plugin que j’utilise. Il expose une API REST limitée à la méthode GET. Mais y’aurait-il un intérêt à proposer une entrée par l’API ? Infojune dispose déjà de son propre formulaire de suggestion.

Je suis passé rapidement à une v2 qui rajoute pas mal de choses comme les logos, la liste complète des liens, les champs parents et enfants, etc. : https://infojune.fr/api/

Vous pouvez faire une recherche avec par exemple : https://infojune.fr/api/liens?search=duniter

Aujourd’hui, j’ai découvert https://swagger.io/.

Donc voici la documentation de l’API d’infojune qui vous permet de la tester en live !!!

1 Like

As-tu regarder ce framework : https://api-platform.com/ ?

J’en avais entendu parler quand je développais sous Symfony.
Il ont bien évolués et on peut générer aussi du GraphQL et des client Nuxt.js en scaffolding !

Je crois qu’il respecte la spec OpenAPI comme Swagger pour le REST.

1 Like

En effet j’ai découvert le standard Open API seulement hier :stuck_out_tongue: C’est la première fois que code une API depuis presque 10 ans (quand j’avais repris les études en informatique).

Infojune a été réalisé avec le CMS PHP SPIP car c’était rapide à mettre en place. Au départ, je n’avais pas prévu de faire une API. Donc je cherchais un outil juste pour la doc puisque l’API est déjà codée via un plugin SPIP. Si un jour, je veux en refaire une, j’essaierai d’utiliser des outils plus “modernes”.

En tous cas, ça peut être utile merci :slight_smile:

2 Likes