À propos du projet
Flarelytics est une plateforme d'analyse web open-source conçue pour suivre le temps passé par les visiteurs sur des pages individuelles. Elle a été créée pour répondre aux préoccupations liées à la vie privée ainsi qu'à l'absence de mesures du « temps sur la page » dans de nombreux services d'analyse existants.
**Fonctionnalités principales**
- Un snippet JavaScript côté navigateur qui génère un UUID unique par visiteur et envoie les événements *ouverture* et *fermeture* au backend.
- Un backend écrit en TypeScript, exécuté sur Cloudflare Workers, exposant une API HTTP minimale pour l'ingestion d'événements et les requêtes du tableau de bord.
- Stockage des événements dans une base de données ; le projet utilisait initialement MongoDB et passe actuellement à PlanetScale/MySQL pour une meilleure évolutivité.
- Prise en charge d'un seul domaine par déploiement (prise en charge multi-domaine prévue dans le futur).
- Approche axée sur la confidentialité : pas de suivi tiers, entièrement auto-hébergé et conforme aux réglementations de l'UE.
**Architecture**
1. **Script navigateur** (`/analytics`) : intégré au site cible, il enregistre les événements de chargement/déchargement de page et les transmet au Worker.
2. **Cloudflare Worker** (`/src`) : reçoit les événements, les écrit dans la base de données et agrège les données pour le tableau de bord.
3. **Base de données** : actuellement MongoDB, passage prévu vers PlanetScale (compatible MySQL) pour des requêtes relationnelles et une meilleure fiabilité.
**État du développement**
- Développement actif mené par le Google Developer Student Club de l'Université technologique de Budapest.
- Pas encore prêt pour la production ; le dépôt contient des directives de contribution ainsi qu'une configuration de développement.
**Démarrage**
- Créer des comptes gratuits chez Cloudflare et PlanetScale.
- Installer Node.js (via nvm recommandé) et exécuter `npm install`.
- Configurer les secrets dans `.dev.vars` pour les tests locaux ou via l'interface utilisateur de Cloudflare pour la production.
- Démarrer un serveur Workers local avec `npm run dev`.
**Contribution**
- Choisir un problème ouvert depuis le dépôt GitHub ou le tableau du projet.
- Forkez le dépôt, suivez la configuration de développement, et soumettez des pull requests en utilisant le flux GitHub.
**Licence**
- GPLv3.
Flarelytics vise à offrir aux propriétaires de sites web un moyen simple et respectueux de la vie privée de comprendre l'engagement des lecteurs sans dépendre de fournisseurs externes d'analyse.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.