From 100ff96c70a118d0b7bce2b4709c18b5809517ea Mon Sep 17 00:00:00 2001 From: Serreau Jovann Date: Thu, 19 Mar 2026 20:25:04 +0100 Subject: [PATCH] Add SIRET/RNA verification, organizer management, registration flow pages SIRET/RNA verification: - Create SiretService with API gouv lookup + JOAFE RNA lookup + cache pool (24h) - Verification page: declared info vs API data side by side - Display NAF code + label (from naf.json), nature juridique code + label - Association/Entreprise/EI badges, ESS badge, RNA, coordonnees lat/long - JOAFE section: objet, regime, domaine, dates, lieu, PDF download link - Tranche effectif with readable labels - Refresh cache button - Page restricted to non-approved organizers only Organizer approval flow: - Approval form with offer (free/basic/custom) and commission rate (default 3%) - Add commissionRate field to User entity + migration - Rejection form with required reason textarea, sent in email - Edit page for approved organizers: all fields modifiable - Modify button in approved organizers table Registration flow pages: - Post-registration success page with email verification message - Organizer gets additional 48h staff review notice - Post-email-verification page: confirmed for buyers, 48h notice for organizers Dashboard: - Simplified Meilisearch sync to single button Tests: SiretServiceTest (9), AdminControllerTest (31), RegistrationControllerTest updated, UserTest updated Co-Authored-By: Claude Opus 4.6 (1M context) --- config/packages/cache.yaml | 21 +- migrations/Version20260319191415.php | 31 + naf.json | 6830 +++++++++++++++++ src/Controller/AdminController.php | 95 +- src/Controller/RegistrationController.php | 12 +- src/Entity/User.php | 15 + src/Service/SiretService.php | 142 + templates/admin/dashboard.html.twig | 10 +- templates/admin/edit_organizer.html.twig | 115 + templates/admin/organizers.html.twig | 22 +- templates/admin/siret_check.html.twig | 261 + templates/email/organizer_rejected.html.twig | 6 + templates/security/email_verified.html.twig | 26 + templates/security/register_success.html.twig | 24 + tests/Controller/AdminControllerTest.php | 127 +- .../Controller/RegistrationControllerTest.php | 20 +- tests/Entity/UserTest.php | 4 +- tests/Service/SiretServiceTest.php | 153 + 18 files changed, 7858 insertions(+), 56 deletions(-) create mode 100644 migrations/Version20260319191415.php create mode 100644 naf.json create mode 100644 src/Service/SiretService.php create mode 100644 templates/admin/edit_organizer.html.twig create mode 100644 templates/admin/siret_check.html.twig create mode 100644 templates/security/email_verified.html.twig create mode 100644 templates/security/register_success.html.twig create mode 100644 tests/Service/SiretServiceTest.php diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml index 6899b72..687ad32 100644 --- a/config/packages/cache.yaml +++ b/config/packages/cache.yaml @@ -1,19 +1,6 @@ framework: cache: - # Unique name of your app: used to compute stable namespaces for cache keys. - #prefix_seed: your_vendor_name/app_name - - # The "app" cache stores to the filesystem by default. - # The data in this cache should persist between deploys. - # Other options include: - - # Redis - #app: cache.adapter.redis - #default_redis_provider: redis://localhost - - # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) - #app: cache.adapter.apcu - - # Namespaced pools use the above "app" backend by default - #pools: - #my.dedicated.cache: null + pools: + siret.cache: + adapter: cache.app + default_lifetime: 86400 diff --git a/migrations/Version20260319191415.php b/migrations/Version20260319191415.php new file mode 100644 index 0000000..210f567 --- /dev/null +++ b/migrations/Version20260319191415.php @@ -0,0 +1,31 @@ +addSql('ALTER TABLE "user" ADD commission_rate DOUBLE PRECISION DEFAULT NULL'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('ALTER TABLE "user" DROP commission_rate'); + } +} diff --git a/naf.json b/naf.json new file mode 100644 index 0000000..e733907 --- /dev/null +++ b/naf.json @@ -0,0 +1,6830 @@ +[ + { + "id": "01", + "label": "Culture et production animale, chasse et services annexes" + }, + { + "id": "01.1", + "label": "Cultures non permanentes" + }, + { + "id": "01.11", + "label": "Culture de céréales (à l'exception du riz), de légumineuses et de graines oléagineuses" + }, + { + "id": "01.11Z", + "label": "Culture de céréales (à l'exception du riz), de légumineuses et de graines oléagineuses" + }, + { + "id": "01.12", + "label": "Culture du riz" + }, + { + "id": "01.12Z", + "label": "Culture du riz" + }, + { + "id": "01.13", + "label": "Culture de légumes, de melons, de racines et de tubercules" + }, + { + "id": "01.13Z", + "label": "Culture de légumes, de melons, de racines et de tubercules" + }, + { + "id": "01.14", + "label": "Culture de la canne à sucre" + }, + { + "id": "01.14Z", + "label": "Culture de la canne à sucre" + }, + { + "id": "01.15", + "label": "Culture du tabac" + }, + { + "id": "01.15Z", + "label": "Culture du tabac" + }, + { + "id": "01.16", + "label": "Culture de plantes à fibres" + }, + { + "id": "01.16Z", + "label": "Culture de plantes à fibres" + }, + { + "id": "01.19", + "label": "Autres cultures non permanentes" + }, + { + "id": "01.19Z", + "label": "Autres cultures non permanentes" + }, + { + "id": "01.2", + "label": "Cultures permanentes" + }, + { + "id": "01.21", + "label": "Culture de la vigne" + }, + { + "id": "01.21Z", + "label": "Culture de la vigne" + }, + { + "id": "01.22", + "label": "Culture de fruits tropicaux et subtropicaux" + }, + { + "id": "01.22Z", + "label": "Culture de fruits tropicaux et subtropicaux" + }, + { + "id": "01.23", + "label": "Culture d'agrumes" + }, + { + "id": "01.23Z", + "label": "Culture d'agrumes" + }, + { + "id": "01.24", + "label": "Culture de fruits à pépins et à noyau" + }, + { + "id": "01.24Z", + "label": "Culture de fruits à pépins et à noyau" + }, + { + "id": "01.25", + "label": "Culture d'autres fruits d'arbres ou d'arbustes et de fruits à coque" + }, + { + "id": "01.25Z", + "label": "Culture d'autres fruits d'arbres ou d'arbustes et de fruits à coque" + }, + { + "id": "01.26", + "label": "Culture de fruits oléagineux" + }, + { + "id": "01.26Z", + "label": "Culture de fruits oléagineux" + }, + { + "id": "01.27", + "label": "Culture de plantes à boissons" + }, + { + "id": "01.27Z", + "label": "Culture de plantes à boissons" + }, + { + "id": "01.28", + "label": "Culture de plantes à épices, aromatiques, médicinales et pharmaceutiques" + }, + { + "id": "01.28Z", + "label": "Culture de plantes à épices, aromatiques, médicinales et pharmaceutiques" + }, + { + "id": "01.29", + "label": "Autres cultures permanentes" + }, + { + "id": "01.29Z", + "label": "Autres cultures permanentes" + }, + { + "id": "01.3", + "label": "Reproduction de plantes" + }, + { + "id": "01.30", + "label": "Reproduction de plantes" + }, + { + "id": "01.30Z", + "label": "Reproduction de plantes" + }, + { + "id": "01.4", + "label": "Production animale" + }, + { + "id": "01.41", + "label": "Élevage de vaches laitières" + }, + { + "id": "01.41Z", + "label": "Élevage de vaches laitières" + }, + { + "id": "01.42", + "label": "Élevage d'autres bovins et de buffles" + }, + { + "id": "01.42Z", + "label": "Élevage d'autres bovins et de buffles" + }, + { + "id": "01.43", + "label": "Élevage de chevaux et d'autres équidés" + }, + { + "id": "01.43Z", + "label": "Élevage de chevaux et d'autres équidés" + }, + { + "id": "01.44", + "label": "Élevage de chameaux et d'autres camélidés" + }, + { + "id": "01.44Z", + "label": "Élevage de chameaux et d'autres camélidés" + }, + { + "id": "01.45", + "label": "Élevage d'ovins et de caprins" + }, + { + "id": "01.45Z", + "label": "Élevage d'ovins et de caprins" + }, + { + "id": "01.46", + "label": "Élevage de porcins" + }, + { + "id": "01.46Z", + "label": "Élevage de porcins" + }, + { + "id": "01.47", + "label": "Élevage de volailles" + }, + { + "id": "01.47Z", + "label": "Élevage de volailles" + }, + { + "id": "01.49", + "label": "Élevage d'autres animaux" + }, + { + "id": "01.49Z", + "label": "Élevage d'autres animaux" + }, + { + "id": "01.5", + "label": "Culture et élevage associés" + }, + { + "id": "01.50", + "label": "Culture et élevage associés" + }, + { + "id": "01.50Z", + "label": "Culture et élevage associés" + }, + { + "id": "01.6", + "label": "Activités de soutien à l'agriculture et traitement primaire des récoltes" + }, + { + "id": "01.61", + "label": "Activités de soutien aux cultures" + }, + { + "id": "01.61Z", + "label": "Activités de soutien aux cultures" + }, + { + "id": "01.62", + "label": "Activités de soutien à la production animale" + }, + { + "id": "01.62Z", + "label": "Activités de soutien à la production animale" + }, + { + "id": "01.63", + "label": "Traitement primaire des récoltes" + }, + { + "id": "01.63Z", + "label": "Traitement primaire des récoltes" + }, + { + "id": "01.64", + "label": "Traitement des semences" + }, + { + "id": "01.64Z", + "label": "Traitement des semences" + }, + { + "id": "01.7", + "label": "Chasse, piégeage et services annexes" + }, + { + "id": "01.70", + "label": "Chasse, piégeage et services annexes" + }, + { + "id": "01.70Z", + "label": "Chasse, piégeage et services annexes" + }, + { + "id": "02", + "label": "Sylviculture et exploitation forestière" + }, + { + "id": "02.1", + "label": "Sylviculture et autres activités forestières" + }, + { + "id": "02.10", + "label": "Sylviculture et autres activités forestières" + }, + { + "id": "02.10Z", + "label": "Sylviculture et autres activités forestières" + }, + { + "id": "02.2", + "label": "Exploitation forestière" + }, + { + "id": "02.20", + "label": "Exploitation forestière" + }, + { + "id": "02.20Z", + "label": "Exploitation forestière" + }, + { + "id": "02.3", + "label": "Récolte de produits forestiers non ligneux poussant à l'état sauvage" + }, + { + "id": "02.30", + "label": "Récolte de produits forestiers non ligneux poussant à l'état sauvage" + }, + { + "id": "02.30Z", + "label": "Récolte de produits forestiers non ligneux poussant à l'état sauvage" + }, + { + "id": "02.4", + "label": "Services de soutien à l'exploitation forestière" + }, + { + "id": "02.40", + "label": "Services de soutien à l'exploitation forestière" + }, + { + "id": "02.40Z", + "label": "Services de soutien à l'exploitation forestière" + }, + { + "id": "03", + "label": "Pêche et aquaculture" + }, + { + "id": "03.1", + "label": "Pêche" + }, + { + "id": "03.11", + "label": "Pêche en mer" + }, + { + "id": "03.11Z", + "label": "Pêche en mer" + }, + { + "id": "03.12", + "label": "Pêche en eau douce" + }, + { + "id": "03.12Z", + "label": "Pêche en eau douce" + }, + { + "id": "03.2", + "label": "Aquaculture" + }, + { + "id": "03.21", + "label": "Aquaculture en mer" + }, + { + "id": "03.21Z", + "label": "Aquaculture en mer" + }, + { + "id": "03.22", + "label": "Aquaculture en eau douce" + }, + { + "id": "03.22Z", + "label": "Aquaculture en eau douce" + }, + { + "id": "05", + "label": "Extraction de houille et de lignite" + }, + { + "id": "05.1", + "label": "Extraction de houille" + }, + { + "id": "05.10", + "label": "Extraction de houille" + }, + { + "id": "05.10Z", + "label": "Extraction de houille" + }, + { + "id": "05.2", + "label": "Extraction de lignite" + }, + { + "id": "05.20", + "label": "Extraction de lignite" + }, + { + "id": "05.20Z", + "label": "Extraction de lignite" + }, + { + "id": "06", + "label": "Extraction d'hydrocarbures" + }, + { + "id": "06.1", + "label": "Extraction de pétrole brut" + }, + { + "id": "06.10", + "label": "Extraction de pétrole brut" + }, + { + "id": "06.10Z", + "label": "Extraction de pétrole brut" + }, + { + "id": "06.2", + "label": "Extraction de gaz naturel" + }, + { + "id": "06.20", + "label": "Extraction de gaz naturel" + }, + { + "id": "06.20Z", + "label": "Extraction de gaz naturel" + }, + { + "id": "07", + "label": "Extraction de minerais métalliques" + }, + { + "id": "07.1", + "label": "Extraction de minerais de fer" + }, + { + "id": "07.10", + "label": "Extraction de minerais de fer" + }, + { + "id": "07.10Z", + "label": "Extraction de minerais de fer" + }, + { + "id": "07.2", + "label": "Extraction de minerais de métaux non ferreux" + }, + { + "id": "07.21", + "label": "Extraction de minerais d'uranium et de thorium" + }, + { + "id": "07.21Z", + "label": "Extraction de minerais d'uranium et de thorium" + }, + { + "id": "07.29", + "label": "Extraction d'autres minerais de métaux non ferreux" + }, + { + "id": "07.29Z", + "label": "Extraction d'autres minerais de métaux non ferreux" + }, + { + "id": "08", + "label": "Autres industries extractives" + }, + { + "id": "08.1", + "label": "Extraction de pierres, de sables et d'argiles" + }, + { + "id": "08.11", + "label": "Extraction de pierres ornementales et de construction, de calcaire industriel, de gypse, de craie et d'ardoise" + }, + { + "id": "08.11Z", + "label": "Extraction de pierres ornementales et de construction, de calcaire industriel, de gypse, de craie et d'ardoise" + }, + { + "id": "08.12", + "label": "Exploitation de gravières et sablières, extraction d’argiles et de kaolin" + }, + { + "id": "08.12Z", + "label": "Exploitation de gravières et sablières, extraction d’argiles et de kaolin" + }, + { + "id": "08.9", + "label": "Activités extractives n.c.a." + }, + { + "id": "08.91", + "label": "Extraction des minéraux chimiques et d'engrais minéraux" + }, + { + "id": "08.91Z", + "label": "Extraction des minéraux chimiques et d'engrais minéraux" + }, + { + "id": "08.92", + "label": "Extraction de tourbe" + }, + { + "id": "08.92Z", + "label": "Extraction de tourbe" + }, + { + "id": "08.93", + "label": "Production de sel" + }, + { + "id": "08.93Z", + "label": "Production de sel" + }, + { + "id": "08.99", + "label": "Autres activités extractives n.c.a." + }, + { + "id": "08.99Z", + "label": "Autres activités extractives n.c.a." + }, + { + "id": "09", + "label": "Services de soutien aux industries extractives" + }, + { + "id": "09.1", + "label": "Activités de soutien à l'extraction d'hydrocarbures" + }, + { + "id": "09.10", + "label": "Activités de soutien à l'extraction d'hydrocarbures" + }, + { + "id": "09.10Z", + "label": "Activités de soutien à l'extraction d'hydrocarbures" + }, + { + "id": "09.9", + "label": "Activités de soutien aux autres industries extractives" + }, + { + "id": "09.90", + "label": "Activités de soutien aux autres industries extractives" + }, + { + "id": "09.90Z", + "label": "Activités de soutien aux autres industries extractives" + }, + { + "id": "10", + "label": "Industries alimentaires" + }, + { + "id": "10.1", + "label": "Transformation et conservation de la viande et préparation de produits à base de viande" + }, + { + "id": "10.11", + "label": "Transformation et conservation de la viande de boucherie" + }, + { + "id": "10.11Z", + "label": "Transformation et conservation de la viande de boucherie" + }, + { + "id": "10.12", + "label": "Transformation et conservation de la viande de volaille" + }, + { + "id": "10.12Z", + "label": "Transformation et conservation de la viande de volaille" + }, + { + "id": "10.13", + "label": "Préparation de produits à base de viande" + }, + { + "id": "10.13A", + "label": "Préparation industrielle de produits à base de viande" + }, + { + "id": "10.13B", + "label": "Charcuterie" + }, + { + "id": "10.2", + "label": "Transformation et conservation de poisson, de crustacés et de mollusques" + }, + { + "id": "10.20", + "label": "Transformation et conservation de poisson, de crustacés et de mollusques" + }, + { + "id": "10.20Z", + "label": "Transformation et conservation de poisson, de crustacés et de mollusques" + }, + { + "id": "10.3", + "label": "Transformation et conservation de fruits et légumes" + }, + { + "id": "10.31", + "label": "Transformation et conservation de pommes de terre" + }, + { + "id": "10.31Z", + "label": "Transformation et conservation de pommes de terre" + }, + { + "id": "10.32", + "label": "Préparation de jus de fruits et légumes" + }, + { + "id": "10.32Z", + "label": "Préparation de jus de fruits et légumes" + }, + { + "id": "10.39", + "label": "Autre transformation et conservation de fruits et légumes" + }, + { + "id": "10.39A", + "label": "Autre transformation et conservation de légumes" + }, + { + "id": "10.39B", + "label": "Transformation et conservation de fruits" + }, + { + "id": "10.4", + "label": "Fabrication d’huiles et graisses végétales et animales" + }, + { + "id": "10.41", + "label": "Fabrication d'huiles et graisses" + }, + { + "id": "10.41A", + "label": "Fabrication d'huiles et graisses brutes" + }, + { + "id": "10.41B", + "label": "Fabrication d'huiles et graisses raffinées" + }, + { + "id": "10.42", + "label": "Fabrication de margarine et graisses comestibles similaires" + }, + { + "id": "10.42Z", + "label": "Fabrication de margarine et graisses comestibles similaires" + }, + { + "id": "10.5", + "label": "Fabrication de produits laitiers" + }, + { + "id": "10.51", + "label": "Exploitation de laiteries et fabrication de fromage" + }, + { + "id": "10.51A", + "label": "Fabrication de lait liquide et de produits frais" + }, + { + "id": "10.51B", + "label": "Fabrication de beurre" + }, + { + "id": "10.51C", + "label": "Fabrication de fromage" + }, + { + "id": "10.51D", + "label": "Fabrication d'autres produits laitiers" + }, + { + "id": "10.52", + "label": "Fabrication de glaces et sorbets" + }, + { + "id": "10.52Z", + "label": "Fabrication de glaces et sorbets" + }, + { + "id": "10.6", + "label": "Travail des grains ; fabrication de produits amylacés" + }, + { + "id": "10.61", + "label": "Travail des grains" + }, + { + "id": "10.61A", + "label": "Meunerie" + }, + { + "id": "10.61B", + "label": "Autres activités du travail des grains" + }, + { + "id": "10.62", + "label": "Fabrication de produits amylacés" + }, + { + "id": "10.62Z", + "label": "Fabrication de produits amylacés" + }, + { + "id": "10.7", + "label": "Fabrication de produits de boulangerie-pâtisserie et de pâtes alimentaires" + }, + { + "id": "10.71", + "label": "Fabrication de pain et de pâtisserie fraîche" + }, + { + "id": "10.71A", + "label": "Fabrication industrielle de pain et de pâtisserie fraîche" + }, + { + "id": "10.71B", + "label": "Cuisson de produits de boulangerie" + }, + { + "id": "10.71C", + "label": "Boulangerie et boulangerie-pâtisserie" + }, + { + "id": "10.71D", + "label": "Pâtisserie" + }, + { + "id": "10.72", + "label": "Fabrication de biscuits, biscottes et pâtisseries de conservation" + }, + { + "id": "10.72Z", + "label": "Fabrication de biscuits, biscottes et pâtisseries de conservation" + }, + { + "id": "10.73", + "label": "Fabrication de pâtes alimentaires" + }, + { + "id": "10.73Z", + "label": "Fabrication de pâtes alimentaires" + }, + { + "id": "10.8", + "label": "Fabrication d'autres produits alimentaires" + }, + { + "id": "10.81", + "label": "Fabrication de sucre" + }, + { + "id": "10.81Z", + "label": "Fabrication de sucre" + }, + { + "id": "10.82", + "label": "Fabrication de cacao, chocolat et de produits de confiserie" + }, + { + "id": "10.82Z", + "label": "Fabrication de cacao, chocolat et de produits de confiserie" + }, + { + "id": "10.83", + "label": "Transformation du thé et du café" + }, + { + "id": "10.83Z", + "label": "Transformation du thé et du café" + }, + { + "id": "10.84", + "label": "Fabrication de condiments et assaisonnements" + }, + { + "id": "10.84Z", + "label": "Fabrication de condiments et assaisonnements" + }, + { + "id": "10.85", + "label": "Fabrication de plats préparés" + }, + { + "id": "10.85Z", + "label": "Fabrication de plats préparés" + }, + { + "id": "10.86", + "label": "Fabrication d'aliments homogénéisés et diététiques" + }, + { + "id": "10.86Z", + "label": "Fabrication d'aliments homogénéisés et diététiques" + }, + { + "id": "10.89", + "label": "Fabrication d'autres produits alimentaires n.c.a." + }, + { + "id": "10.89Z", + "label": "Fabrication d'autres produits alimentaires n.c.a." + }, + { + "id": "10.9", + "label": "Fabrication d'aliments pour animaux" + }, + { + "id": "10.91", + "label": "Fabrication d'aliments pour animaux de ferme" + }, + { + "id": "10.91Z", + "label": "Fabrication d'aliments pour animaux de ferme" + }, + { + "id": "10.92", + "label": "Fabrication d'aliments pour animaux de compagnie" + }, + { + "id": "10.92Z", + "label": "Fabrication d'aliments pour animaux de compagnie" + }, + { + "id": "11", + "label": "Fabrication de boissons" + }, + { + "id": "11.0", + "label": "Fabrication de boissons" + }, + { + "id": "11.01", + "label": "Production de boissons alcooliques distillées" + }, + { + "id": "11.01Z", + "label": "Production de boissons alcooliques distillées" + }, + { + "id": "11.02", + "label": "Production de vin (de raisin)" + }, + { + "id": "11.02A", + "label": "Fabrication de vins effervescents" + }, + { + "id": "11.02B", + "label": "Vinification" + }, + { + "id": "11.03", + "label": "Fabrication de cidre et de vins de fruits" + }, + { + "id": "11.03Z", + "label": "Fabrication de cidre et de vins de fruits" + }, + { + "id": "11.04", + "label": "Production d'autres boissons fermentées non distillées" + }, + { + "id": "11.04Z", + "label": "Production d'autres boissons fermentées non distillées" + }, + { + "id": "11.05", + "label": "Fabrication de bière" + }, + { + "id": "11.05Z", + "label": "Fabrication de bière" + }, + { + "id": "11.06", + "label": "Fabrication de malt" + }, + { + "id": "11.06Z", + "label": "Fabrication de malt" + }, + { + "id": "11.07", + "label": "Industrie des eaux minérales et autres eaux embouteillées et des boissons rafraîchissantes" + }, + { + "id": "11.07A", + "label": "Industrie des eaux de table" + }, + { + "id": "11.07B", + "label": "Production de boissons rafraîchissantes" + }, + { + "id": "12", + "label": "Fabrication de produits à base de tabac" + }, + { + "id": "12.0", + "label": "Fabrication de produits à base de tabac" + }, + { + "id": "12.00", + "label": "Fabrication de produits à base de tabac" + }, + { + "id": "12.00Z", + "label": "Fabrication de produits à base de tabac" + }, + { + "id": "13", + "label": "Fabrication de textiles" + }, + { + "id": "13.1", + "label": "Préparation de fibres textiles et filature" + }, + { + "id": "13.10", + "label": "Préparation de fibres textiles et filature" + }, + { + "id": "13.10Z", + "label": "Préparation de fibres textiles et filature" + }, + { + "id": "13.2", + "label": "Tissage" + }, + { + "id": "13.20", + "label": "Tissage" + }, + { + "id": "13.20Z", + "label": "Tissage" + }, + { + "id": "13.3", + "label": "Ennoblissement textile" + }, + { + "id": "13.30", + "label": "Ennoblissement textile" + }, + { + "id": "13.30Z", + "label": "Ennoblissement textile" + }, + { + "id": "13.9", + "label": "Fabrication d'autres textiles" + }, + { + "id": "13.91", + "label": "Fabrication d'étoffes à mailles" + }, + { + "id": "13.91Z", + "label": "Fabrication d'étoffes à mailles" + }, + { + "id": "13.92", + "label": "Fabrication d'articles textiles, sauf habillement" + }, + { + "id": "13.92Z", + "label": "Fabrication d'articles textiles, sauf habillement" + }, + { + "id": "13.93", + "label": "Fabrication de tapis et moquettes" + }, + { + "id": "13.93Z", + "label": "Fabrication de tapis et moquettes" + }, + { + "id": "13.94", + "label": "Fabrication de ficelles, cordes et filets" + }, + { + "id": "13.94Z", + "label": "Fabrication de ficelles, cordes et filets" + }, + { + "id": "13.95", + "label": "Fabrication de non-tissés, sauf habillement" + }, + { + "id": "13.95Z", + "label": "Fabrication de non-tissés, sauf habillement" + }, + { + "id": "13.96", + "label": "Fabrication d'autres textiles techniques et industriels" + }, + { + "id": "13.96Z", + "label": "Fabrication d'autres textiles techniques et industriels" + }, + { + "id": "13.99", + "label": "Fabrication d'autres textiles n.c.a." + }, + { + "id": "13.99Z", + "label": "Fabrication d'autres textiles n.c.a." + }, + { + "id": "14", + "label": "Industrie de l'habillement" + }, + { + "id": "14.1", + "label": "Fabrication de vêtements, autres qu'en fourrure" + }, + { + "id": "14.11", + "label": "Fabrication de vêtements en cuir" + }, + { + "id": "14.11Z", + "label": "Fabrication de vêtements en cuir" + }, + { + "id": "14.12", + "label": "Fabrication de vêtements de travail" + }, + { + "id": "14.12Z", + "label": "Fabrication de vêtements de travail" + }, + { + "id": "14.13", + "label": "Fabrication de vêtements de dessus" + }, + { + "id": "14.13Z", + "label": "Fabrication de vêtements de dessus" + }, + { + "id": "14.14", + "label": "Fabrication de vêtements de dessous" + }, + { + "id": "14.14Z", + "label": "Fabrication de vêtements de dessous" + }, + { + "id": "14.19", + "label": "Fabrication d'autres vêtements et accessoires" + }, + { + "id": "14.19Z", + "label": "Fabrication d'autres vêtements et accessoires" + }, + { + "id": "14.2", + "label": "Fabrication d'articles en fourrure" + }, + { + "id": "14.20", + "label": "Fabrication d'articles en fourrure" + }, + { + "id": "14.20Z", + "label": "Fabrication d'articles en fourrure" + }, + { + "id": "14.3", + "label": "Fabrication d'articles à mailles" + }, + { + "id": "14.31", + "label": "Fabrication d'articles chaussants à mailles" + }, + { + "id": "14.31Z", + "label": "Fabrication d'articles chaussants à mailles" + }, + { + "id": "14.39", + "label": "Fabrication d'autres articles à mailles" + }, + { + "id": "14.39Z", + "label": "Fabrication d'autres articles à mailles" + }, + { + "id": "15", + "label": "Industrie du cuir et de la chaussure" + }, + { + "id": "15.1", + "label": "Apprêt et tannage des cuirs ; préparation et teinture des fourrures ; fabrication d'articles de voyage, de maroquinerie et de sellerie" + }, + { + "id": "15.11", + "label": "Apprêt et tannage des cuirs ; préparation et teinture des fourrures" + }, + { + "id": "15.11Z", + "label": "Apprêt et tannage des cuirs ; préparation et teinture des fourrures" + }, + { + "id": "15.12", + "label": "Fabrication d'articles de voyage, de maroquinerie et de sellerie" + }, + { + "id": "15.12Z", + "label": "Fabrication d'articles de voyage, de maroquinerie et de sellerie" + }, + { + "id": "15.2", + "label": "Fabrication de chaussures" + }, + { + "id": "15.20", + "label": "Fabrication de chaussures" + }, + { + "id": "15.20Z", + "label": "Fabrication de chaussures" + }, + { + "id": "16", + "label": "Travail du bois et fabrication d'articles en bois et en liège, à l’exception des meubles ; fabrication d’articles en vannerie et sparterie" + }, + { + "id": "16.1", + "label": "Sciage et rabotage du bois" + }, + { + "id": "16.10", + "label": "Sciage et rabotage du bois" + }, + { + "id": "16.10A", + "label": "Sciage et rabotage du bois, hors imprégnation" + }, + { + "id": "16.10B", + "label": "Imprégnation du bois" + }, + { + "id": "16.2", + "label": "Fabrication d'articles en bois, liège, vannerie et sparterie" + }, + { + "id": "16.21", + "label": "Fabrication de placage et de panneaux de bois" + }, + { + "id": "16.21Z", + "label": "Fabrication de placage et de panneaux de bois" + }, + { + "id": "16.22", + "label": "Fabrication de parquets assemblés" + }, + { + "id": "16.22Z", + "label": "Fabrication de parquets assemblés" + }, + { + "id": "16.23", + "label": "Fabrication de charpentes et d'autres menuiseries" + }, + { + "id": "16.23Z", + "label": "Fabrication de charpentes et d'autres menuiseries" + }, + { + "id": "16.24", + "label": "Fabrication d'emballages en bois" + }, + { + "id": "16.24Z", + "label": "Fabrication d'emballages en bois" + }, + { + "id": "16.29", + "label": "Fabrication d'objets divers en bois ; fabrication d'objets en liège, vannerie et sparterie" + }, + { + "id": "16.29Z", + "label": "Fabrication d'objets divers en bois ; fabrication d'objets en liège, vannerie et sparterie" + }, + { + "id": "17", + "label": "Industrie du papier et du carton" + }, + { + "id": "17.1", + "label": "Fabrication de pâte à papier, de papier et de carton" + }, + { + "id": "17.11", + "label": "Fabrication de pâte à papier" + }, + { + "id": "17.11Z", + "label": "Fabrication de pâte à papier" + }, + { + "id": "17.12", + "label": "Fabrication de papier et de carton" + }, + { + "id": "17.12Z", + "label": "Fabrication de papier et de carton" + }, + { + "id": "17.2", + "label": "Fabrication d'articles en papier ou en carton" + }, + { + "id": "17.21", + "label": "Fabrication de papier et carton ondulés et d'emballages en papier ou en carton" + }, + { + "id": "17.21A", + "label": "Fabrication de carton ondulé" + }, + { + "id": "17.21B", + "label": "Fabrication de cartonnages" + }, + { + "id": "17.21C", + "label": "Fabrication d'emballages en papier" + }, + { + "id": "17.22", + "label": "Fabrication d'articles en papier à usage sanitaire ou domestique" + }, + { + "id": "17.22Z", + "label": "Fabrication d'articles en papier à usage sanitaire ou domestique" + }, + { + "id": "17.23", + "label": "Fabrication d'articles de papeterie" + }, + { + "id": "17.23Z", + "label": "Fabrication d'articles de papeterie" + }, + { + "id": "17.24", + "label": "Fabrication de papiers peints" + }, + { + "id": "17.24Z", + "label": "Fabrication de papiers peints" + }, + { + "id": "17.29", + "label": "Fabrication d'autres articles en papier ou en carton" + }, + { + "id": "17.29Z", + "label": "Fabrication d'autres articles en papier ou en carton" + }, + { + "id": "18", + "label": "Imprimerie et reproduction d'enregistrements" + }, + { + "id": "18.1", + "label": "Imprimerie et services annexes" + }, + { + "id": "18.11", + "label": "Imprimerie de journaux" + }, + { + "id": "18.11Z", + "label": "Imprimerie de journaux" + }, + { + "id": "18.12", + "label": "Autre imprimerie (labeur)" + }, + { + "id": "18.12Z", + "label": "Autre imprimerie (labeur)" + }, + { + "id": "18.13", + "label": "Activités de pré-presse" + }, + { + "id": "18.13Z", + "label": "Activités de pré-presse" + }, + { + "id": "18.14", + "label": "Reliure et activités connexes" + }, + { + "id": "18.14Z", + "label": "Reliure et activités connexes" + }, + { + "id": "18.2", + "label": "Reproduction d'enregistrements" + }, + { + "id": "18.20", + "label": "Reproduction d'enregistrements" + }, + { + "id": "18.20Z", + "label": "Reproduction d'enregistrements" + }, + { + "id": "19", + "label": "Cokéfaction et raffinage" + }, + { + "id": "19.1", + "label": "Cokéfaction" + }, + { + "id": "19.10", + "label": "Cokéfaction" + }, + { + "id": "19.10Z", + "label": "Cokéfaction" + }, + { + "id": "19.2", + "label": "Raffinage du pétrole" + }, + { + "id": "19.20", + "label": "Raffinage du pétrole" + }, + { + "id": "19.20Z", + "label": "Raffinage du pétrole" + }, + { + "id": "20", + "label": "Industrie chimique" + }, + { + "id": "20.1", + "label": "Fabrication de produits chimiques de base, de produits azotés et d'engrais, de matières plastiques de base et de caoutchouc synthétique" + }, + { + "id": "20.11", + "label": "Fabrication de gaz industriels" + }, + { + "id": "20.11Z", + "label": "Fabrication de gaz industriels" + }, + { + "id": "20.12", + "label": "Fabrication de colorants et de pigments" + }, + { + "id": "20.12Z", + "label": "Fabrication de colorants et de pigments" + }, + { + "id": "20.13", + "label": "Fabrication d'autres produits chimiques inorganiques de base" + }, + { + "id": "20.13A", + "label": "Enrichissement et retraitement de matières nucléaires" + }, + { + "id": "20.13B", + "label": "Fabrication d'autres produits chimiques inorganiques de base n.c.a." + }, + { + "id": "20.14", + "label": "Fabrication d'autres produits chimiques organiques de base" + }, + { + "id": "20.14Z", + "label": "Fabrication d'autres produits chimiques organiques de base" + }, + { + "id": "20.15", + "label": "Fabrication de produits azotés et d'engrais" + }, + { + "id": "20.15Z", + "label": "Fabrication de produits azotés et d'engrais" + }, + { + "id": "20.16", + "label": "Fabrication de matières plastiques de base" + }, + { + "id": "20.16Z", + "label": "Fabrication de matières plastiques de base" + }, + { + "id": "20.17", + "label": "Fabrication de caoutchouc synthétique" + }, + { + "id": "20.17Z", + "label": "Fabrication de caoutchouc synthétique" + }, + { + "id": "20.2", + "label": "Fabrication de pesticides et d’autres produits agrochimiques" + }, + { + "id": "20.20", + "label": "Fabrication de pesticides et d’autres produits agrochimiques" + }, + { + "id": "20.20Z", + "label": "Fabrication de pesticides et d’autres produits agrochimiques" + }, + { + "id": "20.3", + "label": "Fabrication de peintures, vernis, encres et mastics" + }, + { + "id": "20.30", + "label": "Fabrication de peintures, vernis, encres et mastics" + }, + { + "id": "20.30Z", + "label": "Fabrication de peintures, vernis, encres et mastics" + }, + { + "id": "20.4", + "label": "Fabrication de savons, de produits d'entretien et de parfums" + }, + { + "id": "20.41", + "label": "Fabrication de savons, détergents et produits d'entretien" + }, + { + "id": "20.41Z", + "label": "Fabrication de savons, détergents et produits d'entretien" + }, + { + "id": "20.42", + "label": "Fabrication de parfums et de produits pour la toilette" + }, + { + "id": "20.42Z", + "label": "Fabrication de parfums et de produits pour la toilette" + }, + { + "id": "20.5", + "label": "Fabrication d'autres produits chimiques" + }, + { + "id": "20.51", + "label": "Fabrication de produits explosifs" + }, + { + "id": "20.51Z", + "label": "Fabrication de produits explosifs" + }, + { + "id": "20.52", + "label": "Fabrication de colles" + }, + { + "id": "20.52Z", + "label": "Fabrication de colles" + }, + { + "id": "20.53", + "label": "Fabrication d'huiles essentielles" + }, + { + "id": "20.53Z", + "label": "Fabrication d'huiles essentielles" + }, + { + "id": "20.59", + "label": "Fabrication d'autres produits chimiques n.c.a." + }, + { + "id": "20.59Z", + "label": "Fabrication d'autres produits chimiques n.c.a." + }, + { + "id": "20.6", + "label": "Fabrication de fibres artificielles ou synthétiques" + }, + { + "id": "20.60", + "label": "Fabrication de fibres artificielles ou synthétiques" + }, + { + "id": "20.60Z", + "label": "Fabrication de fibres artificielles ou synthétiques" + }, + { + "id": "21", + "label": "Industrie pharmaceutique" + }, + { + "id": "21.1", + "label": "Fabrication de produits pharmaceutiques de base" + }, + { + "id": "21.10", + "label": "Fabrication de produits pharmaceutiques de base" + }, + { + "id": "21.10Z", + "label": "Fabrication de produits pharmaceutiques de base" + }, + { + "id": "21.2", + "label": "Fabrication de préparations pharmaceutiques" + }, + { + "id": "21.20", + "label": "Fabrication de préparations pharmaceutiques" + }, + { + "id": "21.20Z", + "label": "Fabrication de préparations pharmaceutiques" + }, + { + "id": "22", + "label": "Fabrication de produits en caoutchouc et en plastique" + }, + { + "id": "22.1", + "label": "Fabrication de produits en caoutchouc" + }, + { + "id": "22.11", + "label": "Fabrication et rechapage de pneumatiques" + }, + { + "id": "22.11Z", + "label": "Fabrication et rechapage de pneumatiques" + }, + { + "id": "22.19", + "label": "Fabrication d'autres articles en caoutchouc" + }, + { + "id": "22.19Z", + "label": "Fabrication d'autres articles en caoutchouc" + }, + { + "id": "22.2", + "label": "Fabrication de produits en plastique" + }, + { + "id": "22.21", + "label": "Fabrication de plaques, feuilles, tubes et profilés en matières plastiques" + }, + { + "id": "22.21Z", + "label": "Fabrication de plaques, feuilles, tubes et profilés en matières plastiques" + }, + { + "id": "22.22", + "label": "Fabrication d'emballages en matières plastiques" + }, + { + "id": "22.22Z", + "label": "Fabrication d'emballages en matières plastiques" + }, + { + "id": "22.23", + "label": "Fabrication d'éléments en matières plastiques pour la construction" + }, + { + "id": "22.23Z", + "label": "Fabrication d'éléments en matières plastiques pour la construction" + }, + { + "id": "22.29", + "label": "Fabrication d'autres articles en matières plastiques" + }, + { + "id": "22.29A", + "label": "Fabrication de pièces techniques à base de matières plastiques" + }, + { + "id": "22.29B", + "label": "Fabrication de produits de consommation courante en matières plastiques" + }, + { + "id": "23", + "label": "Fabrication d'autres produits minéraux non métalliques" + }, + { + "id": "23.1", + "label": "Fabrication de verre et d'articles en verre" + }, + { + "id": "23.11", + "label": "Fabrication de verre plat" + }, + { + "id": "23.11Z", + "label": "Fabrication de verre plat" + }, + { + "id": "23.12", + "label": "Façonnage et transformation du verre plat" + }, + { + "id": "23.12Z", + "label": "Façonnage et transformation du verre plat" + }, + { + "id": "23.13", + "label": "Fabrication de verre creux" + }, + { + "id": "23.13Z", + "label": "Fabrication de verre creux" + }, + { + "id": "23.14", + "label": "Fabrication de fibres de verre" + }, + { + "id": "23.14Z", + "label": "Fabrication de fibres de verre" + }, + { + "id": "23.19", + "label": "Fabrication et façonnage d'autres articles en verre, y compris verre technique" + }, + { + "id": "23.19Z", + "label": "Fabrication et façonnage d'autres articles en verre, y compris verre technique" + }, + { + "id": "23.2", + "label": "Fabrication de produits réfractaires" + }, + { + "id": "23.20", + "label": "Fabrication de produits réfractaires" + }, + { + "id": "23.20Z", + "label": "Fabrication de produits réfractaires" + }, + { + "id": "23.3", + "label": "Fabrication de matériaux de construction en terre cuite" + }, + { + "id": "23.31", + "label": "Fabrication de carreaux en céramique" + }, + { + "id": "23.31Z", + "label": "Fabrication de carreaux en céramique" + }, + { + "id": "23.32", + "label": "Fabrication de briques, tuiles et produits de construction, en terre cuite" + }, + { + "id": "23.32Z", + "label": "Fabrication de briques, tuiles et produits de construction, en terre cuite" + }, + { + "id": "23.4", + "label": "Fabrication d'autres produits en céramique et en porcelaine" + }, + { + "id": "23.41", + "label": "Fabrication d'articles céramiques à usage domestique ou ornemental" + }, + { + "id": "23.41Z", + "label": "Fabrication d'articles céramiques à usage domestique ou ornemental" + }, + { + "id": "23.42", + "label": "Fabrication d'appareils sanitaires en céramique" + }, + { + "id": "23.42Z", + "label": "Fabrication d'appareils sanitaires en céramique" + }, + { + "id": "23.43", + "label": "Fabrication d'isolateurs et pièces isolantes en céramique" + }, + { + "id": "23.43Z", + "label": "Fabrication d'isolateurs et pièces isolantes en céramique" + }, + { + "id": "23.44", + "label": "Fabrication d'autres produits céramiques à usage technique" + }, + { + "id": "23.44Z", + "label": "Fabrication d'autres produits céramiques à usage technique" + }, + { + "id": "23.49", + "label": "Fabrication d'autres produits céramiques" + }, + { + "id": "23.49Z", + "label": "Fabrication d'autres produits céramiques" + }, + { + "id": "23.5", + "label": "Fabrication de ciment, chaux et plâtre" + }, + { + "id": "23.51", + "label": "Fabrication de ciment" + }, + { + "id": "23.51Z", + "label": "Fabrication de ciment" + }, + { + "id": "23.52", + "label": "Fabrication de chaux et plâtre" + }, + { + "id": "23.52Z", + "label": "Fabrication de chaux et plâtre" + }, + { + "id": "23.6", + "label": "Fabrication d'ouvrages en béton, en ciment ou en plâtre" + }, + { + "id": "23.61", + "label": "Fabrication d'éléments en béton pour la construction" + }, + { + "id": "23.61Z", + "label": "Fabrication d'éléments en béton pour la construction" + }, + { + "id": "23.62", + "label": "Fabrication d'éléments en plâtre pour la construction" + }, + { + "id": "23.62Z", + "label": "Fabrication d'éléments en plâtre pour la construction" + }, + { + "id": "23.63", + "label": "Fabrication de béton prêt à l'emploi" + }, + { + "id": "23.63Z", + "label": "Fabrication de béton prêt à l'emploi" + }, + { + "id": "23.64", + "label": "Fabrication de mortiers et bétons secs" + }, + { + "id": "23.64Z", + "label": "Fabrication de mortiers et bétons secs" + }, + { + "id": "23.65", + "label": "Fabrication d'ouvrages en fibre-ciment" + }, + { + "id": "23.65Z", + "label": "Fabrication d'ouvrages en fibre-ciment" + }, + { + "id": "23.69", + "label": "Fabrication d'autres ouvrages en béton, en ciment ou en plâtre" + }, + { + "id": "23.69Z", + "label": "Fabrication d'autres ouvrages en béton, en ciment ou en plâtre" + }, + { + "id": "23.7", + "label": "Taille, façonnage et finissage de pierres" + }, + { + "id": "23.70", + "label": "Taille, façonnage et finissage de pierres" + }, + { + "id": "23.70Z", + "label": "Taille, façonnage et finissage de pierres" + }, + { + "id": "23.9", + "label": "Fabrication de produits abrasifs et de produits minéraux non métalliques n.c.a." + }, + { + "id": "23.91", + "label": "Fabrication de produits abrasifs" + }, + { + "id": "23.91Z", + "label": "Fabrication de produits abrasifs" + }, + { + "id": "23.99", + "label": "Fabrication d'autres produits minéraux non métalliques n.c.a." + }, + { + "id": "23.99Z", + "label": "Fabrication d'autres produits minéraux non métalliques n.c.a." + }, + { + "id": "24", + "label": "Métallurgie" + }, + { + "id": "24.1", + "label": "Sidérurgie" + }, + { + "id": "24.10", + "label": "Sidérurgie" + }, + { + "id": "24.10Z", + "label": "Sidérurgie" + }, + { + "id": "24.2", + "label": "Fabrication de tubes, tuyaux, profilés creux et accessoires correspondants en acier" + }, + { + "id": "24.20", + "label": "Fabrication de tubes, tuyaux, profilés creux et accessoires correspondants en acier" + }, + { + "id": "24.20Z", + "label": "Fabrication de tubes, tuyaux, profilés creux et accessoires correspondants en acier" + }, + { + "id": "24.3", + "label": "Fabrication d'autres produits de première transformation de l'acier" + }, + { + "id": "24.31", + "label": "Étirage à froid de barres" + }, + { + "id": "24.31Z", + "label": "Étirage à froid de barres" + }, + { + "id": "24.32", + "label": "Laminage à froid de feuillards" + }, + { + "id": "24.32Z", + "label": "Laminage à froid de feuillards" + }, + { + "id": "24.33", + "label": "Profilage à froid par formage ou pliage" + }, + { + "id": "24.33Z", + "label": "Profilage à froid par formage ou pliage" + }, + { + "id": "24.34", + "label": "Tréfilage à froid" + }, + { + "id": "24.34Z", + "label": "Tréfilage à froid" + }, + { + "id": "24.4", + "label": "Production de métaux précieux et d'autres métaux non ferreux" + }, + { + "id": "24.41", + "label": "Production de métaux précieux" + }, + { + "id": "24.41Z", + "label": "Production de métaux précieux" + }, + { + "id": "24.42", + "label": "Métallurgie de l'aluminium" + }, + { + "id": "24.42Z", + "label": "Métallurgie de l'aluminium" + }, + { + "id": "24.43", + "label": "Métallurgie du plomb, du zinc ou de l'étain" + }, + { + "id": "24.43Z", + "label": "Métallurgie du plomb, du zinc ou de l'étain" + }, + { + "id": "24.44", + "label": "Métallurgie du cuivre" + }, + { + "id": "24.44Z", + "label": "Métallurgie du cuivre" + }, + { + "id": "24.45", + "label": "Métallurgie des autres métaux non ferreux" + }, + { + "id": "24.45Z", + "label": "Métallurgie des autres métaux non ferreux" + }, + { + "id": "24.46", + "label": "Élaboration et transformation de matières nucléaires" + }, + { + "id": "24.46Z", + "label": "Élaboration et transformation de matières nucléaires" + }, + { + "id": "24.5", + "label": "Fonderie" + }, + { + "id": "24.51", + "label": "Fonderie de fonte" + }, + { + "id": "24.51Z", + "label": "Fonderie de fonte" + }, + { + "id": "24.52", + "label": "Fonderie d'acier" + }, + { + "id": "24.52Z", + "label": "Fonderie d'acier" + }, + { + "id": "24.53", + "label": "Fonderie de métaux légers" + }, + { + "id": "24.53Z", + "label": "Fonderie de métaux légers" + }, + { + "id": "24.54", + "label": "Fonderie d'autres métaux non ferreux" + }, + { + "id": "24.54Z", + "label": "Fonderie d'autres métaux non ferreux" + }, + { + "id": "25", + "label": "Fabrication de produits métalliques, à l’exception des machines et des équipements" + }, + { + "id": "25.1", + "label": "Fabrication d'éléments en métal pour la construction" + }, + { + "id": "25.11", + "label": "Fabrication de structures métalliques et de parties de structures" + }, + { + "id": "25.11Z", + "label": "Fabrication de structures métalliques et de parties de structures" + }, + { + "id": "25.12", + "label": "Fabrication de portes et fenêtres en métal" + }, + { + "id": "25.12Z", + "label": "Fabrication de portes et fenêtres en métal" + }, + { + "id": "25.2", + "label": "Fabrication de réservoirs, citernes et conteneurs métalliques" + }, + { + "id": "25.21", + "label": "Fabrication de radiateurs et de chaudières pour le chauffage central" + }, + { + "id": "25.21Z", + "label": "Fabrication de radiateurs et de chaudières pour le chauffage central" + }, + { + "id": "25.29", + "label": "Fabrication d'autres réservoirs, citernes et conteneurs métalliques" + }, + { + "id": "25.29Z", + "label": "Fabrication d'autres réservoirs, citernes et conteneurs métalliques" + }, + { + "id": "25.3", + "label": "Fabrication de générateurs de vapeur, à l'exception des chaudières pour le chauffage central" + }, + { + "id": "25.30", + "label": "Fabrication de générateurs de vapeur, à l'exception des chaudières pour le chauffage central" + }, + { + "id": "25.30Z", + "label": "Fabrication de générateurs de vapeur, à l'exception des chaudières pour le chauffage central" + }, + { + "id": "25.4", + "label": "Fabrication d'armes et de munitions" + }, + { + "id": "25.40", + "label": "Fabrication d'armes et de munitions" + }, + { + "id": "25.40Z", + "label": "Fabrication d'armes et de munitions" + }, + { + "id": "25.5", + "label": "Forge, emboutissage, estampage ; métallurgie des poudres" + }, + { + "id": "25.50", + "label": "Forge, emboutissage, estampage ; métallurgie des poudres" + }, + { + "id": "25.50A", + "label": "Forge, estampage, matriçage ; métallurgie des poudres" + }, + { + "id": "25.50B", + "label": "Découpage, emboutissage" + }, + { + "id": "25.6", + "label": "Traitement et revêtement des métaux ; usinage" + }, + { + "id": "25.61", + "label": "Traitement et revêtement des métaux" + }, + { + "id": "25.61Z", + "label": "Traitement et revêtement des métaux" + }, + { + "id": "25.62", + "label": "Usinage" + }, + { + "id": "25.62A", + "label": "Décolletage" + }, + { + "id": "25.62B", + "label": "Mécanique industrielle" + }, + { + "id": "25.7", + "label": "Fabrication de coutellerie, d'outillage et de quincaillerie" + }, + { + "id": "25.71", + "label": "Fabrication de coutellerie" + }, + { + "id": "25.71Z", + "label": "Fabrication de coutellerie" + }, + { + "id": "25.72", + "label": "Fabrication de serrures et de ferrures" + }, + { + "id": "25.72Z", + "label": "Fabrication de serrures et de ferrures" + }, + { + "id": "25.73", + "label": "Fabrication d'outillage" + }, + { + "id": "25.73A", + "label": "Fabrication de moules et modèles" + }, + { + "id": "25.73B", + "label": "Fabrication d'autres outillages" + }, + { + "id": "25.9", + "label": "Fabrication d'autres ouvrages en métaux" + }, + { + "id": "25.91", + "label": "Fabrication de fûts et emballages métalliques similaires" + }, + { + "id": "25.91Z", + "label": "Fabrication de fûts et emballages métalliques similaires" + }, + { + "id": "25.92", + "label": "Fabrication d'emballages métalliques légers" + }, + { + "id": "25.92Z", + "label": "Fabrication d'emballages métalliques légers" + }, + { + "id": "25.93", + "label": "Fabrication d'articles en fils métalliques, de chaînes et de ressorts" + }, + { + "id": "25.93Z", + "label": "Fabrication d'articles en fils métalliques, de chaînes et de ressorts" + }, + { + "id": "25.94", + "label": "Fabrication de vis et de boulons" + }, + { + "id": "25.94Z", + "label": "Fabrication de vis et de boulons" + }, + { + "id": "25.99", + "label": "Fabrication d'autres produits métalliques n.c.a." + }, + { + "id": "25.99A", + "label": "Fabrication d'articles métalliques ménagers" + }, + { + "id": "25.99B", + "label": "Fabrication d'autres articles métalliques" + }, + { + "id": "26", + "label": "Fabrication de produits informatiques, électroniques et optiques" + }, + { + "id": "26.1", + "label": "Fabrication de composants et cartes électroniques" + }, + { + "id": "26.11", + "label": "Fabrication de composants électroniques" + }, + { + "id": "26.11Z", + "label": "Fabrication de composants électroniques" + }, + { + "id": "26.12", + "label": "Fabrication de cartes électroniques assemblées" + }, + { + "id": "26.12Z", + "label": "Fabrication de cartes électroniques assemblées" + }, + { + "id": "26.2", + "label": "Fabrication d'ordinateurs et d'équipements périphériques" + }, + { + "id": "26.20", + "label": "Fabrication d'ordinateurs et d'équipements périphériques" + }, + { + "id": "26.20Z", + "label": "Fabrication d'ordinateurs et d'équipements périphériques" + }, + { + "id": "26.3", + "label": "Fabrication d'équipements de communication" + }, + { + "id": "26.30", + "label": "Fabrication d'équipements de communication" + }, + { + "id": "26.30Z", + "label": "Fabrication d'équipements de communication" + }, + { + "id": "26.4", + "label": "Fabrication de produits électroniques grand public" + }, + { + "id": "26.40", + "label": "Fabrication de produits électroniques grand public" + }, + { + "id": "26.40Z", + "label": "Fabrication de produits électroniques grand public" + }, + { + "id": "26.5", + "label": "Fabrication d'instruments et d'appareils de mesure, d'essai et de navigation ; horlogerie" + }, + { + "id": "26.51", + "label": "Fabrication d'instruments et d'appareils de mesure, d'essai et de navigation" + }, + { + "id": "26.51A", + "label": "Fabrication d'équipements d'aide à la navigation" + }, + { + "id": "26.51B", + "label": "Fabrication d'instrumentation scientifique et technique" + }, + { + "id": "26.52", + "label": "Horlogerie" + }, + { + "id": "26.52Z", + "label": "Horlogerie" + }, + { + "id": "26.6", + "label": "Fabrication d'équipements d'irradiation médicale, d'équipements électromédicaux et électrothérapeutiques" + }, + { + "id": "26.60", + "label": "Fabrication d'équipements d'irradiation médicale, d'équipements électromédicaux et électrothérapeutiques" + }, + { + "id": "26.60Z", + "label": "Fabrication d'équipements d'irradiation médicale, d'équipements électromédicaux et électrothérapeutiques" + }, + { + "id": "26.7", + "label": "Fabrication de matériels optique et photographique" + }, + { + "id": "26.70", + "label": "Fabrication de matériels optique et photographique" + }, + { + "id": "26.70Z", + "label": "Fabrication de matériels optique et photographique" + }, + { + "id": "26.8", + "label": "Fabrication de supports magnétiques et optiques" + }, + { + "id": "26.80", + "label": "Fabrication de supports magnétiques et optiques" + }, + { + "id": "26.80Z", + "label": "Fabrication de supports magnétiques et optiques" + }, + { + "id": "27", + "label": "Fabrication d'équipements électriques" + }, + { + "id": "27.1", + "label": "Fabrication de moteurs, génératrices et transformateurs électriques et de matériel de distribution et de commande électrique" + }, + { + "id": "27.11", + "label": "Fabrication de moteurs, génératrices et transformateurs électriques" + }, + { + "id": "27.11Z", + "label": "Fabrication de moteurs, génératrices et transformateurs électriques" + }, + { + "id": "27.12", + "label": "Fabrication de matériel de distribution et de commande électrique" + }, + { + "id": "27.12Z", + "label": "Fabrication de matériel de distribution et de commande électrique" + }, + { + "id": "27.2", + "label": "Fabrication de piles et d'accumulateurs électriques" + }, + { + "id": "27.20", + "label": "Fabrication de piles et d'accumulateurs électriques" + }, + { + "id": "27.20Z", + "label": "Fabrication de piles et d'accumulateurs électriques" + }, + { + "id": "27.3", + "label": "Fabrication de fils et câbles et de matériel d'installation électrique" + }, + { + "id": "27.31", + "label": "Fabrication de câbles de fibres optiques" + }, + { + "id": "27.31Z", + "label": "Fabrication de câbles de fibres optiques" + }, + { + "id": "27.32", + "label": "Fabrication d'autres fils et câbles électroniques ou électriques" + }, + { + "id": "27.32Z", + "label": "Fabrication d'autres fils et câbles électroniques ou électriques" + }, + { + "id": "27.33", + "label": "Fabrication de matériel d'installation électrique" + }, + { + "id": "27.33Z", + "label": "Fabrication de matériel d'installation électrique" + }, + { + "id": "27.4", + "label": "Fabrication d'appareils d'éclairage électrique" + }, + { + "id": "27.40", + "label": "Fabrication d'appareils d'éclairage électrique" + }, + { + "id": "27.40Z", + "label": "Fabrication d'appareils d'éclairage électrique" + }, + { + "id": "27.5", + "label": "Fabrication d'appareils ménagers" + }, + { + "id": "27.51", + "label": "Fabrication d'appareils électroménagers" + }, + { + "id": "27.51Z", + "label": "Fabrication d'appareils électroménagers" + }, + { + "id": "27.52", + "label": "Fabrication d'appareils ménagers non électriques" + }, + { + "id": "27.52Z", + "label": "Fabrication d'appareils ménagers non électriques" + }, + { + "id": "27.9", + "label": "Fabrication d'autres matériels électriques" + }, + { + "id": "27.90", + "label": "Fabrication d'autres matériels électriques" + }, + { + "id": "27.90Z", + "label": "Fabrication d'autres matériels électriques" + }, + { + "id": "28", + "label": "Fabrication de machines et équipements n.c.a." + }, + { + "id": "28.1", + "label": "Fabrication de machines d'usage général" + }, + { + "id": "28.11", + "label": "Fabrication de moteurs et turbines, à l'exception des moteurs d’avions et de véhicules" + }, + { + "id": "28.11Z", + "label": "Fabrication de moteurs et turbines, à l'exception des moteurs d’avions et de véhicules" + }, + { + "id": "28.12", + "label": "Fabrication d'équipements hydrauliques et pneumatiques" + }, + { + "id": "28.12Z", + "label": "Fabrication d'équipements hydrauliques et pneumatiques" + }, + { + "id": "28.13", + "label": "Fabrication d'autres pompes et compresseurs" + }, + { + "id": "28.13Z", + "label": "Fabrication d'autres pompes et compresseurs" + }, + { + "id": "28.14", + "label": "Fabrication d'autres articles de robinetterie" + }, + { + "id": "28.14Z", + "label": "Fabrication d'autres articles de robinetterie" + }, + { + "id": "28.15", + "label": "Fabrication d'engrenages et d'organes mécaniques de transmission" + }, + { + "id": "28.15Z", + "label": "Fabrication d'engrenages et d'organes mécaniques de transmission" + }, + { + "id": "28.2", + "label": "Fabrication d'autres machines d'usage général" + }, + { + "id": "28.21", + "label": "Fabrication de fours et brûleurs" + }, + { + "id": "28.21Z", + "label": "Fabrication de fours et brûleurs" + }, + { + "id": "28.22", + "label": "Fabrication de matériel de levage et de manutention" + }, + { + "id": "28.22Z", + "label": "Fabrication de matériel de levage et de manutention" + }, + { + "id": "28.23", + "label": "Fabrication de machines et d'équipements de bureau (à l'exception des ordinateurs et équipements périphériques)" + }, + { + "id": "28.23Z", + "label": "Fabrication de machines et d'équipements de bureau (à l'exception des ordinateurs et équipements périphériques)" + }, + { + "id": "28.24", + "label": "Fabrication d'outillage portatif à moteur incorporé" + }, + { + "id": "28.24Z", + "label": "Fabrication d'outillage portatif à moteur incorporé" + }, + { + "id": "28.25", + "label": "Fabrication d'équipements aérauliques et frigorifiques industriels" + }, + { + "id": "28.25Z", + "label": "Fabrication d'équipements aérauliques et frigorifiques industriels" + }, + { + "id": "28.29", + "label": "Fabrication de machines diverses d'usage général" + }, + { + "id": "28.29A", + "label": "Fabrication d'équipements d'emballage, de conditionnement et de pesage" + }, + { + "id": "28.29B", + "label": "Fabrication d'autres machines d'usage général" + }, + { + "id": "28.3", + "label": "Fabrication de machines agricoles et forestières" + }, + { + "id": "28.30", + "label": "Fabrication de machines agricoles et forestières" + }, + { + "id": "28.30Z", + "label": "Fabrication de machines agricoles et forestières" + }, + { + "id": "28.4", + "label": "Fabrication de machines de formage des métaux et de machines-outils" + }, + { + "id": "28.41", + "label": "Fabrication de machines de formage des métaux" + }, + { + "id": "28.41Z", + "label": "Fabrication de machines-outils pour le travail des métaux" + }, + { + "id": "28.49", + "label": "Fabrication d'autres machines-outils" + }, + { + "id": "28.49Z", + "label": "Fabrication d'autres machines-outils" + }, + { + "id": "28.9", + "label": "Fabrication d'autres machines d'usage spécifique" + }, + { + "id": "28.91", + "label": "Fabrication de machines pour la métallurgie" + }, + { + "id": "28.91Z", + "label": "Fabrication de machines pour la métallurgie" + }, + { + "id": "28.92", + "label": "Fabrication de machines pour l'extraction ou la construction" + }, + { + "id": "28.92Z", + "label": "Fabrication de machines pour l'extraction ou la construction" + }, + { + "id": "28.93", + "label": "Fabrication de machines pour l'industrie agro-alimentaire" + }, + { + "id": "28.93Z", + "label": "Fabrication de machines pour l'industrie agro-alimentaire" + }, + { + "id": "28.94", + "label": "Fabrication de machines pour les industries textiles" + }, + { + "id": "28.94Z", + "label": "Fabrication de machines pour les industries textiles" + }, + { + "id": "28.95", + "label": "Fabrication de machines pour les industries du papier et du carton" + }, + { + "id": "28.95Z", + "label": "Fabrication de machines pour les industries du papier et du carton" + }, + { + "id": "28.96", + "label": "Fabrication de machines pour le travail du caoutchouc ou des plastiques" + }, + { + "id": "28.96Z", + "label": "Fabrication de machines pour le travail du caoutchouc ou des plastiques" + }, + { + "id": "28.99", + "label": "Fabrication d'autres machines d'usage spécifique n.c.a." + }, + { + "id": "28.99A", + "label": "Fabrication de machines d'imprimerie" + }, + { + "id": "28.99B", + "label": "Fabrication d'autres machines spécialisées" + }, + { + "id": "29", + "label": "Industrie automobile" + }, + { + "id": "29.1", + "label": "Construction de véhicules automobiles" + }, + { + "id": "29.10", + "label": "Construction de véhicules automobiles" + }, + { + "id": "29.10Z", + "label": "Construction de véhicules automobiles" + }, + { + "id": "29.2", + "label": "Fabrication de carrosseries et remorques" + }, + { + "id": "29.20", + "label": "Fabrication de carrosseries et remorques" + }, + { + "id": "29.20Z", + "label": "Fabrication de carrosseries et remorques" + }, + { + "id": "29.3", + "label": "Fabrication d'équipements automobiles" + }, + { + "id": "29.31", + "label": "Fabrication d'équipements électriques et électroniques automobiles" + }, + { + "id": "29.31Z", + "label": "Fabrication d'équipements électriques et électroniques automobiles" + }, + { + "id": "29.32", + "label": "Fabrication d'autres équipements automobiles" + }, + { + "id": "29.32Z", + "label": "Fabrication d'autres équipements automobiles" + }, + { + "id": "30", + "label": "Fabrication d'autres matériels de transport" + }, + { + "id": "30.1", + "label": "Construction navale" + }, + { + "id": "30.11", + "label": "Construction de navires et de structures flottantes" + }, + { + "id": "30.11Z", + "label": "Construction de navires et de structures flottantes" + }, + { + "id": "30.12", + "label": "Construction de bateaux de plaisance" + }, + { + "id": "30.12Z", + "label": "Construction de bateaux de plaisance" + }, + { + "id": "30.2", + "label": "Construction de locomotives et d'autre matériel ferroviaire roulant" + }, + { + "id": "30.20", + "label": "Construction de locomotives et d'autre matériel ferroviaire roulant" + }, + { + "id": "30.20Z", + "label": "Construction de locomotives et d'autre matériel ferroviaire roulant" + }, + { + "id": "30.3", + "label": "Construction aéronautique et spatiale" + }, + { + "id": "30.30", + "label": "Construction aéronautique et spatiale" + }, + { + "id": "30.30Z", + "label": "Construction aéronautique et spatiale" + }, + { + "id": "30.4", + "label": "Construction de véhicules militaires de combat" + }, + { + "id": "30.40", + "label": "Construction de véhicules militaires de combat" + }, + { + "id": "30.40Z", + "label": "Construction de véhicules militaires de combat" + }, + { + "id": "30.9", + "label": "Fabrication de matériels de transport n.c.a." + }, + { + "id": "30.91", + "label": "Fabrication de motocycles" + }, + { + "id": "30.91Z", + "label": "Fabrication de motocycles" + }, + { + "id": "30.92", + "label": "Fabrication de bicyclettes et de véhicules pour invalides" + }, + { + "id": "30.92Z", + "label": "Fabrication de bicyclettes et de véhicules pour invalides" + }, + { + "id": "30.99", + "label": "Fabrication d’autres équipements de transport n.c.a." + }, + { + "id": "30.99Z", + "label": "Fabrication d’autres équipements de transport n.c.a." + }, + { + "id": "31", + "label": "Fabrication de meubles" + }, + { + "id": "31.0", + "label": "Fabrication de meubles" + }, + { + "id": "31.01", + "label": "Fabrication de meubles de bureau et de magasin" + }, + { + "id": "31.01Z", + "label": "Fabrication de meubles de bureau et de magasin" + }, + { + "id": "31.02", + "label": "Fabrication de meubles de cuisine" + }, + { + "id": "31.02Z", + "label": "Fabrication de meubles de cuisine" + }, + { + "id": "31.03", + "label": "Fabrication de matelas" + }, + { + "id": "31.03Z", + "label": "Fabrication de matelas" + }, + { + "id": "31.09", + "label": "Fabrication d'autres meubles" + }, + { + "id": "31.09A", + "label": "Fabrication de sièges d'ameublement d'intérieur" + }, + { + "id": "31.09B", + "label": "Fabrication d’autres meubles et industries connexes de l’ameublement" + }, + { + "id": "32", + "label": "Autres industries manufacturières" + }, + { + "id": "32.1", + "label": "Fabrication d’articles de joaillerie, bijouterie et articles similaires" + }, + { + "id": "32.11", + "label": "Frappe de monnaie" + }, + { + "id": "32.11Z", + "label": "Frappe de monnaie" + }, + { + "id": "32.12", + "label": "Fabrication d’articles de joaillerie et bijouterie" + }, + { + "id": "32.12Z", + "label": "Fabrication d’articles de joaillerie et bijouterie" + }, + { + "id": "32.13", + "label": "Fabrication d’articles de bijouterie fantaisie et articles similaires" + }, + { + "id": "32.13Z", + "label": "Fabrication d’articles de bijouterie fantaisie et articles similaires" + }, + { + "id": "32.2", + "label": "Fabrication d'instruments de musique" + }, + { + "id": "32.20", + "label": "Fabrication d'instruments de musique" + }, + { + "id": "32.20Z", + "label": "Fabrication d'instruments de musique" + }, + { + "id": "32.3", + "label": "Fabrication d'articles de sport" + }, + { + "id": "32.30", + "label": "Fabrication d'articles de sport" + }, + { + "id": "32.30Z", + "label": "Fabrication d'articles de sport" + }, + { + "id": "32.4", + "label": "Fabrication de jeux et jouets" + }, + { + "id": "32.40", + "label": "Fabrication de jeux et jouets" + }, + { + "id": "32.40Z", + "label": "Fabrication de jeux et jouets" + }, + { + "id": "32.5", + "label": "Fabrication d'instruments et de fournitures à usage médical et dentaire" + }, + { + "id": "32.50", + "label": "Fabrication d'instruments et de fournitures à usage médical et dentaire" + }, + { + "id": "32.50A", + "label": "Fabrication de matériel médico-chirurgical et dentaire" + }, + { + "id": "32.50B", + "label": "Fabrication de lunettes" + }, + { + "id": "32.9", + "label": "Activités manufacturières n.c.a." + }, + { + "id": "32.91", + "label": "Fabrication d’articles de brosserie" + }, + { + "id": "32.91Z", + "label": "Fabrication d’articles de brosserie" + }, + { + "id": "32.99", + "label": "Autres activités manufacturières n.c.a." + }, + { + "id": "32.99Z", + "label": "Autres activités manufacturières n.c.a." + }, + { + "id": "33", + "label": "Réparation et installation de machines et d'équipements" + }, + { + "id": "33.1", + "label": "Réparation d'ouvrages en métaux, de machines et d'équipements" + }, + { + "id": "33.11", + "label": "Réparation d'ouvrages en métaux" + }, + { + "id": "33.11Z", + "label": "Réparation d'ouvrages en métaux" + }, + { + "id": "33.12", + "label": "Réparation de machines et équipements mécaniques" + }, + { + "id": "33.12Z", + "label": "Réparation de machines et équipements mécaniques" + }, + { + "id": "33.13", + "label": "Réparation de matériels électroniques et optiques" + }, + { + "id": "33.13Z", + "label": "Réparation de matériels électroniques et optiques" + }, + { + "id": "33.14", + "label": "Réparation d'équipements électriques" + }, + { + "id": "33.14Z", + "label": "Réparation d'équipements électriques" + }, + { + "id": "33.15", + "label": "Réparation et maintenance navale" + }, + { + "id": "33.15Z", + "label": "Réparation et maintenance navale" + }, + { + "id": "33.16", + "label": "Réparation et maintenance d'aéronefs et d'engins spatiaux" + }, + { + "id": "33.16Z", + "label": "Réparation et maintenance d'aéronefs et d'engins spatiaux" + }, + { + "id": "33.17", + "label": "Réparation et maintenance d'autres équipements de transport" + }, + { + "id": "33.17Z", + "label": "Réparation et maintenance d'autres équipements de transport" + }, + { + "id": "33.19", + "label": "Réparation d'autres équipements" + }, + { + "id": "33.19Z", + "label": "Réparation d'autres équipements" + }, + { + "id": "33.2", + "label": "Installation de machines et d'équipements industriels" + }, + { + "id": "33.20", + "label": "Installation de machines et d'équipements industriels" + }, + { + "id": "33.20A", + "label": "Installation de structures métalliques, chaudronnées et de tuyauterie" + }, + { + "id": "33.20B", + "label": "Installation de machines et équipements mécaniques" + }, + { + "id": "33.20C", + "label": "Conception d'ensemble et assemblage sur site industriel d'équipements de contrôle des processus industriels" + }, + { + "id": "33.20D", + "label": "Installation d'équipements électriques, de matériels électroniques et optiques ou d'autres matériels" + }, + { + "id": "35", + "label": "Production et distribution d'électricité, de gaz, de vapeur et d'air conditionné" + }, + { + "id": "35.1", + "label": "Production, transport et distribution d'électricité" + }, + { + "id": "35.11", + "label": "Production d'électricité" + }, + { + "id": "35.11Z", + "label": "Production d'électricité" + }, + { + "id": "35.12", + "label": "Transport d'électricité" + }, + { + "id": "35.12Z", + "label": "Transport d'électricité" + }, + { + "id": "35.13", + "label": "Distribution d'électricité" + }, + { + "id": "35.13Z", + "label": "Distribution d'électricité" + }, + { + "id": "35.14", + "label": "Commerce d'électricité" + }, + { + "id": "35.14Z", + "label": "Commerce d'électricité" + }, + { + "id": "35.2", + "label": "Production et distribution de combustibles gazeux" + }, + { + "id": "35.21", + "label": "Production de combustibles gazeux" + }, + { + "id": "35.21Z", + "label": "Production de combustibles gazeux" + }, + { + "id": "35.22", + "label": "Distribution de combustibles gazeux par conduites" + }, + { + "id": "35.22Z", + "label": "Distribution de combustibles gazeux par conduites" + }, + { + "id": "35.23", + "label": "Commerce de combustibles gazeux par conduites" + }, + { + "id": "35.23Z", + "label": "Commerce de combustibles gazeux par conduites" + }, + { + "id": "35.3", + "label": "Production et distribution de vapeur et d'air conditionné" + }, + { + "id": "35.30", + "label": "Production et distribution de vapeur et d'air conditionné" + }, + { + "id": "35.30Z", + "label": "Production et distribution de vapeur et d'air conditionné" + }, + { + "id": "36", + "label": "Captage, traitement et distribution d'eau" + }, + { + "id": "36.0", + "label": "Captage, traitement et distribution d'eau" + }, + { + "id": "36.00", + "label": "Captage, traitement et distribution d'eau" + }, + { + "id": "36.00Z", + "label": "Captage, traitement et distribution d'eau" + }, + { + "id": "37", + "label": "Collecte et traitement des eaux usées" + }, + { + "id": "37.0", + "label": "Collecte et traitement des eaux usées" + }, + { + "id": "37.00", + "label": "Collecte et traitement des eaux usées" + }, + { + "id": "37.00Z", + "label": "Collecte et traitement des eaux usées" + }, + { + "id": "38", + "label": "Collecte, traitement et élimination des déchets ; récupération" + }, + { + "id": "38.1", + "label": "Collecte des déchets" + }, + { + "id": "38.11", + "label": "Collecte des déchets non dangereux" + }, + { + "id": "38.11Z", + "label": "Collecte des déchets non dangereux" + }, + { + "id": "38.12", + "label": "Collecte des déchets dangereux" + }, + { + "id": "38.12Z", + "label": "Collecte des déchets dangereux" + }, + { + "id": "38.2", + "label": "Traitement et élimination des déchets" + }, + { + "id": "38.21", + "label": "Traitement et élimination des déchets non dangereux" + }, + { + "id": "38.21Z", + "label": "Traitement et élimination des déchets non dangereux" + }, + { + "id": "38.22", + "label": "Traitement et élimination des déchets dangereux" + }, + { + "id": "38.22Z", + "label": "Traitement et élimination des déchets dangereux" + }, + { + "id": "38.3", + "label": "Récupération" + }, + { + "id": "38.31", + "label": "Démantèlement d'épaves" + }, + { + "id": "38.31Z", + "label": "Démantèlement d'épaves" + }, + { + "id": "38.32", + "label": "Récupération de déchets triés" + }, + { + "id": "38.32Z", + "label": "Récupération de déchets triés" + }, + { + "id": "39", + "label": "Dépollution et autres services de gestion des déchets" + }, + { + "id": "39.0", + "label": "Dépollution et autres services de gestion des déchets" + }, + { + "id": "39.00", + "label": "Dépollution et autres services de gestion des déchets" + }, + { + "id": "39.00Z", + "label": "Dépollution et autres services de gestion des déchets" + }, + { + "id": "41", + "label": "Construction de bâtiments" + }, + { + "id": "41.1", + "label": "Promotion immobilière" + }, + { + "id": "41.10", + "label": "Promotion immobilière" + }, + { + "id": "41.10A", + "label": "Promotion immobilière de logements" + }, + { + "id": "41.10B", + "label": "Promotion immobilière de bureaux" + }, + { + "id": "41.10C", + "label": "Promotion immobilière d'autres bâtiments" + }, + { + "id": "41.10D", + "label": "Supports juridiques de programmes" + }, + { + "id": "41.2", + "label": "Construction de bâtiments résidentiels et non résidentiels" + }, + { + "id": "41.20", + "label": "Construction de bâtiments résidentiels et non résidentiels" + }, + { + "id": "41.20A", + "label": "Construction de maisons individuelles" + }, + { + "id": "41.20B", + "label": "Construction d'autres bâtiments" + }, + { + "id": "42", + "label": "Génie civil" + }, + { + "id": "42.1", + "label": "Construction de routes et de voies ferrées" + }, + { + "id": "42.11", + "label": "Construction de routes et autoroutes" + }, + { + "id": "42.11Z", + "label": "Construction de routes et autoroutes" + }, + { + "id": "42.12", + "label": "Construction de voies ferrées de surface et souterraines" + }, + { + "id": "42.12Z", + "label": "Construction de voies ferrées de surface et souterraines" + }, + { + "id": "42.13", + "label": "Construction de ponts et tunnels" + }, + { + "id": "42.13A", + "label": "Construction d'ouvrages d'art" + }, + { + "id": "42.13B", + "label": "Construction et entretien de tunnels" + }, + { + "id": "42.2", + "label": "Construction de réseaux et de lignes" + }, + { + "id": "42.21", + "label": "Construction de réseaux pour fluides" + }, + { + "id": "42.21Z", + "label": "Construction de réseaux pour fluides" + }, + { + "id": "42.22", + "label": "Construction de réseaux électriques et de télécommunications" + }, + { + "id": "42.22Z", + "label": "Construction de réseaux électriques et de télécommunications" + }, + { + "id": "42.9", + "label": "Construction d'autres ouvrages de génie civil" + }, + { + "id": "42.91", + "label": "Construction d'ouvrages maritimes et fluviaux" + }, + { + "id": "42.91Z", + "label": "Construction d'ouvrages maritimes et fluviaux" + }, + { + "id": "42.99", + "label": "Construction d'autres ouvrages de génie civil n.c.a." + }, + { + "id": "42.99Z", + "label": "Construction d'autres ouvrages de génie civil n.c.a." + }, + { + "id": "43", + "label": "Travaux de construction spécialisés" + }, + { + "id": "43.1", + "label": "Démolition et préparation des sites" + }, + { + "id": "43.11", + "label": "Travaux de démolition" + }, + { + "id": "43.11Z", + "label": "Travaux de démolition" + }, + { + "id": "43.12", + "label": "Travaux de préparation des sites" + }, + { + "id": "43.12A", + "label": "Travaux de terrassement courants et travaux préparatoires" + }, + { + "id": "43.12B", + "label": "Travaux de terrassement spécialisés ou de grande masse" + }, + { + "id": "43.13", + "label": "Forages et sondages" + }, + { + "id": "43.13Z", + "label": "Forages et sondages" + }, + { + "id": "43.2", + "label": "Travaux d'installation électrique, plomberie et autres travaux d'installation" + }, + { + "id": "43.21", + "label": "Installation électrique" + }, + { + "id": "43.21A", + "label": "Travaux d'installation électrique dans tous locaux" + }, + { + "id": "43.21B", + "label": "Travaux d'installation électrique sur la voie publique" + }, + { + "id": "43.22", + "label": "Travaux de plomberie et installation de chauffage et de conditionnement d'air" + }, + { + "id": "43.22A", + "label": "Travaux d'installation d'eau et de gaz en tous locaux" + }, + { + "id": "43.22B", + "label": "Travaux d'installation d'équipements thermiques et de climatisation" + }, + { + "id": "43.29", + "label": "Autres travaux d'installation" + }, + { + "id": "43.29A", + "label": "Travaux d'isolation" + }, + { + "id": "43.29B", + "label": "Autres travaux d'installation n.c.a." + }, + { + "id": "43.3", + "label": "Travaux de finition" + }, + { + "id": "43.31", + "label": "Travaux de plâtrerie" + }, + { + "id": "43.31Z", + "label": "Travaux de plâtrerie" + }, + { + "id": "43.32", + "label": "Travaux de menuiserie" + }, + { + "id": "43.32A", + "label": "Travaux de menuiserie bois et PVC" + }, + { + "id": "43.32B", + "label": "Travaux de menuiserie métallique et serrurerie" + }, + { + "id": "43.32C", + "label": "Agencement de lieux de vente" + }, + { + "id": "43.33", + "label": "Travaux de revêtement des sols et des murs" + }, + { + "id": "43.33Z", + "label": "Travaux de revêtement des sols et des murs" + }, + { + "id": "43.34", + "label": "Travaux de peinture et vitrerie" + }, + { + "id": "43.34Z", + "label": "Travaux de peinture et vitrerie" + }, + { + "id": "43.39", + "label": "Autres travaux de finition" + }, + { + "id": "43.39Z", + "label": "Autres travaux de finition" + }, + { + "id": "43.9", + "label": "Autres travaux de construction spécialisés" + }, + { + "id": "43.91", + "label": "Travaux de couverture" + }, + { + "id": "43.91A", + "label": "Travaux de charpente" + }, + { + "id": "43.91B", + "label": "Travaux de couverture par éléments" + }, + { + "id": "43.99", + "label": "Autres travaux de construction spécialisés n.c.a." + }, + { + "id": "43.99A", + "label": "Travaux d'étanchéification" + }, + { + "id": "43.99B", + "label": "Travaux de montage de structures métalliques" + }, + { + "id": "43.99C", + "label": "Travaux de maçonnerie générale et gros œuvre de bâtiment" + }, + { + "id": "43.99D", + "label": "Autres travaux spécialisés de construction" + }, + { + "id": "43.99E", + "label": "Location avec opérateur de matériel de construction" + }, + { + "id": "45", + "label": "Commerce et réparation d'automobiles et de motocycles" + }, + { + "id": "45.1", + "label": "Commerce de véhicules automobiles" + }, + { + "id": "45.11", + "label": "Commerce de voitures et de véhicules automobiles légers" + }, + { + "id": "45.11Z", + "label": "Commerce de voitures et de véhicules automobiles légers" + }, + { + "id": "45.19", + "label": "Commerce d'autres véhicules automobiles" + }, + { + "id": "45.19Z", + "label": "Commerce d'autres véhicules automobiles" + }, + { + "id": "45.2", + "label": "Entretien et réparation de véhicules automobiles" + }, + { + "id": "45.20", + "label": "Entretien et réparation de véhicules automobiles" + }, + { + "id": "45.20A", + "label": "Entretien et réparation de véhicules automobiles légers" + }, + { + "id": "45.20B", + "label": "Entretien et réparation d'autres véhicules automobiles" + }, + { + "id": "45.3", + "label": "Commerce d'équipements automobiles" + }, + { + "id": "45.31", + "label": "Commerce de gros d'équipements automobiles" + }, + { + "id": "45.31Z", + "label": "Commerce de gros d'équipements automobiles" + }, + { + "id": "45.32", + "label": "Commerce de détail d'équipements automobiles" + }, + { + "id": "45.32Z", + "label": "Commerce de détail d'équipements automobiles" + }, + { + "id": "45.4", + "label": "Commerce et réparation de motocycles" + }, + { + "id": "45.40", + "label": "Commerce et réparation de motocycles" + }, + { + "id": "45.40Z", + "label": "Commerce et réparation de motocycles" + }, + { + "id": "46", + "label": "Commerce de gros, à l’exception des automobiles et des motocycles" + }, + { + "id": "46.1", + "label": "Intermédiaires du commerce de gros" + }, + { + "id": "46.11", + "label": "Intermédiaires du commerce en matières premières agricoles, animaux vivants, matières premières textiles et produits semi-finis" + }, + { + "id": "46.11Z", + "label": "Intermédiaires du commerce en matières premières agricoles, animaux vivants, matières premières textiles et produits semi-finis" + }, + { + "id": "46.12", + "label": "Intermédiaires du commerce en combustibles, métaux, minéraux et produits chimiques" + }, + { + "id": "46.12A", + "label": "Centrales d'achat de carburant" + }, + { + "id": "46.12B", + "label": "Autres intermédiaires du commerce en combustibles, métaux, minéraux et produits chimiques" + }, + { + "id": "46.13", + "label": "Intermédiaires du commerce en bois et matériaux de construction" + }, + { + "id": "46.13Z", + "label": "Intermédiaires du commerce en bois et matériaux de construction" + }, + { + "id": "46.14", + "label": "Intermédiaires du commerce en machines, équipements industriels, navires et avions" + }, + { + "id": "46.14Z", + "label": "Intermédiaires du commerce en machines, équipements industriels, navires et avions" + }, + { + "id": "46.15", + "label": "Intermédiaires du commerce en meubles, articles de ménage et quincaillerie" + }, + { + "id": "46.15Z", + "label": "Intermédiaires du commerce en meubles, articles de ménage et quincaillerie" + }, + { + "id": "46.16", + "label": "Intermédiaires du commerce en textiles, habillement, fourrures, chaussures et articles en cuir" + }, + { + "id": "46.16Z", + "label": "Intermédiaires du commerce en textiles, habillement, fourrures, chaussures et articles en cuir" + }, + { + "id": "46.17", + "label": "Intermédiaires du commerce en denrées, boissons et tabac" + }, + { + "id": "46.17A", + "label": "Centrales d'achat alimentaires" + }, + { + "id": "46.17B", + "label": "Autres intermédiaires du commerce en denrées, boissons et tabac" + }, + { + "id": "46.18", + "label": "Intermédiaires spécialisés dans le commerce d'autres produits spécifiques" + }, + { + "id": "46.18Z", + "label": "Intermédiaires spécialisés dans le commerce d'autres produits spécifiques" + }, + { + "id": "46.19", + "label": "Intermédiaires du commerce en produits divers" + }, + { + "id": "46.19A", + "label": "Centrales d'achat non alimentaires" + }, + { + "id": "46.19B", + "label": "Autres intermédiaires du commerce en produits divers" + }, + { + "id": "46.2", + "label": "Commerce de gros de produits agricoles bruts et d'animaux vivants" + }, + { + "id": "46.21", + "label": "Commerce de gros de céréales, de tabac non manufacturé, de semences et d'aliments pour le bétail" + }, + { + "id": "46.21Z", + "label": "Commerce de gros (commerce interentreprises) de céréales, de tabac non manufacturé, de semences et d'aliments pour le bétail" + }, + { + "id": "46.22", + "label": "Commerce de gros de fleurs et plantes" + }, + { + "id": "46.22Z", + "label": "Commerce de gros (commerce interentreprises) de fleurs et plantes" + }, + { + "id": "46.23", + "label": "Commerce de gros d'animaux vivants" + }, + { + "id": "46.23Z", + "label": "Commerce de gros (commerce interentreprises) d'animaux vivants" + }, + { + "id": "46.24", + "label": "Commerce de gros de cuirs et peaux" + }, + { + "id": "46.24Z", + "label": "Commerce de gros (commerce interentreprises) de cuirs et peaux" + }, + { + "id": "46.3", + "label": "Commerce de gros de produits alimentaires, de boissons et de tabac" + }, + { + "id": "46.31", + "label": "Commerce de gros de fruits et légumes" + }, + { + "id": "46.31Z", + "label": "Commerce de gros (commerce interentreprises) de fruits et légumes" + }, + { + "id": "46.32", + "label": "Commerce de gros de viandes et de produits à base de viande" + }, + { + "id": "46.32A", + "label": "Commerce de gros (commerce interentreprises) de viandes de boucherie" + }, + { + "id": "46.32B", + "label": "Commerce de gros (commerce interentreprises) de produits à base de viande" + }, + { + "id": "46.32C", + "label": "Commerce de gros (commerce interentreprises) de volailles et gibier" + }, + { + "id": "46.33", + "label": "Commerce de gros de produits laitiers, œufs, huiles et matières grasses comestibles" + }, + { + "id": "46.33Z", + "label": "Commerce de gros (commerce interentreprises) de produits laitiers, œufs, huiles et matières grasses comestibles" + }, + { + "id": "46.34", + "label": "Commerce de gros de boissons" + }, + { + "id": "46.34Z", + "label": "Commerce de gros (commerce interentreprises) de boissons" + }, + { + "id": "46.35", + "label": "Commerce de gros de produits à base de tabac" + }, + { + "id": "46.35Z", + "label": "Commerce de gros (commerce interentreprises) de produits à base de tabac" + }, + { + "id": "46.36", + "label": "Commerce de gros de sucre, chocolat et confiserie" + }, + { + "id": "46.36Z", + "label": "Commerce de gros (commerce interentreprises) de sucre, chocolat et confiserie" + }, + { + "id": "46.37", + "label": "Commerce de gros de café, thé, cacao et épices" + }, + { + "id": "46.37Z", + "label": "Commerce de gros (commerce interentreprises) de café, thé, cacao et épices" + }, + { + "id": "46.38", + "label": "Commerce de gros d'autres produits alimentaires, y compris poissons, crustacés et mollusques" + }, + { + "id": "46.38A", + "label": "Commerce de gros (commerce interentreprises) de poissons, crustacés et mollusques" + }, + { + "id": "46.38B", + "label": "Commerce de gros (commerce interentreprises) alimentaire spécialisé divers" + }, + { + "id": "46.39", + "label": "Commerce de gros non spécialisé de denrées, boissons et tabac" + }, + { + "id": "46.39A", + "label": "Commerce de gros (commerce interentreprises) de produits surgelés" + }, + { + "id": "46.39B", + "label": "Commerce de gros (commerce interentreprises) alimentaire non spécialisé" + }, + { + "id": "46.4", + "label": "Commerce de gros de biens domestiques" + }, + { + "id": "46.41", + "label": "Commerce de gros de textiles" + }, + { + "id": "46.41Z", + "label": "Commerce de gros (commerce interentreprises) de textiles" + }, + { + "id": "46.42", + "label": "Commerce de gros d'habillement et de chaussures" + }, + { + "id": "46.42Z", + "label": "Commerce de gros (commerce interentreprises) d'habillement et de chaussures" + }, + { + "id": "46.43", + "label": "Commerce de gros d'appareils électroménagers" + }, + { + "id": "46.43Z", + "label": "Commerce de gros (commerce interentreprises) d'appareils électroménagers" + }, + { + "id": "46.44", + "label": "Commerce de gros de vaisselle, verrerie et produits d'entretien" + }, + { + "id": "46.44Z", + "label": "Commerce de gros (commerce interentreprises) de vaisselle, verrerie et produits d'entretien" + }, + { + "id": "46.45", + "label": "Commerce de gros de parfumerie et de produits de beauté" + }, + { + "id": "46.45Z", + "label": "Commerce de gros (commerce interentreprises) de parfumerie et de produits de beauté" + }, + { + "id": "46.46", + "label": "Commerce de gros de produits pharmaceutiques" + }, + { + "id": "46.46Z", + "label": "Commerce de gros (commerce interentreprises) de produits pharmaceutiques" + }, + { + "id": "46.47", + "label": "Commerce de gros de meubles, de tapis et d'appareils d'éclairage" + }, + { + "id": "46.47Z", + "label": "Commerce de gros (commerce interentreprises) de meubles, de tapis et d'appareils d'éclairage" + }, + { + "id": "46.48", + "label": "Commerce de gros d'articles d'horlogerie et de bijouterie" + }, + { + "id": "46.48Z", + "label": "Commerce de gros (commerce interentreprises) d'articles d'horlogerie et de bijouterie" + }, + { + "id": "46.49", + "label": "Commerce de gros d'autres biens domestiques" + }, + { + "id": "46.49Z", + "label": "Commerce de gros (commerce interentreprises) d'autres biens domestiques" + }, + { + "id": "46.5", + "label": "Commerce de gros d'équipements de l'information et de la communication" + }, + { + "id": "46.51", + "label": "Commerce de gros d'ordinateurs, d'équipements informatiques périphériques et de logiciels" + }, + { + "id": "46.51Z", + "label": "Commerce de gros (commerce interentreprises) d'ordinateurs, d'équipements informatiques périphériques et de logiciels" + }, + { + "id": "46.52", + "label": "Commerce de gros de composants et d'équipements électroniques et de télécommunication" + }, + { + "id": "46.52Z", + "label": "Commerce de gros (commerce interentreprises) de composants et d'équipements électroniques et de télécommunication" + }, + { + "id": "46.6", + "label": "Commerce de gros d'autres équipements industriels" + }, + { + "id": "46.61", + "label": "Commerce de gros de matériel agricole" + }, + { + "id": "46.61Z", + "label": "Commerce de gros (commerce interentreprises) de matériel agricole" + }, + { + "id": "46.62", + "label": "Commerce de gros de machines-outils" + }, + { + "id": "46.62Z", + "label": "Commerce de gros (commerce interentreprises) de machines-outils" + }, + { + "id": "46.63", + "label": "Commerce de gros de machines pour l'extraction, la construction et le génie civil" + }, + { + "id": "46.63Z", + "label": "Commerce de gros (commerce interentreprises) de machines pour l'extraction, la construction et le génie civil" + }, + { + "id": "46.64", + "label": "Commerce de gros de machines pour l'industrie textile et l'habillement" + }, + { + "id": "46.64Z", + "label": "Commerce de gros (commerce interentreprises) de machines pour l'industrie textile et l'habillement" + }, + { + "id": "46.65", + "label": "Commerce de gros de mobilier de bureau" + }, + { + "id": "46.65Z", + "label": "Commerce de gros (commerce interentreprises) de mobilier de bureau" + }, + { + "id": "46.66", + "label": "Commerce de gros d'autres machines et équipements de bureau" + }, + { + "id": "46.66Z", + "label": "Commerce de gros (commerce interentreprises) d'autres machines et équipements de bureau" + }, + { + "id": "46.69", + "label": "Commerce de gros d'autres machines et équipements" + }, + { + "id": "46.69A", + "label": "Commerce de gros (commerce interentreprises) de matériel électrique" + }, + { + "id": "46.69B", + "label": "Commerce de gros (commerce interentreprises) de fournitures et équipements industriels divers" + }, + { + "id": "46.69C", + "label": "Commerce de gros (commerce interentreprises) de fournitures et équipements divers pour le commerce et les services" + }, + { + "id": "46.7", + "label": "Autres commerces de gros spécialisés" + }, + { + "id": "46.71", + "label": "Commerce de gros de combustibles et de produits annexes" + }, + { + "id": "46.71Z", + "label": "Commerce de gros (commerce interentreprises) de combustibles et de produits annexes" + }, + { + "id": "46.72", + "label": "Commerce de gros de minerais et métaux" + }, + { + "id": "46.72Z", + "label": "Commerce de gros (commerce interentreprises) de minerais et métaux" + }, + { + "id": "46.73", + "label": "Commerce de gros de bois, de matériaux de construction et d'appareils sanitaires" + }, + { + "id": "46.73A", + "label": "Commerce de gros (commerce interentreprises) de bois et de matériaux de construction" + }, + { + "id": "46.73B", + "label": "Commerce de gros (commerce interentreprises) d'appareils sanitaires et de produits de décoration" + }, + { + "id": "46.74", + "label": "Commerce de gros de quincaillerie et fournitures pour plomberie et chauffage" + }, + { + "id": "46.74A", + "label": "Commerce de gros (commerce interentreprises) de quincaillerie" + }, + { + "id": "46.74B", + "label": "Commerce de gros (commerce interentreprises) de fournitures pour la plomberie et le chauffage" + }, + { + "id": "46.75", + "label": "Commerce de gros de produits chimiques" + }, + { + "id": "46.75Z", + "label": "Commerce de gros (commerce interentreprises) de produits chimiques" + }, + { + "id": "46.76", + "label": "Commerce de gros d'autres produits intermédiaires" + }, + { + "id": "46.76Z", + "label": "Commerce de gros (commerce interentreprises) d'autres produits intermédiaires" + }, + { + "id": "46.77", + "label": "Commerce de gros de déchets et débris" + }, + { + "id": "46.77Z", + "label": "Commerce de gros (commerce interentreprises) de déchets et débris" + }, + { + "id": "46.9", + "label": "Commerce de gros non spécialisé" + }, + { + "id": "46.90", + "label": "Commerce de gros non spécialisé" + }, + { + "id": "46.90Z", + "label": "Commerce de gros (commerce interentreprises) non spécialisé" + }, + { + "id": "47", + "label": "Commerce de détail, à l’exception des automobiles et des motocycles" + }, + { + "id": "47.1", + "label": "Commerce de détail en magasin non spécialisé" + }, + { + "id": "47.11", + "label": "Commerce de détail en magasin non spécialisé à prédominance alimentaire" + }, + { + "id": "47.11A", + "label": "Commerce de détail de produits surgelés" + }, + { + "id": "47.11B", + "label": "Commerce d'alimentation générale" + }, + { + "id": "47.11C", + "label": "Supérettes" + }, + { + "id": "47.11D", + "label": "Supermarchés" + }, + { + "id": "47.11E", + "label": "Magasins multi-commerces" + }, + { + "id": "47.11F", + "label": "Hypermarchés" + }, + { + "id": "47.19", + "label": "Autre commerce de détail en magasin non spécialisé" + }, + { + "id": "47.19A", + "label": "Grands magasins" + }, + { + "id": "47.19B", + "label": "Autres commerces de détail en magasin non spécialisé" + }, + { + "id": "47.2", + "label": "Commerce de détail alimentaire en magasin spécialisé" + }, + { + "id": "47.21", + "label": "Commerce de détail de fruits et légumes en magasin spécialisé" + }, + { + "id": "47.21Z", + "label": "Commerce de détail de fruits et légumes en magasin spécialisé" + }, + { + "id": "47.22", + "label": "Commerce de détail de viandes et de produits à base de viande en magasin spécialisé" + }, + { + "id": "47.22Z", + "label": "Commerce de détail de viandes et de produits à base de viande en magasin spécialisé" + }, + { + "id": "47.23", + "label": "Commerce de détail de poissons, crustacés et mollusques en magasin spécialisé" + }, + { + "id": "47.23Z", + "label": "Commerce de détail de poissons, crustacés et mollusques en magasin spécialisé" + }, + { + "id": "47.24", + "label": "Commerce de détail de pain, pâtisserie et confiserie en magasin spécialisé" + }, + { + "id": "47.24Z", + "label": "Commerce de détail de pain, pâtisserie et confiserie en magasin spécialisé" + }, + { + "id": "47.25", + "label": "Commerce de détail de boissons en magasin spécialisé" + }, + { + "id": "47.25Z", + "label": "Commerce de détail de boissons en magasin spécialisé" + }, + { + "id": "47.26", + "label": "Commerce de détail de produits à base de tabac en magasin spécialisé" + }, + { + "id": "47.26Z", + "label": "Commerce de détail de produits à base de tabac en magasin spécialisé" + }, + { + "id": "47.29", + "label": "Autres commerces de détail alimentaires en magasin spécialisé" + }, + { + "id": "47.29Z", + "label": "Autres commerces de détail alimentaires en magasin spécialisé" + }, + { + "id": "47.3", + "label": "Commerce de détail de carburants en magasin spécialisé" + }, + { + "id": "47.30", + "label": "Commerce de détail de carburants en magasin spécialisé" + }, + { + "id": "47.30Z", + "label": "Commerce de détail de carburants en magasin spécialisé" + }, + { + "id": "47.4", + "label": "Commerce de détail d'équipements de l'information et de la communication en magasin spécialisé" + }, + { + "id": "47.41", + "label": "Commerce de détail d'ordinateurs, d'unités périphériques et de logiciels en magasin spécialisé" + }, + { + "id": "47.41Z", + "label": "Commerce de détail d'ordinateurs, d'unités périphériques et de logiciels en magasin spécialisé" + }, + { + "id": "47.42", + "label": "Commerce de détail de matériels de télécommunication en magasin spécialisé" + }, + { + "id": "47.42Z", + "label": "Commerce de détail de matériels de télécommunication en magasin spécialisé" + }, + { + "id": "47.43", + "label": "Commerce de détail de matériels audio/vidéo en magasin spécialisé" + }, + { + "id": "47.43Z", + "label": "Commerce de détail de matériels audio et vidéo en magasin spécialisé" + }, + { + "id": "47.5", + "label": "Commerce de détail d'autres équipements du foyer en magasin spécialisé" + }, + { + "id": "47.51", + "label": "Commerce de détail de textiles en magasin spécialisé" + }, + { + "id": "47.51Z", + "label": "Commerce de détail de textiles en magasin spécialisé" + }, + { + "id": "47.52", + "label": "Commerce de détail de quincaillerie, peintures et verres en magasin spécialisé" + }, + { + "id": "47.52A", + "label": "Commerce de détail de quincaillerie, peintures et verres en petites surfaces (moins de 400 m2)" + }, + { + "id": "47.52B", + "label": "Commerce de détail de quincaillerie, peintures et verres en grandes surfaces (400 m2et plus)" + }, + { + "id": "47.53", + "label": "Commerce de détail de tapis, moquettes et revêtements de murs et de sols en magasin spécialisé" + }, + { + "id": "47.53Z", + "label": "Commerce de détail de tapis, moquettes et revêtements de murs et de sols en magasin spécialisé" + }, + { + "id": "47.54", + "label": "Commerce de détail d'appareils électroménagers en magasin spécialisé" + }, + { + "id": "47.54Z", + "label": "Commerce de détail d'appareils électroménagers en magasin spécialisé" + }, + { + "id": "47.59", + "label": "Commerce de détail de meubles, appareils d'éclairage et autres articles de ménage en magasin spécialisé" + }, + { + "id": "47.59A", + "label": "Commerce de détail de meubles" + }, + { + "id": "47.59B", + "label": "Commerce de détail d'autres équipements du foyer" + }, + { + "id": "47.6", + "label": "Commerce de détail de biens culturels et de loisirs en magasin spécialisé" + }, + { + "id": "47.61", + "label": "Commerce de détail de livres en magasin spécialisé" + }, + { + "id": "47.61Z", + "label": "Commerce de détail de livres en magasin spécialisé" + }, + { + "id": "47.62", + "label": "Commerce de détail de journaux et papeterie en magasin spécialisé" + }, + { + "id": "47.62Z", + "label": "Commerce de détail de journaux et papeterie en magasin spécialisé" + }, + { + "id": "47.63", + "label": "Commerce de détail d'enregistrements musicaux et vidéo en magasin spécialisé" + }, + { + "id": "47.63Z", + "label": "Commerce de détail d'enregistrements musicaux et vidéo en magasin spécialisé" + }, + { + "id": "47.64", + "label": "Commerce de détail d'articles de sport en magasin spécialisé" + }, + { + "id": "47.64Z", + "label": "Commerce de détail d'articles de sport en magasin spécialisé" + }, + { + "id": "47.65", + "label": "Commerce de détail de jeux et jouets en magasin spécialisé" + }, + { + "id": "47.65Z", + "label": "Commerce de détail de jeux et jouets en magasin spécialisé" + }, + { + "id": "47.7", + "label": "Autres commerces de détail en magasin spécialisé" + }, + { + "id": "47.71", + "label": "Commerce de détail d'habillement en magasin spécialisé" + }, + { + "id": "47.71Z", + "label": "Commerce de détail d'habillement en magasin spécialisé" + }, + { + "id": "47.72", + "label": "Commerce de détail de chaussures et d'articles en cuir en magasin spécialisé" + }, + { + "id": "47.72A", + "label": "Commerce de détail de la chaussure" + }, + { + "id": "47.72B", + "label": "Commerce de détail de maroquinerie et d'articles de voyage" + }, + { + "id": "47.73", + "label": "Commerce de détail de produits pharmaceutiques en magasin spécialisé" + }, + { + "id": "47.73Z", + "label": "Commerce de détail de produits pharmaceutiques en magasin spécialisé" + }, + { + "id": "47.74", + "label": "Commerce de détail d'articles médicaux et orthopédiques en magasin spécialisé" + }, + { + "id": "47.74Z", + "label": "Commerce de détail d'articles médicaux et orthopédiques en magasin spécialisé" + }, + { + "id": "47.75", + "label": "Commerce de détail de parfumerie et de produits de beauté en magasin spécialisé" + }, + { + "id": "47.75Z", + "label": "Commerce de détail de parfumerie et de produits de beauté en magasin spécialisé" + }, + { + "id": "47.76", + "label": "Commerce de détail de fleurs, plantes, graines, engrais, animaux de compagnie et aliments pour ces animaux en magasin spécialisé" + }, + { + "id": "47.76Z", + "label": "Commerce de détail de fleurs, plantes, graines, engrais, animaux de compagnie et aliments pour ces animaux en magasin spécialisé" + }, + { + "id": "47.77", + "label": "Commerce de détail d'articles d'horlogerie et de bijouterie en magasin spécialisé" + }, + { + "id": "47.77Z", + "label": "Commerce de détail d'articles d'horlogerie et de bijouterie en magasin spécialisé" + }, + { + "id": "47.78", + "label": "Autre commerce de détail de biens neufs en magasin spécialisé" + }, + { + "id": "47.78A", + "label": "Commerces de détail d'optique" + }, + { + "id": "47.78B", + "label": "Commerces de détail de charbons et combustibles" + }, + { + "id": "47.78C", + "label": "Autres commerces de détail spécialisés divers" + }, + { + "id": "47.79", + "label": "Commerce de détail de biens d'occasion en magasin" + }, + { + "id": "47.79Z", + "label": "Commerce de détail de biens d'occasion en magasin" + }, + { + "id": "47.8", + "label": "Commerce de détail sur éventaires et marchés" + }, + { + "id": "47.81", + "label": "Commerce de détail alimentaire sur éventaires et marchés" + }, + { + "id": "47.81Z", + "label": "Commerce de détail alimentaire sur éventaires et marchés" + }, + { + "id": "47.82", + "label": "Commerce de détail de textiles, d'habillement et de chaussures sur éventaires et marchés" + }, + { + "id": "47.82Z", + "label": "Commerce de détail de textiles, d'habillement et de chaussures sur éventaires et marchés" + }, + { + "id": "47.89", + "label": "Autres commerces de détail sur éventaires et marchés" + }, + { + "id": "47.89Z", + "label": "Autres commerces de détail sur éventaires et marchés" + }, + { + "id": "47.9", + "label": "Commerce de détail hors magasin, éventaires ou marchés" + }, + { + "id": "47.91", + "label": "Vente à distance" + }, + { + "id": "47.91A", + "label": "Vente à distance sur catalogue général" + }, + { + "id": "47.91B", + "label": "Vente à distance sur catalogue spécialisé" + }, + { + "id": "47.99", + "label": "Autres commerces de détail hors magasin, éventaires ou marchés" + }, + { + "id": "47.99A", + "label": "Vente à domicile" + }, + { + "id": "47.99B", + "label": "Vente par automates et autres commerces de détail hors magasin, éventaires ou marchés n.c.a." + }, + { + "id": "49", + "label": "Transports terrestres et transport par conduites" + }, + { + "id": "49.1", + "label": "Transport ferroviaire interurbain de voyageurs" + }, + { + "id": "49.10", + "label": "Transport ferroviaire interurbain de voyageurs" + }, + { + "id": "49.10Z", + "label": "Transport ferroviaire interurbain de voyageurs" + }, + { + "id": "49.2", + "label": "Transports ferroviaires de fret" + }, + { + "id": "49.20", + "label": "Transports ferroviaires de fret" + }, + { + "id": "49.20Z", + "label": "Transports ferroviaires de fret" + }, + { + "id": "49.3", + "label": "Autres transports terrestres de voyageurs" + }, + { + "id": "49.31", + "label": "Transports urbains et suburbains de voyageurs" + }, + { + "id": "49.31Z", + "label": "Transports urbains et suburbains de voyageurs" + }, + { + "id": "49.32", + "label": "Transports de voyageurs par taxis" + }, + { + "id": "49.32Z", + "label": "Transports de voyageurs par taxis" + }, + { + "id": "49.39", + "label": "Autres transports terrestres de voyageurs n.c.a." + }, + { + "id": "49.39A", + "label": "Transports routiers réguliers de voyageurs" + }, + { + "id": "49.39B", + "label": "Autres transports routiers de voyageurs" + }, + { + "id": "49.39C", + "label": "Téléphériques et remontées mécaniques" + }, + { + "id": "49.4", + "label": "Transports routiers de fret et services de déménagement" + }, + { + "id": "49.41", + "label": "Transports routiers de fret" + }, + { + "id": "49.41A", + "label": "Transports routiers de fret interurbains" + }, + { + "id": "49.41B", + "label": "Transports routiers de fret de proximité" + }, + { + "id": "49.41C", + "label": "Location de camions avec chauffeur" + }, + { + "id": "49.42", + "label": "Services de déménagement" + }, + { + "id": "49.42Z", + "label": "Services de déménagement" + }, + { + "id": "49.5", + "label": "Transports par conduites" + }, + { + "id": "49.50", + "label": "Transports par conduites" + }, + { + "id": "49.50Z", + "label": "Transports par conduites" + }, + { + "id": "50", + "label": "Transports par eau" + }, + { + "id": "50.1", + "label": "Transports maritimes et côtiers de passagers" + }, + { + "id": "50.10", + "label": "Transports maritimes et côtiers de passagers" + }, + { + "id": "50.10Z", + "label": "Transports maritimes et côtiers de passagers" + }, + { + "id": "50.2", + "label": "Transports maritimes et côtiers de fret" + }, + { + "id": "50.20", + "label": "Transports maritimes et côtiers de fret" + }, + { + "id": "50.20Z", + "label": "Transports maritimes et côtiers de fret" + }, + { + "id": "50.3", + "label": "Transports fluviaux de passagers" + }, + { + "id": "50.30", + "label": "Transports fluviaux de passagers" + }, + { + "id": "50.30Z", + "label": "Transports fluviaux de passagers" + }, + { + "id": "50.4", + "label": "Transports fluviaux de fret" + }, + { + "id": "50.40", + "label": "Transports fluviaux de fret" + }, + { + "id": "50.40Z", + "label": "Transports fluviaux de fret" + }, + { + "id": "51", + "label": "Transports aériens" + }, + { + "id": "51.1", + "label": "Transports aériens de passagers" + }, + { + "id": "51.10", + "label": "Transports aériens de passagers" + }, + { + "id": "51.10Z", + "label": "Transports aériens de passagers" + }, + { + "id": "51.2", + "label": "Transports aériens de fret et transports spatiaux" + }, + { + "id": "51.21", + "label": "Transports aériens de fret" + }, + { + "id": "51.21Z", + "label": "Transports aériens de fret" + }, + { + "id": "51.22", + "label": "Transports spatiaux" + }, + { + "id": "51.22Z", + "label": "Transports spatiaux" + }, + { + "id": "52", + "label": "Entreposage et services auxiliaires des transports" + }, + { + "id": "52.1", + "label": "Entreposage et stockage" + }, + { + "id": "52.10", + "label": "Entreposage et stockage" + }, + { + "id": "52.10A", + "label": "Entreposage et stockage frigorifique" + }, + { + "id": "52.10B", + "label": "Entreposage et stockage non frigorifique" + }, + { + "id": "52.2", + "label": "Services auxiliaires des transports" + }, + { + "id": "52.21", + "label": "Services auxiliaires des transports terrestres" + }, + { + "id": "52.21Z", + "label": "Services auxiliaires des transports terrestres" + }, + { + "id": "52.22", + "label": "Services auxiliaires des transports par eau" + }, + { + "id": "52.22Z", + "label": "Services auxiliaires des transports par eau" + }, + { + "id": "52.23", + "label": "Services auxiliaires des transports aériens" + }, + { + "id": "52.23Z", + "label": "Services auxiliaires des transports aériens" + }, + { + "id": "52.24", + "label": "Manutention" + }, + { + "id": "52.24A", + "label": "Manutention portuaire" + }, + { + "id": "52.24B", + "label": "Manutention non portuaire" + }, + { + "id": "52.29", + "label": "Autres services auxiliaires des transports" + }, + { + "id": "52.29A", + "label": "Messagerie, fret express" + }, + { + "id": "52.29B", + "label": "Affrètement et organisation des transports" + }, + { + "id": "53", + "label": "Activités de poste et de courrier" + }, + { + "id": "53.1", + "label": "Activités de poste dans le cadre d'une obligation de service universel" + }, + { + "id": "53.10", + "label": "Activités de poste dans le cadre d'une obligation de service universel" + }, + { + "id": "53.10Z", + "label": "Activités de poste dans le cadre d'une obligation de service universel" + }, + { + "id": "53.2", + "label": "Autres activités de poste et de courrier" + }, + { + "id": "53.20", + "label": "Autres activités de poste et de courrier" + }, + { + "id": "53.20Z", + "label": "Autres activités de poste et de courrier" + }, + { + "id": "55", + "label": "Hébergement" + }, + { + "id": "55.1", + "label": "Hôtels et hébergement similaire" + }, + { + "id": "55.10", + "label": "Hôtels et hébergement similaire" + }, + { + "id": "55.10Z", + "label": "Hôtels et hébergement similaire" + }, + { + "id": "55.2", + "label": "Hébergement touristique et autre hébergement de courte durée" + }, + { + "id": "55.20", + "label": "Hébergement touristique et autre hébergement de courte durée" + }, + { + "id": "55.20Z", + "label": "Hébergement touristique et autre hébergement de courte durée" + }, + { + "id": "55.3", + "label": "Terrains de camping et parcs pour caravanes ou véhicules de loisirs" + }, + { + "id": "55.30", + "label": "Terrains de camping et parcs pour caravanes ou véhicules de loisirs" + }, + { + "id": "55.30Z", + "label": "Terrains de camping et parcs pour caravanes ou véhicules de loisirs" + }, + { + "id": "55.9", + "label": "Autres hébergements" + }, + { + "id": "55.90", + "label": "Autres hébergements" + }, + { + "id": "55.90Z", + "label": "Autres hébergements" + }, + { + "id": "56", + "label": "Restauration" + }, + { + "id": "56.1", + "label": "Restaurants et services de restauration mobile" + }, + { + "id": "56.10", + "label": "Restaurants et services de restauration mobile" + }, + { + "id": "56.10A", + "label": "Restauration traditionnelle" + }, + { + "id": "56.10B", + "label": "Cafétérias et autres libres-services" + }, + { + "id": "56.10C", + "label": "Restauration de type rapide" + }, + { + "id": "56.2", + "label": "Traiteurs et autres services de restauration" + }, + { + "id": "56.21", + "label": "Services des traiteurs" + }, + { + "id": "56.21Z", + "label": "Services des traiteurs" + }, + { + "id": "56.29", + "label": "Autres services de restauration" + }, + { + "id": "56.29A", + "label": "Restauration collective sous contrat" + }, + { + "id": "56.29B", + "label": "Autres services de restauration n.c.a." + }, + { + "id": "56.3", + "label": "Débits de boissons" + }, + { + "id": "56.30", + "label": "Débits de boissons" + }, + { + "id": "56.30Z", + "label": "Débits de boissons" + }, + { + "id": "58", + "label": "Édition" + }, + { + "id": "58.1", + "label": "Édition de livres et périodiques et autres activités d'édition" + }, + { + "id": "58.11", + "label": "Édition de livres" + }, + { + "id": "58.11Z", + "label": "Édition de livres" + }, + { + "id": "58.12", + "label": "Édition de répertoires et de fichiers d'adresses" + }, + { + "id": "58.12Z", + "label": "Édition de répertoires et de fichiers d'adresses" + }, + { + "id": "58.13", + "label": "Édition de journaux" + }, + { + "id": "58.13Z", + "label": "Édition de journaux" + }, + { + "id": "58.14", + "label": "Édition de revues et périodiques" + }, + { + "id": "58.14Z", + "label": "Édition de revues et périodiques" + }, + { + "id": "58.19", + "label": "Autres activités d'édition" + }, + { + "id": "58.19Z", + "label": "Autres activités d'édition" + }, + { + "id": "58.2", + "label": "Édition de logiciels" + }, + { + "id": "58.21", + "label": "Édition de jeux électroniques" + }, + { + "id": "58.21Z", + "label": "Édition de jeux électroniques" + }, + { + "id": "58.29", + "label": "Édition d'autres logiciels" + }, + { + "id": "58.29A", + "label": "Édition de logiciels système et de réseau" + }, + { + "id": "58.29B", + "label": "Edition de logiciels outils de développement et de langages" + }, + { + "id": "58.29C", + "label": "Edition de logiciels applicatifs" + }, + { + "id": "59", + "label": "Production de films cinématographiques, de vidéo et de programmes de télévision ; enregistrement sonore et édition musicale" + }, + { + "id": "59.1", + "label": "Activités cinématographiques, vidéo et de télévision" + }, + { + "id": "59.11", + "label": "Production de films cinématographiques, de vidéo et de programmes de télévision" + }, + { + "id": "59.11A", + "label": "Production de films et de programmes pour la télévision" + }, + { + "id": "59.11B", + "label": "Production de films institutionnels et publicitaires" + }, + { + "id": "59.11C", + "label": "Production de films pour le cinéma" + }, + { + "id": "59.12", + "label": "Post-production de films cinématographiques, de vidéo et de programmes de télévision" + }, + { + "id": "59.12Z", + "label": "Post-production de films cinématographiques, de vidéo et de programmes de télévision" + }, + { + "id": "59.13", + "label": "Distribution de films cinématographiques, de vidéo et de programmes de télévision" + }, + { + "id": "59.13A", + "label": "Distribution de films cinématographiques" + }, + { + "id": "59.13B", + "label": "Edition et distribution vidéo" + }, + { + "id": "59.14", + "label": "Projection de films cinématographiques" + }, + { + "id": "59.14Z", + "label": "Projection de films cinématographiques" + }, + { + "id": "59.2", + "label": "Enregistrement sonore et édition musicale" + }, + { + "id": "59.20", + "label": "Enregistrement sonore et édition musicale" + }, + { + "id": "59.20Z", + "label": "Enregistrement sonore et édition musicale" + }, + { + "id": "60", + "label": "Programmation et diffusion" + }, + { + "id": "60.1", + "label": "Édition et diffusion de programmes radio" + }, + { + "id": "60.10", + "label": "Édition et diffusion de programmes radio" + }, + { + "id": "60.10Z", + "label": "Édition et diffusion de programmes radio" + }, + { + "id": "60.2", + "label": "Programmation de télévision et télédiffusion" + }, + { + "id": "60.20", + "label": "Programmation de télévision et télédiffusion" + }, + { + "id": "60.20A", + "label": "Edition de chaînes généralistes" + }, + { + "id": "60.20B", + "label": "Edition de chaînes thématiques" + }, + { + "id": "61", + "label": "Télécommunications" + }, + { + "id": "61.1", + "label": "Télécommunications filaires" + }, + { + "id": "61.10", + "label": "Télécommunications filaires" + }, + { + "id": "61.10Z", + "label": "Télécommunications filaires" + }, + { + "id": "61.2", + "label": "Télécommunications sans fil" + }, + { + "id": "61.20", + "label": "Télécommunications sans fil" + }, + { + "id": "61.20Z", + "label": "Télécommunications sans fil" + }, + { + "id": "61.3", + "label": "Télécommunications par satellite" + }, + { + "id": "61.30", + "label": "Télécommunications par satellite" + }, + { + "id": "61.30Z", + "label": "Télécommunications par satellite" + }, + { + "id": "61.9", + "label": "Autres activités de télécommunication" + }, + { + "id": "61.90", + "label": "Autres activités de télécommunication" + }, + { + "id": "61.90Z", + "label": "Autres activités de télécommunication" + }, + { + "id": "62", + "label": "Programmation, conseil et autres activités informatiques" + }, + { + "id": "62.0", + "label": "Programmation, conseil et autres activités informatiques" + }, + { + "id": "62.01", + "label": "Programmation informatique" + }, + { + "id": "62.01Z", + "label": "Programmation informatique" + }, + { + "id": "62.02", + "label": "Conseil informatique" + }, + { + "id": "62.02A", + "label": "Conseil en systèmes et logiciels informatiques" + }, + { + "id": "62.02B", + "label": "Tierce maintenance de systèmes et d’applications informatiques" + }, + { + "id": "62.03", + "label": "Gestion d'installations informatiques" + }, + { + "id": "62.03Z", + "label": "Gestion d'installations informatiques" + }, + { + "id": "62.09", + "label": "Autres activités informatiques" + }, + { + "id": "62.09Z", + "label": "Autres activités informatiques" + }, + { + "id": "63", + "label": "Services d'information" + }, + { + "id": "63.1", + "label": "Traitement de données, hébergement et activités connexes ; portails Internet" + }, + { + "id": "63.11", + "label": "Traitement de données, hébergement et activités connexes" + }, + { + "id": "63.11Z", + "label": "Traitement de données, hébergement et activités connexes" + }, + { + "id": "63.12", + "label": "Portails Internet" + }, + { + "id": "63.12Z", + "label": "Portails Internet" + }, + { + "id": "63.9", + "label": "Autres services d'information" + }, + { + "id": "63.91", + "label": "Activités des agences de presse" + }, + { + "id": "63.91Z", + "label": "Activités des agences de presse" + }, + { + "id": "63.99", + "label": "Autres services d'information n.c.a." + }, + { + "id": "63.99Z", + "label": "Autres services d'information n.c.a." + }, + { + "id": "64", + "label": "Activités des services financiers, hors assurance et caisses de retraite" + }, + { + "id": "64.1", + "label": "Intermédiation monétaire" + }, + { + "id": "64.11", + "label": "Activités de banque centrale" + }, + { + "id": "64.11Z", + "label": "Activités de banque centrale" + }, + { + "id": "64.19", + "label": "Autres intermédiations monétaires" + }, + { + "id": "64.19Z", + "label": "Autres intermédiations monétaires" + }, + { + "id": "64.2", + "label": "Activités des sociétés holding" + }, + { + "id": "64.20", + "label": "Activités des sociétés holding" + }, + { + "id": "64.20Z", + "label": "Activités des sociétés holding" + }, + { + "id": "64.3", + "label": "Fonds de placement et entités financières similaires" + }, + { + "id": "64.30", + "label": "Fonds de placement et entités financières similaires" + }, + { + "id": "64.30Z", + "label": "Fonds de placement et entités financières similaires" + }, + { + "id": "64.9", + "label": "Autres activités des services financiers, hors assurance et caisses de retraite" + }, + { + "id": "64.91", + "label": "Crédit-bail" + }, + { + "id": "64.91Z", + "label": "Crédit-bail" + }, + { + "id": "64.92", + "label": "Autre distribution de crédit" + }, + { + "id": "64.92Z", + "label": "Autre distribution de crédit" + }, + { + "id": "64.99", + "label": "Autres activités des services financiers, hors assurance et caisses de retraite, n.c.a." + }, + { + "id": "64.99Z", + "label": "Autres activités des services financiers, hors assurance et caisses de retraite, n.c.a." + }, + { + "id": "65", + "label": "Assurance" + }, + { + "id": "65.1", + "label": "Assurance" + }, + { + "id": "65.11", + "label": "Assurance vie" + }, + { + "id": "65.11Z", + "label": "Assurance vie" + }, + { + "id": "65.12", + "label": "Autres assurances" + }, + { + "id": "65.12Z", + "label": "Autres assurances" + }, + { + "id": "65.2", + "label": "Réassurance" + }, + { + "id": "65.20", + "label": "Réassurance" + }, + { + "id": "65.20Z", + "label": "Réassurance" + }, + { + "id": "65.3", + "label": "Caisses de retraite" + }, + { + "id": "65.30", + "label": "Caisses de retraite" + }, + { + "id": "65.30Z", + "label": "Caisses de retraite" + }, + { + "id": "66", + "label": "Activités auxiliaires de services financiers et d'assurance" + }, + { + "id": "66.1", + "label": "Activités auxiliaires de services financiers, hors assurance et caisses de retraite" + }, + { + "id": "66.11", + "label": "Administration de marchés financiers" + }, + { + "id": "66.11Z", + "label": "Administration de marchés financiers" + }, + { + "id": "66.12", + "label": "Courtage de valeurs mobilières et de marchandises" + }, + { + "id": "66.12Z", + "label": "Courtage de valeurs mobilières et de marchandises" + }, + { + "id": "66.19", + "label": "Autres activités auxiliaires de services financiers, hors assurance et caisses de retraite" + }, + { + "id": "66.19A", + "label": "Supports juridiques de gestion de patrimoine mobilier" + }, + { + "id": "66.19B", + "label": "Autres activités auxiliaires de services financiers, hors assurance et caisses de retraite, n.c.a." + }, + { + "id": "66.2", + "label": "Activités auxiliaires d'assurance et de caisses de retraite" + }, + { + "id": "66.21", + "label": "Évaluation des risques et dommages" + }, + { + "id": "66.21Z", + "label": "Évaluation des risques et dommages" + }, + { + "id": "66.22", + "label": "Activités des agents et courtiers d'assurances" + }, + { + "id": "66.22Z", + "label": "Activités des agents et courtiers d'assurances" + }, + { + "id": "66.29", + "label": "Autres activités auxiliaires d'assurance et de caisses de retraite" + }, + { + "id": "66.29Z", + "label": "Autres activités auxiliaires d'assurance et de caisses de retraite" + }, + { + "id": "66.3", + "label": "Gestion de fonds" + }, + { + "id": "66.30", + "label": "Gestion de fonds" + }, + { + "id": "66.30Z", + "label": "Gestion de fonds" + }, + { + "id": "68", + "label": "Activités immobilières" + }, + { + "id": "68.1", + "label": "Activités des marchands de biens immobiliers" + }, + { + "id": "68.10", + "label": "Activités des marchands de biens immobiliers" + }, + { + "id": "68.10Z", + "label": "Activités des marchands de biens immobiliers" + }, + { + "id": "68.2", + "label": "Location et exploitation de biens immobiliers propres ou loués" + }, + { + "id": "68.20", + "label": "Location et exploitation de biens immobiliers propres ou loués" + }, + { + "id": "68.20A", + "label": "Location de logements" + }, + { + "id": "68.20B", + "label": "Location de terrains et d'autres biens immobiliers" + }, + { + "id": "68.3", + "label": "Activités immobilières pour compte de tiers" + }, + { + "id": "68.31", + "label": "Agences immobilières" + }, + { + "id": "68.31Z", + "label": "Agences immobilières" + }, + { + "id": "68.32", + "label": "Administration de biens immobiliers" + }, + { + "id": "68.32A", + "label": "Administration d'immeubles et autres biens immobiliers" + }, + { + "id": "68.32B", + "label": "Supports juridiques de gestion de patrimoine immobilier" + }, + { + "id": "69", + "label": "Activités juridiques et comptables" + }, + { + "id": "69.1", + "label": "Activités juridiques" + }, + { + "id": "69.10", + "label": "Activités juridiques" + }, + { + "id": "69.10Z", + "label": "Activités juridiques" + }, + { + "id": "69.2", + "label": "Activités comptables" + }, + { + "id": "69.20", + "label": "Activités comptables" + }, + { + "id": "69.20Z", + "label": "Activités comptables" + }, + { + "id": "70", + "label": "Activités des sièges sociaux ; conseil de gestion" + }, + { + "id": "70.1", + "label": "Activités des sièges sociaux" + }, + { + "id": "70.10", + "label": "Activités des sièges sociaux" + }, + { + "id": "70.10Z", + "label": "Activités des sièges sociaux" + }, + { + "id": "70.2", + "label": "Conseil de gestion" + }, + { + "id": "70.21", + "label": "Conseil en relations publiques et communication" + }, + { + "id": "70.21Z", + "label": "Conseil en relations publiques et communication" + }, + { + "id": "70.22", + "label": "Conseil pour les affaires et autres conseils de gestion" + }, + { + "id": "70.22Z", + "label": "Conseil pour les affaires et autres conseils de gestion" + }, + { + "id": "71", + "label": "Activités d'architecture et d'ingénierie ; activités de contrôle et analyses techniques" + }, + { + "id": "71.1", + "label": "Activités d'architecture et d'ingénierie" + }, + { + "id": "71.11", + "label": "Activités d'architecture" + }, + { + "id": "71.11Z", + "label": "Activités d'architecture" + }, + { + "id": "71.12", + "label": "Activités d'ingénierie" + }, + { + "id": "71.12A", + "label": "Activité des géomètres" + }, + { + "id": "71.12B", + "label": "Ingénierie, études techniques" + }, + { + "id": "71.2", + "label": "Activités de contrôle et analyses techniques" + }, + { + "id": "71.20", + "label": "Activités de contrôle et analyses techniques" + }, + { + "id": "71.20A", + "label": "Contrôle technique automobile" + }, + { + "id": "71.20B", + "label": "Analyses, essais et inspections techniques" + }, + { + "id": "72", + "label": "Recherche-développement scientifique" + }, + { + "id": "72.1", + "label": "Recherche-développement en sciences physiques et naturelles" + }, + { + "id": "72.11", + "label": "Recherche-développement en biotechnologie" + }, + { + "id": "72.11Z", + "label": "Recherche-développement en biotechnologie" + }, + { + "id": "72.19", + "label": "Recherche-développement en autres sciences physiques et naturelles" + }, + { + "id": "72.19Z", + "label": "Recherche-développement en autres sciences physiques et naturelles" + }, + { + "id": "72.2", + "label": "Recherche-développement en sciences humaines et sociales" + }, + { + "id": "72.20", + "label": "Recherche-développement en sciences humaines et sociales" + }, + { + "id": "72.20Z", + "label": "Recherche-développement en sciences humaines et sociales" + }, + { + "id": "73", + "label": "Publicité et études de marché" + }, + { + "id": "73.1", + "label": "Publicité" + }, + { + "id": "73.11", + "label": "Activités des agences de publicité" + }, + { + "id": "73.11Z", + "label": "Activités des agences de publicité" + }, + { + "id": "73.12", + "label": "Régie publicitaire de médias" + }, + { + "id": "73.12Z", + "label": "Régie publicitaire de médias" + }, + { + "id": "73.2", + "label": "Études de marché et sondages" + }, + { + "id": "73.20", + "label": "Études de marché et sondages" + }, + { + "id": "73.20Z", + "label": "Études de marché et sondages" + }, + { + "id": "74", + "label": "Autres activités spécialisées, scientifiques et techniques" + }, + { + "id": "74.1", + "label": "Activités spécialisées de design" + }, + { + "id": "74.10", + "label": "Activités spécialisées de design" + }, + { + "id": "74.10Z", + "label": "Activités spécialisées de design" + }, + { + "id": "74.2", + "label": "Activités photographiques" + }, + { + "id": "74.20", + "label": "Activités photographiques" + }, + { + "id": "74.20Z", + "label": "Activités photographiques" + }, + { + "id": "74.3", + "label": "Traduction et interprétation" + }, + { + "id": "74.30", + "label": "Traduction et interprétation" + }, + { + "id": "74.30Z", + "label": "Traduction et interprétation" + }, + { + "id": "74.9", + "label": "Autres activités spécialisées, scientifiques et techniques n.c.a." + }, + { + "id": "74.90", + "label": "Autres activités spécialisées, scientifiques et techniques n.c.a." + }, + { + "id": "74.90A", + "label": "Activité des économistes de la construction" + }, + { + "id": "74.90B", + "label": "Activités spécialisées, scientifiques et techniques diverses" + }, + { + "id": "75", + "label": "Activités vétérinaires" + }, + { + "id": "75.0", + "label": "Activités vétérinaires" + }, + { + "id": "75.00", + "label": "Activités vétérinaires" + }, + { + "id": "75.00Z", + "label": "Activités vétérinaires" + }, + { + "id": "77", + "label": "Activités de location et location-bail" + }, + { + "id": "77.1", + "label": "Location et location-bail de véhicules automobiles" + }, + { + "id": "77.11", + "label": "Location et location-bail de voitures et de véhicules automobiles légers" + }, + { + "id": "77.11A", + "label": "Location de courte durée de voitures et de véhicules automobiles légers" + }, + { + "id": "77.11B", + "label": "Location de longue durée de voitures et de véhicules automobiles légers" + }, + { + "id": "77.12", + "label": "Location et location-bail de camions" + }, + { + "id": "77.12Z", + "label": "Location et location-bail de camions" + }, + { + "id": "77.2", + "label": "Location et location-bail de biens personnels et domestiques" + }, + { + "id": "77.21", + "label": "Location et location-bail d'articles de loisirs et de sport" + }, + { + "id": "77.21Z", + "label": "Location et location-bail d'articles de loisirs et de sport" + }, + { + "id": "77.22", + "label": "Location de vidéocassettes et disques vidéo" + }, + { + "id": "77.22Z", + "label": "Location de vidéocassettes et disques vidéo" + }, + { + "id": "77.29", + "label": "Location et location-bail d'autres biens personnels et domestiques" + }, + { + "id": "77.29Z", + "label": "Location et location-bail d'autres biens personnels et domestiques" + }, + { + "id": "77.3", + "label": "Location et location-bail d'autres machines, équipements et biens" + }, + { + "id": "77.31", + "label": "Location et location-bail de machines et équipements agricoles" + }, + { + "id": "77.31Z", + "label": "Location et location-bail de machines et équipements agricoles" + }, + { + "id": "77.32", + "label": "Location et location-bail de machines et équipements pour la construction" + }, + { + "id": "77.32Z", + "label": "Location et location-bail de machines et équipements pour la construction" + }, + { + "id": "77.33", + "label": "Location et location-bail de machines de bureau et de matériel informatique" + }, + { + "id": "77.33Z", + "label": "Location et location-bail de machines de bureau et de matériel informatique" + }, + { + "id": "77.34", + "label": "Location et location-bail de matériels de transport par eau" + }, + { + "id": "77.34Z", + "label": "Location et location-bail de matériels de transport par eau" + }, + { + "id": "77.35", + "label": "Location et location-bail de matériels de transport aérien" + }, + { + "id": "77.35Z", + "label": "Location et location-bail de matériels de transport aérien" + }, + { + "id": "77.39", + "label": "Location et location-bail d'autres machines, équipements et biens matériels n.c.a." + }, + { + "id": "77.39Z", + "label": "Location et location-bail d'autres machines, équipements et biens matériels n.c.a." + }, + { + "id": "77.4", + "label": "Location-bail de propriété intellectuelle et de produits similaires, à l'exception des œuvres soumises à copyright" + }, + { + "id": "77.40", + "label": "Location-bail de propriété intellectuelle et de produits similaires, à l'exception des œuvres soumises à copyright" + }, + { + "id": "77.40Z", + "label": "Location-bail de propriété intellectuelle et de produits similaires, à l'exception des œuvres soumises à copyright" + }, + { + "id": "78", + "label": "Activités liées à l'emploi" + }, + { + "id": "78.1", + "label": "Activités des agences de placement de main-d'œuvre" + }, + { + "id": "78.10", + "label": "Activités des agences de placement de main-d'œuvre" + }, + { + "id": "78.10Z", + "label": "Activités des agences de placement de main-d'œuvre" + }, + { + "id": "78.2", + "label": "Activités des agences de travail temporaire" + }, + { + "id": "78.20", + "label": "Activités des agences de travail temporaire" + }, + { + "id": "78.20Z", + "label": "Activités des agences de travail temporaire" + }, + { + "id": "78.3", + "label": "Autre mise à disposition de ressources humaines" + }, + { + "id": "78.30", + "label": "Autre mise à disposition de ressources humaines" + }, + { + "id": "78.30Z", + "label": "Autre mise à disposition de ressources humaines" + }, + { + "id": "79", + "label": "Activités des agences de voyage, voyagistes, services de réservation et activités connexes" + }, + { + "id": "79.1", + "label": "Activités des agences de voyage et voyagistes" + }, + { + "id": "79.11", + "label": "Activités des agences de voyage" + }, + { + "id": "79.11Z", + "label": "Activités des agences de voyage" + }, + { + "id": "79.12", + "label": "Activités des voyagistes" + }, + { + "id": "79.12Z", + "label": "Activités des voyagistes" + }, + { + "id": "79.9", + "label": "Autres services de réservation et activités connexes" + }, + { + "id": "79.90", + "label": "Autres services de réservation et activités connexes" + }, + { + "id": "79.90Z", + "label": "Autres services de réservation et activités connexes" + }, + { + "id": "80", + "label": "Enquêtes et sécurité" + }, + { + "id": "80.1", + "label": "Activités de sécurité privée" + }, + { + "id": "80.10", + "label": "Activités de sécurité privée" + }, + { + "id": "80.10Z", + "label": "Activités de sécurité privée" + }, + { + "id": "80.2", + "label": "Activités liées aux systèmes de sécurité" + }, + { + "id": "80.20", + "label": "Activités liées aux systèmes de sécurité" + }, + { + "id": "80.20Z", + "label": "Activités liées aux systèmes de sécurité" + }, + { + "id": "80.3", + "label": "Activités d'enquête" + }, + { + "id": "80.30", + "label": "Activités d'enquête" + }, + { + "id": "80.30Z", + "label": "Activités d'enquête" + }, + { + "id": "81", + "label": "Services relatifs aux bâtiments et aménagement paysager" + }, + { + "id": "81.1", + "label": "Activités combinées de soutien lié aux bâtiments" + }, + { + "id": "81.10", + "label": "Activités combinées de soutien lié aux bâtiments" + }, + { + "id": "81.10Z", + "label": "Activités combinées de soutien lié aux bâtiments" + }, + { + "id": "81.2", + "label": "Activités de nettoyage" + }, + { + "id": "81.21", + "label": "Nettoyage courant des bâtiments" + }, + { + "id": "81.21Z", + "label": "Nettoyage courant des bâtiments" + }, + { + "id": "81.22", + "label": "Autres activités de nettoyage des bâtiments et nettoyage industriel" + }, + { + "id": "81.22Z", + "label": "Autres activités de nettoyage des bâtiments et nettoyage industriel" + }, + { + "id": "81.29", + "label": "Autres activités de nettoyage" + }, + { + "id": "81.29A", + "label": "Désinfection, désinsectisation, dératisation" + }, + { + "id": "81.29B", + "label": "Autres activités de nettoyage n.c.a." + }, + { + "id": "81.3", + "label": "Services d'aménagement paysager" + }, + { + "id": "81.30", + "label": "Services d'aménagement paysager" + }, + { + "id": "81.30Z", + "label": "Services d'aménagement paysager" + }, + { + "id": "82", + "label": "Activités administratives et autres activités de soutien aux entreprises" + }, + { + "id": "82.1", + "label": "Activités administratives" + }, + { + "id": "82.11", + "label": "Services administratifs combinés de bureau" + }, + { + "id": "82.11Z", + "label": "Services administratifs combinés de bureau" + }, + { + "id": "82.19", + "label": "Photocopie, préparation de documents et autres activités spécialisées de soutien de bureau" + }, + { + "id": "82.19Z", + "label": "Photocopie, préparation de documents et autres activités spécialisées de soutien de bureau" + }, + { + "id": "82.2", + "label": "Activités de centres d'appels" + }, + { + "id": "82.20", + "label": "Activités de centres d'appels" + }, + { + "id": "82.20Z", + "label": "Activités de centres d'appels" + }, + { + "id": "82.3", + "label": "Organisation de salons professionnels et congrès" + }, + { + "id": "82.30", + "label": "Organisation de salons professionnels et congrès" + }, + { + "id": "82.30Z", + "label": "Organisation de foires, salons professionnels et congrès" + }, + { + "id": "82.9", + "label": "Activités de soutien aux entreprises n.c.a." + }, + { + "id": "82.91", + "label": "Activités des agences de recouvrement de factures et des sociétés d'information financière sur la clientèle" + }, + { + "id": "82.91Z", + "label": "Activités des agences de recouvrement de factures et des sociétés d'information financière sur la clientèle" + }, + { + "id": "82.92", + "label": "Activités de conditionnement" + }, + { + "id": "82.92Z", + "label": "Activités de conditionnement" + }, + { + "id": "82.99", + "label": "Autres activités de soutien aux entreprises n.c.a." + }, + { + "id": "82.99Z", + "label": "Autres activités de soutien aux entreprises n.c.a." + }, + { + "id": "84", + "label": "Administration publique et défense ; sécurité sociale obligatoire" + }, + { + "id": "84.1", + "label": "Administration générale, économique et sociale" + }, + { + "id": "84.11", + "label": "Administration publique générale" + }, + { + "id": "84.11Z", + "label": "Administration publique générale" + }, + { + "id": "84.12", + "label": "Administration publique (tutelle) de la santé, de la formation, de la culture et des services sociaux, autre que sécurité sociale" + }, + { + "id": "84.12Z", + "label": "Administration publique (tutelle) de la santé, de la formation, de la culture et des services sociaux, autre que sécurité sociale" + }, + { + "id": "84.13", + "label": "Administration publique (tutelle) des activités économiques" + }, + { + "id": "84.13Z", + "label": "Administration publique (tutelle) des activités économiques" + }, + { + "id": "84.2", + "label": "Services de prérogative publique" + }, + { + "id": "84.21", + "label": "Affaires étrangères" + }, + { + "id": "84.21Z", + "label": "Affaires étrangères" + }, + { + "id": "84.22", + "label": "Défense" + }, + { + "id": "84.22Z", + "label": "Défense" + }, + { + "id": "84.23", + "label": "Justice" + }, + { + "id": "84.23Z", + "label": "Justice" + }, + { + "id": "84.24", + "label": "Activités d’ordre public et de sécurité" + }, + { + "id": "84.24Z", + "label": "Activités d’ordre public et de sécurité" + }, + { + "id": "84.25", + "label": "Services du feu et de secours" + }, + { + "id": "84.25Z", + "label": "Services du feu et de secours" + }, + { + "id": "84.3", + "label": "Sécurité sociale obligatoire" + }, + { + "id": "84.30", + "label": "Sécurité sociale obligatoire" + }, + { + "id": "84.30A", + "label": "Activités générales de sécurité sociale" + }, + { + "id": "84.30B", + "label": "Gestion des retraites complémentaires" + }, + { + "id": "84.30C", + "label": "Distribution sociale de revenus" + }, + { + "id": "85", + "label": "Enseignement" + }, + { + "id": "85.1", + "label": "Enseignement pré-primaire" + }, + { + "id": "85.10", + "label": "Enseignement pré-primaire" + }, + { + "id": "85.10Z", + "label": "Enseignement pré-primaire" + }, + { + "id": "85.2", + "label": "Enseignement primaire" + }, + { + "id": "85.20", + "label": "Enseignement primaire" + }, + { + "id": "85.20Z", + "label": "Enseignement primaire" + }, + { + "id": "85.3", + "label": "Enseignement secondaire" + }, + { + "id": "85.31", + "label": "Enseignement secondaire général" + }, + { + "id": "85.31Z", + "label": "Enseignement secondaire général" + }, + { + "id": "85.32", + "label": "Enseignement secondaire technique ou professionnel" + }, + { + "id": "85.32Z", + "label": "Enseignement secondaire technique ou professionnel" + }, + { + "id": "85.4", + "label": "Enseignement supérieur et post-secondaire non supérieur" + }, + { + "id": "85.41", + "label": "Enseignement post-secondaire non supérieur" + }, + { + "id": "85.41Z", + "label": "Enseignement post-secondaire non supérieur" + }, + { + "id": "85.42", + "label": "Enseignement supérieur" + }, + { + "id": "85.42Z", + "label": "Enseignement supérieur" + }, + { + "id": "85.5", + "label": "Autres activités d'enseignement" + }, + { + "id": "85.51", + "label": "Enseignement de disciplines sportives et d'activités de loisirs" + }, + { + "id": "85.51Z", + "label": "Enseignement de disciplines sportives et d'activités de loisirs" + }, + { + "id": "85.52", + "label": "Enseignement culturel" + }, + { + "id": "85.52Z", + "label": "Enseignement culturel" + }, + { + "id": "85.53", + "label": "Enseignement de la conduite" + }, + { + "id": "85.53Z", + "label": "Enseignement de la conduite" + }, + { + "id": "85.59", + "label": "Enseignements divers" + }, + { + "id": "85.59A", + "label": "Formation continue d'adultes" + }, + { + "id": "85.59B", + "label": "Autres enseignements" + }, + { + "id": "85.6", + "label": "Activités de soutien à l'enseignement" + }, + { + "id": "85.60", + "label": "Activités de soutien à l'enseignement" + }, + { + "id": "85.60Z", + "label": "Activités de soutien à l'enseignement" + }, + { + "id": "86", + "label": "Activités pour la santé humaine" + }, + { + "id": "86.1", + "label": "Activités hospitalières" + }, + { + "id": "86.10", + "label": "Activités hospitalières" + }, + { + "id": "86.10Z", + "label": "Activités hospitalières" + }, + { + "id": "86.2", + "label": "Activité des médecins et des dentistes" + }, + { + "id": "86.21", + "label": "Activité des médecins généralistes" + }, + { + "id": "86.21Z", + "label": "Activité des médecins généralistes" + }, + { + "id": "86.22", + "label": "Activité des médecins spécialistes" + }, + { + "id": "86.22A", + "label": "Activités de radiodiagnostic et de radiothérapie" + }, + { + "id": "86.22B", + "label": "Activités chirurgicales" + }, + { + "id": "86.22C", + "label": "Autres activités des médecins spécialistes" + }, + { + "id": "86.23", + "label": "Pratique dentaire" + }, + { + "id": "86.23Z", + "label": "Pratique dentaire" + }, + { + "id": "86.9", + "label": "Autres activités pour la santé humaine" + }, + { + "id": "86.90", + "label": "Autres activités pour la santé humaine" + }, + { + "id": "86.90A", + "label": "Ambulances" + }, + { + "id": "86.90B", + "label": "Laboratoires d'analyses médicales" + }, + { + "id": "86.90C", + "label": "Centres de collecte et banques d'organes" + }, + { + "id": "86.90D", + "label": "Activités des infirmiers et des sages-femmes" + }, + { + "id": "86.90E", + "label": "Activités des professionnels de la rééducation, de l’appareillage et des pédicures-podologues" + }, + { + "id": "86.90F", + "label": "Activités de santé humaine non classées ailleurs" + }, + { + "id": "87", + "label": "Hébergement médico-social et social" + }, + { + "id": "87.1", + "label": "Hébergement médicalisé" + }, + { + "id": "87.10", + "label": "Hébergement médicalisé" + }, + { + "id": "87.10A", + "label": "Hébergement médicalisé pour personnes âgées" + }, + { + "id": "87.10B", + "label": "Hébergement médicalisé pour enfants handicapés" + }, + { + "id": "87.10C", + "label": "Hébergement médicalisé pour adultes handicapés et autre hébergement médicalisé" + }, + { + "id": "87.2", + "label": "Hébergement social pour personnes handicapées mentales, malades mentales et toxicomanes" + }, + { + "id": "87.20", + "label": "Hébergement social pour personnes handicapées mentales, malades mentales et toxicomanes" + }, + { + "id": "87.20A", + "label": "Hébergement social pour handicapés mentaux et malades mentaux" + }, + { + "id": "87.20B", + "label": "Hébergement social pour toxicomanes" + }, + { + "id": "87.3", + "label": "Hébergement social pour personnes âgées ou handicapées physiques" + }, + { + "id": "87.30", + "label": "Hébergement social pour personnes âgées ou handicapées physiques" + }, + { + "id": "87.30A", + "label": "Hébergement social pour personnes âgées" + }, + { + "id": "87.30B", + "label": "Hébergement social pour handicapés physiques" + }, + { + "id": "87.9", + "label": "Autres activités d’hébergement social" + }, + { + "id": "87.90", + "label": "Autres activités d’hébergement social" + }, + { + "id": "87.90A", + "label": "Hébergement social pour enfants en difficultés" + }, + { + "id": "87.90B", + "label": "Hébergement social pour adultes et familles en difficultés et autre hébergement social" + }, + { + "id": "88", + "label": "Action sociale sans hébergement" + }, + { + "id": "88.1", + "label": "Action sociale sans hébergement pour personnes âgées et pour personnes handicapées" + }, + { + "id": "88.10", + "label": "Action sociale sans hébergement pour personnes âgées et pour personnes handicapées" + }, + { + "id": "88.10A", + "label": "Aide à domicile" + }, + { + "id": "88.10B", + "label": "Accueil ou accompagnement sans hébergement d’adultes handicapés ou de personnes âgées" + }, + { + "id": "88.10C", + "label": "Aide par le travail" + }, + { + "id": "88.9", + "label": "Autre action sociale sans hébergement" + }, + { + "id": "88.91", + "label": "Action sociale sans hébergement pour jeunes enfants" + }, + { + "id": "88.91A", + "label": "Accueil de jeunes enfants" + }, + { + "id": "88.91B", + "label": "Accueil ou accompagnement sans hébergement d’enfants handicapés" + }, + { + "id": "88.99", + "label": "Autre action sociale sans hébergement n.c.a." + }, + { + "id": "88.99A", + "label": "Autre accueil ou accompagnement sans hébergement d’enfants et d’adolescents" + }, + { + "id": "88.99B", + "label": "Action sociale sans hébergement n.c.a." + }, + { + "id": "90", + "label": "Activités créatives, artistiques et de spectacle" + }, + { + "id": "90.0", + "label": "Activités créatives, artistiques et de spectacle" + }, + { + "id": "90.01", + "label": "Arts du spectacle vivant" + }, + { + "id": "90.01Z", + "label": "Arts du spectacle vivant" + }, + { + "id": "90.02", + "label": "Activités de soutien au spectacle vivant" + }, + { + "id": "90.02Z", + "label": "Activités de soutien au spectacle vivant" + }, + { + "id": "90.03", + "label": "Création artistique" + }, + { + "id": "90.03A", + "label": "Création artistique relevant des arts plastiques" + }, + { + "id": "90.03B", + "label": "Autre création artistique" + }, + { + "id": "90.04", + "label": "Gestion de salles de spectacles" + }, + { + "id": "90.04Z", + "label": "Gestion de salles de spectacles" + }, + { + "id": "91", + "label": "Bibliothèques, archives, musées et autres activités culturelles" + }, + { + "id": "91.0", + "label": "Bibliothèques, archives, musées et autres activités culturelles" + }, + { + "id": "91.01", + "label": "Gestion des bibliothèques et des archives" + }, + { + "id": "91.01Z", + "label": "Gestion des bibliothèques et des archives" + }, + { + "id": "91.02", + "label": "Gestion des musées" + }, + { + "id": "91.02Z", + "label": "Gestion des musées" + }, + { + "id": "91.03", + "label": "Gestion des sites et monuments historiques et des attractions touristiques similaires" + }, + { + "id": "91.03Z", + "label": "Gestion des sites et monuments historiques et des attractions touristiques similaires" + }, + { + "id": "91.04", + "label": "Gestion des jardins botaniques et zoologiques et des réserves naturelles" + }, + { + "id": "91.04Z", + "label": "Gestion des jardins botaniques et zoologiques et des réserves naturelles" + }, + { + "id": "92", + "label": "Organisation de jeux de hasard et d'argent" + }, + { + "id": "92.0", + "label": "Organisation de jeux de hasard et d'argent" + }, + { + "id": "92.00", + "label": "Organisation de jeux de hasard et d'argent" + }, + { + "id": "92.00Z", + "label": "Organisation de jeux de hasard et d'argent" + }, + { + "id": "93", + "label": "Activités sportives, récréatives et de loisirs" + }, + { + "id": "93.1", + "label": "Activités liées au sport" + }, + { + "id": "93.11", + "label": "Gestion d'installations sportives" + }, + { + "id": "93.11Z", + "label": "Gestion d'installations sportives" + }, + { + "id": "93.12", + "label": "Activités de clubs de sports" + }, + { + "id": "93.12Z", + "label": "Activités de clubs de sports" + }, + { + "id": "93.13", + "label": "Activités des centres de culture physique" + }, + { + "id": "93.13Z", + "label": "Activités des centres de culture physique" + }, + { + "id": "93.19", + "label": "Autres activités liées au sport" + }, + { + "id": "93.19Z", + "label": "Autres activités liées au sport" + }, + { + "id": "93.2", + "label": "Activités récréatives et de loisirs" + }, + { + "id": "93.21", + "label": "Activités des parcs d'attractions et parcs à thèmes" + }, + { + "id": "93.21Z", + "label": "Activités des parcs d'attractions et parcs à thèmes" + }, + { + "id": "93.29", + "label": "Autres activités récréatives et de loisirs" + }, + { + "id": "93.29Z", + "label": "Autres activités récréatives et de loisirs" + }, + { + "id": "94", + "label": "Activités des organisations associatives" + }, + { + "id": "94.1", + "label": "Activités des organisations économiques, patronales et professionnelles" + }, + { + "id": "94.11", + "label": "Activités des organisations patronales et consulaires" + }, + { + "id": "94.11Z", + "label": "Activités des organisations patronales et consulaires" + }, + { + "id": "94.12", + "label": "Activités des organisations professionnelles" + }, + { + "id": "94.12Z", + "label": "Activités des organisations professionnelles" + }, + { + "id": "94.2", + "label": "Activités des syndicats de salariés" + }, + { + "id": "94.20", + "label": "Activités des syndicats de salariés" + }, + { + "id": "94.20Z", + "label": "Activités des syndicats de salariés" + }, + { + "id": "94.9", + "label": "Activités des autres organisations associatives" + }, + { + "id": "94.91", + "label": "Activités des organisations religieuses" + }, + { + "id": "94.91Z", + "label": "Activités des organisations religieuses" + }, + { + "id": "94.92", + "label": "Activités des organisations politiques" + }, + { + "id": "94.92Z", + "label": "Activités des organisations politiques" + }, + { + "id": "94.99", + "label": "Activités des organisations associatives n.c.a." + }, + { + "id": "94.99Z", + "label": "Autres organisations fonctionnant par adhésion volontaire" + }, + { + "id": "95", + "label": "Réparation d'ordinateurs et de biens personnels et domestiques" + }, + { + "id": "95.1", + "label": "Réparation d'ordinateurs et d'équipements de communication" + }, + { + "id": "95.11", + "label": "Réparation d'ordinateurs et d'équipements périphériques" + }, + { + "id": "95.11Z", + "label": "Réparation d'ordinateurs et d'équipements périphériques" + }, + { + "id": "95.12", + "label": "Réparation d'équipements de communication" + }, + { + "id": "95.12Z", + "label": "Réparation d'équipements de communication" + }, + { + "id": "95.2", + "label": "Réparation de biens personnels et domestiques" + }, + { + "id": "95.21", + "label": "Réparation de produits électroniques grand public" + }, + { + "id": "95.21Z", + "label": "Réparation de produits électroniques grand public" + }, + { + "id": "95.22", + "label": "Réparation d'appareils électroménagers et d'équipements pour la maison et le jardin" + }, + { + "id": "95.22Z", + "label": "Réparation d'appareils électroménagers et d'équipements pour la maison et le jardin" + }, + { + "id": "95.23", + "label": "Réparation de chaussures et d'articles en cuir" + }, + { + "id": "95.23Z", + "label": "Réparation de chaussures et d'articles en cuir" + }, + { + "id": "95.24", + "label": "Réparation de meubles et d'équipements du foyer" + }, + { + "id": "95.24Z", + "label": "Réparation de meubles et d'équipements du foyer" + }, + { + "id": "95.25", + "label": "Réparation d'articles d'horlogerie et de bijouterie" + }, + { + "id": "95.25Z", + "label": "Réparation d'articles d'horlogerie et de bijouterie" + }, + { + "id": "95.29", + "label": "Réparation d'autres biens personnels et domestiques" + }, + { + "id": "95.29Z", + "label": "Réparation d'autres biens personnels et domestiques" + }, + { + "id": "96", + "label": "Autres services personnels" + }, + { + "id": "96.0", + "label": "Autres services personnels" + }, + { + "id": "96.01", + "label": "Blanchisserie-teinturerie" + }, + { + "id": "96.01A", + "label": "Blanchisserie-teinturerie de gros" + }, + { + "id": "96.01B", + "label": "Blanchisserie-teinturerie de détail" + }, + { + "id": "96.02", + "label": "Coiffure et soins de beauté" + }, + { + "id": "96.02A", + "label": "Coiffure" + }, + { + "id": "96.02B", + "label": "Soins de beauté" + }, + { + "id": "96.03", + "label": "Services funéraires" + }, + { + "id": "96.03Z", + "label": "Services funéraires" + }, + { + "id": "96.04", + "label": "Entretien corporel" + }, + { + "id": "96.04Z", + "label": "Entretien corporel" + }, + { + "id": "96.09", + "label": "Autres services personnels n.c.a." + }, + { + "id": "96.09Z", + "label": "Autres services personnels n.c.a." + }, + { + "id": "97", + "label": "Activités des ménages en tant qu'employeurs de personnel domestique" + }, + { + "id": "97.0", + "label": "Activités des ménages en tant qu'employeurs de personnel domestique" + }, + { + "id": "97.00", + "label": "Activités des ménages en tant qu'employeurs de personnel domestique" + }, + { + "id": "97.00Z", + "label": "Activités des ménages en tant qu'employeurs de personnel domestique" + }, + { + "id": "98", + "label": "Activités indifférenciées des ménages en tant que producteurs de biens et services pour usage propre" + }, + { + "id": "98.1", + "label": "Activités indifférenciées des ménages en tant que producteurs de biens pour usage propre" + }, + { + "id": "98.10", + "label": "Activités indifférenciées des ménages en tant que producteurs de biens pour usage propre" + }, + { + "id": "98.10Z", + "label": "Activités indifférenciées des ménages en tant que producteurs de biens pour usage propre" + }, + { + "id": "98.2", + "label": "Activités indifférenciées des ménages en tant que producteurs de services pour usage propre" + }, + { + "id": "98.20", + "label": "Activités indifférenciées des ménages en tant que producteurs de services pour usage propre" + }, + { + "id": "98.20Z", + "label": "Activités indifférenciées des ménages en tant que producteurs de services pour usage propre" + }, + { + "id": "99", + "label": "Activités des organisations et organismes extraterritoriaux" + }, + { + "id": "99.0", + "label": "Activités des organisations et organismes extraterritoriaux" + }, + { + "id": "99.00", + "label": "Activités des organisations et organismes extraterritoriaux" + }, + { + "id": "99.00Z", + "label": "Activités des organisations et organismes extraterritoriaux" + } +] diff --git a/src/Controller/AdminController.php b/src/Controller/AdminController.php index e0c9124..c76173c 100644 --- a/src/Controller/AdminController.php +++ b/src/Controller/AdminController.php @@ -5,6 +5,7 @@ namespace App\Controller; use App\Entity\User; use App\Service\MailerService; use App\Service\MeilisearchService; +use App\Service\SiretService; use Doctrine\ORM\EntityManagerInterface; use Knp\Component\Pager\PaginatorInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; @@ -290,9 +291,14 @@ class AdminController extends AbstractController } #[Route('/organisateur/{id}/approuver', name: 'app_admin_approve_organizer', methods: ['POST'])] - public function approveOrganizer(User $user, EntityManagerInterface $em, MailerService $mailerService, MeilisearchService $meilisearch): Response + public function approveOrganizer(User $user, Request $request, EntityManagerInterface $em, MailerService $mailerService, MeilisearchService $meilisearch): Response { + $offer = $request->request->getString('offer', 'free'); + $commissionRate = (float) $request->request->getString('commission_rate', '3'); + $user->setIsApproved(true); + $user->setOffer($offer); + $user->setCommissionRate($commissionRate); $em->flush(); $meilisearch->createIndexIfNotExists('organizers'); @@ -324,22 +330,101 @@ class AdminController extends AbstractController } #[Route('/organisateur/{id}/refuser', name: 'app_admin_reject_organizer', methods: ['POST'])] - public function rejectOrganizer(User $user, EntityManagerInterface $em, MailerService $mailerService): Response + public function rejectOrganizer(User $user, Request $request, EntityManagerInterface $em, MailerService $mailerService): Response { + $reason = trim($request->request->getString('reason')); + $email = $user->getEmail(); + $firstName = $user->getFirstName(); + $lastName = $user->getLastName(); + $em->remove($user); $em->flush(); $mailerService->sendEmail( - to: $user->getEmail(), + to: $email, subject: 'Votre demande de compte organisateur a ete refusee - E-Ticket', content: $this->renderView('email/organizer_rejected.html.twig', [ - 'firstName' => $user->getFirstName(), + 'firstName' => $firstName, + 'reason' => $reason, ]), withUnsubscribe: false, ); - $this->addFlash('success', sprintf('Demande de %s %s refusee.', $user->getFirstName(), $user->getLastName())); + $this->addFlash('success', sprintf('Demande de %s %s refusee.', $firstName, $lastName)); return $this->redirectToRoute('app_admin_organizers'); } + + #[Route('/organisateur/{id}/siret', name: 'app_admin_siret_check')] + public function siretCheck(User $user, SiretService $siretService): Response + { + if ($user->isApproved()) { + return $this->redirectToRoute('app_admin_organizers'); + } + + $siret = $user->getSiret(); + + if (!$siret) { + $this->addFlash('error', 'Aucun SIRET renseigne.'); + + return $this->redirectToRoute('app_admin_organizers'); + } + + $data = $siretService->lookup($siret); + $rna = $data['complements']['identifiant_association'] ?? null; + $rnaData = $rna ? $siretService->lookupRna($rna) : null; + + return $this->render('admin/siret_check.html.twig', [ + 'user' => $user, + 'siret' => $siret, + 'data' => $data, + 'rnaData' => $rnaData, + ]); + } + + #[Route('/organisateur/{id}/siret/refresh', name: 'app_admin_siret_refresh', methods: ['POST'])] + public function siretRefresh(User $user, SiretService $siretService): Response + { + $siret = $user->getSiret(); + + if ($siret) { + $data = $siretService->lookup($siret); + $rna = $data['complements']['identifiant_association'] ?? null; + $siretService->clearCache($siret, $rna); + $this->addFlash('success', 'Cache SIRET vide. Les donnees ont ete rechargees.'); + } + + return $this->redirectToRoute('app_admin_siret_check', ['id' => $user->getId()]); + } + + #[Route('/organisateur/{id}/modifier', name: 'app_admin_edit_organizer', methods: ['GET', 'POST'])] + public function editOrganizer(User $user, Request $request, EntityManagerInterface $em): Response + { + if (!$user->isApproved()) { + return $this->redirectToRoute('app_admin_organizers'); + } + + if ($request->isMethod('POST')) { + $user->setFirstName(trim($request->request->getString('first_name'))); + $user->setLastName(trim($request->request->getString('last_name'))); + $user->setEmail(trim($request->request->getString('email'))); + $user->setPhone(trim($request->request->getString('phone'))); + $user->setCompanyName(trim($request->request->getString('company_name'))); + $user->setSiret(trim($request->request->getString('siret'))); + $user->setAddress(trim($request->request->getString('address'))); + $user->setPostalCode(trim($request->request->getString('postal_code'))); + $user->setCity(trim($request->request->getString('city'))); + $user->setOffer($request->request->getString('offer')); + $user->setCommissionRate((float) $request->request->getString('commission_rate')); + $em->flush(); + + $this->addFlash('success', sprintf('Organisateur %s %s mis a jour.', $user->getFirstName(), $user->getLastName())); + + return $this->redirectToRoute('app_admin_organizers', ['tab' => 'approved']); + } + + return $this->render('admin/edit_organizer.html.twig', [ + 'user' => $user, + ]); + } } diff --git a/src/Controller/RegistrationController.php b/src/Controller/RegistrationController.php index 0fa8caa..f1074fc 100644 --- a/src/Controller/RegistrationController.php +++ b/src/Controller/RegistrationController.php @@ -72,9 +72,9 @@ class RegistrationController extends AbstractController withUnsubscribe: false, ); - $this->addFlash('success', 'Compte cree ! Un email de verification vous a ete envoye.'); - - return $this->redirectToRoute('app_login'); + return $this->render('security/register_success.html.twig', [ + 'isOrganizer' => 'organizer' === $type, + ]); } foreach ($errors as $error) { @@ -145,8 +145,8 @@ class RegistrationController extends AbstractController ); } - $this->addFlash('success', 'Votre adresse email a ete verifiee. Vous pouvez vous connecter.'); - - return $this->redirectToRoute('app_login'); + return $this->render('security/email_verified.html.twig', [ + 'isOrganizer' => \in_array('ROLE_ORGANIZER', $user->getRoles(), true), + ]); } } diff --git a/src/Entity/User.php b/src/Entity/User.php index 3756092..b35a20d 100644 --- a/src/Entity/User.php +++ b/src/Entity/User.php @@ -82,6 +82,9 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface #[ORM\Column(length: 255, nullable: true)] private ?string $offer = null; + #[ORM\Column(nullable: true)] + private ?float $commissionRate = null; + #[ORM\Column(length: 64, nullable: true)] private ?string $emailVerificationToken = null; @@ -281,6 +284,18 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface return $this->updatedAt; } + public function getCommissionRate(): ?float + { + return $this->commissionRate; + } + + public function setCommissionRate(?float $commissionRate): static + { + $this->commissionRate = $commissionRate; + + return $this; + } + public function getResetCode(): ?string { return $this->resetCode; diff --git a/src/Service/SiretService.php b/src/Service/SiretService.php new file mode 100644 index 0000000..2d5df07 --- /dev/null +++ b/src/Service/SiretService.php @@ -0,0 +1,142 @@ + 'Entrepreneur individuel', + '5410' => 'SARL', + '5499' => 'SARL unipersonnelle', + '5505' => 'SA a conseil d\'administration', + '5510' => 'SA a directoire', + '5599' => 'SA a conseil d\'administration', + '5710' => 'SAS', + '5720' => 'SASU', + '6540' => 'Societe cooperative', + '9210' => 'Association non declaree', + '9220' => 'Association declaree', + '9221' => 'Association declaree d\'insertion', + '9222' => 'Association intermediaire', + '9223' => 'Association reconnue d\'utilite publique', + '9224' => 'Association de droit local', + '9230' => 'Association en justice', + '9240' => 'Association agree d\'education populaire', + '9260' => 'Association sportive agree', + '9300' => 'Fondation', + ]; + + /** @var array|null */ + private ?array $nafCodes = null; + + public function __construct( + private HttpClientInterface $httpClient, + #[Autowire(service: 'siret.cache')] private CacheInterface $cache, + #[Autowire('%kernel.project_dir%')] private string $projectDir, + ) { + } + + /** + * @return array|null + */ + public function lookup(string $siret): ?array + { + return $this->cache->get('siret_'.$siret, function (ItemInterface $item) use ($siret): ?array { + $item->expiresAfter(86400); + + try { + $response = $this->httpClient->request('GET', self::API_URL, [ + 'query' => ['q' => $siret, 'per_page' => 1], + ]); + + $result = $response->toArray(false); + + if (isset($result['results'][0])) { + $data = $result['results'][0]; + $data['libelle_nature_juridique'] = self::NATURE_JURIDIQUE[$data['nature_juridique'] ?? ''] ?? null; + $data['libelle_activite_principale'] = $this->getNafLabel($data['activite_principale'] ?? ''); + + return $data; + } + } catch (\Throwable) { + // API indisponible + } + + return null; + }); + } + + /** + * @return array|null + */ + public function lookupRna(string $rna): ?array + { + return $this->cache->get('rna_'.$rna, function (ItemInterface $item) use ($rna): ?array { + $item->expiresAfter(86400); + + try { + $response = $this->httpClient->request('GET', 'https://journal-officiel-datadila.opendatasoft.com/api/records/1.0/search/', [ + 'query' => ['dataset' => 'jo_associations', 'q' => $rna, 'rows' => 1], + ]); + + $result = $response->toArray(false); + + if (isset($result['records'][0]['fields'])) { + return $result['records'][0]['fields']; + } + } catch (\Throwable) { + // API indisponible + } + + return null; + }); + } + + public function clearCache(string $siret, ?string $rna = null): void + { + $this->cache->delete('siret_'.$siret); + + if ($rna) { + $this->cache->delete('rna_'.$rna); + } + } + + public function getNatureJuridiqueLabel(string $code): ?string + { + return self::NATURE_JURIDIQUE[$code] ?? null; + } + + public function getNafLabel(string $code): ?string + { + if (null === $this->nafCodes) { + $path = $this->projectDir.'/naf.json'; + if (!file_exists($path)) { + return null; + } + + $json = file_get_contents($path); + if (false === $json) { + return null; + } + + /** @var list $entries */ + $entries = json_decode($json, true) ?? []; + $this->nafCodes = []; + foreach ($entries as $entry) { + $this->nafCodes[$entry['id']] = $entry['label']; + } + } + + return $this->nafCodes[$code] ?? null; + } +} diff --git a/templates/admin/dashboard.html.twig b/templates/admin/dashboard.html.twig index 0d967e1..4f1725f 100644 --- a/templates/admin/dashboard.html.twig +++ b/templates/admin/dashboard.html.twig @@ -19,11 +19,7 @@ -
-

