📊
Projet phare Données et analytics
Projet personnel

TrackOS

TrackOS est une plateforme de web analytics multi-sites que j’ai développée de bout en bout et déployée sur mon VPS. Elle réunit la collecte des visites, leur stockage et leur analyse dans une seule application, pour comprendre comment les visiteurs découvrent et utilisent mes sites.

Comprendre le trafic et les usages

Depuis un tableau de bord centralisé, je peux suivre l’activité en direct, comparer les sites et repérer les pages les plus consultées. Les données sont collectées par mon propre service et stockées sur mon infrastructure ; la mesure d’audience ne dépend pas d’un compte Google Analytics.

Fonctionnalités principales

  • Gestion de plusieurs sites : enregistrement des domaines, clé de suivi propre à chaque site et génération du snippet HTML à intégrer.
  • Suivi en temps réel : nouvelles visites, visiteurs actifs et mises à jour du dashboard grâce à Socket.IO.
  • Analyse de l’audience : pages vues, visiteurs uniques, provenance géographique estimée, navigateurs, systèmes d’exploitation et types d’appareils.
  • Engagement : durée sur la page, profondeur de défilement et indicateurs de rebond ; collecte d’événements personnalisés, par exemple un clic sur un bouton ou l’envoi d’un formulaire.
  • Provenance du trafic : collecte du site référent et des paramètres UTM pour identifier la source, le support et la campagne d’une visite.
  • Exploration des statistiques : filtres par période, évolution des visites, classement des pages, répartition par pays et appareils, activité par heure et jour, comparaison entre sites.

Une chaîne complète, du navigateur aux graphiques

Le script track.js transmet les pages vues et les événements au serveur Node.js/Express. Des mises à jour périodiques renseignent la durée et le défilement ; un repli HTTP permet la collecte lorsque la connexion WebSocket n’est pas disponible. MySQL conserve les visites et les événements, tandis que les API restituent les statistiques à la dashboard React/Vite, Redux Toolkit et Material UI, avec des graphiques Chart.js.

L’accès aux données passe par une authentification autonome TrackOS, avec renouvellement de session et contrôle des droits par site. Le service est exploité derrière Apache en HTTPS, avec PM2 pour le processus Node.js.

Mon rôle et compétences mises en pratique

Conception du modèle de données et des API, développement du script embarqué, du collecteur et des vues analytiques, intégration du temps réel, authentification et déploiement sur VPS. TrackOS met en pratique un développement full stack orienté données : transformer des événements de navigation en indicateurs lisibles, tout en maîtrisant la chaîne de collecte et son exploitation.