Skip to main content

Connecteur Open Data France — SIRENE, INPI, BAN, Bodacc, geo et recherche entreprises pour enrichir clients et surveiller portefeuille

Project description

piilot-pack-fr-opendata

Plugin Piilot qui agrège 6 APIs gouvernementales françaises pour enrichir vos fiches clients, normaliser les adresses, et surveiller les annonces juridiques de votre portefeuille.

Package Registry Version
piilot-pack-fropendata PyPI 0.1.0
piilot-pack-fropendata-ui npm 0.1.0

APIs couvertes

API Auth Quota Use case
Recherche entreprises (DINUM) 7 req/s Lookup rapide nom / SIREN / SIRET / dirigeant
SIRENE V3 (INSEE) 🔑 OAuth2 BYOK 30 req/min Source de vérité légale, NAF, état admin
BAN (Base Adresse Nationale) 50 req/s Géocodage + normalisation adresses
geo.api.gouv.fr ~10 req/s Communes, départements, régions par code INSEE
Bodacc OK Annonces juridiques (procédures, ventes, modifs)
INPI DNE 🔑 Basic BYOK OK Comptes annuels, mandataires sociaux

Surface v0.1

  • 2 connectors BYOKfropendata.sirene (consumer_key + consumer_secret INSEE), fropendata.inpi (username + password)
  • 18 agent tools tous wrappés bind_session — 10 no-auth + 5 BYOK + 3 composés (enrich_company, validate_address, record_bodacc_alert)
  • 3 agent templates prêts à l'emploi :
    • fropendata-enricheur — single-SIRET → fiche enrichie via send_table
    • fropendata-veille-portefeuille — surveillance Bodacc du portefeuille SIREN, écrit alertes dans la KB plugin
    • fropendata-onboarding-cabinet — enrichissement batch depuis liste SIRETs
  • 1 module Settings + ModuleView React 4 onglets (APIs / Auth / Cache / Métriques)
  • 3 routes HTTP sous /plugins/fropendata/* (settings/health, connections/test, connections/{id} PATCH)
  • 1 KB plugin-owned "Veille juridique — Annonces Bodacc" lazy-seedée à la 1re alerte
  • Stateless DB-side — pas de schéma plugin, pas de migration plugin

Installation

Sur une instance Piilot existante (admin)

Le plugin est intégré au core depuis AICockpit PR #180. Pour activer pour une company :

curl -X PUT "https://<your-piilot>/admin/plugins/fropendata/activations/<company_id>" \
  -H "Authorization: Bearer $TOKEN"

Puis dans l'UI :

  1. Ouvrir Settings → Open Data France (le ModuleView 4 onglets)
  2. Onglet Auth → cliquer le lien d'aide pour créer vos comptes développeur :
  3. Saisir les credentials via la page Settings → Connecteurs du host (la Save passe par là, pas par ce ModuleView)
  4. Revenir dans le ModuleView, cliquer Tester la connexion par connecteur

Les 4 APIs sans auth (recherche, BAN, geo, Bodacc) marchent dès l'activation, sans aucune config.

Standalone (dev / test isolé)

pip install piilot-pack-fropendata==0.1.0
npm install piilot-pack-fropendata-ui@0.1.0

Le plugin se déclare via le [project.entry-points."piilot.plugins"] du pyproject.toml ; le loader Piilot le découvre au boot.


Décisions architecturales (cf. CHANGELOG)

  • BYOK full — chaque cabinet crée ses propres comptes INSEE + INPI (pas de pool centralisé Piilot)
  • 2 connectors distincts — pattern aligné sur piilot-pack-supabase
  • Stateless DB-side — la seule KB plugin-owned (Veille Bodacc) vit dans kbs.* natif PG, lazy-seedée façon piilot-pack-compta
  • Pas de scheduler v0.1 — SDK scheduler bloqué côté core, veille = invocation manuelle d'agent ou trigger N8N externe
  • Pas de write KB générique — le core n'expose pas kb_insert_row aux agents. enricheur et onboarding-cabinet restituent via send_table (l'utilisateur recopie dans son CRM/KB cible). Seule la veille a son propre record_bodacc_alert custom.

Stack technique

  • Backend : Python 3.12+ · piilot-sdk>=0.7.0,<1.0.0 · httpx/async · LangChain StructuredTool + bind_session
  • Frontend : React 19 · TypeScript strict · react-i18next · Tailwind classes brutes (pas d'imports @plugin-host/* hors le type API)
  • Tests : pytest 78 unit tests à 71% coverage (clients HTTP 85-96%, helpers 84%, routes 89%, infra 100%)
  • CI : ruff + black + pytest sur Python 3.12 / SDK 0.7.0

Roadmap potentielle v0.2+

  • Tool plugin fropendata.upsert_company_row(kb_name, ...) générique pour permettre aux agents enricheur + onboarding-cabinet d'écrire directement dans une KB cible (déclenche dogfood-driven)
  • TTL overrides cache par company depuis connection.config["cache_ttl_overrides"]
  • KB référentielle staff kbs_reference.fropendata_naf_rev2 (~750 codes NAF) — bloqué tant que le SDK n'expose pas formellement kbs_reference.* aux plugins
  • Scheduled veille Bodacc native (bloqué par SDK scheduler)
  • KB plugin-owned dirigeant_societe enfant via kb_ref (multi-mandataires INPI)
  • DECP marchés publics (synergie verticale ESN)
  • KALI conventions collectives

Contribuer

Forks, issues et PRs bienvenus. Suivre les conventions du CLAUDE.md du repo.

License : Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

piilot_pack_fropendata-0.1.2.tar.gz (60.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

piilot_pack_fropendata-0.1.2-py3-none-any.whl (61.4 kB view details)

Uploaded Python 3

File details

Details for the file piilot_pack_fropendata-0.1.2.tar.gz.

File metadata

  • Download URL: piilot_pack_fropendata-0.1.2.tar.gz
  • Upload date:
  • Size: 60.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for piilot_pack_fropendata-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d02d98a7bf5ce73472410572c2366074b8cc23b5bd0c1af1f91f9da874eaea3b
MD5 f90081c60b948ca4576c1afdcfc98625
BLAKE2b-256 ef88f3ec8ef7ae75c7bbf8dacf4894384bf5adf263c2faaa8084a48796a6cdaf

See more details on using hashes here.

Provenance

The following attestation bundles were made for piilot_pack_fropendata-0.1.2.tar.gz:

Publisher: release.yml on Kinetics-Consulting-V2/piilot-pack-fr-opendata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piilot_pack_fropendata-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for piilot_pack_fropendata-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 517756dd9f71945a1bcaa78a8aabe46e07dcc6f2a031a1e194d87896e2918b77
MD5 1edbf61ea9036222b1aaf2c2adbe794c
BLAKE2b-256 22d2438d0d13d3b86d33adc5cc26517e174352534ec5be53f89e5bb88fce4397

See more details on using hashes here.

Provenance

The following attestation bundles were made for piilot_pack_fropendata-0.1.2-py3-none-any.whl:

Publisher: release.yml on Kinetics-Consulting-V2/piilot-pack-fr-opendata

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page