Dans le cadre du Service Public de la Donnée, certains jeux de données sont devenus publics. C'est le cas du Répertoire National des Associations.
Le projet RNA_as_api a pour vocation de mettre en valeur la donnée brute en la servant sous forme d'API.
Vous pouvez également consulter l'API Sirene.
Vous pouvez interroger l'API en ligne: https://entreprise.data.gouv.fr/api/rna/v1/full_text/ + Nom de l'entreprise recherchée (cf. plus bas pour d'autres usages).
Ou bien par le site front-end : https://entreprise.data.gouv.fr/
Cette API se connecte au dépot de fichiers sur Data.gouv et télécharge automatiquement les derniers fichiers du RNA.
Les fichiers RNA vont par paire Waldec / Import :
-
RNA_waldec : liste des associations disposant d’un n° RNA. Toutes les associations créées ou ayant déclaré un changement de situation depuis 2009 disposent d’un n° RNA.
-
RNA_import : liste des associations créées depuis 1901 et qui n’ont pas effectué de déclaration de changement de situation depuis 2009.
Pour une installation manuelle, vous aurez besoin de :
- postgresql en version supérieure a 9.5
- ruby en version 2.7.6
- git
- un runtime java pour solr (comme OpenJDK) - version 8 (dépendance Solr)
Clonez ce répertoire :
git clone git@github.com:etalab/rna_as_api.git && cd rna_as_api
Installez les dépendances :
gem install bundler && bundle install
Preparez la base de données postgres :
sudo -u postgres -i
cd /path/vers/dossier/rna_as_api
psql -f postgresql_setup.txt
Lancez les migrations :
bundle exec rails db:create
bundle exec rails db:migrate
Si vous souhaitez utiliser les tests :
RAILS_ENV=test bundle exec rails db:migrate
Vous pouvez maintenant lancer Solr :
RAILS_ENV=production bundle exec rake sunspot:solr:start
Et importer les derniers fichiers RNA :
bundle exec rake rna_as_api:import_last_monthly_stocks
C'est prêt ! vous pouvez lancer le serveur :
bundle exec rails server
Lancer le server Solr :
RAILS_ENV=MonEnvironnement bundle exec rake sunspot:solr:start
Pour se connecter au dépot de fichiers et importer automatiquement le dernier Waldec et/ou Import :
RAILS_ENV=MonEnvironnement bundle exec rake rna_as_api:import_last_monthly_stocks
Pour supprimer tout ou partie de la base de donnée, les commandes suivantes sont accessibles :
rake rna_as_api:delete_database:all # Supprime tout
rake rna_as_api:delete_database:import # Supprime les associations Import
rake rna_as_api:delete_database:waldec # Supprime les associations Waldec
Pour re-indexer Solr :
RAILS_ENV=MonEnvironnement bundle exec rake sunspot:reindex
Il s'agit de l'endpoint principal. Vous pouvez faire des requêtes avec Curl :
curl 'localhost:3000/v1/full_text/MA_RECHERCHE'
ou simplement en copiant l'adresse ´localhost:3000/v1/full_text/MA_RECHERCHE´ dans votre navigateur favori.
La page par défaut est la première. L'API renvoie par défaut 10 résultats par page.
Ces attributs peuvents être modifiés en passant en paramètres page
et per_page
.
L'API renvoie les réponses au format JSON avec les attributs suivant :
Attribut | Valeur |
---|---|
total_results | Total résultats |
total_pages | Total de pages |
per_page | Nombre de résultats par page |
page | Page actuelle |
associations | Résultats |
curl 'localhost:3000/v1/id/ID_ASSOCIATION'
Cette requête renvoie uniquement la fiche association correspondant à l'ID.
curl 'localhost:3000/v1/siret/SIRET'
Cette requête renvoie uniquement la fiche association correspondant au Siret. Attention, toutes les associations ne possèdent pas forcément un Siret.
La version utilisée de Solr fonctionne avec OpenJDK 8.
Si l'API ne renvoie aucun résultat sur la recherche fulltext
mais que la recherche siret
fonctionne, vous avez sans doute besoin de réindexer. Tentez RAILS_ENV=MonEnvironnement bundle exec rake sunspot:solr:reindex
(le server solr doit être actif).
En cas de problèmes avec le serveur solr, il peut être nécessaire de tuer les processus Solr en cours (obtenir le PID solr avec ps aux | grep solr
puis les tuer avec la commande kill MonPidSolr
). Relancer le serveur avec RAILS_ENV=MonEnvironnement bundle exec rake sunspot:solr:start
suffit en général à corriger la situation.
Si Solr renvoie toujours des erreurs, c'est peut-être un problème causé par une allocation de mémoire trop importante. Commenter les lignes memory
dans config/sunspot.yml
et recommencer. Il peut être nécessaire de re-tuer les processus Solr.
Dans certains cas, le déploiement par Mina ne copie pas correctement les fichiers solr. En cas d'erreur 404 - Solr not found, assurez vous que le fichier /solr/MonEnvironnement/core.properties est bien présent. Sinon, vous pouvez l'ajouter manuellement.
Les fichiers RNA sont disponibles sur la page data.gouv dédiée aux données brutes du RNA
Cette page permet de télécharger la documentation du ministère de l'intérieur. La description des variables est cependant un peu sommaire (voir, dans le cas de "siteweb", "email", et variables géographiques, manquante). Une meilleure documentation peut se trouver dans les ressources communautaires data.gouv. Vous pouvez trouver une description plus détaillée des variables, ainsi que les nomenclatures complètes des codes objets sociaux pour les associations des fichiers Waldec et Import.
Vous pouvez également prendre contact avec le greffier des associations à la prefecture de votre région, ou avec le ministère de l'intérieur qui gère le RNA.
Ce projet est sous license MIT