Permalink
292 lines (151 sloc) 19.2 KB

API de NosDéputés.fr & NosSénateurs.fr

Une API a été développée pour offrir un accès Open Data simplifié aux données de NosDéputés.fr et NosSénateurs.fr aux formats XML, JSON et CSV.

Sommaire

Explications

  • Format : La plupart des exemples fournis ci-dessous sont donnés au format XML pour permettre plus de lisibilité dans le navigateur web. Veuillez remplacer xml en json ou csv pour accéder aux autres formats. Pour forcer l'affichage dans le navigateur, vous pouvez utilisez l'option ?textplain=true.

  • Encoding : les données sont proposées en utf-8. Si vous vous retrouvez face à des caractères kabbalistiques, cela signifie qu'il vous faut régler l'encodage dans les options du logiciel avec lequel vous manipulez les données. Si votre tableur ne vous permet de spécifier l'encodage, vous pouvez rajouter l'option ?withBOM=true à la fin des adresses des fichiers CSV que vous cherchez à télécharger.

  • Anciennes législatures Assemblée : l'accès aux données de NosDéputés.fr pour les précédentes législatures est accessible de manière permanente en remplaçant www.nosdeputes.fr par les adresses suivantes :

    • pour la 13ème législature : 2007-2012.nosdeputes.fr
    • pour la 14ème législature : 2012-2017.nosdeputes.fr
  • Sénat : les exemples donnés ci-dessous se réfèrent à NosDéputés.fr, mais vous pouvez utiliser l'API de NosSénateurs.fr suivant les mêmes schémas en remplaçant nosdeputes.fr par nossenateurs.fr dans chaque adresse.

  • SSL : les exemples fournis utilisent les adresses sécurisées HTTPS de nos sites, mais vous pouvez remplacer https par http lorsque vous le souhaitez.

L'ensemble des données de ces différents sites est par ailleurs mis à disposition en bloc sous la forme de dumps SQL. Retrouvez les détails ainsi que d'autres données parlementaires ici.

Liste des parlementaires

Liste des organismes (commissions, groupes, etc)

Détails de chaque parlementaire

Chaque parlementaire dispose d'un slug, identifiant unique proche du nom complet, employé dans les adresses d'accès aux données le ou la concernant.

Vous pouvez retrouver ces identifiants au sein des listes des parlementaires ou les deviner : par exemple pour Nathalie Appéré : nathalie-appere ou pour Pierre Morel-A-L'Huissier : pierre-morel-a-l-huissier.

Données d'activité des parlementaires

Documents et débats parlementaires

  • Contenu des travaux :

    Tous les contenus textuels des différents travaux parlementaires (organismes, débats, amendements, questions, rapports, propositions de loi) sont indexés dans le moteur de recherche et peuvent donc être individuellement retrouvés et filtrés à travers cette API (voir plus bas).

    Les résultats de la recherche renvoient les urls des données détaillées de chaque élément accessible via l'API.

    Attention : l'Assemblée nationale n'ayant commencé à rendre publics les amendements déposés lors de l’examen des textes en commission qu'à partir de mai 2013 (un an après le début de la 14ème législature), seuls ceux déposés en hémicycle sont disponibles pour la 13ème législature et le début de la 14ème.

  • Liste des dossiers législatifs (à partir de la 15ème législature uniquement pour l'Assemblée) :

  • Détails d'un dossier législatif (à partir de la 15ème législature uniquement pour l'Assemblée) :

    Plus de détails sont disponibles pour chaque dossier : listes des documents associés, des séances, des intervenants et des sous-sections.

    Par exemple : https://www.nosdeputes.fr/15/dossier/1/xml

    Note : Comme les dossiers, ces accès peuvent être filtrés par dossier législatif en utilisant l'identifiant officiel du projet de loi sur les sites de l'institution retrouvable à la fin des urls dédiées, par exemple pour le projet de loi transparence :

  • Tous les amendements déposés sur un texte :

    Les amendements sont disponibles à partir des numéros des lois correspondantes.

    • À l'Assemblée nationale, par exemple pour le projet de loi initial relatif à la transparence de la vie publique (n° 1005) sous la 14ème législature : https://www.nosdeputes.fr/14/amendements/1005/xml

      Attention pour l'Assemblée à bien ajuster également le numéro de législature.

    • Au Sénat, par exemple pour le texte sur la transparence présenté en commission (n° pjl12-689) après son passage à l'Assemblée : https://www.nossenateurs.fr/amendements/20122013-689/xml

      Attention pour le Sénat a bien reformater la partie année de l'identifiant de loi sous sa forme complète : ppl15-xxx -> 20152016-xxx, pjl12-xxx -> 20122013-yyy.

  • Cosignatures d'amendements sur un texte (expérimental) :

    Un export expérimental de données de type "graphe" (uniquement au format json) indiquant les liens entre parlementaires ayant signé ou cosigné des amendements identiques sur un texte donné est accessible en remplaçant le format par links/json dans l'url, par exemple pour le texte transparence à l'Assemblée : https://www.nosdeputes.fr/14/amendements/1005/links/json

  • Débats parlementaires sur un texte :

    Comme pour les amendements, les débats sont accessibles par numéro de loi du texte correspondant. L'accès se fait en deux temps : tout d'abord en obtenant la liste des séances correspondantes, puis en accédant à la liste des interventions pour chaque séance.

    Les exemples ci-dessous s'appliquent au projet de loi initial sur la transparence discuté par l'Assemblée sous la 14ème législature.

