Aller au contenu

Metabase

Version 0.63.13 — édition open source.

Configuration

Métadonnées dans PostgreSQL et non dans le H2 embarqué : ce dernier n'est pas durable et interdit toute sauvegarde propre.

Connexion à l'entrepôt avec metabase_reader, en lecture seule, limitée au schéma gold. Metabase ne peut rien modifier et ne voit que le modèle en étoile — ni les données brutes, ni les vues intermédiaires.

Hôte de la source de données

Saisir postgres, pas localhost : depuis le conteneur Metabase, localhost désigne Metabase lui-même.

Provisionnement scripté

scripts/metabase_provision.py recrée l'intégralité des objets, de façon idempotente. Il enchaîne :

  1. synchronisation du schéma ;
  2. déclaration des clés étrangères dans les métadonnées ;
  3. application des types sémantiques (région cartographiable, montants en euros) ;
  4. création de 17 questions ;
  5. assemblage de 3 tableaux de bord avec leurs filtres.

L'étape 2 est déterminante : dbt crée des tables sans contraintes, PostgreSQL ne connaît donc aucune relation. Sans elle, impossible de croiser un chiffre d'affaires avec un segment client sans écrire une jointure à la main.

Les questions sont écrites en requêtes structurées (MBQL) et non en SQL brut, ce qui préserve le drill-through — cliquer sur une barre pour descendre dans le détail. Une question en SQL brut est un cul-de-sac pour l'utilisateur métier.

export METABASE_API_KEY=mb_xxx
python3 scripts/metabase_provision.py

Warning

Le script écrase les modifications manuelles portant sur les objets qu'il gère.

Tableaux de bord

Tableau de bord Tuiles Source
Performance commerciale 10 synthétique
Abonnements et support 4 synthétique
Énergie régionale 3 ODRÉ, réel

Publiés par liens publics — permanents et non filtrables. Voir Exposition et sécurité.

Messagerie

SMTP OVH configuré par scripts/metabase_smtp.py. Active les abonnements de tableaux de bord, les alertes sur seuil et les invitations d'utilisateurs.

Warning

PUT /api/email n'accepte que les paramètres smtp-*. L'adresse d'expéditeur doit être posée séparément via PUT /api/setting/…, sinon les messages partent sans expéditeur déclaré.

Accès

http://localhost:3000 par tunnel uniquement.