58e9aa14295dec73c05584c2cacccbe58748be80
- Ajout des champs a_propos, description, carateristique, details au modèle ProductSnapshot - Sérialisation JSON pour les listes et dictionnaires - Modification du CRUD pour stocker/lire les données étendues - Modification du runner pour passer les données lors du scrape - AddProductModal envoie les données étendues lors de la création - La base SQLite doit être recréée (suppression de suivi.db) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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 SQLitefrontend/: SPA Gruvbox dark pour afficher les vignettes, graphiques et logsdocker/: fichiers nécessaires pour docker-compose + buildsdocs/,TODO.md,CHANGELOG.md,kanban.md: documentation et suivi
Objectif MVP
- CRUD produits + historique des snapshots
- Scraper Amazon via Playwright avec logs et artifacts
- Interface responsive avec vignettes & graphique 30j
- Configuration JSON frontend/backend rangée dans le repo
- Docker Compose + scheduler interne pour lancer les scrapes
Environnement
- Copier
cp .env.example .envavant tout lancement backend/tests. - Activer le venv :
source .venv/bin/activate- ou
poetry shell
poetry install(backend)npm install(frontend, à compléter)
Tests
- Toujours exécuter
poetry run pytestdans l’environnement.envavant undocker 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 l’audit :
.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
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.
Description
Languages
JavaScript
44%
Python
38.9%
SCSS
16.4%
HTML
0.7%