Étude de cas
On-Site – extraction du catalogue de pièces
On-Site est une agence digitale basée à Rotterdam, spécialisée dans l'expérience numérique et le e-commerce pour les organisations B2B. L'équipe conçoit, développe et maintient des solutions intégrées sur des plateformes éprouvées - Umbraco, nopCommerce, Xperience by Kentico - associées à des outils low-code et à sa propre plateforme d'intégration.
Une grande partie du travail d'On-Site tourne autour des données : veiller à ce que les informations produits, catalogue et clients restent cohérentes et à jour sur tous les canaux. Pour les projets où ces données doivent être collectées à grande échelle depuis des sources externes, On-Site s'associe à des spécialistes - et c'est là que noptech est intervenu.
Le projet
Le défi
On-Site avait besoin d'extraire des données produits structurées de deux grands catalogues de pièces détachées de fabricants - l'un dans le machinisme agricole, l'autre dans les sports motorisés - pour le compte de ses propres clients. Ces catalogues sont des systèmes profonds et hiérarchiques : une machine est recherchée par numéro de série, puis décomposée niveau par niveau en ensembles, sous-ensembles et pièces individuelles, chacun accompagné de sa vue éclatée et de son tableau de références.
Recopier tout cela à la main n'est pas envisageable. On-Site avait besoin d'un processus d'extraction reproductible et vérifiable produisant des exports Excel propres ainsi que toutes les images de schémas associées - d'abord sous la forme d'un pilote encadré sur un petit jeu de données, avec la possibilité de passer ensuite au catalogue complet.
Notre approche
Nous avons développé un crawler sur mesure en C#, basé sur Selenium WebDriver, qui pilote un vrai navigateur Chromium afin que la navigation du catalogue, très riche en JavaScript, se comporte exactement comme pour un utilisateur humain. Le crawler parcourt toute la hiérarchie pour chaque numéro de série, capture le schéma de chaque niveau et écrit le résultat dans un classeur Excel structuré - un onglet par niveau, classés par niveau, avec les références de pièces, les descriptions et le renvoi vers l'image correspondante.
Le pilote a été exécuté depuis un environnement unique et contrôlé afin que le client puisse évaluer la qualité des données avant de s'engager sur le volume. Pour le second projet, nous avons intégré Bright Data, en déplaçant la couche de collecte sur un réseau de proxys géré avec rotation des adresses IP. Cela donne à On-Site un crawl distribué et maîtrisé qui passe à l'échelle d'un catalogue complet sans marteler le site source depuis une seule adresse.
Ce que nous avons livré
- Un crawler C#/Selenium qui parcourt des catalogues de pièces à plusieurs niveaux par numéro de série, quelle que soit la profondeur
- Des exports Excel dans le format exact demandé par le client - onglets triés par niveau, colonnes cohérentes, prêts à être importés dans leurs propres systèmes
- Des jeux complets d'images de vues éclatées, appariés un à un avec les lignes de l'export
- L'intégration de Bright Data pour un crawl distribué et maîtrisé au volume du catalogue complet
- Un crawl incrémental des seules années-modèles manquantes, de sorte que les données déjà collectées n'ont jamais été retraitées
- Une passe de validation sur chaque livraison : images manquantes, trous dans la hiérarchie et écarts de format détectés avant la remise
Le résultat
On-Site a reçu des jeux de données de test assez rapidement pour valider l'approche avec son propre client en quelques jours, puis un pipeline prêt pour la production destiné à l'extraction complète. Les données arrivent exactement dans la structure attendue par leurs systèmes, ce qui supprime entièrement l'étape de nettoyage manuel - et la même architecture de crawler peut être pointée vers d'autres catalogues en ne remplaçant que la logique de navigation.
Technologies
C#
.NET
Selenium WebDriver
Chromium
Bright Data
Excel automation
headless browser automation