À 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.