Réalisations

Collecteur de données avec reprise

Il fallait récupérer en une fois plus de cinq ans d’archives hebdomadaires, accumulées depuis 2019. Des requêtes envoyées en rafale finissent par s’interrompre et la collecte du jour reste à moitié faite. Grâce à la reprise au point d’arrêt, toute la période a été couverte.

Période collectée

Avant

Arrêts en cours de collecte

Après

Toute la période 2019–2024

Écran du programme de collecte livré. On y choisit l’unité de collecte, jour ou semaine, ainsi que la semaine de début et la semaine de fin ; à droite s’affichent une barre de progression et le temps restant estimé.
La collecte se fait semaine par semaine, de la semaine 1 de 2019 (commençant le 30 décembre 2018) à la semaine 30 de 2024. Le temps restant affiché permet de savoir où en est la collecte.

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

Client
Client coréen ayant commandé une collecte à des fins de recherche
Secteur
Recherche universitaire
Réalisation
2025
Durée
Suivi en cours après livraison
Domaine
Automatisation des processus
  • Pipeline de collecte à grande échelle
  • Contrôle de l’intervalle entre requêtes
  • Reprise au point d’arrêt
  • Affichage du temps restant

Contexte

Les données à récupérer couvraient plus de cinq ans : des archives hebdomadaires, de la première semaine de 2019 à juillet 2024. Impossible de tout obtenir en une passe, et au moindre arrêt il fallait d’abord retrouver où l’on en était. Le calendrier du projet rendait le délai important.

Ce que nous avons constaté

Le problème ne venait pas de l’outil de collecte, mais de la façon d’envoyer les requêtes. Envoyées en rafale, à un rythme sans rapport avec une lecture humaine, elles finissent par ne plus recevoir de réponse, et la collecte du jour reste à moitié faite.

Le problème

Nous avons reformulé l’objectif : non pas « récupérer vite », mais « récupérer jusqu’au bout ». Mieux vaut prendre plus de temps et couvrir toute la période que s’arrêter à mi-chemin. Des données incomplètes devront de toute façon être récupérées à nouveau.

Ce choix suppose d’avoir vérifié au préalable les conditions d’utilisation du site et son fichier d’exclusion des robots. Sans établir d’abord que ces données peuvent être collectées, le reste de la conception n’a pas de sens.

Ce que nous avons réalisé

  • Contrôle de l’intervalle et des nouvelles tentatives — les requêtes sont étalées plutôt qu’envoyées en rafale. C’est ce qui permet aux cinq années d’arriver sans trou
  • Découpage par semaine — la période de plus de cinq ans n’est pas traitée d’un bloc, mais semaine par semaine. En cas d’échec, seule la semaine concernée est à reprendre
  • Reprise au point d’arrêt — le programme mémorise l’endroit où il s’est arrêté. Une longue collecte n’aboutit que si elle ne repart jamais de zéro
  • Affichage du temps restant — la progression et le temps restant estimé restent à l’écran. Une tâche de plusieurs heures sans aucun indicateur finit souvent interrompue par l’utilisateur

Résultats

Toute la période, de la semaine 1 de 2019 à la semaine 30 de 2024, a été récupérée sans lacune. La même architecture est depuis réutilisée pour d’autres collectes.