Comment notre technologie détecte les retours en stock en moins de 5 minutes
Plongée dans l'infrastructure technique de restocking : scraping intelligent, détection multi-couche, et double confirmation.
Les coulisses techniques de restocking
Beaucoup d'utilisateurs nous demandent : "Comment faites-vous pour être aussi rapides ?" Voici les détails techniques de notre infrastructure.
Étape 1 : Le scraping intelligent
Notre worker Python scanne les pages produits en utilisant Playwright — un navigateur headless qui exécute le JavaScript exactement comme un vrai navigateur.
Pourquoi Playwright ? Les sites e-commerce modernes chargent leurs données de stock dynamiquement via JavaScript. Un simple curl HTTP ne voit qu'une page vide. Playwright exécute le JS et nous donne accès aux vraies données.
Nous utilisons aussi le stealth mode pour ne pas être bloqués par les protections anti-bot (Akamai, Cloudflare, DataDome).
Étape 2 : La détection à 4 couches
Une fois la page chargée, nous appliquons 4 couches de détection :
Couche 1 : dataLayer
La plupart des sites e-commerce utilisent un `digitalData` ou `dataLayer` JavaScript pour le tracking. Ce JSON contient souvent l'état du stock en temps réel. Nous le parsons en premier — c'est la source la plus fiable.Couche 2 : État du bouton "Ajouter au panier"
Le bouton d'achat change d'état selon le stock : `disabled` quand la taille est épuisée, actif quand elle est disponible. Nous vérifions cet attribut.Couche 3 : Attributs de variants
Les sélecteurs de taille et couleur (`data-size`, `data-color`, `aria-label`) contiennent souvent l'information de disponibilité. Nous les analysons avec un classifieur sémantique.Couche 4 : Analyse LLM
Pour les cas complexes, nous utilisons DeepSeek pour analyser le contenu textuel de la page et déterminer si la taille est en stock.Étape 3 : La double confirmation
C'est notre secret anti-faux-positifs. Nous exigeons DEUX détections IN_STOCK consécutives avant d'envoyer une alerte. Pourquoi ?
- Un bouton peut être temporairement actif pendant un rechargement
- Un dataLayer peut contenir des données en cache
Deux confirmations = zéro fausse alerte.
Étape 4 : La notification
Email via Resend (SMTP premium, délivrabilité 99.9%) et SMS via Twilio pour les utilisateurs Pro. Délai moyen : 3 secondes après détection.
L'infrastructure
- Worker Python : exécuté sur Railway, cron toutes les 5 minutes