Files
suivi_produit/README.md
2026-01-18 12:22:43 +01:00

49 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# suivi_produit
Suite self-hosted pour suivre les prix et l'état des produits Amazon.fr (et autres stores à venir).
## Structure
- `backend/` : API FastAPI + scraper Playwright + persistance SQLite
- `frontend/` : SPA Gruvbox dark pour afficher les vignettes, graphiques et logs
- `docker/` : fichiers nécessaires pour docker-compose + builds
- `docs/`, `TODO.md`, `CHANGELOG.md`, `kanban.md` : documentation et suivi
## Objectif MVP
1. CRUD produits + historique des snapshots
2. Scraper Amazon via Playwright avec logs et artifacts
3. Interface responsive avec vignettes & graphique 30j
4. Configuration JSON frontend/backend rangée dans le repo
5. Docker Compose + scheduler interne pour lancer les scrapes
## Environnement
1. Copier `cp .env.example .env` avant tout lancement backend/tests.
2. Activer le venv :
- `source .venv/bin/activate`
- ou `poetry shell`
3. `poetry install` (backend)
4. `npm install` (frontend, à compléter)
## Tests
- Toujours exécuter `poetry run pytest` dans lenvironnement `.env` avant un `docker compose up`.
- Test scraper en CLI (Playwright) :
- `SCRAPE_TEST_MAX=0 .venv/bin/poetry run python backend/app/scraper/run_scrape_tests.py`
- Optionnel (ouvrir le navigateur si blocage) :
- `SCRAPE_TEST_HEADFUL_ON_BLOCK=1 SCRAPE_TEST_MAX=0 .venv/bin/poetry run python backend/app/scraper/run_scrape_tests.py`
## Audit code (imports / code mort)
- Installer les outils (dans le venv) :
- `.venv/bin/pip install ruff vulture coverage pip-check-reqs pyright`
- Lancer laudit :
- `.venv/bin/ruff check backend/`
- `.venv/bin/vulture backend/`
- `.venv/bin/pip-check-reqs backend/`
- `.venv/bin/coverage run -m pytest`
- `.venv/bin/coverage report -m`
## Déploiement
1. `docker compose up --build` (à configurer)
## Notes
- Le scraping est volontairement lent (15-20 produits/jour) pour éviter le blocage.
- Le raw JSON est conservé pendant 30 jours dans `backend/data/raw`.