Synchronisation Meilisearch

-

Synchronise manuellement les acheteurs verifies dans l'index Meilisearch.

-
- -
-
+
+ +
{% endblock %} diff --git a/templates/admin/edit_organizer.html.twig b/templates/admin/edit_organizer.html.twig new file mode 100644 index 0000000..0e90185 --- /dev/null +++ b/templates/admin/edit_organizer.html.twig @@ -0,0 +1,115 @@ +{% extends 'admin/base.html.twig' %} + +{% block title %}Modifier {{ user.companyName }}{% endblock %} + +{% block body %} +
+

Modifier l'organisateur

+

{{ user.companyName }} — {{ user.email }}

+
+ +
+
+
+
+

Informations personnelles

+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+ +
+
+

Informations entreprise

+
+
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+
+
+ +
+
+
+

Offre et commission

+
+
+ + +
+
+ + +
+
+
+
+
+ +
+ + + Annuler + +
+
+{% endblock %} diff --git a/templates/admin/organizers.html.twig b/templates/admin/organizers.html.twig index c371d34..778aa0d 100644 --- a/templates/admin/organizers.html.twig +++ b/templates/admin/organizers.html.twig @@ -61,20 +61,14 @@ {% endif %} -
- {% if not orga.approved %} -
- -
-
- -
- {% else %} -
- -
- {% endif %} -
+ {% if not orga.approved %} + Voir la demande + {% else %} +
+ {{ orga.offer ?? '—' }} — {{ orga.commissionRate ?? '3' }}% + Modifier +
+ {% endif %} {% else %} diff --git a/templates/admin/siret_check.html.twig b/templates/admin/siret_check.html.twig new file mode 100644 index 0000000..0544dd9 --- /dev/null +++ b/templates/admin/siret_check.html.twig @@ -0,0 +1,261 @@ +{% extends 'admin/base.html.twig' %} + +{% block title %}Verification Entreprise / Association - {{ siret }}{% endblock %} + +{% block body %} +
+

