CIIFragments Studio est agréée CII : récupérez jusqu'à 20 % de vos dépenses en développement logicielEn savoir plus

Intégration API Metabase

Nous développons votre connecteur Metabase

Nous embarquons Metabase dans votre produit : le client lit ses commandes dans le portail, l'analyste garde le même login, les chiffres restent filtrés par la session.

  • Équipe produit senior
  • embedding Metabase en production
  • du cadrage au monitoring
En bref

À quoi sert l'API Metabase et pourquoi l'intégrer dans votre plateforme ?

Metabase est un outil de business intelligence qui laisse les équipes créer des dashboards sans SQL. Son embedding et son API permettent d'afficher ces rapports dans votre application, filtrés par client ou par périmètre. On l'intègre pour que tout cela vive dans votre produit : portail client avec « mes commandes » sans ouvrir Metabase, back-office interne en SSO sans second login, assistant question-réponse sur les ventes du compte, export mensuel déclenché depuis le produit. Les chiffres restent dans le même SI ; Metabase n'est plus un outil à part ni un CSV du lundi.

Cas d'usage

Ce que Metabase change dans votre plateforme

01

Dashboard client dans le portail

Mes commandes, mon encours : le client lit ses chiffres dans votre produit. Le filtre vient de sa session, pas d'un outil à part.

02

BI interne sans second login

L'analyste garde les mêmes groupes que votre annuaire, dans le back-office que vous contrôlez. Un seul login.

03

Assistant Q&R sur les ventes du compte

L'assistant répond avec les droits de l'utilisateur connecté. Pas de SQL libre, pas de clé admin dans le chatbot.

04

Export mensuel lancé depuis le produit

La card part en PDF via un compte de service. Le reporting reste dans le parcours métier, pas dans une boîte mail.

Pour vous

Ce que ça change dans votre produit

La technique au service d'un résultat mesurable : chiffres dans le portail, même SI, chaque compte voit ses lignes.

Le client ne bascule plus vers un outil BI

Le dashboard vit à côté du dossier. Plus de CSV du lundi ni de second login Metabase.

L'analyste reste dans votre back-office

Connexion unique, mêmes groupes. La BI s'ouvre dans le parcours que vous contrôlez.

Chaque compte ne voit que ses lignes

Le filtre client vient de la session, pas d'un paramètre manipulable dans l'URL. La confidentialité tient.

La BI peut rester chez vous

Hébergement maîtrisé, signatures côté serveur. Vous gardez la main sur les chiffres, sans exposer Metabase sur Internet.

Méthode

Comment nous livrons votre connecteur Metabase

01

Cadrage

Où Metabase entre dans votre produit : portail client, back-office, assistant, export. Static ou modular/SSO, cloud ou self-host. Un mode par cas.

02

JWT

Contrat d'embed aligné sur vos sessions : locked params = IDs de session, secret côté serveur, mapping groupes SSO.

03

Développement

Connecteur branché sur le portail et le back-office. Signature serveur, refresh Agent API (iat < 180 s), jamais le secret en front.

04

Monitoring

Rotation du secret d'embedding jouée en staging. Self-host : réseau privé, SSO, sauvegardes. Metabase n'est pas nu sur Internet.

L'API

Ce que l'API apporte à votre plateforme

