Twitch Tracker : suivi de streamers et analyse de données
Ce projet avait un objectif simple : suivre des chaînes Twitch, historiser des indicateurs utiles et afficher des vues comparatives. Le scope couvrait la collecte de données, le stockage SQL et l'exposition via une interface web.
Architecture fonctionnelle
Le système est découpé en trois blocs :
- Collecte : scripts de récupération des métriques Twitch (viewer moyen, pic, sessions).
- Stockage : base MySQL structurée pour historiser les snapshots et faciliter les comparaisons.
- Présentation : interface web en JavaScript/PHP pour consulter les statistiques par streamer.
Le design retenu favorisait la simplicité : peu de couches intermédiaires, schéma SQL clair, endpoints lisibles.
Stack technique
- Backend : PHP pour les endpoints de consultation et le traitement applicatif.
- Data : MySQL pour l'historisation et les requêtes d'analyse.
- Frontend : HTML/CSS/JavaScript pour les tableaux et la navigation.
- Versioning : GitHub pour le partage de code et la revue en équipe.
Choix d'implémentation
Modèle de données
Nous avons privilégié un modèle orienté lecture :
- table streamers (identifiants, metadata),
- table snapshots (timestamp, viewers, pic, etc.),
- index sur streamer + date pour accélérer les comparaisons.
Ce choix a permis de garder des requêtes SQL simples et de limiter les coûts de jointure sur les vues principales.
Endpoints et logique métier
La couche PHP expose des endpoints orientés besoin front. Le principe était de retourner des données déjà préparées pour limiter la logique côté navigateur.
Interface utilisateur
L'interface met en avant la comparaison entre streamers et l'évolution des métriques dans le temps. Le parti pris : plus de lisibilité, moins d'effets visuels.
Limites identifiées
- Pas de pipeline temps réel : la collecte reste batch et périodique.
- Faible couverture de tests automatisés sur les scripts de collecte.
- Gestion des erreurs API perfectible (retry, backoff, monitoring).
Ce que le projet m'a appris
- Concevoir un schéma SQL orienté usage réel.
- Transformer des données brutes en indicateurs utiles.
- Structurer un projet équipe avec un partage de tâches clair.
Ce socle m'a ensuite servi pour des projets plus complexes, notamment sur l'optimisation de flux data et la fiabilité d'API.






Sources du projet
