@open3cl/engine 1.5.0 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -23
- package/engine.js +8 -3
- package/index.js +1 -9
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -51,8 +51,7 @@ Implémentation open source du moteur Open3CL de l'ADEME.
|
|
|
51
51
|
## A propos du projet
|
|
52
52
|
|
|
53
53
|
Open3CL est une librairie JavaScript open source, spécialement conçue pour faciliter le calcul des Diagnostics de
|
|
54
|
-
Performance Énergétique (DPE).
|
|
55
|
-
Elle implémente la norme définie
|
|
54
|
+
Performance Énergétique (DPE). Elle implémente la norme définie
|
|
56
55
|
dans [l'annexe 1 de l'arrêté du 31 mars 2021](https://rt-re-batiment.developpement-durable.gouv.fr/IMG/pdf/consolide_annexe_1_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf).
|
|
57
56
|
Elle est destinée aux développeurs qui souhaitent intégrer des calculs énergétiques précis et conformes à la
|
|
58
57
|
réglementation dans leurs applications.
|
|
@@ -74,9 +73,9 @@ Vous devez d'abord installer [NodeJS](https://nodejs.org/en) en version 20 ou su
|
|
|
74
73
|
## Démonstration
|
|
75
74
|
|
|
76
75
|
Il est possible d'analyser un dpe pour tester la lib
|
|
77
|
-
Open3CL: [https://open3cl.github.io/engine](https://open3cl.github.io/engine/build/).
|
|
78
|
-
|
|
79
|
-
|
|
76
|
+
Open3CL: [https://open3cl.github.io/engine](https://open3cl.github.io/engine/build/). Un dpe au format XML peut être
|
|
77
|
+
chargé, il sera envoyé à la lib Open3CL. Un visuel permet de voir les informations du dpe d'origine ainsi que du dpe en
|
|
78
|
+
sortie de la lib ainsi qu'un différentiel.
|
|
80
79
|
|
|
81
80
|
C'est un bon moyen de détecter un éventuel problème dans le dpe ou la librairie.
|
|
82
81
|
|
|
@@ -105,7 +104,7 @@ const dpeData = {
|
|
|
105
104
|
description: 'Chaudière individuelle gaz standard',
|
|
106
105
|
surface_chauffee: 49.96,
|
|
107
106
|
generateur_chauffage_collection: {
|
|
108
|
-
generateur_chauffage: [{
|
|
107
|
+
generateur_chauffage: [{description: '...'}]
|
|
109
108
|
}
|
|
110
109
|
}
|
|
111
110
|
]
|
|
@@ -115,10 +114,10 @@ const dpeData = {
|
|
|
115
114
|
|
|
116
115
|
// Execution d'un dpe avec la librairie Open3CL avec pré-transformation / nettoyage du dpe (comportement par défaut)
|
|
117
116
|
const result = calcul_3cl(dpeData);
|
|
118
|
-
const result = calcul_3cl(dpeData, {
|
|
117
|
+
const result = calcul_3cl(dpeData, {sanitize: true});
|
|
119
118
|
|
|
120
119
|
// Execution d'un dpe avec la librairie Open3CL sans pré-transformation / nettoyage du dpe
|
|
121
|
-
const result = calcul_3cl(dpeData, {
|
|
120
|
+
const result = calcul_3cl(dpeData, {sanitize: false});
|
|
122
121
|
|
|
123
122
|
// Execution d'un dpe au format xml avec la librairie Open3CL avec pré-transformation / nettoyage du dpe (comportement par défaut)
|
|
124
123
|
const result = calcul_3cl_xml('<xml><dpe><numero_dpe>2113E1018248X</numero_dpe></dpe</xml>');
|
|
@@ -175,8 +174,8 @@ Les tests de corpus consistent à analyser une liste de numéro de DPE présent
|
|
|
175
174
|
|
|
176
175
|
### Qu'est-ce qui est contrôlé ?
|
|
177
176
|
|
|
178
|
-
Les informations contrôlées et qui doivent obligatoirement ne pas dépasser
|
|
179
|
-
le
|
|
177
|
+
Les informations contrôlées et qui doivent obligatoirement ne pas dépasser le seuil des **5%** entre le dpe d'origine et
|
|
178
|
+
le dpe proposé par la librairie Open3CL sont :
|
|
180
179
|
|
|
181
180
|
- logement.sortie.ef_conso.conso_ecs
|
|
182
181
|
- logement.sortie.ef_conso.conso_ch
|
|
@@ -207,8 +206,8 @@ Il existe actuellement 9 corpus (avec 10000 dpe analysés dans chaque corpus) :
|
|
|
207
206
|
- `npm run test:corpus:all`: Joue l'intégralité des corpus et génère les rapports associés.
|
|
208
207
|
- `npm run test:corpus`. Joue le corpus [corpus_dpe.csv](test/corpus/files/corpus_dpe.csv) et génère les rapports
|
|
209
208
|
associés.
|
|
210
|
-
- `npm run test:corpus -- corpus-file-path=corpus.csv`. Chemin relatif vers le fichier de corpus à analyser
|
|
211
|
-
|
|
209
|
+
- `npm run test:corpus -- corpus-file-path=corpus.csv`. Chemin relatif vers le fichier de corpus à analyser Par défaut,
|
|
210
|
+
le corpus utilisé est présent ici : [test/corpus/corpus_dpe.csv](test/corpus/files/corpus_dpe.csv)
|
|
212
211
|
- `npm run test:corpus -- dpes-folder-path=/home/user/dpes`. Chemin vers le dossier ou les DPE seront téléchargés. Si un
|
|
213
212
|
fichier DPE est déjà présent dans ce dossier, il ne sera pas retéléchargé.
|
|
214
213
|
- `npm run test:corpus -- dpes-code=2592E1233185X`. Execution du corpus sur le dpe spécifié.
|
|
@@ -330,20 +329,29 @@ Résultats des tests de corpus avec le mode de compatibilité activé.
|
|
|
330
329
|
| 1.4.4 | dpe_immeuble_chauffage_collectif.csv | 6149 | 61% | |
|
|
331
330
|
| 1.4.4 | dpe_immeuble_chauffage_mixte.csv | 4805 | 48% | |
|
|
332
331
|
| 1.4.4 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2755 | 27% | |
|
|
332
|
+
| <ins>**1.4.5**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4582 (+22)**<ins> | <ins>**46% (+1%)**<ins> | |
|
|
333
|
+
| 1.4.5 | dpe_logement_individuel_2025.csv | 8790 (+71) | 88% (+1%) | |
|
|
334
|
+
| 1.4.5 | dpe_maison_individuelle_2025.csv | 8791 (+76) | 88% (+1%) | |
|
|
335
|
+
| 1.4.5 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 9143 (+73) | 91% | |
|
|
336
|
+
| 1.4.5 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6836 (+33) | 68% | |
|
|
337
|
+
| 1.4.5 | dpe_immeuble_chauffage_individuel.csv | 7371 (+51) | 74% (+1%) | |
|
|
338
|
+
| 1.4.5 | dpe_immeuble_chauffage_collectif.csv | 6155 (+6) | 61% | |
|
|
339
|
+
| 1.4.5 | dpe_immeuble_chauffage_mixte.csv | 4816 (+11S) | 48% | |
|
|
340
|
+
| 1.4.5 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2755 | 27% | |
|
|
333
341
|
|
|
334
342
|
</details>
|
|
335
343
|
|
|
336
|
-
| Version librairie
|
|
337
|
-
|
|
|
338
|
-
| <ins>**1.
|
|
339
|
-
| 1.
|
|
340
|
-
| 1.
|
|
341
|
-
| 1.
|
|
342
|
-
| 1.
|
|
343
|
-
| 1.
|
|
344
|
-
| 1.
|
|
345
|
-
| 1.
|
|
346
|
-
| 1.
|
|
344
|
+
| Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
|
|
345
|
+
| :------------------- | -------------------------------------------------------- | ------------------------------ | ----------------- | ----------- |
|
|
346
|
+
| <ins>**1.5.1 **<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4582**<ins> | <ins>**46%**<ins> | |
|
|
347
|
+
| 1.5.1 | dpe_logement_individuel_2025.csv | 8790 | 88% | |
|
|
348
|
+
| 1.5.1 | dpe_maison_individuelle_2025.csv | 8791 | 88% | |
|
|
349
|
+
| 1.5.1 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 9143 | 91% | |
|
|
350
|
+
| 1.5.1 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6836 | 68% | |
|
|
351
|
+
| 1.5.1 | dpe_immeuble_chauffage_individuel.csv | 7371 | 74% | |
|
|
352
|
+
| 1.5.1 | dpe_immeuble_chauffage_collectif.csv | 6155 | 61% | |
|
|
353
|
+
| 1.5.1 | dpe_immeuble_chauffage_mixte.csv | 4816 | 48% | |
|
|
354
|
+
| 1.5.1 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2755 | 27% | |
|
|
347
355
|
|
|
348
356
|
## Roadmap
|
|
349
357
|
|
package/engine.js
CHANGED
|
@@ -31,7 +31,7 @@ import getFicheTechnique from './ficheTechnique.js';
|
|
|
31
31
|
import { ProductionENR } from './16.2_production_enr.js';
|
|
32
32
|
import DpeSanitizerService from './dpe-sanitizer.service.js';
|
|
33
33
|
|
|
34
|
-
const LIB_VERSION = '1.5.
|
|
34
|
+
const LIB_VERSION = '1.5.2';
|
|
35
35
|
|
|
36
36
|
const dpeSanitizerService = new DpeSanitizerService();
|
|
37
37
|
|
|
@@ -673,10 +673,15 @@ export function get_classe_ges_dpe(dpe) {
|
|
|
673
673
|
* {@link https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000054747079}
|
|
674
674
|
*
|
|
675
675
|
* @param dpe {FullDpe}
|
|
676
|
-
* @returns {{
|
|
676
|
+
* @returns {{ep_conso_5_usages_2027: number; ep_conso_5_usages_m2_2027: number; classe_bilan_dpe_2027: string}}
|
|
677
677
|
*/
|
|
678
678
|
export function get_conso_coeff_1_7_2027(dpe) {
|
|
679
|
-
|
|
679
|
+
const coeff = get_conso_with_coeff(dpe, 0.7 / 0.9);
|
|
680
|
+
return {
|
|
681
|
+
classe_bilan_dpe_2027: coeff.classe_bilan_dpe,
|
|
682
|
+
ep_conso_5_usages_m2_2027: coeff.ep_conso_5_usages_m2,
|
|
683
|
+
ep_conso_5_usages_2027: coeff.ep_conso_5_usages
|
|
684
|
+
};
|
|
680
685
|
}
|
|
681
686
|
|
|
682
687
|
/**
|
package/index.js
CHANGED
|
@@ -2,17 +2,9 @@ import {
|
|
|
2
2
|
calcul_3cl,
|
|
3
3
|
calcul_3cl_xml,
|
|
4
4
|
get_classe_ges_dpe,
|
|
5
|
-
get_conso_coeff_1_9_2026,
|
|
6
5
|
get_conso_coeff_1_7_2027,
|
|
7
6
|
getVersion
|
|
8
7
|
} from './engine.js';
|
|
9
|
-
export {
|
|
10
|
-
calcul_3cl,
|
|
11
|
-
calcul_3cl_xml,
|
|
12
|
-
get_classe_ges_dpe,
|
|
13
|
-
get_conso_coeff_1_9_2026,
|
|
14
|
-
get_conso_coeff_1_7_2027,
|
|
15
|
-
getVersion
|
|
16
|
-
};
|
|
8
|
+
export { calcul_3cl, calcul_3cl_xml, get_classe_ges_dpe, get_conso_coeff_1_7_2027, getVersion };
|
|
17
9
|
import { Umur, Uph, Upb, Uporte, Ubv, Upt } from './3_deperdition.js';
|
|
18
10
|
export { Umur, Uph, Upb, Uporte, Ubv, Upt };
|