etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
194 stars 30 forks source link

Déployer un outil d’exploration et de visualisation de données #3667

Closed vdegove closed 5 months ago

vdegove commented 10 months ago

Problème résolu (et ceux non résolus)

En tant que membre du PAN (bizdev ou développeur), j’ai besoin d’afficher (tableau, graphique ou carte) des données présentes dans la base de données PostgreSQL du PAN ou dans un des jeux de données aggrégés, afin de suivre mon travail et le piloter, sans devoir remouliner à la main des données exportées ou faire appel à un développement pour chaque indicateur.

En tant bizdvev, je veux me familiariser avec la base de données du PAN et explorer les données afin de mieux connaître le produit et nos données, afin de nourrir la réflexion produit.

En tant que bizdev ou dev, je veux pouvoir répondre plus facilement à une question inattendue sur les données sans devoir faire appel à du dev afin de prendre une décision rapidement ou vérifier qu’il n’y a pas une incohérence sur un point actuellement travaillé. Les devs doivent cependant pouvoir voir à postériori l’analyse faite et la corriger si erreur d’interprétation ou de requêtage SQL.

Problèmes mis de côté

Nous n’adressons pas directement ce problème : en tant qu’utilisateur du PAN (non forcément interne à l’équipe), je veux avoir accès à un dashboard du PAN idéal et durable qui me montre les grandes métriques les plus pertinentes pour l’impact du PAN et leur progression dans le temps.

Ce problème fera l’objet d’une issue séparé, et ne sera pas traité avec le même outillage que l’approche exploratoire. Il ne s’agit pas des mêmes enjeux : par exemple, les indicateurs métiers pertinents ne sont pas tous affichables avec la base de donnée actuelle, et nous n’avons pas toutes les séries temporelles demandées actuellement. Certaines solutions exploratoires peuvent casser lors d’un changement du schéma et il faut que les dashboards «durcis» soient testés afin d’éviter cela. L’approche exploratoire va en revanche nourrir ce travail de dashboard «durci».

Contraintes

Tâches

vdegove commented 10 months ago

Si on part sur Metabase (car c’est ce qui se dessine à 95% de chances, sauf si @thbar nous trouve un autre outil d’exploration qui coche toutes les cases, petite analyse par rapport aux contraintes :

D’autres limites à avoir en tête de Metabase :

vdegove commented 10 months ago

Pour tester Metabase en local.

Installer Docker Desktop en suivant les instructions ici : https://docs.docker.com/desktop/.

Pour Fedora : https://docs.docker.com/desktop/install/fedora/

  1. sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
  2. Téléchargement du paquet ici https://desktop.docker.com/linux/main/amd64/docker-desktop-4.26.1-x86_64.rpm?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64
  3. sudo dnf install ~/Téléchargements/docker-desktop-4.26.1-x86_64.rpm

Ouvrir Docker Desktop, chercher Metabase (Ctrl+K), cliquer sur run.

Dans les paramètres faire correspondre le port 3000 de l’hôte au port 3000 de la machine virtuelle : cela permet d’accéder à travers le navigateur de l’ordinateur au serveur à travers l’adresse http://localhost:3000

Pasted image 20231219095827

Lancer la machine en cliquant sur Run.

Ouvrir L’adresse http://localhost:3000/setup puis suivre le process d’embarquement de Metabase. Pasted image 20231219100115

Utiliser comme adresse host.docker.internal pour accéder depuis le Metabase/Docker à une base de données tournant sur l’ordinateur hôte.

Pasted image 20231219100607

thbar commented 10 months ago

Concernant:

Réfléchir à comment avoir de la donnée fraiche en prod sans impacter la prod @thbar

Comme prévu et discuté avec @vdegove, j'ai contacté CleverCloud pour voir ce qu'ils proposent là dessus et si c'est suffisant en terme de services et de garanties.

thbar commented 10 months ago

J'ai ajouté un lien vers #3691 dans les todos, et j'ai continué mes recherches là dessus.

thbar commented 9 months ago

La réplique read-only est en place. On va voir comment s'en servir déjà avec une instance metabase locale.

thbar commented 7 months ago

Metabase est déployé et configuré, voir https://github.com/etalab/transport-metabase.

thbar commented 7 months ago

Il reste des actions.

thbar commented 5 months ago

Je referme pour le moment, on ré-ouvrira quand la suite se présentera de façon plus impérieuse.