codex
This commit is contained in:
91
CHANGELOG.md
91
CHANGELOG.md
@@ -9,9 +9,94 @@ Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/)
|
||||
## [Non publié]
|
||||
|
||||
### En cours
|
||||
- Ajout de fixtures HTML réalistes pour tests pytest
|
||||
- Tests stores/cdiscount/
|
||||
- Tests scraping/ avec mocks
|
||||
- Phase 2 : Base de données PostgreSQL
|
||||
- Phase 2 : Worker Redis/RQ
|
||||
- Phase 3 : API REST FastAPI
|
||||
- Phase 4 : Web UI
|
||||
|
||||
### Ajouté
|
||||
- Configuration Alembic (env.py, script.py.mako, alembic.ini)
|
||||
- Migration initiale SQLAlchemy (5 tables + indexes)
|
||||
- Commandes CLI DB: `init-db`, `migrate`, `upgrade`, `downgrade`
|
||||
- `docker-compose.yml` PostgreSQL/Redis
|
||||
- `.env.example` avec variables DB/Redis/app
|
||||
- Tests DB de base (models + connection)
|
||||
- Repository `ProductRepository` + `ScrapingPipeline`
|
||||
- Flag CLI `--save-db/--no-db` pour la persistence
|
||||
- Tests repository/pipeline (SQLite)
|
||||
- Test end-to-end CLI + DB (SQLite)
|
||||
- Worker RQ + scheduler (tasks + CLI)
|
||||
|
||||
---
|
||||
|
||||
## [0.3.0] - 2026-01-14 🎉 PHASE 1 TERMINÉE
|
||||
|
||||
### ✅ Phase 1 CLI complétée à 100%
|
||||
|
||||
**Résultat final**:
|
||||
- **295 tests passent** (100% de réussite)
|
||||
- **76% code coverage global**
|
||||
- **4 stores opérationnels** (Amazon, Cdiscount, Backmarket, AliExpress)
|
||||
|
||||
### Ajouté
|
||||
|
||||
#### Corrections et améliorations
|
||||
- **Amazon Store**: Correction extraction images avec fallback générique
|
||||
- **Amazon Store**: Support prix séparés en 2 spans (a-price-whole + a-price-fraction)
|
||||
|
||||
#### Tests complets ajoutés (177 nouveaux tests)
|
||||
- **tests/core/test_registry.py**: 40 tests (100% coverage)
|
||||
- 24 tests unitaires avec mocks
|
||||
- 16 tests d'intégration avec les 4 stores réels
|
||||
- Tests de détection automatique multi-stores
|
||||
- **tests/core/test_registry_integration.py**: Tests d'intégration stores
|
||||
- Vérification détection correcte pour Amazon, Cdiscount, Backmarket, AliExpress
|
||||
- Tests de priorité et exclusivité des matches
|
||||
- **tests/core/test_io.py**: 36 tests (97% coverage)
|
||||
- Tests ScrapingConfig/ScrapingOptions Pydantic
|
||||
- Tests read_yaml_config avec validation erreurs
|
||||
- Tests write_json_results et read_json_results
|
||||
- Tests save_debug_html et save_debug_screenshot
|
||||
- **tests/scraping/test_http_fetch.py**: 21 tests (100% coverage)
|
||||
- Tests fetch_http avec mocks requests
|
||||
- Tests codes HTTP (200, 403, 404, 429, 500+)
|
||||
- Tests timeout et exceptions réseau
|
||||
- Tests User-Agent rotation et headers personnalisés
|
||||
- **tests/scraping/test_pw_fetch.py**: 21 tests (91% coverage)
|
||||
- Tests fetch_playwright avec mocks Playwright
|
||||
- Tests modes headless/headful
|
||||
- Tests screenshot et wait_for_selector
|
||||
- Tests fetch_with_fallback (stratégie HTTP → Playwright)
|
||||
- Tests cleanup des ressources
|
||||
|
||||
### Statistiques détaillées
|
||||
|
||||
**Coverage par module**:
|
||||
| Module | Coverage | Tests |
|
||||
|--------|----------|-------|
|
||||
| core/schema.py | 100% | 29 |
|
||||
| core/registry.py | 100% | 40 |
|
||||
| core/io.py | 97% | 36 |
|
||||
| scraping/http_fetch.py | 100% | 21 |
|
||||
| scraping/pw_fetch.py | 91% | 21 |
|
||||
| stores/amazon/store.py | 89% | 33 |
|
||||
| stores/aliexpress/store.py | 85% | 32 |
|
||||
| stores/backmarket/store.py | 85% | 25 |
|
||||
| stores/cdiscount/store.py | 72% | 30 |
|
||||
| **TOTAL** | **76%** | **295** |
|
||||
|
||||
### Améliorations techniques
|
||||
- Architecture complètement testée avec mocks et fixtures
|
||||
- Tests d'intégration validant le fonctionnement end-to-end
|
||||
- Couverture de code élevée sur tous les modules critiques
|
||||
- Détection automatique de stores validée avec URLs réelles
|
||||
|
||||
### Prochaines étapes (Phase 2)
|
||||
Phase 1 CLI est maintenant **production-ready**. La Phase 2 peut démarrer:
|
||||
1. Base de données PostgreSQL + Alembic
|
||||
2. Worker Redis/RQ pour scraping planifié
|
||||
3. API REST FastAPI
|
||||
4. Web UI responsive avec dark theme Gruvbox
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user