À propos du projet

Edgemetry propose une solution d'analytics web auto-hébergée qui fonctionne entièrement sur le réseau edge de Cloudflare. Un seul Cloudflare Worker couplé à une base D1 stocke les événements bruts et les agrégats, éliminant tout besoin d'infrastructure serveur ou conteneurisée supplémentaire. Le script de tracking pèse environ 2,1 KB et est servi depuis le même domaine que le site mesuré ; il ne définit aucun cookie, n'utilise pas localStorage et ne réalise pas de fingerprinting. L'identification des visiteurs repose sur un hachage quotidien salé de l'adresse IP et de l'user-agent, et les lignes d'événements bruts sont supprimées après 24 à 48 heures, ne conservant que les counts agrégés. Comme aucune donnée personnelle n'est stockée, le système respecte les exigences du RGPD sans bannière de consentement. Les métriques affichées dans le dashboard incluent les visiteurs, les pageviews, les vues par visite, le taux de rebond et le temps moyen passé sur le site. Chaque métrique est présentée avec une sparkline et une comparaison à la période précédente. L'interface prend en charge des filtres empilables : cliquer sur une ligne réduit simultanément tous les panneaux, permettant des déclinaisons par page, page d'entrée, page de sortie, referrer, pays, navigateur, système d'exploitation, appareil, taille d'écran et tags UTM. Une carte choroplèthe en direct est rendue directement depuis le Worker, et un compteur en temps réel affiche les visiteurs actuellement en ligne, le trafic minute par minute pour les trente dernières minutes et un flux des pages consultées en ce moment. Plusieurs sites peuvent être gérés depuis un seul déploiement, chacun disposant de son propre snippet et de données de trafic isolées. Les rôles utilisateur incluent Propriétaire (gestion complète) et Spectateur (accès en lecture seule aux sites explicitement attribués). Les permissions sont appliquées côté serveur, et les propriétaires ne peuvent pas se rétrograder ni supprimer leur propre compte, évitant tout verrouillage accidentel. L'architecture est optimisée pour les limites du plan gratuit de Cloudflare. Les événements bruts sont écrits dans des tables par heure, sans index, ce qui coûte une écriture de ligne par pageview. Les agrégats quotidiens et un cube de statistiques fournissent des données agrégées pour les requêtes filtrées, maintenant les coûts d'écriture autour de 1,2 ligne par pageview. Les lectures sont optimisées en scannant une seule fois lors du chargement du dashboard et en regroupant les résultats pour tous les panneaux, réduisant considérablement le nombre de lectures D1. Le plan gratuit supporte confortablement environ 20 000 visites par jour ; au-delà, la mise à niveau du plan Worker lève toutes les limites. Le déploiement est simplifié via un bouton en un clic qui crée la base D1, configure le Worker et met en place un domaine personnalisé. Après le déploiement, l'utilisateur revendique l'instance via un formulaire d'installation, ajoute le snippet fourni dans le head du site, et le dashboard se remplit automatiquement. Les utilisateurs avancés peuvent également déployer depuis la ligne de commande avec Wrangler. Les variables de configuration dans wrangler.jsonc permettent d'ajuster la rétention des données horaires, d'activer ou désactiver le cube de filtres, de définir les itérations PBKDF2 pour le hachage des mots de passe et d'activer les vérifications automatiques de mise à jour. Le système intègre des jobs cron pour les agrégats horaires et quotidiens, qui se auto-réparent en cas d'exécution manquée. Une démo en direct est disponible, exécutant le dashboard contre un back-end synthétique, montrant toutes les fonctionnalités sans nécessiter de déploiement réel. Des tests automatisés vérifient la cohérence de l'API entre le Worker réel et l'implémentation mockée. Dans l'ensemble, Edgemetry offre une plateforme d'analytics respectueuse de la vie privée et à faible surcharge, qui peut être exécutée sur un compte Cloudflare personnel avec un coût et une infrastructure minimaux.