Embarquer le dashboard dans le portail
Static embedding JWT, locked params issus de la session. Le client voit ses lignes, pas Metabase.
Ouvrir la BI dans le back-office
Modular / SSO : vraies permissions, mêmes groupes que l'IdP. Pas de second login.
Brancher l'assistant sur le compte
Agent API avec les droits de l'utilisateur. JWT iat < 180 s, refresh, pas de clé admin.
Automatiser l'export depuis le produit
REST /api/* via compte de service : cards, dashboards, PDF. Le reporting part du parcours métier.
Vocabulaire

Le vocabulaire de l'API Metabase

Locked parameters
Valeurs figées dans le JWT static, typiquement un id_client. Issus de la session applicative, jamais d'un query string. Sans eux, le static n'isole pas les lignes.
Secret d'embedding
Un secret pour tous les embeds statiques. Le vol ouvre tous les dashboards. Rotation = tous les backends. Jamais en front.
iat < 180 s
Sur l'Agent API, le JWT doit avoir un iat de moins de 180 secondes. Un jeton de session d'une heure est rejeté. Endpoint de refresh obligatoire.
Static vs SSO
Static : locked params, pas de row-level security, pas de drill-through. SSO / modular : vraies permissions, groupes IdP. Deux produits, deux devis.
X-Metabase-Session
Cookie de session après POST /api/session. Compte de service, pas l'analyste. La clé d'API, elle, porte les permissions du groupe de la clé, partagées par tous les appelants.
Self-host
Versions, migrations, Postgres interne Metabase. Ce n'est pas une API cloud. Réseau privé, SSO, sauvegardes. Metabase n'est pas exposé nu sur Internet.
À savoir

Les contraintes réelles de l'API Metabase

01

Static n'est pas du row-level security

Locked params vs permissions SSO. Promettre « chaque client ne voit que ses lignes » en static sans locked param est une faille. Le drill-through en static est impossible.

02

Un secret d'embedding pour tout

Le vol ouvre tous les dashboards embarqués. La rotation touche tous les backends qui signent du static. Nous la jouons en staging avant la prod, pas sur un portail live.

03

JWT Agent API : 180 secondes

Un JWT de session d'une heure est rejeté. Sans endpoint de refresh, l'assistant tombe en cours de conversation. Ce n'est pas optionnel.

04

apiKey en modular prod = non

La doc l'interdit. Une démo avec apiKey ne se shippe pas. Self-host : c'est de l'exploitation (versions, Postgres, réseau), pas seulement une API.

Quel embed

Embedding static ou SSO / modular ?

Deux façons d'embarquer Metabase dans votre plateforme. Le bon dépend de qui regarde et de ce qu'il a le droit de voir.

CritèreStaticGuest JWTSSO / modularVraies permissions
Isolation des lignesLocked params seulementRow-level, groupes IdP
Drill-throughImpossibleSelon l'embed full / SDK
SecretUn secret pour tous les staticJWT SSO, pas ce secret
Clé d'APIHors sujetInterdite en modular prod
Session utilisateurNon, guestOui
Mise en servicePlus courteIdP, groupes, SDK
Le bon casKPI public filtrablePortail authentifié

Nous choisissons un mode par cas et le documentons. Mélanger static et SSO dans le même écran, c'est le plus sûr moyen d'une faille de filtre. Le secret ne quitte jamais le serveur.

Notre expertise

Ce que nous mesurons sur une intégration Metabase

15 j
premier dashboard portail en production
180 s
iat Agent API, refresh posé
0
secret d'embedding exposé au front
4
développeurs seniors sur le projet

On combine Metabase avec

La stack autour de Metabase quand on l'embarque dans un portail ou un back-office.

  • PostgreSQL
  • Slack
  • n8n
  • Node.js
  • HubSpot
FAQ

Metabase : vos questions

On la branche sur vos touchpoints produit : dashboard dans le portail client, BI dans le back-office, assistant sur le compte, export depuis le parcours. Techniquement : un mode d'embed par cas (static avec locked params, ou modular/SSO), JWT signés serveur depuis la session, Agent API avec iat < 180 s et refresh. Self-host : réseau privé, SSO, sauvegardes. La partie sensible n'est pas l'iframe, c'est le parcours produit, le secret d'embedding et les locked params.

Static : paramètres locked dans le JWT (id_client de la session), secret d'embedding uniquement serveur. Sans locked param, le static n'isole pas les lignes. SSO / modular : vraies permissions, groupes IdP, jamais d'apiKey en production. Ne pas promettre de drill-through en static (doc officielle). Un secret d'embedding volé ouvre tous les dashboards static : rotation jouée en staging. C'est le test d'un intégrateur BI, pas un réglage cosmétique.

La doc impose un iat de moins de 180 secondes. Un JWT « de session » d'une heure est rejeté. Sans endpoint de refresh, l'assistant tombe en cours de conversation. Ce n'est pas le même jeton que l'embedding static. Nous posons le refresh dès le prototype, et nous ne mettons jamais une clé d'API « admin » dans un chatbot utilisateur : les permissions sont celles du groupe de la clé, partagées par tous les appelants.

Oui, et c'est souvent l'argument. La BI reste dans le VPC, le logiciel métier signe des JWT. Ce n'est pas « une API cloud » : versions, migrations, Postgres interne, SSO, sauvegardes, Metabase non exposé nu sur Internet. Looker ou Power BI embarqué n'offrent pas le même rapport souveraineté / prix. Le devis d'intégration inclut l'exploitation si le self-host est dans le périmètre, sinon le cloud Metabase, sans inventer de quota horaire non publié.

Un premier flux utile, typiquement un dashboard static filtrable par client_id dans votre portail, se livre en deux à trois semaines. Une chaîne complète avec SSO / modular, Agent API et self-host demande plutôt six à huit semaines. La durée dépend surtout des touchpoints à brancher, du mode d'embed et de l'IdP. Nous cadrons le périmètre en amont et donnons une estimation ferme avant de commencer.

Un projet d'intégration Metabase ?

Parlons-en. 30 minutes pour cadrer où Metabase entre dans votre plateforme (portail, back-office, assistant) et ce que locked params tiennent.

Parler de mon projet Metabase
Parler de mon projet Metabase