Files
wiki/Catalogue-Self-Hosted/apps/app-faridoon.md
T
2026-06-09 18:40:21 +02:00

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
catalogue
tracking
prix
shopping
django
python
medium false
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é)

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

Pages Liées