Verification Entreprise / Association

+

{{ user.firstName }} {{ user.lastName }} — {{ siret }}

+
+ +
+
+
+

Informations declarees

+ + + + + + + + + + + + + + + + + + + + + + + +
Nom{{ user.firstName }} {{ user.lastName }}
Raison sociale{{ user.companyName }}
SIRET{{ user.siret }}
Adresse{{ user.address }}, {{ user.postalCode }} {{ user.city }}
Telephone{{ user.phone }}
+
+
+ +
+
+

Donnees API Gouvernement

+ + {% if data %} +
+ {% if data.complements is defined and data.complements.est_association is defined and data.complements.est_association %} + Association + {% elseif data.complements is defined and data.complements.est_entrepreneur_individuel is defined and data.complements.est_entrepreneur_individuel %} + Entrepreneur individuel + {% else %} + Entreprise + {% endif %} + {% if data.complements is defined and data.complements.est_ess is defined and data.complements.est_ess %} + ESS + {% endif %} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% if data.complements is defined and data.complements.est_association is defined and data.complements.est_association %} + + + + + {% endif %} + + + + + +
Denomination{{ data.nom_complet ?? '—' }}
SIREN{{ data.siren ?? '—' }}
Nature juridique + {% if data.nature_juridique is defined and data.nature_juridique %} + {{ data.nature_juridique }} — {{ data.libelle_nature_juridique ?? '' }} + {% else %} + — + {% endif %} +
Siege + {% if data.siege is defined and data.siege %} + {{ data.siege.adresse ?? '' }}, {{ data.siege.code_postal ?? '' }} {{ data.siege.libelle_commune ?? '' }} + {% else %} + — + {% endif %} +
Activite (NAF) + {% if data.activite_principale is defined and data.activite_principale %} + {{ data.activite_principale }} — {{ data.libelle_activite_principale ?? '' }} + {% else %} + — + {% endif %} +
Tranche effectif + {% set te = data.tranche_effectif_salarie ?? 'NN' %} + {% set te_labels = { + 'NN': 'Non renseigne', + '00': '0 salarie', + '01': '1 ou 2 salaries', + '02': '3 a 5 salaries', + '03': '6 a 9 salaries', + '11': '10 a 19 salaries', + '12': '20 a 49 salaries', + '21': '50 a 99 salaries', + '22': '100 a 199 salaries', + '31': '200 a 249 salaries', + '32': '250 a 499 salaries', + '41': '500 a 999 salaries', + '42': '1 000 a 1 999 salaries', + '51': '2 000 a 4 999 salaries', + '52': '5 000 a 9 999 salaries', + '53': '10 000 salaries et plus' + } %} + {{ te_labels[te] ?? te }} +
Date creation{{ data.date_creation ?? '—' }}
Statut + {% if data.etat_administratif is defined and data.etat_administratif == 'A' %} + Active + {% else %} + Fermee + {% endif %} +
RNA{{ data.complements.identifiant_association ?? '—' }}
Coordonnees + {% if data.siege is defined and data.siege.latitude is defined and data.siege.longitude is defined and data.siege.latitude and data.siege.longitude %} + {{ data.siege.latitude }}, {{ data.siege.longitude }} + {% else %} + — + {% endif %} +
+ {% else %} +
+ SIRET non trouve +

