web-automation-safe
Protocole d'automatisation web responsable — éviter tout blocage/bannissement (Kijiji, LesPAC, eBay, Google). Basé sur les incidents réels 2026-08-07 (cooldown Kijiji, ERR_BLOCKED_BY_RESPONSE LesPAC).
Quand l'utiliser (Trigger)
Déclenchement standard selon le contexte de l'écosystème Hermès.
Mode d'emploi (Usage)
Mode d'emploi standard via l'agent Hermès. Automatisation web responsable (anti-ban)
Principes fondateurs
- L’empreinte humaine : un automate doit être indistinguable d’un humain patient.
- Jamais de rafales : chaque action compte ; toute erreur = STOP, pas de retry agressif.
- Un canal bloqué ≠ contourner : attendre ou changer de canal, jamais changer d’identité/IP pour forcer.
Stack sûre (mx)
- Chrome dédié :
~/.automation/marketplace(profil persistant) +--remote-debugging-port=9224 - Pilotage : Playwright Python (
python3)chromium.connect_over_cdp("http://127.0.0.1:9224") - Sélecteurs précis (
get_by_text,input[name=...]), jamais d’OCR pixel-hunt - Codes OTP : IMAP Gmail via app-pw (
~/.automation/.gmail.env) — zéro rechargement - Headless INTERDIT pour les actions liées aux comptes
Rythme humain (obligatoire)
- Délai aléatoire 1,5-4 s entre actions (
random.uniform) - 1 seule navigation/rechargement par session ; privilégier les clics in-page
- Jamais 2 onglets du même site simultanément
- Saisies au clavier avec délai 40-120 ms/caractère
Limites par site (issues des incidents)
| Site | Limite | Blocage → action |
|---|---|---|
| Kijiji | max 3 tentatives login/24h ; max 1 message/5 min | cooldown → attendre 2-4 h minimum, jamais en boucle ; mail « someone may have tried » → arrêt 24 h |
| LesPAC | max 2 chargements/30 min ; 1 envoi formulaire/session | ERR_BLOCKED_BY_RESPONSE → STOP immédiat, 1 h+ |
| eBay | max 2 actions/min ; max 2 offres/annonce | offre sans paiement = ne pas forcer |
| jamais 2 tentatives mdp consécutives | 2FA → demander action utilisateur (jamais contourner) |
Séquences interdites
- ❌ Boucle
goto→if erreur: retry(rafale = blocage garanti) - ❌ Login automatique répété après échec
- ❌ Rechargement multiple de la même URL pour « vérifier »
- ❌ Contournement (nouveau compte, VPN, rotation IP) pour forcer un canal bloqué
- ❌ Saisie d’infos bancaires/identité sans accord explicite utilisateur
Récupération (si bloqué)
- STOP immédiat (le forçage aggrave le blocage)
- Noter l’heure du blocage → respecter le délai minimum du tableau
- Après le délai : 1 seule tentative propre, puis re-STOP si échec
- Chercher un canal alternatif légitime (téléphone dans l’annonce, email officiel)
- Signaler à l’utilisateur : état, cause probable, prochaine fenêtre
Checklist avant chaque action sensible
- Délai aléatoire ≥ 1,5 s depuis la dernière action
- Un seul onglet du site cible ouvert
- Identifiants prêts (KeePass / ~/.automation/*.env), jamais tapés en double
- Mode « échauffement » : 1 page neutre (accueil) avant action sensible
- Pas de forçage si un garde-fou a déjà réagi (mail sécurité, erreur serveur)