79 lines
1.5 KiB
Markdown
79 lines
1.5 KiB
Markdown
# 🌡️ CONCEPT: ZONE_CLIMATIQUE
|
|
|
|
## 📌 Vue d'ensemble
|
|
|
|
Le concept **ZONE_CLIMATIQUE** gère les zones climatiques pour adapter les matériaux et techniques de construction.
|
|
|
|
**Importance**: ⭐ (Concept spécialisé)
|
|
|
|
---
|
|
|
|
## 🗂️ Fichiers concernés
|
|
|
|
### **Entités JPA**
|
|
| Fichier | Description |
|
|
|---------|-------------|
|
|
| `ZoneClimatique.java` | Zone climatique |
|
|
| `TypeZoneClimatique.java` | Enum types |
|
|
| `NiveauHumidite.java` | Enum niveaux humidité |
|
|
|
|
---
|
|
|
|
## 📊 Modèle de données
|
|
|
|
```java
|
|
@Entity
|
|
@Table(name = "zones_climatiques")
|
|
public class ZoneClimatique extends PanacheEntityBase {
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.UUID)
|
|
private UUID id;
|
|
|
|
@Column(name = "nom", nullable = false)
|
|
private String nom;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(name = "type")
|
|
private TypeZoneClimatique type;
|
|
|
|
@Column(name = "temperature_min")
|
|
private BigDecimal temperatureMin;
|
|
|
|
@Column(name = "temperature_max")
|
|
private BigDecimal temperatureMax;
|
|
|
|
@Enumerated(EnumType.STRING)
|
|
@Column(name = "niveau_humidite")
|
|
private NiveauHumidite niveauHumidite;
|
|
}
|
|
```
|
|
|
|
### **Enum TypeZoneClimatique**
|
|
|
|
```java
|
|
public enum TypeZoneClimatique {
|
|
OCEANIQUE,
|
|
CONTINENTAL,
|
|
MEDITERRANEEN,
|
|
MONTAGNARD,
|
|
TROPICAL
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 🔌 API REST
|
|
|
|
### **Endpoints**
|
|
|
|
| Méthode | Endpoint | Description |
|
|
|---------|----------|-------------|
|
|
| GET | `/api/v1/zones-climatiques` | Liste zones |
|
|
| GET | `/api/v1/zones-climatiques/{id}` | Détails |
|
|
|
|
---
|
|
|
|
**Dernière mise à jour**: 2025-09-30
|
|
**Version**: 1.0
|
|
|