Aucun resultat retourne par l'API pour ce SIRET.

+
+ {% endif %} +
+
+
+ +{% if rnaData %} +
+
+

Journal Officiel (JOAFE)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RNA{{ rnaData.numero_rna ?? '—' }}
Regime{{ rnaData.association_type_libelle ?? '—' }}
Objet{{ rnaData.objet ?? '—' }}
Domaine d'activite{{ rnaData.domaine_activite_libelle_categorise ?? '—' }}
Date declaration{{ rnaData.datedeclaration ?? '—' }}
Date parution JOAFE{{ rnaData.dateparution ?? '—' }}
Lieu declaration{{ rnaData.lieupref ?? '—' }}
PDF JOAFE + {% if rnaData.url_pdf is defined and rnaData.url_pdf %} + Telecharger + {% else %} + — + {% endif %} +
+
+
+{% endif %} + +
+
+ +
+ Retour +
+ +
+
+
+

Approuver l'organisateur

+
+
+ + +
+
+ + +
+ +
+
+
+ +
+
+

Refuser la demande

+
+
+ + +
+ +
+
+
+
+{% endblock %} diff --git a/templates/email/organizer_rejected.html.twig b/templates/email/organizer_rejected.html.twig index aef3188..1567427 100644 --- a/templates/email/organizer_rejected.html.twig +++ b/templates/email/organizer_rejected.html.twig @@ -5,6 +5,12 @@ {% block content %}

