5.5 KiB
Executable File
5.5 KiB
Executable File
📑 PriceWatch - Index des fichiers
Version : 0.1.0 | Date : 2026-01-13
Ce fichier liste tous les fichiers du projet avec leur description.
📚 Documentation (7 fichiers)
| Fichier | Description |
|---|---|
| README.md | Documentation principale du projet (installation, usage, architecture) |
| QUICKSTART.md | Guide de démarrage rapide (commandes essentielles) |
| CLAUDE.md | Guide pour futures instances de Claude Code |
| TODO.md | Roadmap du projet (Phases 1-5) |
| CHANGELOG.md | Historique des modifications (v0.1.0) |
| DELIVERY_SUMMARY.md | Récapitulatif complet de livraison Phase 1 |
| TEST_FILES_README.md | Guide des fichiers de test et maintenance sélecteurs |
| INDEX.md | Ce fichier - Index de tous les fichiers du projet |
⚙️ Configuration (4 fichiers)
| Fichier | Description |
|---|---|
| pyproject.toml | Configuration package Python + dépendances |
| scrap_url.yaml | Configuration de scraping (URLs + options) |
| .gitignore | Fichiers à ignorer par Git |
| PROJECT_SPEC.md | Spécifications détaillées originales (français) |
🧪 Tests (3 fichiers)
| Fichier | Description |
|---|---|
| test_amazon.json | Config de test Amazon (URLs, sélecteurs, valeurs attendues) |
| test_cdiscount.json | Config de test Cdiscount (URLs, sélecteurs, valeurs attendues) |
| test_selectors.py | Script de validation des sélecteurs |
🐍 Code source (18 modules Python)
Core (4 modules)
pricewatch/app/core/
├── schema.py Modèle ProductSnapshot (Pydantic) + validation
├── logging.py Système de logs colorés
├── io.py Lecture YAML / Écriture JSON + debug files
└── registry.py Détection automatique stores
Scraping (2 modules)
pricewatch/app/scraping/
├── http_fetch.py Récupération HTTP avec User-Agent rotation
└── pw_fetch.py Récupération Playwright (anti-bot)
Stores (8 modules)
pricewatch/app/stores/
├── base.py Classe abstraite BaseStore
├── amazon/
│ ├── store.py AmazonStore (match, parse, etc.)
│ ├── selectors.yml Sélecteurs CSS/XPath Amazon
│ └── fixtures/ Fixtures HTML (vide)
└── cdiscount/
├── store.py CdiscountStore (match, parse, etc.)
├── selectors.yml Sélecteurs CSS/XPath Cdiscount
└── fixtures/ Fixtures HTML (vide)
CLI (1 module)
pricewatch/app/cli/
└── main.py CLI Typer avec 5 commandes
Tests (structure)
tests/
├── core/ Tests core (à implémenter)
├── scraping/ Tests scraping (à implémenter)
└── stores/
├── amazon/ Tests Amazon (à implémenter)
└── cdiscount/ Tests Cdiscount (à implémenter)
📦 Dossiers générés
| Dossier | Description |
|---|---|
| venv/ | Environnement virtuel Python |
| scraped/ | HTML et screenshots de debug |
| pricewatch.egg-info/ | Métadonnées du package installé |
📄 Fichiers générés
| Fichier | Description |
|---|---|
| scraped_store.json | Résultats du scraping (généré par pricewatch run) |
🗺️ Guide de navigation
Pour démarrer rapidement
→ QUICKSTART.md
Pour comprendre l'architecture
→ README.md (section "Structure du projet") → CLAUDE.md (section "Architecture")
Pour les tests
→ TEST_FILES_README.md → test_amazon.json et test_cdiscount.json
Pour les prochaines étapes
→ TODO.md (Phases 2-5)
Pour l'historique
→ CHANGELOG.md
📊 Statistiques
Code Python : 2328 lignes
Modules Python : 18 fichiers
Documentation : 8 fichiers Markdown
Fichiers de test : 3 fichiers
Fichiers config : 4 fichiers
Stores supportés : 2 (Amazon, Cdiscount)
Commandes CLI : 5 commandes
🔍 Rechercher par fonctionnalité
Scraping
- HTTP →
pricewatch/app/scraping/http_fetch.py - Playwright →
pricewatch/app/scraping/pw_fetch.py - Fallback automatique →
pw_fetch.py(fonctionfetch_with_fallback)
Parsing
- Amazon →
pricewatch/app/stores/amazon/store.py - Cdiscount →
pricewatch/app/stores/cdiscount/store.py - Sélecteurs →
*/selectors.yml
Validation données
- Modèle →
pricewatch/app/core/schema.py - Enums →
schema.py(StockStatus, FetchMethod, DebugStatus)
Configuration
- YAML →
scrap_url.yaml(exemple) - Lecture →
pricewatch/app/core/io.py(fonctionread_yaml_config)
Logging
- Configuration →
pricewatch/app/core/logging.py - Utilisation →
get_logger("module.name")dans chaque module
CLI
- Point d'entrée →
pricewatch/app/cli/main.py - Script entry point →
pyproject.toml(section[project.scripts])
Tests
- Structure →
tests/(dossiers créés) - Fixtures →
stores/*/fixtures/(vides) - Validation sélecteurs →
test_selectors.py
🚀 Commandes essentielles
# Installation
source venv/bin/activate
pip install -e .
playwright install chromium
# Vérification
pricewatch doctor
# Tests
python test_selectors.py test_amazon.json
# Scraping
pricewatch run --yaml scrap_url.yaml --debug
# Voir les résultats
cat scraped_store.json | python -m json.tool
Dernière mise à jour : 2026-01-13 Phase actuelle : Phase 1 - CLI (✅ Complétée) Prochaine phase : Phase 2 - Base de données