đź“– Manuel d'utilisation

Resell Radar

Comment installer, configurer et utiliser Resell Radar — du premier lancement aux alertes Telegram en passant par le dashboard de suivi.

Développeur / utilisateur personnel
Python 3.10+, Telegram, eBay API
01 — Installation

Installation

  1. 1

    Cloner le repo

    git clone https://github.com/Sayfouche/resell-radar.git
    cd resell-radar
  2. 2

    Créer l'environnement virtuel

    python -m venv .venv
    source .venv/bin/activate   # macOS/Linux
    # ou : .venv\Scripts\activate  # Windows
  3. 3

    Installer les dépendances

    pip install -r requirements.txt
    playwright install chromium
  4. 4

    Configurer les variables d'environnement

    Copier .env.example en .env et remplir les clés (voir section Configuration).

02 — Configuration

Configuration

Toute la configuration se fait dans le fichier .env Ă  la racine du projet.

Clés requises

VariableDescription
TELEGRAM_BOT_TOKENToken du bot Telegram (obtenu via @BotFather)
TELEGRAM_CHAT_IDID du chat/canal de réception des alertes
EBAY_APP_IDClé API eBay Browse (gratuite, developer.ebay.com)
MISTRAL_API_KEYClé API Mistral (génération messages de négociation)

Paramètres optionnels

VariableDéfautRôle
SCORE_THRESHOLD70Seuil d'alerte Telegram
AUTH_THRESHOLD50Score authenticité minimum
PIPELINE_INTERVAL_MINUTES15Fréquence du pipeline
MAX_ITEMS_PER_RUN—Limite d'annonces par cycle
⚠️

Ne jamais committer le fichier .env — il est dans .gitignore.

03 — Lancement

Lancer le pipeline

Mode automatique (recommandé)

Lance le scheduler APScheduler qui exécute le pipeline toutes les N minutes en continu :

python main.py

Mode one-shot

Exécute le pipeline une seule fois et s'arrête :

python main.py --once

Dashboard uniquement

streamlit run dashboard/app.py
âś…

Au premier lancement, la base SQLite est créée automatiquement. Aucune migration manuelle nécessaire.

04 — Alertes Telegram

Lire une alerte Telegram

Chaque deal qualifié génère une alerte structurée dans ton canal Telegram.

Exemple d'alerte Telegram

🔥 Nike Air Force 1 — Taille 42
Prix annoncé : 45 € · Prix marché eBay : 90 €
État : Très Bon État · Marque : Premium (Nike)
Score opportunité : 82/100 · Authenticité : 88/100
📎 Voir l'annonce →

Comprendre les scores

⚠️

Un score d'authenticité entre 50 et 80 (⚠️) invite à vérifier avant achat — photos, description, prix marché. Ne jamais acheter sans vérification physique.

05 — Dashboard Streamlit

Dashboard Streamlit

Le dashboard local permet de consulter et filtrer toutes les annonces collectées, pas seulement celles alertées sur Telegram.

Accès local : http://localhost:8501 après streamlit run dashboard/app.py

06 — Négociation

Messages de négociation

Pour chaque deal qualifié, Resell Radar génère automatiquement un message de négociation adapté.

Exemple de message généré par Mistral

"Bonjour, je suis intéressé par votre article. Seriez-vous prêt à le céder à 37 € ? Je suis disponible rapidement. Merci !"

ℹ️

Le message est proposé, pas envoyé automatiquement. Tu copies-colles dans la plateforme. Le ton est naturel et adapté (Vinted vs Leboncoin).

Si Mistral est indisponible, un template de repli statique est utilisé automatiquement — le pipeline ne s'arrête pas.

07 — Seuils

Régler les seuils

Les seuils contrôlent ce qui déclenche une alerte Telegram. Ajuste-les dans le fichier .env.

SituationAction
Trop d'alertesAugmenter SCORE_THRESHOLD (ex: 75 au lieu de 70)
Trop peu d'alertesBaisser SCORE_THRESHOLD (ex: 60)
Trop de suspects dans les alertesAugmenter AUTH_THRESHOLD (ex: 65)
Alertes trop espacéesRéduire PIPELINE_INTERVAL_MINUTES (ex: 10)
âś…

Les annonces avec score < SCORE_THRESHOLD restent visibles dans le dashboard Streamlit même si elles ne génèrent pas d'alerte Telegram.

08 — Marques

Ajouter des marques

Les marques surveillées et leur catégorie sont configurées dans config/brands.py :

BRANDS = {
    "ultra_premium": ["Hermès", "Louis Vuitton", "Chanel", "Dior"],
    "premium": ["Nike", "Adidas", "Stone Island", "Ralph Lauren"],
}

Ajouter une marque dans la catégorie appropriée pour qu'elle soit prise en compte dans le score métier (ultra_premium = 10 pts, premium = 6 pts).

09 — FAQ

FAQ

Le pipeline ne trouve pas d'annonces
Vérifier que Playwright est installé (playwright install chromium) et que les marques surveillées ont des annonces disponibles sur la plateforme configurée.
Les alertes Telegram n'arrivent pas
Vérifier TELEGRAM_BOT_TOKEN et TELEGRAM_CHAT_ID dans .env. S'assurer que le bot a été démarré dans le canal (/start).
Erreur eBay API
Le prix marché eBay est optionnel : si l'API est indisponible ou non configurée, le score de marge est dégradé mais le pipeline continue de fonctionner.
Mistral indisponible
Resell Radar bascule automatiquement sur un template de négociation statique. Aucune interruption du pipeline.
Comment voir tous les deals, même ceux non alertés ?
Ouvrir le dashboard Streamlit (streamlit run dashboard/app.py) et utiliser les filtres pour ajuster le seuil de score manuellement.
âś…

Resell Radar est conçu pour fonctionner de manière résiliente même si certains services externes sont indisponibles.