À propos du projet
Smart-analytics est un système d'analyse web auto-hébergé, minimaliste et soucieux de la vie privée, basé sur tiny-analytics 0.1.3. Sa principale amélioration est le support de la gestion multi-sites / multi-locataires : un seul compte peut gérer plusieurs sites, chacun disposant de son propre script de suivi et d'une isolation des données.
La pile technique repose sur Python FastAPI + SQLite (multi-locataire dans une seule base), exécutée en un seul processus, sans service externe ni base de données additionnelle. Le fonctionnement : lors du chargement de la page, le script de suivi envoie une requête POST au serveur, qui hache l'identifiant « site:IP:UA » pour générer un identifiant de visiteur anonyme ; l'IP brute n'est pas stockée. À la sortie de la page, un beacon remonte la durée de séjour. Le tableau de bord agrège et visualise les données par site.
Fonctionnalités :
- Respect de la vie privée: pas de Cookie, pas de localStorage, pas de fingerprinting, pas de traçage transverse
- Multi-sites / multi-locataires : token indépendant par site, données totalement isolées ; support multi-utilisateurs et membres de site
- Système de comptes : inscription et connexion par email + mot de passe, interface web pour gérer sites et membres
- Géolocalisation offline GeoIP : basée sur la base DB-IP, fournit des informations géographiques (pays / province / ville), sans API tierce
- Filtrage des robots : identification et séparation automatiques du trafic robotisé
- Module IP fréquentielles : détection des IP à fort trafic avec affichage de la localisation
- Durée de séjour : enregistrement de la durée d'interaction réelle
- Répartition géographique et par appareil : statistiques des origines et types d'appareils des visiteurs
- Pages populaires et sources de trafic : classement des pages les plus vues, domaines de provenance et mots-clés de recherche
- Répartition horaire : analyse des tendances de trafic sur 24 heures / par semaine
- Comparaison环比 : évolution des visiteurs uniques, pages vues et durée moyenne de séjour
- Visiteurs en direct : nombre de personnes actives sur les 5 dernières minutes, avec auto-polling du dashboard
- Nouveaux / anciens visiteurs : distinction basée sur l'identifiant anonyme
- Suivi UTM : statistiques par dimension source / média / campagne
- Analyse des sessions : taux de rebond, durée moyenne de session, page d'entrée / de sortie (valeurs estimées)
- Répartition navigateurs / systèmes d'exploitation : statistiques grossières basées sur l'User-Agent uniquement
- Périodes flexibles : heures/2h/24h/7j/30j, intervalles de 1/5/15 min ou 1h
- Interface en mode sombre
Configuration via variables d'environnement : SMART_ANALYTICS_PASSWORD (mot de passe administrateur), SMART_ANALYTICS_SECRET_KEY (clé de signature de session), SMART_ANALYTICS_ALLOWED_ORIGINS (restriction CORS), SMART_ANALYTICS_DB_PATH (chemin de la base de données), etc.
Déploiement : script one-click (deploy/linux/setup.sh), support systemd, proxy inverse nginx, backsource Cloudflare (lecture automatique des en-têtes cf-connecting-ip). Également exécutable en une commande via uvx ou buildable depuis les sources.
Licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.