# 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)
