Aller au contenu principal
Logo GiwiSoft
Umami : une alternative à Google Analytics légère et respectueuse, déployée sur mon Raspberry Pi

Umami : une alternative à Google Analytics légère et respectueuse, déployée sur mon Raspberry Pi

Xavier MARIN Xavier MARIN Web, DevOps 4 min

Vous en avez assez des bannières de consentement, du fingerprinting intempestif et des serveurs qui partent aux quatre coins du monde avant de revenir avec vos stats ? Je vous présente Umami, une solution d’analytics open source, légère, auto-hébergeable, et surtout — respectueuse de la vie privée de vos visiteurs.

J’ai déployé la mienne sur un Raspberry Pi 3 avec Docker et PostgreSQL. Résultat : un dashboard propre, des données précises, et zero fuite de données chez les GAFAM.

Pourquoi Umami ?

Google Analytics est partout, mais il pose un problème éthique et technique : il traque vos utilisateurs via des cookies tiers, transmet leurs données à des serveurs américains, et alourdit vos pages avec des centaines de kilo-octets de JavaScript.

Umami, c’est l’inverse :

  • Pas de cookies. Aucune bannière de consentement nécessaire.
  • Pas de collecte de données personnelles. Aucun identifiant unique permanent n’est stocké.
  • Script léger : moins de 4 Ko minifié, contre ~200 Ko pour GA.
  • Open source (MIT) : vous auditez le code vous-même.
  • Auto-hébergé : les données ne quittent jamais votre infrastructure.

C’est particulièrement utile pour un blog, un site vitrine ou un SaaS européen qui doit respecter le RGPD sans passer par un avocat.

Déploiement Docker sur Raspberry Pi

Umami tourne parfaitement sur un Raspberry Pi 3 (ARM64). Voici mon docker-compose.yml :

version: "3.7"
services:
umami:
image: docker.umami.is/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: "changez-moi-par-une-chaine-aleatoire-64-caracteres"
depends_on:
- db
restart: unless-stopped

db:
image: postgres:16-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- umami-db:/var/lib/postgresql/data
restart: unless-stopped

volumes:
umami-db:

Un simple docker compose up -d et le tour est joué. Le serveur écoute sur le port 3000. Je le reverse-proxifie derrière Nginx avec un Let’s Encrypt pour le rendre accessible sur stats.mondomaine.fr.

Note ARM64 : l’image officielle docker.umami.is/umami-software/umami:postgresql-latest supporte nativement ARM64. Si vous partez de la source, utilisez pnpm build --linux-arm64 et c’est plié.

Configuration du tracker

Umami vous fournit un snippet à insérer dans le <head> de vos pages. Exemple minimal :

<script
defer
src="https://stats.mondomaine.fr/umami.js"
data-website-id="votre-uuid-ici"
></script>

Décomposons :

  • defer : le script est chargé de manière asynchrone, il ne bloque pas le rendu.
  • src : pointe vers votre instance Umami (le script est généré dynamiquement).
  • data-website-id : l’UUID de votre site, créé dans le dashboard.

Ce snippet pèse une poignée de kilo-octets et ne dépose aucun cookie.

Configuration avancée du script

Umami expose plusieurs attributs data-* pour affiner le comportement :

<script
defer
src="https://stats.mondomaine.fr/umami.js"
data-website-id="votre-uuid-ici"
data-domains="mondomaine.fr,www.mondomaine.fr"
data-do-not-track="true"
data-exclude-search="true"
data-performance="true"
></script>
  • data-domains : limite le tracking aux domaines listés. Pratique pour filtrer le trafic de vos environnements de développement ou de staging.
  • data-do-not-track : respecte le header DNT du navigateur.
  • data-exclude-search : ignore les paramètres d’URL (UTM, ?source=…) dans les pages vues.
  • data-performance : active la collecte automatique des Core Web Vitals (LCP, FID, CLS).

Suivi d’événements custom

Au-delà des pages vues, Umami permet de tracker des événements personnalisés via une API JavaScript :

<button onclick="umami.track('telecharger-pdf', { nom: 'guide-umami.pdf' })">
Télécharger le guide
</button>

Ou programmatiquement :

umami.track('inscription-newsletter', {
source: 'article-blog',
categorie: 'tech',
});

Les événements remontent instantanément dans le dashboard, sans rechargement de page.

Pourquoi j’ai quitté Google Analytics (et vous devriez aussi)

CritèreGoogle AnalyticsUmami
CookiesObligatoiresAucun
Consentement RGPDBannière requiseAucun
HébergementServeurs GoogleVotre serveur
Taille du script~200 Ko~4 Ko
Données personnellesOui (adresse IP…)Anonymisées par défaut
PrixGratuit jusqu’à 10M requêtes/moisGratuit (auto-hébergé)
Open SourceNonOui (MIT)

Avec Umami, je respecte mes visiteurs sans sacrifier la qualité des données. Je vois exactement les pages consultées, les durées de session, les referrers et même les clics sur des liens sortants, le tout sans compromettre leur vie privée. C’est un cas d’école pour quiconque conçoit des applications web en 2026.

Conclusion

Umami c’est léger, déployable en une ligne de Docker, fiable, et suffisamment riche pour remplacer Google Analytics dans la majorité des cas.

Si vous voulez reprendre le contrôle de vos données et offrir une expérience sans cookie à vos utilisateurs, installez Umami ce weekend. Votre Raspberry Pi n’attend que ça.