4.1 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Faridoon | 2026-06-07 | 2026-06-07 | app |
|
medium | false |
|
Faridoon 💰
Un tracker de prix de produits en ligne, qui historise les variations tarifaires et notifie quand un produit atteint le prix voulu.
| Métadonnée | Valeur |
|---|---|
| Site web | https://faridoon.codeandpanel.com/ |
| GitHub | https://github.com/code-and-panel/faridoon |
| License | MIT |
| Langage principal | Python (Django) |
| Étoiles GitHub | ⭐2 |
| Dernière MAJ | 2025-09-14 |
| Catégorie | cat-tracking |
Description
Faridoon est un suivi de prix minimaliste : on ajoute l'URL d'une fiche produit (Amazon, Cdiscount, Fnac, sites persos…), on indique le prix cible, et l'application scrape périodiquement la page pour historiser l'évolution. Quand le prix réel passe sous la cible, l'utilisateur est alerté par notification web ou par email.
Le projet est écrit en Django côté backend avec un frontend sobre. L'architecture repose sur des tâches planifiées (Celery + Redis) qui exécutent les scrapers — l'auteur fournit des sélecteurs CSS pour quelques sites populaires, mais on peut en ajouter manuellement.
⚠️ Projet très jeune (⭐2 seulement, bus factor 1 — un seul mainteneur). Le code est fonctionnel mais le rythme de publication est lent, et la roadmap n'est pas très claire. À considérer comme un POC intéressant ou une base à forker, plutôt que comme une solution de production à long terme. Pour un usage critique, préférer des alternatives plus matures.
Installation
Via Docker (recommandé)
services:
faridoon:
container_name: faridoon
image: ghcr.io/code-and-panel/faridoon:latest
restart: unless-stopped
ports:
- "8086:8086"
environment:
- DJANGO_SECRET_KEY=changez-moi
- DATABASE_URL=sqlite:///data/faridoon.db
- REDIS_URL=redis://redis:6379/0
- SCRAPE_INTERVAL_HOURS=6
volumes:
- faridoon-data:/data
depends_on:
redis:
condition: service_healthy
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
faridoon-data:
Installation manuelle
- Pré-requis : Python 3.11+, Redis 7+, SQLite (par défaut) ou PostgreSQL.
- Cloner :
git clone https://github.com/code-and-panel/faridoon.git cd faridoon && pip install -r requirements.txtpython manage.py migrate- Lancer Celery beat + worker pour les scrapes périodiques.
- Servir via Gunicorn derrière Nginx.
Configuration
- Créer le super-utilisateur :
python manage.py createsuperuser. - Configurer les scrapers dans
scrapers/sites.yaml(sélecteurs CSS par site). - Définir l'intervalle de scrape via
SCRAPE_INTERVAL_HOURS(par défaut 6h). - Configurer le SMTP dans
.envpour les alertes email. - Activer/désactiver les notifications web push via VAPID keys.
Alternatives
Open source
- PriceTrack — équivalent plus mature (Ruby on Rails)
- CamelCamelCamel — mais Amazon-only et non self-hosted
- app-domainmod — focus gestion de domaines et d'expirations, pas de prix
Propriétaires
- Keepa — tracker de prix Amazon de référence, freemium
- CamelCamelCamel — gratuit pour Amazon US/UK, pas self-hostable
Sécurité
- Changer
DJANGO_SECRET_KEYimpérativement. - Scraping : attention aux CGU des sites ciblés — Faridoon est conçu pour un usage personnel, pas pour de la revente de données.
- Rate-limit les requêtes sortantes pour ne pas se faire bannir par les sites marchands.
- En production : HTTPS obligatoire (reverse proxy Traefik/Caddy).
- Sauvegardes : la base SQLite + le dossier de configuration suffisent.
Ressources
- Site officiel : https://faridoon.codeandpanel.com/
- Dépôt GitHub : https://github.com/code-and-panel/faridoon
- Issues : https://github.com/code-and-panel/faridoon/issues