Contenu du cours

Comment récupérer des données depuis une API JSON

Le traitement JSON permet d'importer des données JSON à partir d'une API pour, par exemple, les convertir au format CSV et les intégrer sur la plateforme Koumoul.

Dans ce tutoriel, nous verrons comment importer la liste des jeux de données publiés sur data.gouv.fr pour une organisation.

Découvrir l'API de data.gouv.fr

Le portail de données gouvernemental data.gouv.fr met à disposition des API.

Sur la page de la documentation de l'API, plusieurs éléments sont disponbiles.
La partie qui nous intéresse est la section datasets.
Cliquez sur la ligne de la requête GET /datasets/ (1) puis sur le bouton Try it out (2).
Le bouton try out permet de renseigner des valeurs dans les paramètres et d'executer une requete à l'API.


Nous executer une requete mais avant ça nous allons la requête en renseignant l'ID de l'organisation Koumoul dans les paramètres.

Vous pouvez retrouver l'ID de votre organisation en vous connectant sur votre compte data.gouv.fr et en cliquant sur votre organisation dans le menu.


Pour Koumoul, il s'agit de l'ID 589596c188ee3877169b81a4, que nous renseignons dans la section organisation de la documentation de l'API.


Cliquez sur le bouton Execute (4) qui se trouve plus bas dans la page et cliquez sur le bouton Download (5) pour obtenir le résultat de votre requête.


La requête envoyée est également disponible (encadré) :

https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=20&organization=589596c188ee3877169b81a4

Nous avons demandé d'envoyer la première page contenant vingt jeux de données pour l'organisation avec l'ID 589596c188ee3877169b81a4 (Koumoul).

Nous pouvons voir le résultat de cette demande en ouvrant le fichier JSON, que nous avons téléchargé (5), dans un éditeur de texte.


Sur le fichier JSON, nous constatons que la donnée est contenue dans la section data.

Créer un traitement d'import

Pour créer un traitement, vous devez disposer d'un plan avec des quotas de traitement et être administrateur de votre organisation.

Sur la page des traitements, ajoutez un traitement à l'aide du bouton d'action sur votre droite.

Choisissez le nom du traitement, sélectionnez le plugin Import d'API JSON et enregistrez-le.

Configurer le traitement

Sur la page de configuration, vous pouvez :

  1. Rendre le traitement actif ou inactif ;
  2. Choisir l'action du traitement : créer un jeu de données / mettre à jour un jeu de données de type fichier ou de type incrémental ;
  3. Renseigner le nom du jeu de données que vous allez créer sur la plateforme ;
  4. Regler la périodicité (mensuel, hebdomadaire ou horaire), ainsi que le jour et l'heure du traitement.

Comme vous pouvez le constater sur l'image, nous avons choisi de déclencher le traitement manuellement (aucune plannification) pour importer les jeux de données publiés par l'organisation Koumoul sur data.gouv.fr.

Dans la section Source de données, vous pouvez renseigner l'adresse de l'API.
Pour notre exemple, nous utilisons l'adresse concernant Koumoul :

https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=20&organization=589596c188ee3877169b81a4


Nous allons ensuite completer l'ognglet Champs à récuperer.

Nous avons vu que les données du fichier JSON étaient contenues dans la section data (1).


Nous allons ensuite ajouter un élément du fichier JSON (2) dans notre jeu de données.

Recherchez dans le fichier JSON les éléments qui vous intéressent.
Dans notre image, nous avons ajouter deux éléments title et created_at du JSON qui auront respectivement les noms de colonnes titre et date de création (3) dans notre jeu de données.

Nous pouvons ajouter d'autres éléments du fichier JSON tels que :

  • description : description du jeu de données,
  • uri : adresse du jeu de données,
  • id : idenfiant data.gouv.fr du jeu de données,
  • metrics.views : nombre de vues de la page sur data.gouv.fr


Exécutez le traitement pour créer votre jeu de données Jeux de données Koumoul sur Data.gouv.fr.

Le jeu de données contient les colonnes que vous avez renseignées dans le traitement.
Chaque ligne de votre jeu de données sur Koumoul, correspond à un jeu de données publié sur data.gouv.fr.

Méthode d'authentification

Cette partie du tutoriel n'est plus à jour et sera modifiée prochainement.

Si vous souhaitez accéder à des données privées, le traitement JSON vous permet d'utiliser différentes méthodes d'authentification.

Pour nous connecter à data.gouv.fr, nous allons utiliser la méthode par clé d'API, API key dans l'onglet Source de données.


La page du profil de votre compte data.gouv.fr vous permet de créer votre clé d'API.


Copiez la clé que vous venez de créer et copiez-la dans la section clé.


Exécutez à nouveau votre jeu de données.

Le traitement de données ajoute à nouveau les jeux de données publics de votre catalogue, ainsi que les jeux de données privés.


Si vous souhaitez obtenir le jeux de données de votre organisation, remplacez l'ID de l'organisation Koumoul dans l'URL de l'API 589596c188ee3877169b81a4 par la valeur de votre ID. https://www.data.gouv.fr/api/1/datasets/?page=1&page_size=20&organization=589596c188ee3877169b81a4

Vous pouvez également modifier la taille des pages &page_size=20 ou faire de la pagination si vous avez plus de 20 jeux de données publiés sur data.gouv.fr.

Si vous avez des remarques sur ce cours, n'hésitez pas à nous contacter pour nous en faire part.