Agentic ETL Stack — Détail complet

État live vérifié le 11/09/2026 · dossier /root/agentic-etl-stack/ · git main
Sources /root/data-in/ (17 Go : INSEE, RPPS/CNAM, ETALAB, BAN, France Services) → etl_staging (brut, DROP+CREATE/cycle) → etl_dw (propre, UPSERT) → Metabase (BI)

1. Vue d'ensemble

ÉlémentValeur
RôleStack ETL analytique pour données publiques françaises
Code/root/agentic-etl-stack/ — 37 Mo, git main, 314 symboles indexés GitNexus
Données brutes/root/data-in/ — 17 Go
Base principaleanalytics — 24 GB sur PostgreSQL 16.13 (alpine)
Exposition100% loopback (127.0.0.1) — aucune exposition directe, tunnel Cloudflare uniquement

2. Conteneurs Docker

PostgreSQL
etl_postgres
postgres:16-alpine · 127.0.0.1:5432 · limit 1G
Metabase
etl_metabase
metabase:latest · 127.0.0.1:3001 → 3000 · limit 2G
ConteneurImagePortÉtatSantéRéseau
etl_postgrespostgres:16-alpine (PG 16.13)127.0.0.1:5432Up 7 jourshealthyetl_network 172.28.0.0/16
volume postgres_data 25.8 Go
etl_metabasemetabase/metabase:latest127.0.0.1:3001Up 7 jourshealthy

KNIME, Superset et pgAdmin supprimés le 15/05/2026 (−25 Go disque). shm_size: 256m sur PG (fix VACUUM ANALYZE).

3. Bases de données

BaseTailleRôle
analytics24 GBBase principale
metabase90 MBMétadonnées Metabase
superset_meta18 MBOrpheline reliquat Superset
youtube_analyzer7.7 MBOrpheline projet tiers non lié

Roles

RoleSuperuserLoginPermissions
etl_admin✅✅Owner schéma
agent_reader—✅SELECT sur etl.*
agent_writer—✅CRUD sur etl.*
hermes_guides—✅—
aglaee_reader—✅Lecture

4. Schémas et données

SchémaTablesTailleRôle
etl3323 GBSources + tables historiques
etl_dw6 + 1 matview545 MBDatawarehouse
etl_staging219 MBStaging brut
etl_dw_dbt_test__audit12104 kBRésultats tests dbt

Top tables etl (état live)

TableLignesTailleSource
stock_etablissement38 207 21710 GBINSEE SIRENE
adresses_france26 045 7975.9 GBBAN
stock_unite_legale25 625 4625.1 GBINSEE SIRENE
annuaire_personne_activite2 186 532871 MBRPPS
ps_tarifs2 341 615412 MBCNAM
annuaire_diplomes2 152 887346 MBRPPS
ps_infospratiques1 486 726233 MBCNAM
annuaire_porteurs_cps1 009 350186 MBRPPS
france_services164 70661 MBCSV France Services
+ ~25 tables (FINESS, ETALAB, nomenclatures INSEE, PSA…)étb_tarifs, base_remboursement, communes, insee_regions/départements/communes…

Datawarehouse etl_dw

ObjetLignesType
pros_sante1 829 941table
int_pros_sante_dedup1 829 902table intermédiaire
unites_legales / int_unites_legales_cibles—tables
communes_ref / int_communes_ref34 935tables
france_services_enriched—matview (croisement FS × SIRENE × communes)

Vues : vue_pros_secteurs, agent_stats (etl) · stg_* (etl_dw) · 2 matviews totales dont france_services_map.

5. Pipeline ETL

ÉtapeScriptRôle
Chargementload_annuaire_sante_v2.py, load_adresses_france.py, load_open_data_p1/p2.py, load_referentiels.py, reload_mssante.pyChargement des sources
Stagingscripts/staging/load_*_staging.pyBrut → etl_staging (DROP + CREATE)
Transformationscripts/transform/build_dw.pyStaging → etl_dw + France Services enrichi
Module communscripts/lib/db.pypg(), copy_stdin(), query_one()
dbt (prototype)dbt/ — models staging / intermediate / marts, 12 tests OKAlternative à build_dw.py (manifest complet)

6. BI — Metabase

Dashboard actifs
5
Cartes
154
IDDashboardCartes
1SIRENE — Unités légales + Établissements18
3Annuaire Santé10
4Open Data Santé10
6Analyse France Services10
7Nomenclatures10

Setup auto (MB_EMAIL/MB_PASSWORD dans .env), locale fr, heap fixe 768M–1G, métadonnées sur PostgreSQL (pas H2).

7. Dashboard workflows (hors repo)

ÉlémentValeur
Service systemdhermes-workflows — actif
Code/root/projects/sirene/viz/serve_workflows.py
Port127.0.0.1:8080
URL publiqueworkflows.hermes.stelio-ia.fr (tunnel CF)

8. Automatisation (crons Hermes — 13 jobs)

CronFréquenceRôle
agentic-etl-maintenance3h00Housekeeping : rotation backups + index inutilisés + tables orphelines (log quotidien)
build-loop-metrics-to-db2hMétriques build-loop → PostgreSQL
+ 11 autres jobs Hermes (backup-github-hourly, healthcheck, auto-heal, system-monitoring…)

9. Sécurité

10. Points d'attention

⚠️ Détectés le 11/09/2026