Aller au contenu

La source PostgreSQL

eodia insights lit les données d’eodia analytics comme n’importe quelle base : par une source PostgreSQL, avec un rôle en lecture seule qui ne voit que le schéma analytics. Aucune ligne de code dans insights : ses écrans, son éditeur SQL et son assistant IA trouvent les vues, avec leurs libellés et leurs descriptions.

Les migrations d’eodia analytics créent un rôle eodia_analytics :

  • USAGE sur le schéma analytics et SELECT sur ses vues, y compris celles générées plus tard (evt_*, cls_*) ;
  • rien sur public (le paramétrage) ni sur collect (les données brutes) : les droits y sont retirés explicitement.

Il ne peut se connecter que si READER_PASSWORD est renseigné : au démarrage, l’API lui donne ce mot de passe ; sans lui, le rôle reste NOLOGIN. En développement, le mot de passe est eodia-analytics.

Administration › Réglages › Rôle de lecture dit si le rôle existe, s’il peut se connecter, combien de vues compte analytics, et donne la chaîne de connexion à coller dans insights (sans le mot de passe).

Dans eodia insights, Sources de données › Nouvelle source › PostgreSQL :

ChampValeur
Hôte, portl’adresse de la base d’analytics (localhost:55436 en développement)
Baseanalytics
Utilisateureodia_analytics
Mot de passela valeur de READER_PASSWORD
Schémas excluspublic, collect (option excluded_schemas de la source)

Puis synchronisez le schéma. L’écran Structure montre les vues d’analytics, avec les libellés et descriptions venus des commentaires SQL.

Tout ce que vous décrivez dans eodia analytics arrive dans insights par les commentaires de PostgreSQL (COMMENT ON VIEW, COMMENT ON COLUMN), que la synchronisation d’insights lit déjà :

  • chaque vue et chaque colonne fixe a son commentaire, en français ;
  • un événement déclaré devient une vue evt_<nom> dont chaque colonne porte le libellé et la description de la propriété ;
  • une classification devient une vue cls_<nom> dont le commentaire dit la jointure à faire.
COMMENT ON COLUMN analytics.evt_newsletter_signup.placement IS
'Emplacement — Où se trouvait le formulaire : footer, popup, article. (propriété placement, texte).';

L’assistant d’insights les a dans son contexte : à « quel emplacement du formulaire d’inscription convertit le mieux ? », il trouve la vue, la colonne et ce qu’elle veut dire.

insights (son moteur, Trino) doit joindre la base d’analytics :

  • sur le même hôte, un réseau Docker commun entre les deux piles suffit ;
  • sur deux hôtes, publiez le port de PostgreSQL en le restreignant à l’adresse d’insights (pg_hba.conf, pare-feu) et activez TLS.

Le rôle eodia_analytics ne lit que des vues : même joignable, il ne voit ni les personnes, ni les secrets, ni les données brutes.

Pour ouvrir les tableaux de bord d’insights depuis chaque site, verrouillés sur lui : voir le bouton Statistiques.

eodia analytics est un logiciel libre d’Eodia.