104 lines
4.1 KiB
Markdown
104 lines
4.1 KiB
Markdown
---
|
|
title: Faridoon
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, tracking, prix, shopping, django, python]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/, https://github.com/code-and-panel/faridoon]
|
|
---
|
|
|
|
# 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é)
|
|
```yaml
|
|
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
|
|
1. Pré-requis : Python 3.11+, Redis 7+, SQLite (par défaut) ou PostgreSQL.
|
|
2. Cloner : `git clone https://github.com/code-and-panel/faridoon.git`
|
|
3. `cd faridoon && pip install -r requirements.txt`
|
|
4. `python manage.py migrate`
|
|
5. Lancer Celery beat + worker pour les scrapes périodiques.
|
|
6. 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 `.env` pour 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_KEY`** impé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
|
|
|
|
## Pages Liées
|
|
- [[cat-tracking]]
|
|
- [[recettes-docker-compose]]
|