
Solution analytics auto-hébergée avec Plausible
Publié le
Déployer une instance de Plausible auto-hébergée pour analyser le trafic web. Une solution open-source, respectueuse de la vie privée, sans cookies ni bannière de consentement, idéale pour remplacer Google Analytics.
Fatigué de devoir implémenter des bannières de consentement sur chaque site et de dépendre de services qui exploitent les données personnelles de tes utilisateurs ? Tu n’es pas seul. Heureusement, il existe une alternative européenne, open-source et respectueuse de la vie privée : Plausible.
Dans cet article, nous allons découvrir cette solution et te montrer comment déployer une instance auto-hébergée, te permettant ainsi de garder le contrôle total sur tes données, sans cookie ni publicité intrusive.
Qu'est-ce que Plausible Analytics ?
Plausible est une solution d’analyse web open-source, européenne et respectueuse de la vie privée. Créée par une équipe indépendante et autofinancée, elle permet de suivre les performances d'un site de manière simple et claire, en se concentrant sur les métriques essentielles, sans collecter de données personnelles ni utiliser de cookies. Plausible est distribué sous la licence AGPL, garantissant un code libre et ouvert, permettant à chacun de l'utiliser, l'adapter et l'améliorer.
En complément, pour ceux qui préfèrent ne pas se soucier du déploiement et de la maintenance, Plausible propose une offre managée à partir de 9€ par mois : cette option permet de déléguer l’hébergement et la gestion technique, tout en préservant tous les avantages de la solution. C’est d’ailleurs ainsi qu’ils financent le développement sans jamais revendre ni exploiter de données.
Pourquoi remplacer Google Analytics par Plausible ?
Google Analytics est une véritable usine à gaz, opaque et parfois difficile à configurer.. Cependant, dans de nombreux cas, cette complexité n'est pas nécessaire, surtout si tu n'as besoin que de statistiques globales. Si le suivi des utilisateurs de manière individuelle n'est pas essentiel pour toi, Plausible sera une solution beaucoup plus adaptée.
De plus, Google Analytics repose essentiellement sur des cookies, ce qui rend la bannière de consentement indispensable. Aujourd'hui, les bannières de consentement sont omniprésentes sur le web, créant une véritable fatigue chez les utilisateurs. À l'inverse, Plausible ne faisant pas de suivi individuel des utilisateurs, il n'utilise donc pas de cookies, ce qui permet de se passer complètement de cette contrainte. Ainsi, tu peux offrir une expérience de navigation plus fluide, tout en respectant pleinement la vie privée des visiteurs, sans compromettre la conformité aux exigences réglementaires.
Enfin, bien que l’utilisation de Google Analytics ne soit pas illégale aujourd’hui, certains tribunaux et autorités de protection des données ont estimé que le transfert de données personnelles vers les États-Unis allait à l'encontre des principes du RGPD, laissant un flou juridique persister à ce sujet.
Comment déployer une instance Plausible auto-hébergée ?
Plongeons dans le grand bain et voyons comment déployer Plausible sur une machine Linux, en utilisant Docker et un reverse proxy Nginx. Pas de panique, c’est une procédure rapide et accessible à toute personne à l’aise avec la ligne de commande.
Pré-requis pour l'installation
Avant de démarrer, assure-toi d’avoir ces outils prêts à l'emploi :
- Git pour récupérer les sources de Plausible
- Docker et le plugin Docker Compose pour faire tourner l'ensemble
- Nginx (ou un autre reverse proxy) pour exposer l'instance sur internet
- Certbot pour générer un certificat SSL et sécuriser la connexion
Il te faudra également un domaine ou un sous-domaine dédié, qui pointe vers l'IP de ton serveur. Pour cela, rends-toi sur la console de gestion de tes noms de domaine afin d'ajouter une entrée DNS correspondante.
Installer et configurer Plausible Analytics
Pour cette installation, je fais le choix de placer Plausible dans le dossier /opt
Commençons par nous déplacer dans ce dossier :
cd /opt
Puis clonons le dépôt :
git clone -b v2.1.4 --single-branch https://github.com/plausible/community-edition plausible
A l'heure où j'écris ces lignes, la version courante est la 2.1.4, assure toi de prendre la dernière version.
Nous devons ensuite configurer les variables d'environnements :
BASE_URL
- Le domaine ou le sous-domaine avec lequel tu souhaites accéder à PlausibleSECRET_KEY_BASE
- Une chaîne de caractères aléatoire d'une longueur recommandé de 64 caractèresHTTP_PORT
- Un port disponible pour configurer le reverse proxy
Tu peux utiliser cette commande pour générer le
SECRET_KEY_BASE
:openssl rand -base64 48
Créons donc un fichier .env
en y plaçant par exemple ce contenu :
BASE_URL=https://analytics.domain.tld
SECRET_KEY_BASE=5vPGa4LzhkzkYRfX/OpHLvS5HMdkuSR7O3oDRKE9kLfnKU+yMcRhRJ8ZKnJFW3Ex
HTTP_PORT=8080
Mettre en place un reverse-proxy
La configuration Docker que nous propose Plausible n'exige pas l'usage d'un reverse proxy. Cependant, personnellement, je préfère que toutes mes applications soient distribuées publiquement par le même composant notamment pour centraliser la configuration.
Dans mon cas, Nginx va jouer ce rôle mais tu peux tout à fait utiliser Apache, Caddy ou tout autre serveur web en adaptant le configuration.
Pour mettre en place ce reverse proxy, commençons par personnaliser la configuration du Docker en créant un compose.override.yml
pour exposer localement le port du conteneur :
services:
plausible:
ports:
- 127.0.0.1:${HTTP_PORT}:${HTTP_PORT}
Nous pouvons ensuite démarrer les conteneurs avec la commande suivante :
docker compose up -d
Puis générons le certificat pour notre domaine :
certbot certonly -d analytics.domain.tld
Ajoutons ensuite la configuration Nginx suivante dans le fichier : /etc/nginx/conf.d/plausible.conf
server{
listen 443 ssl;
http2 on;
server_name analytics.domain.tld;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location = /live/websocket {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
ssl_certificate /etc/letsencrypt/live/analytics.domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/analytics.domain.tld/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
server{
listen 80;
server_name analytics.domain.tld;
return 301 https://analytics.domain.tld$request_uri;
}
Pense à adapter cette configuration en fonction des paramètres que tu as renseigné dans le fichier
.env
Vérifions la configuration :
nginx -t
Pour finir, si la configuration est correcte, redémarrons Nginx :
systemctl restart nginx
Et voilà, l'interface de Plausible est disponible sur le domaine choisi !
Commencer à mesurer le trafic
Lors du premier accès au dashboard de Plausible, tu vas devoir configurer un premier compte. Par la suite tu pourras ajouter des nouveaux comptes en choisissant à quel site ils ont accès.
Tu vas pouvoir maintenant configurer ton premier site : renseigne le domaine ainsi que le fuseau horaire.
Tu n'as plus qu'à ajouter le snippet fourni dans le <head>
de ton site :
<script src="https://analytics.domain.tld/js/script.js" data-domain="domain.tld" defer></script>
C'est prêt : tu peux maintenant voir les statistiques de ton domaine en te rendant sur le dashboard et éventuellement ajouter d'autres domaines, pour suivre tes différentes sites 🚀
Conclusion
Que tu veuilles éviter la friction des bannières de consentement, gagner en indépendance vis-à-vis des services tiers, respecter la vie privée de tes visiteurs ou simplement opter pour un suivi analytique simplifié, Plausible mérite vraiment qu’on s’y intéresse. Et si gérer ta propre instance te semble trop complexe, l’offre managée est une excellente alternative, bien qu’elle implique un coût à considérer.
N’hésite pas à tester cette solution et à nous faire tes retours sur Discord.
À bientôt pour d’autres articles sur le dev' ou la tech' en général 👋