Résultats du moteur de recherche

Tous les résultats du moteur de recherche sont également accessibles via l'API : il suffit de rajouter le paramètre format=[xml|json|csv] à l'url de recherche.

Exemple : résultats d'une recherche sur « OpenData » https://www.nosdeputes.fr/recherche/données?format=xml

  • Pagination :

    Les résultats indiquent un total de résultats lastResult et sont délivrés par lots de 50 ou count (maximum 500), numérotés de start à end.

    Ajoutez à l'url le paramètre &page=N pour accéder aux résultats de la page N (contenant les éléments n° count*(N-1)+1 à count*N).

    Exemple : résultats de la 2nde page d'une recherche sur « Internet » https://www.nosdeputes.fr/recherche/internet?page=2&format=xml

  • Filtrage :

    Différents paramètres peuvent être ajoutés aux requêtes de recherche et combinés pour préciser les résultats.

    Vous pouvez restreindre les résultats à :

  • Statistiques :

    Vous pouvez également obtenir des statistiques agrégées sur les résultats d'une recherche (au format JSON uniquement) via les options suivantes :

    • Répartition par députés : &parlfacet=1

    • Répartition par mots-clés associés : &tagsfacet=1

    • Répartition temporelle : &timefacet=1

    (par périodes d'un mois si la période considérée dépasse 90 jours, par jour sinon)

Librairie Python CPC-API

Certains des points d'entrée de cette API sont accessibles de manière simplifiée en langage Python à l'aide du paquet pip cpc-api dont le code source est disponible ici.

Module PowerShell RegardsCitoyensPS

L'API est également accessible depuis PowerShell (sous Windows, MAC & Linux) à l'aide du module RegardsCitoyensPS réalisé indépendamment par @StephaneVG. Plus de détails sont disponibles sur la page du projet.

ParlAPI.fr : API sur l'OpenData officielle de l'AN et du Sénat

Complémentaires des données de NosDéputés.fr et NosSénateurs.fr, les plateformes OpenData de l'Assemblée nationale et du Sénat restent assez monolithiques.

Nous développons donc un accès simplifié par une API à ces jeux de données sur le site ParlAPI.fr dont le code source est disponible sur notre Gitlab.

Exemples de réutilisations basées sur l'API

Conditions d'utilisation

Les informations diffusées sur NosDéputés.fr sont disponibles sous licence CC-BY-SA pour les contenus et en OpenData sous licence ODbL pour les données.

Cela signifie que vous êtes libre de les réutiliser, modifier et recouper dans la mesure où vous indiquez leur source (NosDéputés.fr (ou NosSénateurs.fr) par Regards Citoyens à partir de l'Assemblée nationale (ou du Sénat) et du Journal Officiel) et que vous republiez de votre côté les éventuelles données modifiées servant à une réutilisation publiée.

N'hésitez pas à nous contacter pour tout besoin spécifique à partir de ces données.