4 points par chlrhdmltkfkd 2026-04-02 | 3 commentaires | Partager sur WhatsApp

Bonjour. Chaque fois que je voyais affluer des PC portables retournés sur de grands open markets, je ressentais une grande fatigue à devoir vérifier précisément leurs spécifications réelles et les comparer au prix le plus bas sur Danawa.

Pour résoudre ce problème, j’ai développé « Banpoom Laptop », un service qui intègre et visualise grâce à l’IA les informations sur les bonnes affaires de PC portables issues de plateformes e-commerce dispersées ainsi que l’immense base de données de Danawa.

Link: https://banpoomlaptop.com

1. Stack technique (Tech Stack)

J’ai reconstruit toute l’architecture, du frontend jusqu’au pipeline de données.

  • Frontend: Next.js 16 (App Router), React 19, Tailwind CSS v4, Zustand

  • Backend / Database: Node.js, Next API Routes, MongoDB (Aggregation Pipeline), Redis

  • Crawling / Pipeline: Python (curl_cffi), Puppeteer, PM2 (daemon en arrière-plan)

  • AI / Data Matcher: OpenRouter API (Qwen 3.5), BM25 (algorithme de recherche par similarité)

2. Principaux points de haute difficulté du développement

Au cours de ce projet, au-delà d’un simple développement web, j’ai été confronté à plusieurs défis complexes dans les étapes de collecte et de nettoyage des données.

A. Normalisation de données non structurées et cross-mapping entre plateformes hétérogènes

Le principal obstacle était de faire correspondre les « titres très disparates des PC portables retournés sur les open markets » avec les « noms de spécifications complexes de Danawa ». Comme les conventions d’écriture différaient selon les vendeurs, les DB Join classiques ou les expressions régulières montraient rapidement leurs limites.
Pour y remédier, j’ai mis en place un pipeline IA en 2 étapes.

  1. J’utilise l’algorithme de similarité textuelle BM25 pour extraire d’abord des modèles candidats dans l’immense base Danawa.
  2. Je transmets ensuite ces candidats à la fenêtre de contexte d’un LLM (grand modèle de langage) basé sur Qwen 3.5 afin qu’il interprète le contexte et identifie le modèle dérivé unique exact (pcode). De plus, j’ai confié à un worker en arrière-plan la tâche de structurer en JSON en temps réel les longues spécifications textuelles de Danawa via le LLM.

B. Application d’une logique d’inférence pour un algorithme de classement principal avancé (Hidden Score)

Les données des open markets donnent fondamentalement l’impression que le « taux de remise » est le plus important, mais le problème est qu’il y a beaucoup de vieux stocks difficiles à écouler.
Pour résoudre cela, j’ai intégré dans le pipeline d’aggregation de MongoDB un système de « hidden score » qui calcule score = taux de remise + (indice de performance / prix actuel) - pénalité d’ancienneté. Je ne me suis pas arrêté à un simple filtrage par conditions : j’applique aussi une pénalité de -50 points aux modèles antérieurs à 2022 et un bonus de +20 points aux modèles les plus récents de 2025 à 2026, afin que seuls les équipements au vrai meilleur rapport qualité-prix soient affichés en priorité sur l’étagère supérieure (Shelf).

3. Conclusion

Le frontend a été optimisé pour que des dizaines de filtres multi-spécifications (dalle, fabricant, poids, TGP, etc.) réagissent immédiatement et de manière fluide grâce à l’intégration entre Zustand et les paramètres de Next.js.
Le fait d’avoir introduit le LLM non pas comme un simple chatbot, mais de manière approfondie dans le pipeline en arrière-plan en tant que « parseur de normalisation de données non structurées » et « smart matcher », a été l’expérience la plus marquante pour moi en tant qu’ingénieur. Je suis également très ouvert aux échanges d’avis et aux retours de toute personne intéressée par le data crawling, le matching IA ou l’environnement de développement Next.

3 commentaires

 
cnaa97 2026-04-02

Ça donne envie d’en acheter un..

 
runableapp 2026-04-02

C’est bien, c’est un site pratique.
À mon avis, le design fait un peu trop site de e-commerce, et les couleurs semblent fatiguer les yeux.
L’algorithme seul semblerait suffire, mais dans quels aspects le LLM était-il vraiment nécessaire ?

 
kurthong 2026-04-02

Sur mobile (Galaxy S25 Plus), dans la fenêtre de chat IA, le bouton d’envoi du message et le bouton de fermeture (X) se chevauchent.