Refonte du système de tracking pour fiabiliser les datas et améliorer les performances
Radio France est un groupe audiovisuel public majeur en France, qui opère plusieurs marques radio (France Inter, France Info, France Culture, France Musique, FIP, etc.) ainsi que l’ensemble de leurs plateformes numériques.
Kafka, RabbitMQ,
architecture microservices, data tracking, recommandation, recherche
Développeur fullstack Senior
Le contexte de la mission backend autour du tracking et de la valorisation des données
Après une première mission côté API, le consultant a rejoint l’équipe Data pour intervenir sur les systèmes liés à la collecte, au traitement et à l’exploitation des données utilisateurs. Cette équipe couvre plusieurs périmètres clés, notamment la recherche de contenus, la recommandation personnalisée et surtout le tracking des usages.
Le cœur du système reposait sur la capacité à collecter des volumes importants de données issues des interactions utilisateurs. Cela incluait les pages consultées, les contenus écoutés, les clics ou encore les logs de téléchargement des fichiers audio. Ces données étaient ensuite enrichies et consolidées afin d’alimenter différents usages internes, comme la recommandation de contenus, la reprise de lecture ou les outils de pilotage métier.
Ces données avaient également un rôle stratégique puisqu’elles servaient à mesurer les audiences. Ces mesures étaient utilisées à la fois pour orienter les contenus et pour alimenter les dispositifs publicitaires, avec un impact direct sur les revenus.
Les enjeux et défis techniques d’un système de tracking à fort volume
Le principal enjeu du projet était de garantir la fiabilité des données produites par le système. À mesure que les volumes augmentaient et que les sources de données se multipliaient, il devenait de plus en plus difficile de maîtriser précisément ce qui entrait et ce qui sortait du système.
Les données collectées dépendaient de nombreux paramètres, notamment le type d’événement (écoute audio, navigation web), le niveau de consentement utilisateur ou encore la source technique. Cette complexité rendait le système difficile à faire évoluer, avec un manque de visibilité sur la qualité des données produites.
En parallèle, les contraintes de performance étaient fortes. Le système devait absorber des millions de requêtes par jour, gérer des pics d’audience importants et garantir un traitement rapide des données. Les mécanismes de queueing via Kafka permettaient de lisser la charge, mais pouvaient entraîner des délais de traitement importants en cas de saturation.
Enfin, les évolutions réglementaires et les exigences liées à la mesure d’audience imposaient d’adapter régulièrement l’architecture, notamment pour se conformer à de nouveaux standards de certification.
“La difficulté, c’est qu’on a plein de paramètres différents en entrée. Et en sortie, il faut qu’on sache exactement quelle donnée on produit. Avant, on ne maîtrisait pas bien ça, et ça devenait compliqué de travailler avec. »
Les missions réalisées sur le système de tracking data à fort volume
La mission s’est déroulé pendant presque 2 ans et a couvert les périmètres :
Refonte du backend de tracking et d’enrichissement des données
Une refonte complète du système backend a été menée pour améliorer la fiabilité des traitements et mieux structurer les flux de données.
Migration progressive de l’architecture en production
La transition a été réalisée de manière incrémentale, avec une coexistence entre l’ancienne et la nouvelle version. Les résultats étaient comparés en continu pour garantir la stabilité et éviter toute régression.
Optimisation des performances et du traitement des données
Des améliorations ont été apportées sur la gestion des files Kafka et sur le traitement des données afin de réduire les temps de latence et améliorer la capacité du système à absorber les pics de charge.
Correction des limites de scalabilité sur Kubernetes
Un travail spécifique a été réalisé pour lever des limitations de performance liées au scaling des applications, permettant une meilleure montée en charge du système.
Adaptation aux nouvelles exigences de mesure d’audience
Le backend a été adapté pour répondre à un nouveau cahier des charges externe, impliquant des évolutions sur la structure et le traitement des données.