Entropyk/_bmad-output/implementation-artifacts/11-11-vendor-backend-trait.md

76 lines
1.7 KiB
Markdown

# Story 11.11: VendorBackend Trait
**Epic:** 11 - Advanced HVAC Components
**Priorité:** P1-HIGH
**Estimation:** 4h
**Statut:** backlog
**Dépendances:** Aucune
---
## Story
> En tant que développeur librairie,
> Je veux un trait VendorBackend,
> Afin de pouvoir charger les données de plusieurs fournisseurs.
---
## Contexte
Les fabricants (Copeland, Danfoss, SWEP, Bitzer) fournissent des données pour:
- Coefficients compresseurs (AHRI 540)
- Paramètres géométriques et UA des échangeurs
---
## Trait VendorBackend
```rust
pub trait VendorBackend: Send + Sync {
fn vendor_name(&self) -> &str;
fn list_compressor_models(&self) -> Result<Vec<String>, VendorError>;
fn get_compressor_coefficients(&self, model: &str) -> Result<CompressorCoefficients, VendorError>;
fn list_bphx_models(&self) -> Result<Vec<String>, VendorError>;
fn get_bphx_parameters(&self, model: &str) -> Result<BphxParameters, VendorError>;
fn compute_ua(&self, model: &str, params: &UaCalcParams) -> Result<f64, VendorError>;
}
```
---
## Architecture
```
entropyk-vendors/
├── Cargo.toml
├── data/
│ ├── copeland/
│ ├── danfoss/
│ ├── swep/
│ └── bitzer/
└── src/
├── lib.rs
├── vendor_api.rs
└── compressors/
```
---
## Critères d'Acceptation
- [ ] Trait VendorBackend défini
- [ ] CompressorCoefficients struct (10 coeffs AHRI)
- [ ] BphxParameters struct (geometry, UA)
- [ ] VendorError enum
- [ ] Crate `entropyk-vendors` créé
---
## Références
- [Epic 11 Technical Specifications](../planning-artifacts/epic-11-technical-specifications.md)