Initial vault setup
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user