@open3cl/engine 1.4.2 → 1.4.4

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.
@@ -190,8 +190,22 @@ function rg_accumulateur_gaz(di, besoin_ecs) {
190
190
  );
191
191
  }
192
192
 
193
- function rgrsReseauUrbain(de) {
194
- if (de.reseau_distribution_isole === 1) {
193
+ function rgrsReseauUrbain(de, ecs_de) {
194
+ /**
195
+ * Le rendement de génération d'un réseau de chaleur dépend de son caractère isolé ou non.
196
+ * D'après la spécification 3CL-DPE, le type de RCU est porté par enum_type_generateur_ecs_id :
197
+ * - 72 : "Réseau de chaleur non isolé" -> 0.75
198
+ * - 73 : "Réseau de chaleur isolé" -> 0.9
199
+ */
200
+ if (de.enum_type_generateur_ecs_id === '73') {
201
+ return 0.9;
202
+ }
203
+ /**
204
+ * Pour les autres générateurs assimilés à un réseau de chaleur (ex : installation
205
+ * collective multi-bâtiment modélisée comme un réseau de chaleur), on retombe sur
206
+ * l'indicateur reseau_distribution_isole de l'installation ECS s'il est renseigné.
207
+ */
208
+ if (ecs_de && ecs_de.reseau_distribution_isole === 1) {
195
209
  return 0.9;
196
210
  }
197
211
  return 0.75;
@@ -295,8 +309,8 @@ export default function calc_gen_ecs(dpe, gen_ecs, ecs_di, ecs_de, GV, ca_id, zc
295
309
  }
296
310
  }
297
311
 
298
- di.rendement_generation_stockage = rgrsReseauUrbain(ecs_de);
299
- di.rendement_generation_stockage_depensier = rgrsReseauUrbain(ecs_de);
312
+ di.rendement_generation_stockage = rgrsReseauUrbain(de, ecs_de);
313
+ di.rendement_generation_stockage_depensier = rgrsReseauUrbain(de, ecs_de);
300
314
 
301
315
  Iecs = 1 / di.rendement_generation_stockage;
302
316
  Iecs_dep = 1 / di.rendement_generation_stockage_depensier;
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
- gen_recup += calc_Qrec_gen_j(gen_ch, nref19, Bch_hp_j);
141
- gen_recup_dep += calc_Qrec_gen_j(gen_ch, nref21, Bch_hp_j_dep);
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
@@ -136,7 +136,12 @@ const result = calcul_3cl_xml('<xml><dpe><numero_dpe>2113E1018248X</numero_dpe><
136
136
  | ADEME_API_CLIENT_SECRET | Client secret pour l'api de l'ademe |
137
137
  | MAX_WORKER_THREADS | Nombre de threads maximum pour les tests de corpus, par défaut: os.availableParallelism \* 1.5 |
138
138
  | WORKER_THREADS_CHUNKS | Nombre de dpe à analyser par thread, par défaut: 200 |
139
- | API_ADEME_DOWNLOAD_WAIT | Temps d'attente en ms entre chaque dpe à télécharger via l'api de l'ademe, par défaut: 1s |
139
+ | DOWNLOAD_DPE_WAIT | Temps d'attente en ms entre chaque dpe à télécharge, par défaut: 1s |
140
+ | SCW_ACCESS_KEY | Client id pour l'api scaleway |
141
+ | SCW_SECRET_KEY | Client secret pour l'api scaleway |
142
+ | S3_REGION | Region du bucket S3 dans lequel sont sauvegardés les DPE |
143
+ | S3_ENDPOINT | Url du endpoint du bucket S3 dans lequel sont sauvegardés les DPE |
144
+ | DOWNLOAD_DPE_WAIT | Temps d'attente en ms entre chaque dpe à télécharge, par défaut: 1s |
140
145
 
141
146
  Attention aux quotas sur l'api:
142
147
 
@@ -175,7 +180,7 @@ le seuil des **5%** entre le dpe d'origine et le dpe proposé par la librairie O
175
180
 
176
181
  ### Liste des corpus
177
182
 
178
- Il existe actuellement 8 corpus (avec 10000 dpe analysés dans chaque corpus) :
183
+ Il existe actuellement 9 corpus (avec 10000 dpe analysés dans chaque corpus) :
179
184
 
180
185
  - `corpus.csv`: Corpus généraliste
181
186
  - `dpe_logement_individuel_2025.csv`: Corpus avec uniquement des dpe individuels réalisés en 2025
@@ -189,6 +194,8 @@ Il existe actuellement 8 corpus (avec 10000 dpe analysés dans chaque corpus) :
189
194
  - `dpe_immeuble_chauffage_collectif.csv`: Corpus avec uniquement des dpe immeuble pour des logements avec chauffage
190
195
  collectif
191
196
  - `dpe_immeuble_chauffage_mixte.csv`: Corpus avec uniquement des dpe immeuble pour des logements avec chauffage mixte
197
+ - `dpe_individuel_a_partir_dpe_immeuble_2026.csv`: Corpus avec uniquement des dpe individuels réalisés à partir du dpe
198
+ immeuble en 2026
192
199
 
193
200
  ### Comment lancer les corpus ?
194
201
 
@@ -276,27 +283,44 @@ Résultats des tests de corpus avec le mode de compatibilité activé.
276
283
  | 1.3.21 | dpe_immeuble_chauffage_individuel.csv | 7144 (+38) | 71% | |
277
284
  | 1.3.21 | dpe_immeuble_chauffage_collectif.csv | 6144 (+61) | 61% | |
278
285
  | 1.3.21 | dpe_immeuble_chauffage_mixte.csv | 4760 (+9) | 47% | |
286
+ | 1.3.25 | dpe_logement_individuel_2025.csv | 8512 (+8) | 85% | |
287
+ | 1.3.25 | dpe_maison_individuelle_2025.csv | 8674 (+22) | 87% (+1%) | |
288
+ | 1.3.25 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 (+3) | 86% | |
289
+ | 1.3.25 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 (-1) | 67% | Dpe erronés enlevés du corpus |
290
+ | 1.3.25 | dpe_immeuble_chauffage_individuel.csv | 7142 (-2) | 71% | Dpe erronés enlevés du corpus |
291
+ | 1.3.25 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | |
292
+ | 1.3.25 | dpe_immeuble_chauffage_mixte.csv | 4758 (-2) | 47% | Dpe erronés enlevés du corpus |
293
+ | <ins>**1.4.0**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> | <ins>**45%**<ins> | Maj coeff electricité (janvier 2026) |
294
+ | 1.4.0 | dpe_logement_individuel_2025.csv | 8512 | 85% | Maj coeff electricité (janvier 2026) |
295
+ | 1.4.0 | dpe_maison_individuelle_2025.csv | 8674 | 87% | Maj coeff electricité (janvier 2026) |
296
+ | 1.4.0 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 | 86% | Maj coeff electricité (janvier 2026) |
297
+ | 1.4.0 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 | 67% | Maj coeff electricité (janvier 2026) |
298
+ | 1.4.0 | dpe_immeuble_chauffage_individuel.csv | 7142 | 71% | Maj coeff electricité (janvier 2026) |
299
+ | 1.4.0 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | Maj coeff electricité (janvier 2026) |
300
+ | 1.4.0 | dpe_immeuble_chauffage_mixte.csv | 4758 | 47% | Maj coeff electricité (janvier 2026) |
301
+ | <ins>**1.4.2**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> | <ins>**45%**<ins> | |
302
+ | 1.4.2 | dpe_logement_individuel_2025.csv | 8512 | 85% | |
303
+ | 1.4.2 | dpe_maison_individuelle_2025.csv | 8674 | 87% | |
304
+ | 1.4.2 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 | 86% | |
305
+ | 1.4.2 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 | 67% | |
306
+ | 1.4.2 | dpe_immeuble_chauffage_individuel.csv | 7143 | 71% | |
307
+ | 1.4.2 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | |
308
+ | 1.4.2 | dpe_immeuble_chauffage_mixte.csv | 4758 | 47% | |
309
+ | 1.4.2 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2757 | 27% | |
279
310
 
280
311
  </details>
281
312
 
282
- | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
283
- | :------------------- | -------------------------------------------------------- | ------------------------------ | ----------------- | ------------------------------------ |
284
- | <ins>**1.3.25**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> (+2) | <ins>**45%**<ins> | |
285
- | 1.3.25 | dpe_logement_individuel_2025.csv | 8512 (+8) | 85% | |
286
- | 1.3.25 | dpe_maison_individuelle_2025.csv | 8674 (+22) | 87% (+1%) | |
287
- | 1.3.25 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 8581 (+3) | 86% | |
288
- | 1.3.25 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6680 (-1) | 67% | Dpe erronés enlevés du corpus |
289
- | 1.3.25 | dpe_immeuble_chauffage_individuel.csv | 7142 (-2) | 71% | Dpe erronés enlevés du corpus |
290
- | 1.3.25 | dpe_immeuble_chauffage_collectif.csv | 6144 | 61% | |
291
- | 1.3.25 | dpe_immeuble_chauffage_mixte.csv | 4758 (-2) | 47% | Dpe erronés enlevés du corpus |
292
- | <ins>**1.4.0**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4515**<ins> | <ins>**45%**<ins> | Maj coeff electricité (janvier 2026) |
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) |
313
+ | Version librairie | corpus | Nb en dessous du taux d'erreur | Taux de réussite | Description |
314
+ | :------------------ | -------------------------------------------------------- | ------------------------------ | ----------------- | ----------- |
315
+ | <ins>**1.4.3**<ins> | <ins>**corpus_dpe.csv**<ins> | <ins>**4556 (+41)**<ins> | <ins>**45%**<ins> | |
316
+ | 1.4.3 | dpe_logement_individuel_2025.csv | 8716 (+204) | 87% (+2%) | |
317
+ | 1.4.3 | dpe_maison_individuelle_2025.csv | 8715 (+39) | 87% | |
318
+ | 1.4.3 | dpe_appartement_individuel_chauffage_individuel_2025.csv | 9070 (+489) | 91% (+5%) | |
319
+ | 1.4.3 | dpe_appartement_individuel_chauffage_collectif_2025.csv | 6804 (+124) | 68% (+1%) | |
320
+ | 1.4.3 | dpe_immeuble_chauffage_individuel.csv | 7320 (+177) | 73% (+2%) | |
321
+ | 1.4.3 | dpe_immeuble_chauffage_collectif.csv | 6149 (+5) | 61% | |
322
+ | 1.4.3 | dpe_immeuble_chauffage_mixte.csv | 4805 (+47) | 48% | |
323
+ | 1.4.3 | dpe_individuel_a_partir_dpe_immeuble_2026.csv | 2755 (-2) | 27% | |
300
324
 
301
325
  ## Roadmap
302
326
 
package/engine.js CHANGED
@@ -28,7 +28,7 @@ import getFicheTechnique from './ficheTechnique.js';
28
28
  import { ProductionENR } from './16.2_production_enr.js';
29
29
  import DpeSanitizerService from './dpe-sanitizer.service.js';
30
30
 
31
- const LIB_VERSION = '1.4.2';
31
+ const LIB_VERSION = '1.4.4';
32
32
 
33
33
  const dpeSanitizerService = new DpeSanitizerService();
34
34
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.4.2",
3
+ "version": "1.4.4",
4
4
  "description": "Open Source 3CL-DPE engine",
5
5
  "main": "index.js",
6
6
  "directories": {
@@ -46,6 +46,7 @@
46
46
  "winston": "3.13.0"
47
47
  },
48
48
  "devDependencies": {
49
+ "@aws-sdk/client-s3": "^3.1013.0",
49
50
  "@commitlint/cli": "^19.2.1",
50
51
  "@commitlint/config-conventional": "^19.1.0",
51
52
  "@commitlint/cz-commitlint": "^19.2.0",