Réalisations

Extension de rapports de performance d'influenceurs

Un autre prestataire avait laissé inachevée une application de bureau en Python. Nous l’avons reconstruite sous forme d’extension Chrome, qui s’exécute dans le navigateur où l’utilisateur est déjà connecté. Les cinq plateformes dont les données ne remontaient pas sont désormais toutes collectées.

Plateformes correctement collectées

Avant

1 sur 5

Après

5 sur 5

Écran de génération de rapport de l’extension Chrome livrée. La barre latérale gauche présente les menus Collecte de données, Génération de rapport et Gestion de la base, ainsi que l’état de connexion des cinq plateformes prises en charge. À droite se succèdent la saisie des informations de la campagne, les boutons de sélection des plateformes à inclure, puis les boutons Rapport HTML et Export Excel.

Les écrans sont reconstitués avec des données fictives pour protéger les informations clients.

Client
Agence de marketing coréenne
Secteur
Agence de marketing
Réalisation
2026
Durée
1 semaine après la reprise
Domaine
Automatisation des processus
  • Extension de navigateur
  • Collecte résistante aux changements d’interface
  • Stockage local dans le navigateur
  • Historique des indicateurs dans le temps
  • Rapport HTML
  • Export Excel

Contexte

Le projet nous est arrivé alors qu’une première version existait déjà. Le prestataire précédent avait livré un logiciel de bureau pour Windows uniquement, et le client nous a transmis non pas un retour d’usage, mais une liste de défauts. Sur les cinq plateformes, une seule était notée « aucun problème ».

Ce que nous avons constaté

Prise plateforme par plateforme, la liste comptait plus de dix corrections. Mais en la relisant dans son ensemble, presque tous les blocages venaient du même endroit.

  • Sur l’une : « accès aux publications impossible à cause de la vérification Cloudflare »
  • Sur une autre : ni le texte, ni les commentaires, ni les vignettes n’étaient récupérés
  • Sur une troisième : les auteurs des commentaires apparaissaient sous la forme @user au lieu de leur nom

Le programme précédent, écrit en Python, ouvrait son propre navigateur et accédait aux plateformes sans être connecté. Dès lors que les plateformes identifiaient ce navigateur comme un robot, le reste du code ne recevait que des valeurs vides. Il ne s’agissait pas de bugs, mais d’un problème de méthode d’accès.

Le problème

Plutôt que de réparer le collecteur, nous avons choisi de changer l’endroit où il s’exécute. Le client utilisait déjà chaque plateforme avec son propre compte. Une extension Chrome fonctionnant dans ce même navigateur n’a aucune authentification à contourner : elle lit simplement l’écran que l’utilisateur a sous les yeux.

Cela impliquait d’abandonner l’application Python et de repartir de zéro. Nous avons donc d’abord expliqué pourquoi nous ne reprenions pas l’existant, avant de commencer.

Écran de collecte. À gauche, la liste des plateformes prises en charge et l’état de connexion de chacune ; au centre, le champ où l’on enregistre les adresses à collecter ; une fenêtre de vérification de connexion est ouverte, avec la mention « Si vous êtes connecté dans le navigateur, la connexion est détectée automatiquement ». Les deux adresses données en exemple dans le champ sont masquées.

L’extension ne crée aucune nouvelle authentification. Elle s’appuie sur les sessions déjà ouvertes par l’utilisateur et signale seulement les plateformes déconnectées, pour qu’il s’y reconnecte lui-même.

Ce que nous avons réalisé

  • Collecteurs pour 5 plateformes — trois utilisées en Corée et deux dans le monde sinophone. Leurs modes d’authentification et leurs formats de données diffèrent, chacune a donc son propre collecteur. Celui-ci ne dépend pas de la mise en page : il lit les données internes déjà chargées par la page. L’une des plateformes n’offre aucun accès officiel et change souvent d’interface. Les valeurs restent trouvées même quand l’écran change, puisque l’on lit les données de la page et non son apparence
  • Base de données dans le navigateur — les données collectées restent dans le navigateur de l’utilisateur. Sans serveur, les données des annonceurs ne sortent pas de son poste
  • Plusieurs publications d’un même auteur — dans l’ancien programme, chaque nouvelle collecte écrasait la précédente. L’identifiant unique de chaque publication sert désormais de clé : les données s’accumulent publication par publication
  • Rapport destiné aux annonceurs — chiffres par plateforme, contenus les plus engageants et évolution sur la période, réunis sur une seule page. La première remarque du client était : « c’est pour le reporting annonceur, mais ça fait vraiment amateur »
  • Export Excel — un fichier Excel remplace le CSV dont l’encodage se cassait
  • Horodatage de chaque collecte — les indicateurs d’une même publication sont conservés à chaque relevé. On peut ainsi suivre après coup des valeurs qu’un relevé unique ne montre pas, comme la vitesse de réaction juste après la publication

Résultats

Une seule plateforme fonctionnait selon la liste de défauts ; les cinq fonctionnent aujourd’hui. La collecte des commentaires a été vérifiée point par point sur les cinq plateformes, et ce contrôle a été consigné (2026-02-08).

Nos autres réalisations fondées sur la même approche sont regroupées dans Collecte de données web.

Nos autres réalisations sur ce thème sont regroupées dans Analyse de données.