Le bouton Statistiques
Chaque site d’eodia analytics porte un bouton Statistiques. Il ouvre un tableau de bord d’eodia insights qui ne montre que ce site — même à quelqu’un qui écrirait du SQL libre dans insights. Le mécanisme est l’intégration signée qu’insights sait déjà vérifier : analytics signe un jeton, insights applique une règle de ligne. Aucune ligne de code dans insights.
Dans eodia insights, une fois
Section intitulée « Dans eodia insights, une fois »1. Un groupe
Section intitulée « 1. Un groupe »Créez un groupe, « eodia analytics », avec l’accès en lecture à la source PostgreSQL d’analytics.
2. Une règle de ligne sur chaque vue
Section intitulée « 2. Une règle de ligne sur chaque vue »Pour ce groupe, sur chaque vue du schéma analytics, une règle de ligne :
site_id est égal à {{user.site_id}}Toutes les vues portent site_id, y compris celles générées (evt_*, cls_*) : ajoutez la
règle aux nouvelles vues quand elles apparaissent. Un attribut absent ferme l’accès, comme
toujours dans insights : sans site_id, aucune ligne.
3. Un secret d’intégration
Section intitulée « 3. Un secret d’intégration »Administration › Réglages › Intégration signée : créez un secret lié à ce groupe. Notez son identifiant (le kid) et sa valeur, affichée une seule fois.
4. Des tableaux de bord
Section intitulée « 4. Des tableaux de bord »Construisez les tableaux de bord à ouvrir depuis analytics — audience, campagnes, commerce,
attribution —, avec un paramètre « site » (un filtre sur site_id). Notez l’identifiant de
chaque tableau de bord et celui de son paramètre.
Dans eodia analytics
Section intitulée « Dans eodia analytics »Les variables
Section intitulée « Les variables »INSIGHTS_URL=https://insights.exemple.frINSIGHTS_EMBED_KID=<l’identifiant du secret>INSIGHTS_EMBED_SECRET=<la valeur du secret># INSIGHTS_EMBED_TTL=240 # durée de validité du jeton, en minutesINSIGHTS_URL sert aussi au mode aperçu : c’est la seule origine que le script écoute pour
dessiner une carte de chaleur.
Les tableaux de bord
Section intitulée « Les tableaux de bord »Dans Administration › Réglages › Branchement à insights, déclarez chaque tableau de bord :
| Champ | Exemple |
|---|---|
| Identifiant insights | l’identifiant du tableau de bord |
| Libellé | « Audience », « Campagnes », « Commerce » |
| Paramètre « site » | l’identifiant du filtre à verrouiller sur le site |
Avec un tableau de bord, le bouton Statistiques l’ouvre ; avec plusieurs, il devient un menu.
Ce qui se passe au clic
Section intitulée « Ce qui se passe au clic »- analytics vérifie que la personne a accès au site ;
- il signe un JWT HS256, avec le
kiddans l’en-tête :
{ "resource": { "dashboard": "<identifiant insights>" }, "params": { "<paramètre site>": "<site_id>" }, "user": { "id": "analytics:<personne>", "attributes": { "site_id": "<site_id>" } }, "exp": 1791158400}- il journalise l’ouverture (
insights.open) et ouvreINSIGHTS_URL/embed?token=…dans un nouvel onglet.
insights vérifie la signature, lit les données avec les droits du groupe lié au secret, et
applique la règle de ligne avec l’attribut site_id du jeton. Le paramètre verrouillé est
caché : la personne ne peut pas changer de site.
La durée du jeton (4 heures par défaut) couvre la consultation : insights revérifie le jeton à chaque exécution d’une carte. Au-delà, un nouveau clic sur Statistiques en signe un autre.
Vérifier
Section intitulée « Vérifier »Administration › Réglages indique si INSIGHTS_URL et INSIGHTS_EMBED_KID sont présents,
et liste les tableaux de bord déclarés. Ouvrez Statistiques sur un site, puis, dans insights,
essayez d’en lire un autre : rien ne doit sortir.
eodia analytics est un logiciel libre d’Eodia.