{"id":14110898,"url":"https://github.com/SocialGouv/recherche-entreprises","last_synced_at":"2025-08-01T11:31:32.530Z","repository":{"id":37792169,"uuid":"331300079","full_name":"SocialGouv/recherche-entreprises","owner":"SocialGouv","description":"API de recherche d'entreprises Françaises","archived":false,"fork":false,"pushed_at":"2024-04-09T08:12:50.000Z","size":6659,"stargazers_count":31,"open_issues_count":40,"forks_count":5,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-04-13T22:19:35.525Z","etag":null,"topics":["api","elasticsearch","entreprises","recherche"],"latest_commit_sha":null,"homepage":"https://recherche-entreprises.fabrique.social.gouv.fr","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SocialGouv.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-01-20T12:27:37.000Z","updated_at":"2024-04-25T19:45:11.614Z","dependencies_parsed_at":"2023-11-13T18:31:01.997Z","dependency_job_id":"d0eeabf9-c01f-483a-b2c4-063824a0aeff","html_url":"https://github.com/SocialGouv/recherche-entreprises","commit_stats":null,"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Frecherche-entreprises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Frecherche-entreprises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Frecherche-entreprises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SocialGouv%2Frecherche-entreprises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SocialGouv","download_url":"https://codeload.github.com/SocialGouv/recherche-entreprises/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228369616,"owners_count":17909285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","elasticsearch","entreprises","recherche"],"created_at":"2024-08-14T10:03:02.784Z","updated_at":"2024-12-05T20:31:27.626Z","avatar_url":"https://github.com/SocialGouv.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# recherche-entreprises\n\nAPI de recherche d'entreprise basée sur ElasticSearch et exploitant les données de la [base SIRENE de l'INSEE](https://www.insee.fr/fr/information/3591226), de [plusieurs jeux de données data.gouv.fr](./assembly/scripts/get-data.sh) et de [kali-data](https://github.com/SocialGouv/kali-data) pour les conventions collectives.\n\nUn frontend de démo est disponible ici : https://recherche-entreprises.fabrique.social.gouv.fr\n\nLes données sont mise à jour toutes les semaines\n\n---\n\n⚠️ LA DINUM propose une autre API similaire, officielle et disponible à cette adresse : https://api.gouv.fr/les-api/api-recherche-entreprises\n\n---\n\n## Composants\n\nLe dépôt de code contient plusieurs composants utilisables indépendamment :\n\n| composant | description                                        |\n|-----------|----------------------------------------------------|\n| index     | Indexation des jeux de données dans Elastic Search |\n| api       | API NodeJS pour interroger l'index Elastic         |\n| front     | Frontend de démo en ReactJS                        |\n\nL'étape d'indexation peut être automatisée pour maintenir les données à jour en continu (ex: hebdomadaire).\n\n## Fonctionnement \n\n```mermaid\ngraph LR\n\nStockUniteLegale.csv--\u003eSQLite\ngeo_siren.csv--\u003eSQLite\nsiret2idcc.csv--\u003eSQLite\nSQLite--\u003eassembly.csv\nassembly.csv--\u003eindex--\u003eElasticSearch--\u003eAPI[API HTTP1]\nElasticSearch--\u003eAPI2[API HTTP2]\nElasticSearch--\u003eClient[Client ES]\n```\n \n## Données :\n\n| Dataset                                                                                                                                                                        | usage                                                    |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- |\n| [geo-sirene](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/#resource-community-c6006b4d-0b4b-4504-a762-1efe69c7ed18) | Version géocodée du stock des établiseement              |\n| [insee-sirene](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/)                                                       | Base Sirene des entreprises et de leurs établissements   |\n| [siret2idcc](https://www.data.gouv.fr/fr/datasets/liste-des-conventions-collectives-par-entreprise-siret/#_)                                                                   | Lien vers la convention collective                       |\n| [kali-data](https://github.com/SocialGouv/kali-data)                                                                                                                           | Informations sur les conventions collectives             |\n| [codes-naf](https://github.com/SocialGouv/codes-naf)                                                                                                                           | Liste des codes NAF (Nomenclature d’activités française) |\n\n## Développement\n\n### Pré-requis\n\nPour lancer les différentes parties du projet, un certain nombre d'outil doivent être présent sur la machine:\n\n- node\n- yarn\n- docker et docker-compose\n- wget\n- sqlite3\n\n### Assemblage des données\n\nLe script `index/sqlite/build.sh` permet de permet de télécharger les CSV puis aggréger les données pour les re-exporter dans CSV \"plat\". Le fichier `./data/assembly.csv` généré fait +6Go avec plus de 30 millions de lignes.\n\nCette opération peut durer ~45 minutes selon votre setup\n\n### Indexation dans Elastic Search\n\nCette étape permet de mettre à jour les données dans l'index Elasticsearch à partir du fichier `assembly.csv` généré à l'étape précédente.\n\nLa mise à jour exploite la fonctionnalité [alias](https://www.elastic.co/guide/en/elasticsearch/reference/7.16/aliases.html) d'Elasticsearch pour éviter les downtimes.\n\nPour lancer une indexation :\n\n```sh\nyarn\nELASTICSEARCH_URL=https://elastic_url:9200 ELASTICSEARCH_API_KEY=key_with_writing_rights ASSEMBLY_FILE=./data/assembly.csv yarn start\n```\n\nLe script `scripts/create-es-keys.sh` permet de créer des tokens pour lire/écrire sur ces index. **Cette étape n'est pas nécessaire pour le développement local.**\n\n### Lancement de l'API\n\nCette étape permet de lancer l'API de démo qui va servir les requêtes jusqu'à Elasticsearch.\n\n```sh\n# En partant de la racine du projet\ncd api\n\nyarn install\nyarn build\n\nELASTICSEARCH_URL=http://localhost:9200 yarn start\n```\n\nLe temps d'indexation est d'environ 1h.\n\n### Wokflows GitHub\n\nDes workflows GitHub permettent de mettre à jour les index et sont lancés manuellement\n\n## Projets relatifs\n\n- Annuaire-entreprises : https://annuaire-entreprises.data.gouv.fr\n- API Entreprise : https://entreprise.api.gouv.fr/catalogue/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSocialGouv%2Frecherche-entreprises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSocialGouv%2Frecherche-entreprises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSocialGouv%2Frecherche-entreprises/lists"}