MetricFlow
Un dashboard analytics qui regroupe les métriques réseaux sociaux, les retours Formbricks et les observations d'équipe au même endroit. Self-hosted, sans dépendance à un SaaS qui peut changer de prix du jour au lendemain.
Un outil que j'ai construit pour moi avant de le construire pour les autres : une seule page qui dit ce qu'il s'est passé sur une présence en ligne depuis la semaine dernière. Les chiffres des réseaux sociaux, les réponses aux formulaires, les notes prises à la main quand on observe quelque chose. Tout au même endroit, tout à jour, sans avoir à ouvrir cinq onglets le lundi matin.
Le problème : la donnée est partout, et nulle part
Si tu pilotes une marque, une asso, ou juste ta propre visibilité, tu connais la situation. YouTube a son interface. Instagram la sienne. Facebook une autre encore, et ce n'est pas la même. TikTok évidemment. Formbricks si tu récoltes du feedback. Et au milieu, toi, qui essaies de répondre à une question simple : est-ce que ce que je fais marche ?
Personne n'a le temps de faire la tournée de cinq tableaux de bord chaque semaine pour reconstituer une vue d'ensemble à la main. Je ne cherchais pas un outil de plus. Je cherchais un endroit qui rassemble ce qui existe déjà et le rende lisible.
La première décision : où vit la complexité
Le réflexe classique, c'est de brancher chaque API directement dans le front. Une fonction pour YouTube, une pour Instagram, une pour TikTok. Ça marche le premier mois. Puis une plateforme change son API, et il faut retoucher le front, le retester, le redéployer. Multiplie par le nombre de sources et tu passes ton temps à réparer de la plomberie.
Cette séparation, c'est le cœur de l'outil. Les workflows n8n vont chercher les données chez chaque plateforme, les normalisent dans un format commun, et les poussent dans Directus. Le front n'a plus qu'à afficher une source propre et unique. Le jour où j'ajoute une plateforme, je n'ouvre pas le code du site, j'ajoute un workflow.
La deuxième décision : à qui appartient la donnée
Il existe des dizaines de SaaS qui font de l'agrégation analytics. Beaucoup sont très bien. Tous ont le même défaut : tes données vivent chez eux, et le jour où ils changent de tarif, ferment une fonctionnalité ou disparaissent, tu n'as pas le choix.
C'est le même principe que je défends sur tous mes projets, appliqué à mon propre outil. Posséder ce qui fait tourner les choses, ce n'est pas une posture, c'est ce qui fait qu'un produit tient dans le temps.
Ce que tout ne mesure pas
Une dernière chose, et elle compte autant que le reste. Tout ne se chiffre pas. Un post qui ne fait pas de vues mais qui a déclenché trois messages privés intéressants, ça ne rentre dans aucune métrique d'API. MetricFlow laisse une place pour ça : on peut ajouter à la main une observation ou une recommandation, au milieu des chiffres. Parce qu'un tableau de bord qui ne montre que ce qui se mesure automatiquement raconte une histoire incomplète.
Réalisations techniques :
- Agrégation des métriques YouTube, Instagram, Facebook et TikTok via les APIs officielles
- Récupération des réponses de formulaires depuis Formbricks
- Workflows ETL n8n pour la collecte, la normalisation et la mise à jour automatique
- Saisie manuelle d'observations à côté des données chiffrées
- Visualisation Chart.js, le tout en self-hosted sur Hetzner via Coolify
Où c'est
L'outil tourne en ligne sur metricflow.fr. Le code n'est pas public, mais l'application l'est. Si tu veux voir la démo ou discuter de l'architecture derrière, le bouton est juste en bas de cette page.
Architecture
La stack, expliquée.
Nuxt 3
Front qui affiche les données, sans connaître les APIs externes
Directus
Backend et API REST, source unique pour le front
PostgreSQL
Stockage des métriques agrégées et des observations
n8n
Workflows ETL qui vont chercher et normalisent les données
Chart.js
Visualisation des séries, sans réinventer la dataviz