À propos du projet
WebSight est un projet d'analyse web open-source privilégiant la confidentialité. Son objectif déclaré est de fournir aux propriétaires de sites les chiffres dont ils ont besoin sans transformer les visiteurs en produit : il n'utilise pas de cookies, n'effectue aucun suivi intersite et ne collecte aucune donnée personnelle. Il est proposé à la fois comme application hébergée et comme logiciel que vous pouvez exécuter entièrement sur votre propre infrastructure.
Suivi et configuration
Le tracker est conçu pour être léger : le script principal est décrit comme faisant moins de 1 Ko, chargé de manière asynchrone et différée. L'intégration peut se faire de deux manières. La plus simple est une seule balise script différée pointant vers le tracker hébergé, avec le site cible nommé via un attribut data-site. D'autres attributs data-* correspondent aux options du package, couvrant des éléments tels que le mode de persistance, l'échantillonnage des Core Web Vitals et les exclusions de chemin pour les routes d'administration ou de vérification de santé. Alternativement, un package npm nommé websight peut être intégré à un build, exposant un appel init typé ainsi que des fonctions track et identify pour les événements personnalisés ; track et identify peuvent être appelés avant init et sont mis en file d'attente jusqu'au démarrage du tracker. Une intégration React est également fournie via un composant Analytics destiné à être monté dans le layout racine.
Capacités d'analyse
Le README liste un tableau de bord en temps réel avec la présence des visiteurs en direct qui se met à jour à l'arrivée des événements plutôt qu'avec un délai, ainsi qu'un globe 3D rotatif qui met en évidence la localisation des lecteurs actuels. Le replay de session est propulsé par rrweb et est décrit comme masqué pour la confidentialité, activable par site depuis le tableau de bord. Pour l'analyse du comportement, le projet couvre les événements personnalisés, les entonnoirs de conversion, les objectifs et les cohortes de rétention, ainsi que des filtres et segments pouvant être découpés par source, pays, appareil ou campagne. Les Core Web Vitals et la capture d'erreurs JavaScript sont disponibles et chargés à la demande.
Posture de confidentialité
Le suivi sans cookie et sans état est le défaut déclaré. Le README affirme que l'approche est compatible avec le RGPD, la CCPA et la PECR, sans rien à consentir pour les visiteurs. Des liens de partage publics peuvent être générés pour tout site et éventuellement protégés par mot de passe. Le projet est sous licence MIT et entièrement auto-hébergeable.
Architecture et auto-hébergement
WebSight est une application Next.js unique soutenue par une base de données Supabase Postgres. Le tracker réside dans le répertoire public de l'application, donc aucun service séparé n'a besoin d'être exploité : une application Next.js pointant vers un projet Supabase. Les étapes d'auto-hébergement dans le README impliquent le clonage du dépôt, la copie d'un fichier d'exemple d'environnement et le remplissage des clés Supabase et de l'URL de l'application, l'installation des dépendances, le build et le démarrage. Les migrations sous supabase/migrations sont appliquées avec la CLI Supabase, après quoi l'application peut être déployée sur Vercel ou un autre hôte Node. Le README note qu'un guide complet avec les variables d'environnement et une mise en garde sur la géo/CDN se trouve dans le guide d'auto-hébergement en ligne.
La pile technique mentionnée dans le README comprend Next.js 16, React 19, TypeScript, Tailwind CSS v4, Supabase pour Postgres, Recharts, three-globe pour le globe 3D et rrweb pour le replay de session ; le tracker lui-même est décrit comme sans dépendance et construit avec tsup.
Communauté et licence
Les problèmes et les pull requests sont les bienvenus, avec une documentation hébergée sur le site de docs du projet. Le projet est sous licence MIT, décrit comme gratuit à utiliser et gratuit à auto-héberger.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.