100 lines
2.7 KiB
Markdown
100 lines
2.7 KiB
Markdown
````markdown
|
|
# API Diagramme PH - Projet Complet
|
|
|
|
> API REST pour la génération de diagrammes Pression-Enthalpie (PH) et calculs thermodynamiques frigorifiques avancés
|
|
|
|
[](https://www.python.org/)
|
|
[](https://fastapi.tiangolo.com/)
|
|
[](https://www.docker.com/)
|
|
[](https://aws.amazon.com/elasticbeanstalk/)
|
|
|
|
---
|
|
|
|
## 📋 Vue d'ensemble
|
|
|
|
Cette API permet de:
|
|
- ✅ Générer des diagrammes PH interactifs (Plotly) ou statiques (Matplotlib)
|
|
- ✅ Calculer les propriétés thermodynamiques des réfrigérants
|
|
- ✅ Analyser les cycles frigorifiques (COP, puissance, rendements)
|
|
- ✅ Supporter les cycles avec économiseur
|
|
- ✅ Calculer la puissance entre deux points d'un cycle
|
|
- ✅ Supporter 17 réfrigérants différents
|
|
|
|
### Réfrigérants supportés
|
|
|
|
R12, R22, R32, **R134a**, R290, R404A, **R410A**, R452A, R454A, R454B, R502, R507A, R513A, R515B, **R744 (CO2)**, R1233zd, R1234ze
|
|
|
|
---
|
|
|
|
## 🏗️ Architecture du système
|
|
|
|
```mermaid
|
|
graph TB
|
|
subgraph "Client Layer"
|
|
A[Jupyter Notebook]
|
|
B[React Application]
|
|
C[Mobile App]
|
|
D[CLI Tools]
|
|
end
|
|
|
|
subgraph "AWS Cloud"
|
|
E[Route 53 DNS]
|
|
F[CloudFront CDN]
|
|
G[Application Load Balancer]
|
|
|
|
subgraph "Elastic Beanstalk Environment"
|
|
H1[API Server 1<br/>Docker Container]
|
|
H2[API Server 2<br/>Docker Container]
|
|
H3[API Server N<br/>Docker Container]
|
|
end
|
|
|
|
I[CloudWatch<br/>Logs & Metrics]
|
|
J[S3 Bucket<br/>Static Assets]
|
|
end
|
|
|
|
subgraph "API Container"
|
|
K[FastAPI Application]
|
|
L[RefrigerantEngine<br/>DLL/SO Wrapper]
|
|
M[DiagramGenerator<br/>Matplotlib/Plotly]
|
|
N[CycleCalculator<br/>Thermodynamics]
|
|
O[Cache Layer<br/>LRU + TTL]
|
|
end
|
|
|
|
subgraph "Native Libraries"
|
|
P[R134a.so]
|
|
Q[R410A.so]
|
|
R[refifc.so]
|
|
S[Other refrigerants...]
|
|
end
|
|
|
|
A & B & C & D --> E
|
|
E --> F
|
|
F --> G
|
|
G --> H1 & H2 & H3
|
|
H1 & H2 & H3 --> I
|
|
H1 & H2 & H3 -.-> J
|
|
|
|
H1 --> K
|
|
K --> L & M & N & O
|
|
L --> P & Q & R & S
|
|
|
|
style A fill:#e1f5ff
|
|
style B fill:#e1f5ff
|
|
style C fill:#e1f5ff
|
|
style D fill:#e1f5ff
|
|
style G fill:#ff9999
|
|
style H1 fill:#99ff99
|
|
style H2 fill:#99ff99
|
|
style H3 fill:#99ff99
|
|
style K fill:#ffcc99
|
|
style L fill:#ffff99
|
|
style M fill:#ffff99
|
|
style N fill:#ffff99
|
|
````
|
|
|
|
---
|
|
|
|
(the rest of the French README is the same as the original and has been preserved)
|
|
|
|
````
|