Bonjour {{ firstName }},

Nous avons examine votre demande de compte organisateur et malheureusement, celle-ci a ete refusee.

+ {% if reason is defined and reason %} +
+

Motif du refus :

+

{{ reason }}

+
+ {% endif %}

Si vous pensez qu'il s'agit d'une erreur ou si vous souhaitez obtenir plus d'informations, n'hesitez pas a nous contacter.

Nous contacter diff --git a/templates/security/email_verified.html.twig b/templates/security/email_verified.html.twig new file mode 100644 index 0000000..f05964a --- /dev/null +++ b/templates/security/email_verified.html.twig @@ -0,0 +1,26 @@ +{% extends 'base.html.twig' %} + +{% block title %}Email verifie - E-Ticket{% endblock %} + +{% block body %} +

+
+
+

Email verifie !

+ +
+

Votre adresse email a ete verifiee avec succes.

+
+ + {% if isOrganizer %} +
+

L'equipe E-Ticket va maintenant examiner votre demande de compte organisateur. Vous recevrez une reponse sous 48h.

+
+ {% else %} +

Votre compte est actif. Vous pouvez maintenant vous connecter.

+ {% endif %} + + Se connecter +
+
+{% endblock %} diff --git a/templates/security/register_success.html.twig b/templates/security/register_success.html.twig new file mode 100644 index 0000000..34b8ab8 --- /dev/null +++ b/templates/security/register_success.html.twig @@ -0,0 +1,24 @@ +{% extends 'base.html.twig' %} + +{% block title %}Compte cree - E-Ticket{% endblock %} + +{% block body %} +
+
+
+

