@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 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
- Un dpe au format XML peut être chargé, il sera envoyé à la lib Open3CL. Un visuel permet de voir les informations
79
- du dpe d'origine ainsi que du dpe en sortie de la lib ainsi qu'un différentiel.
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: [{ description: '...' }]
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, { sanitize: true });
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, { sanitize: false });
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 seuil des **5%** entre le dpe d'origine et le dpe proposé par la librairie Open3CL sont :
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
- Par défaut, le corpus utilisé est présent ici : [test/corpus/corpus_dpe.csv](test/corpus/files/corpus_dpe.csv)
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 | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
337
- | :------------------ | -------------------------------------------------------- | ------------------------------ | ----------------------- | ----------- |
338
- | <ins>**1.4.5**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4582 (+22)**<ins> | <ins>**46% (+1%)**<ins> | |
339
- | 1.4.5 | dpe_logement_individuel_2025.csv | 8790 (+71) | 88% (+1%) | |
340
- | 1.4.5 | dpe_maison_individuelle_2025.csv | 8791 (+76) | 88% (+1%) | |
341
- | 1.4.5 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 9143 (+73) | 91% | |
342
- | 1.4.5 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6836 (+33) | 68% | |
343
- | 1.4.5 | dpe_immeuble_chauffage_individuel.csv | 7371 (+51) | 74% (+1%) | |
344
- | 1.4.5 | dpe_immeuble_chauffage_collectif.csv | 6155 (+6) | 61% | |
345
- | 1.4.5 | dpe_immeuble_chauffage_mixte.csv | 4816 (+11S) | 48% | |
346
- | 1.4.5 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2755 | 27% | |
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.0';
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 {{ep_conso_5_usages: number; ep_conso_5_usages_m2: number; classe_bilan_dpe: string}}
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
- return get_conso_with_coeff(dpe, 0.7 / 0.9);
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "Open Source 3CL-DPE engine",
5
5
  "main": "index.js",
6
6
  "directories": {