@open3cl/engine 1.4.1 → 1.4.3
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/9_besoin_ch.js +7 -3
- package/README.md +28 -19
- package/dpe-sanitizer.service.js +1 -1
- package/engine.js +12 -2
- package/package.json +1 -1
- package/utils.js +12 -0
package/9_besoin_ch.js
CHANGED
|
@@ -4,7 +4,7 @@ import { calc_besoin_ecs_j } from './11_besoin_ecs.js';
|
|
|
4
4
|
import { calc_Qrec_gen_j } from './9_generateur_ch.js';
|
|
5
5
|
import { calc_ai_j, calc_as_j } from './6.1_apport_gratuit.js';
|
|
6
6
|
import { calc_sse_j } from './6.2_surface_sud_equivalente.js';
|
|
7
|
-
import { mois_liste } from './utils.js';
|
|
7
|
+
import { bug_for_bug_compat, mois_liste } from './utils.js';
|
|
8
8
|
|
|
9
9
|
export default function calc_besoin_ch(
|
|
10
10
|
ilpa,
|
|
@@ -137,8 +137,12 @@ export default function calc_besoin_ch(
|
|
|
137
137
|
let gen_recup_dep = 0;
|
|
138
138
|
|
|
139
139
|
gen_ch_recup.forEach((gen_ch) => {
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
let ratio = 1;
|
|
141
|
+
if (bug_for_bug_compat) {
|
|
142
|
+
ratio = 1000;
|
|
143
|
+
}
|
|
144
|
+
gen_recup += calc_Qrec_gen_j(gen_ch, nref19, Bch_hp_j) / ratio;
|
|
145
|
+
gen_recup_dep += calc_Qrec_gen_j(gen_ch, nref21, Bch_hp_j_dep) / ratio;
|
|
142
146
|
});
|
|
143
147
|
|
|
144
148
|
pertes_generateur_ch_recup += gen_recup;
|
package/README.md
CHANGED
|
@@ -175,7 +175,7 @@ le seuil des **5%** entre le dpe d'origine et le dpe proposé par la librairie O
|
|
|
175
175
|
|
|
176
176
|
### Liste des corpus
|
|
177
177
|
|
|
178
|
-
Il existe actuellement
|
|
178
|
+
Il existe actuellement 9 corpus (avec 10000 dpe analysés dans chaque corpus) :
|
|
179
179
|
|
|
180
180
|
- `corpus.csv`: Corpus généraliste
|
|
181
181
|
- `dpe_logement_individuel_2025.csv`: Corpus avec uniquement des dpe individuels réalisés en 2025
|
|
@@ -189,6 +189,7 @@ Il existe actuellement 8 corpus (avec 10000 dpe analysés dans chaque corpus) :
|
|
|
189
189
|
- `dpe_immeuble_chauffage_collectif.csv`: Corpus avec uniquement des dpe immeuble pour des logements avec chauffage
|
|
190
190
|
collectif
|
|
191
191
|
- `dpe_immeuble_chauffage_mixte.csv`: Corpus avec uniquement des dpe immeuble pour des logements avec chauffage mixte
|
|
192
|
+
- `dpe_individuel_a_partir_dpe_immeuble_2026.csv`: Corpus avec uniquement des dpe individuels réalisés à partir du dpe immeuble en 2026
|
|
192
193
|
|
|
193
194
|
### Comment lancer les corpus ?
|
|
194
195
|
|
|
@@ -276,27 +277,35 @@ Résultats des tests de corpus avec le mode de compatibilité activé.
|
|
|
276
277
|
| 1.3.21 | dpe_immeuble_chauffage_individuel.csv | 7144 (+38) | 71% | |
|
|
277
278
|
| 1.3.21 | dpe_immeuble_chauffage_collectif.csv | 6144 (+61) | 61% | |
|
|
278
279
|
| 1.3.21 | dpe_immeuble_chauffage_mixte.csv | 4760 (+9) | 47% | |
|
|
280
|
+
| 1.3.25 | dpe_logement_individuel_2025.csv | 8512 (+8) | 85% | |
|
|
281
|
+
| 1.3.25 | dpe_maison_individuelle_2025.csv | 8674 (+22) | 87% (+1%) | |
|
|
282
|
+
| 1.3.25 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 (+3) | 86% | |
|
|
283
|
+
| 1.3.25 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 (-1) | 67% | Dpe erronés enlevés du corpus |
|
|
284
|
+
| 1.3.25 | dpe_immeuble_chauffage_individuel.csv | 7142 (-2) | 71% | Dpe erronés enlevés du corpus |
|
|
285
|
+
| 1.3.25 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | |
|
|
286
|
+
| 1.3.25 | dpe_immeuble_chauffage_mixte.csv | 4758 (-2) | 47% | Dpe erronés enlevés du corpus |
|
|
287
|
+
| <ins>**1.4.0**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> | <ins>**45%**<ins> | Maj coeff electricité (janvier 2026) |
|
|
288
|
+
| 1.4.0 | dpe_logement_individuel_2025.csv | 8512 | 85% | Maj coeff electricité (janvier 2026) |
|
|
289
|
+
| 1.4.0 | dpe_maison_individuelle_2025.csv | 8674 | 87% | Maj coeff electricité (janvier 2026) |
|
|
290
|
+
| 1.4.0 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 | 86% | Maj coeff electricité (janvier 2026) |
|
|
291
|
+
| 1.4.0 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 | 67% | Maj coeff electricité (janvier 2026) |
|
|
292
|
+
| 1.4.0 | dpe_immeuble_chauffage_individuel.csv | 7142 | 71% | Maj coeff electricité (janvier 2026) |
|
|
293
|
+
| 1.4.0 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | Maj coeff electricité (janvier 2026) |
|
|
294
|
+
| 1.4.0 | dpe_immeuble_chauffage_mixte.csv | 4758 | 47% | Maj coeff electricité (janvier 2026) |
|
|
279
295
|
|
|
280
296
|
</details>
|
|
281
297
|
|
|
282
|
-
| Version librairie
|
|
283
|
-
|
|
|
284
|
-
| <ins>**1.
|
|
285
|
-
| 1.
|
|
286
|
-
| 1.
|
|
287
|
-
| 1.
|
|
288
|
-
| 1.
|
|
289
|
-
| 1.
|
|
290
|
-
| 1.
|
|
291
|
-
| 1.
|
|
292
|
-
|
|
|
293
|
-
| 1.4.0 | dpe_logement_individuel_2025.csv | 8512 | 85% | Maj coeff electricité (janvier 2026) |
|
|
294
|
-
| 1.4.0 | dpe_maison_individuelle_2025.csv | 8674 | 87% | Maj coeff electricité (janvier 2026) |
|
|
295
|
-
| 1.4.0 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 | 86% | Maj coeff electricité (janvier 2026) |
|
|
296
|
-
| 1.4.0 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 | 67% | Maj coeff electricité (janvier 2026) |
|
|
297
|
-
| 1.4.0 | dpe_immeuble_chauffage_individuel.csv | 7142 | 71% | Maj coeff electricité (janvier 2026) |
|
|
298
|
-
| 1.4.0 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | Maj coeff electricité (janvier 2026) |
|
|
299
|
-
| 1.4.0 | dpe_immeuble_chauffage_mixte.csv | 4758 | 47% | Maj coeff electricité (janvier 2026) |
|
|
298
|
+
| Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
|
|
299
|
+
| :------------------ | -------------------------------------------------------- | ------------------------------ | ----------------- | ----------- |
|
|
300
|
+
| <ins>**1.4.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> | <ins>**45%**<ins> | |
|
|
301
|
+
| 1.4.2 | dpe_logement_individuel_2025.csv | 8512 | 85% | |
|
|
302
|
+
| 1.4.2 | dpe_maison_individuelle_2025.csv | 8674 | 87% | |
|
|
303
|
+
| 1.4.2 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 | 86% | |
|
|
304
|
+
| 1.4.2 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 | 67% | |
|
|
305
|
+
| 1.4.2 | dpe_immeuble_chauffage_individuel.csv | 7143 | 71% | |
|
|
306
|
+
| 1.4.2 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | |
|
|
307
|
+
| 1.4.2 | dpe_immeuble_chauffage_mixte.csv | 4758 | 47% | |
|
|
308
|
+
| 1.4.2 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2757 | 27% | |
|
|
300
309
|
|
|
301
310
|
## Roadmap
|
|
302
311
|
|
package/dpe-sanitizer.service.js
CHANGED
package/engine.js
CHANGED
|
@@ -19,6 +19,8 @@ import {
|
|
|
19
19
|
collectionCanBeEmpty,
|
|
20
20
|
containsAnySubstring,
|
|
21
21
|
isEffetJoule,
|
|
22
|
+
use_enum_as_string,
|
|
23
|
+
useEnumAsString,
|
|
22
24
|
xmlParser
|
|
23
25
|
} from './utils.js';
|
|
24
26
|
import { Inertie } from './7_inertie.js';
|
|
@@ -26,7 +28,7 @@ import getFicheTechnique from './ficheTechnique.js';
|
|
|
26
28
|
import { ProductionENR } from './16.2_production_enr.js';
|
|
27
29
|
import DpeSanitizerService from './dpe-sanitizer.service.js';
|
|
28
30
|
|
|
29
|
-
const LIB_VERSION = '1.4.
|
|
31
|
+
const LIB_VERSION = '1.4.3';
|
|
30
32
|
|
|
31
33
|
const dpeSanitizerService = new DpeSanitizerService();
|
|
32
34
|
|
|
@@ -66,7 +68,15 @@ export function calcul_3cl_xml(dpeXmlContent, options) {
|
|
|
66
68
|
*/
|
|
67
69
|
export function calcul_3cl(inputDpe, options) {
|
|
68
70
|
if (!options) options = { sanitize: true };
|
|
69
|
-
|
|
71
|
+
let dpe;
|
|
72
|
+
if (options.sanitize) {
|
|
73
|
+
dpe = dpeSanitizerService.execute(inputDpe);
|
|
74
|
+
} else {
|
|
75
|
+
dpe = inputDpe;
|
|
76
|
+
if (use_enum_as_string) {
|
|
77
|
+
useEnumAsString(inputDpe);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
70
80
|
const modele = enums.modele_dpe[dpe.administratif.enum_modele_dpe_id];
|
|
71
81
|
const dateDpe = dpe.administratif.date_etablissement_dpe;
|
|
72
82
|
if (modele !== 'dpe 3cl 2021 méthode logement') {
|
package/package.json
CHANGED
package/utils.js
CHANGED
|
@@ -39,6 +39,18 @@ export function set_bug_for_bug_compat() {
|
|
|
39
39
|
bug_for_bug_compat = true;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
+
export function useEnumAsString(jsonObj) {
|
|
43
|
+
for (const key in jsonObj) {
|
|
44
|
+
if (jsonObj.hasOwnProperty(key)) {
|
|
45
|
+
if (key.startsWith('enum_')) {
|
|
46
|
+
if (jsonObj[key] !== null) jsonObj[key] = jsonObj[key].toString();
|
|
47
|
+
} else if (typeof jsonObj[key] === 'object') {
|
|
48
|
+
useEnumAsString(jsonObj[key]);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
42
54
|
export let use_enum_as_string = false;
|
|
43
55
|
export function set_use_enum_as_string() {
|
|
44
56
|
use_enum_as_string = true;
|