Compte cree avec succes !

+ +
+

Un email de verification vous a ete envoye. Veuillez cliquer sur le lien dans l'email pour activer votre compte.

+
+ + {% if isOrganizer %} +
+

Une fois votre email verifie, l'equipe E-Ticket examinera votre demande de compte organisateur et vous donnera une reponse sous 48h.

+
+ {% endif %} + + Aller a la connexion +
+
+{% endblock %} diff --git a/tests/Controller/AdminControllerTest.php b/tests/Controller/AdminControllerTest.php index 9770668..8d97622 100644 --- a/tests/Controller/AdminControllerTest.php +++ b/tests/Controller/AdminControllerTest.php @@ -404,6 +404,122 @@ class AdminControllerTest extends WebTestCase self::assertResponseIsSuccessful(); } + public function testSiretCheckPage(): void + { + $client = static::createClient(); + $em = static::getContainer()->get(EntityManagerInterface::class); + $admin = $this->createUser(['ROLE_ROOT']); + $orga = $this->createOrganizer($em); + + $client->loginUser($admin); + $client->request('GET', '/admin/organisateur/'.$orga->getId().'/siret'); + + self::assertResponseIsSuccessful(); + } + + public function testSiretCheckRedirectsIfApproved(): void + { + $client = static::createClient(); + $em = static::getContainer()->get(EntityManagerInterface::class); + $admin = $this->createUser(['ROLE_ROOT']); + $orga = $this->createOrganizer($em); + $orga->setIsApproved(true); + $em->flush(); + + $client->loginUser($admin); + $client->request('GET', '/admin/organisateur/'.$orga->getId().'/siret'); + + self::assertResponseRedirects('/admin/organisateurs'); + } + + public function testSiretCheckWithoutSiret(): void + { + $client = static::createClient(); + $em = static::getContainer()->get(EntityManagerInterface::class); + $admin = $this->createUser(['ROLE_ROOT']); + + $orga = new User(); + $orga->setEmail('test-no-siret-'.uniqid().'@example.com'); + $orga->setFirstName('No'); + $orga->setLastName('Siret'); + $orga->setPassword('$2y$13$hashed'); + $orga->setRoles(['ROLE_ORGANIZER']); + $em->persist($orga); + $em->flush(); + + $client->loginUser($admin); + $client->request('GET', '/admin/organisateur/'.$orga->getId().'/siret'); + + self::assertResponseRedirects('/admin/organisateurs'); + } + + public function testSiretRefresh(): void + { + $client = static::createClient(); + $em = static::getContainer()->get(EntityManagerInterface::class); + $admin = $this->createUser(['ROLE_ROOT']); + $orga = $this->createOrganizer($em); + + $client->loginUser($admin); + $client->request('POST', '/admin/organisateur/'.$orga->getId().'/siret/refresh'); + + self::assertResponseRedirects('/admin/organisateur/'.$orga->getId().'/siret'); + } + + public function testEditOrganizerPage(): void + { + $client = static::createClient(); + $em = static::getContainer()->get(EntityManagerInterface::class); + $admin = $this->createUser(['ROLE_ROOT']); + $orga = $this->createOrganizer($em); + $orga->setIsApproved(true); + $orga->setOffer('free'); + $orga->setCommissionRate(3.0); + $em->flush(); + + $client->loginUser($admin); + $client->request('GET', '/admin/organisateur/'.$orga->getId().'/modifier'); + + self::assertResponseIsSuccessful(); + } + + public function testEditOrganizerSubmit(): void + { + $client = static::createClient(); + $em = static::getContainer()->get(EntityManagerInterface::class); + $admin = $this->createUser(['ROLE_ROOT']); + $orga = $this->createOrganizer($em); + $orga->setIsApproved(true); + $orga->setOffer('free'); + $orga->setCommissionRate(3.0); + $em->flush(); + + $client->loginUser($admin); + $client->request('POST', '/admin/organisateur/'.$orga->getId().'/modifier', [ + 'offer' => 'custom', + 'commission_rate' => '0.5', + ]); + + self::assertResponseRedirects('/admin/organisateurs?tab=approved'); + + $em->refresh($orga); + self::assertSame('custom', $orga->getOffer()); + self::assertSame(0.5, $orga->getCommissionRate()); + } + + public function testEditOrganizerRedirectsIfNotApproved(): void + { + $client = static::createClient(); + $em = static::getContainer()->get(EntityManagerInterface::class); + $admin = $this->createUser(['ROLE_ROOT']); + $orga = $this->createOrganizer($em); + + $client->loginUser($admin); + $client->request('GET', '/admin/organisateur/'.$orga->getId().'/modifier'); + + self::assertResponseRedirects('/admin/organisateurs'); + } + public function testApproveOrganizer(): void { $client = static::createClient(); @@ -422,12 +538,17 @@ class AdminControllerTest extends WebTestCase static::getContainer()->set(MeilisearchService::class, $meilisearch); $client->loginUser($admin); - $client->request('POST', '/admin/organisateur/'.$orga->getId().'/approuver'); + $client->request('POST', '/admin/organisateur/'.$orga->getId().'/approuver', [ + 'offer' => 'basic', + 'commission_rate' => '1.5', + ]); self::assertResponseRedirects('/admin/organisateurs'); $em->refresh($orga); self::assertTrue($orga->isApproved()); + self::assertSame('basic', $orga->getOffer()); + self::assertSame(1.5, $orga->getCommissionRate()); } public function testRejectOrganizer(): void @@ -444,7 +565,9 @@ class AdminControllerTest extends WebTestCase static::getContainer()->set(MailerService::class, $mailer); $client->loginUser($admin); - $client->request('POST', '/admin/organisateur/'.$orgaId.'/refuser'); + $client->request('POST', '/admin/organisateur/'.$orgaId.'/refuser', [ + 'reason' => 'SIRET invalide, activite non conforme.', + ]); self::assertResponseRedirects('/admin/organisateurs'); diff --git a/tests/Controller/RegistrationControllerTest.php b/tests/Controller/RegistrationControllerTest.php index d51060b..550ac78 100644 --- a/tests/Controller/RegistrationControllerTest.php +++ b/tests/Controller/RegistrationControllerTest.php @@ -4,6 +4,7 @@ namespace App\Tests\Controller; use App\Entity\User; use App\Service\MailerService; +use App\Service\MeilisearchService; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; @@ -51,7 +52,8 @@ class RegistrationControllerTest extends WebTestCase 'password' => 'Password123!', ]); - self::assertResponseRedirects('/connexion'); + self::assertResponseIsSuccessful(); + self::assertSelectorTextContains('h1', 'Compte cree'); } public function testRegistrationAsOrganizer(): void @@ -76,7 +78,9 @@ class RegistrationControllerTest extends WebTestCase 'phone' => '0612345678', ]); - self::assertResponseRedirects('/connexion'); + self::assertResponseIsSuccessful(); + self::assertSelectorTextContains('h1', 'Compte cree'); + self::assertSelectorTextContains('body', '48h'); } public function testRegistrationWithDuplicateEmail(): void @@ -110,6 +114,9 @@ class RegistrationControllerTest extends WebTestCase $client = static::createClient(); $em = static::getContainer()->get(EntityManagerInterface::class); + $meilisearch = $this->createMock(MeilisearchService::class); + static::getContainer()->set(MeilisearchService::class, $meilisearch); + $user = new User(); $user->setEmail('test-verify-'.uniqid().'@example.com'); $user->setFirstName('Test'); @@ -122,7 +129,8 @@ class RegistrationControllerTest extends WebTestCase $token = $user->getEmailVerificationToken(); $client->request('GET', '/verification-email/'.$token); - self::assertResponseRedirects('/connexion'); + self::assertResponseIsSuccessful(); + self::assertSelectorTextContains('h1', 'Email verifie'); $em->refresh($user); self::assertTrue($user->isVerified()); @@ -139,6 +147,9 @@ class RegistrationControllerTest extends WebTestCase $mailer->expects(self::exactly(2))->method('sendEmail'); static::getContainer()->set(MailerService::class, $mailer); + $meilisearch = $this->createMock(MeilisearchService::class); + static::getContainer()->set(MeilisearchService::class, $meilisearch); + $user = new User(); $user->setEmail('test-orga-verify-'.uniqid().'@example.com'); $user->setFirstName('Marie'); @@ -158,7 +169,8 @@ class RegistrationControllerTest extends WebTestCase $token = $user->getEmailVerificationToken(); $client->request('GET', '/verification-email/'.$token); - self::assertResponseRedirects('/connexion'); + self::assertResponseIsSuccessful(); + self::assertSelectorTextContains('body', '48h'); } public function testVerifyEmailWithInvalidToken(): void diff --git a/tests/Entity/UserTest.php b/tests/Entity/UserTest.php index 7f22625..a5e475d 100644 --- a/tests/Entity/UserTest.php +++ b/tests/Entity/UserTest.php @@ -136,12 +136,14 @@ class UserTest extends TestCase self::assertFalse($user->isApproved()); self::assertNull($user->getOffer()); + self::assertNull($user->getCommissionRate()); - $result = $user->setIsApproved(true)->setOffer('custom'); + $result = $user->setIsApproved(true)->setOffer('custom')->setCommissionRate(1.5); self::assertSame($user, $result); self::assertTrue($user->isApproved()); self::assertSame('custom', $user->getOffer()); + self::assertSame(1.5, $user->getCommissionRate()); } public function testEmailVerificationFields(): void diff --git a/tests/Service/SiretServiceTest.php b/tests/Service/SiretServiceTest.php new file mode 100644 index 0000000..cf934f5 --- /dev/null +++ b/tests/Service/SiretServiceTest.php @@ -0,0 +1,153 @@ +createMock(ResponseInterface::class); + $response->method('toArray')->willReturn([ + 'results' => [[ + 'nom_complet' => 'E-COSPLAY', + 'nature_juridique' => '9220', + 'activite_principale' => '93.29Z', + 'siren' => '943121517', + ]], + ]); + + $httpClient = $this->createMock(HttpClientInterface::class); + $httpClient->method('request')->willReturn($response); + + $cache = $this->createMock(CacheInterface::class); + $cache->method('get')->willReturnCallback(fn (string $key, callable $callback) => $callback($this->createMock(ItemInterface::class))); + + $projectDir = \dirname(__DIR__, 2); + $service = new SiretService($httpClient, $cache, $projectDir); + $data = $service->lookup('94312151700016'); + + self::assertNotNull($data); + self::assertSame('E-COSPLAY', $data['nom_complet']); + self::assertSame('Association declaree', $data['libelle_nature_juridique']); + self::assertNotNull($data['libelle_activite_principale']); + } + + public function testLookupReturnsNullWhenNotFound(): void + { + $response = $this->createMock(ResponseInterface::class); + $response->method('toArray')->willReturn(['results' => []]); + + $httpClient = $this->createMock(HttpClientInterface::class); + $httpClient->method('request')->willReturn($response); + + $cache = $this->createMock(CacheInterface::class); + $cache->method('get')->willReturnCallback(fn (string $key, callable $callback) => $callback($this->createMock(ItemInterface::class))); + + $service = new SiretService($httpClient, $cache, \dirname(__DIR__, 2)); + + self::assertNull($service->lookup('00000000000000')); + } + + public function testLookupReturnsNullOnApiError(): void + { + $httpClient = $this->createMock(HttpClientInterface::class); + $httpClient->method('request')->willThrowException(new \RuntimeException('API down')); + + $cache = $this->createMock(CacheInterface::class); + $cache->method('get')->willReturnCallback(fn (string $key, callable $callback) => $callback($this->createMock(ItemInterface::class))); + + $service = new SiretService($httpClient, $cache, \dirname(__DIR__, 2)); + + self::assertNull($service->lookup('00000000000000')); + } + + public function testGetNatureJuridiqueLabel(): void + { + $httpClient = $this->createMock(HttpClientInterface::class); + $cache = $this->createMock(CacheInterface::class); + $service = new SiretService($httpClient, $cache, \dirname(__DIR__, 2)); + + self::assertSame('Association declaree', $service->getNatureJuridiqueLabel('9220')); + self::assertSame('SAS', $service->getNatureJuridiqueLabel('5710')); + self::assertNull($service->getNatureJuridiqueLabel('0000')); + } + + public function testGetNafLabel(): void + { + $httpClient = $this->createMock(HttpClientInterface::class); + $cache = $this->createMock(CacheInterface::class); + $service = new SiretService($httpClient, $cache, \dirname(__DIR__, 2)); + + self::assertNotNull($service->getNafLabel('93.29Z')); + self::assertNull($service->getNafLabel('XX.XXX')); + } + + public function testLookupRnaReturnsData(): void + { + $response = $this->createMock(ResponseInterface::class); + $response->method('toArray')->willReturn([ + 'records' => [[ + 'fields' => [ + 'numero_rna' => 'W022006988', + 'objet' => 'promotion du cosplay', + 'association_type_libelle' => 'Associations loi du 1er juillet 1901', + ], + ]], + ]); + + $httpClient = $this->createMock(HttpClientInterface::class); + $httpClient->method('request')->willReturn($response); + + $cache = $this->createMock(CacheInterface::class); + $cache->method('get')->willReturnCallback(fn (string $key, callable $callback) => $callback($this->createMock(ItemInterface::class))); + + $service = new SiretService($httpClient, $cache, \dirname(__DIR__, 2)); + $data = $service->lookupRna('W022006988'); + + self::assertNotNull($data); + self::assertSame('W022006988', $data['numero_rna']); + self::assertSame('promotion du cosplay', $data['objet']); + } + + public function testLookupRnaReturnsNullWhenNotFound(): void + { + $response = $this->createMock(ResponseInterface::class); + $response->method('toArray')->willReturn(['records' => []]); + + $httpClient = $this->createMock(HttpClientInterface::class); + $httpClient->method('request')->willReturn($response); + + $cache = $this->createMock(CacheInterface::class); + $cache->method('get')->willReturnCallback(fn (string $key, callable $callback) => $callback($this->createMock(ItemInterface::class))); + + $service = new SiretService($httpClient, $cache, \dirname(__DIR__, 2)); + + self::assertNull($service->lookupRna('W000000000')); + } + + public function testClearCacheWithRna(): void + { + $httpClient = $this->createMock(HttpClientInterface::class); + $cache = $this->createMock(CacheInterface::class); + $cache->expects(self::exactly(2))->method('delete'); + + $service = new SiretService($httpClient, $cache, \dirname(__DIR__, 2)); + $service->clearCache('12345678901234', 'W022006988'); + } + + public function testGetNafLabelMissingFile(): void + { + $httpClient = $this->createMock(HttpClientInterface::class); + $cache = $this->createMock(CacheInterface::class); + $service = new SiretService($httpClient, $cache, '/nonexistent'); + + self::assertNull($service->getNafLabel('93.29Z')); + } +}