@open3cl/engine 1.11.2 → 1.11.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.
@@ -1,63 +1,22 @@
1
- import { DE } from './dpe.model';
2
-
3
- export interface PlancherBas {
4
- donnee_entree?: PlancherBasDE;
5
- donnee_intermediaire?: PlancherBasDI;
6
- }
7
-
8
- export interface PlancherHaut {
9
- donnee_entree?: PlancherHautDE;
10
- donnee_intermediaire?: PlancherHautDI;
11
- }
12
-
13
- export interface PlancherDE extends DE {
14
- reference_lnc?: string;
15
- tv_coef_reduction_deperdition_id?: string; // TV
16
- surface_aiu?: number;
17
- surface_aue?: number;
18
- enum_cfg_isolation_lnc_id?: string; // ENUM cfg_isolation_lnc
19
- enum_type_adjacence_id?: string; // ENUM type_adjacence
20
- surface_paroi_opaque?: number;
21
- enum_methode_saisie_u0_id?: string; // ENUM methode_saisie_u0
22
-
23
- enum_type_isolation_id?: string; // ENUM type_isolation
24
- enum_periode_isolation_id?: string; // ENUM periode_isolation
25
- resistance_isolation?: number;
26
- epaisseur_isolation?: number;
27
- enum_methode_saisie_u_id?: string; // ENUM methode_saisie_u
28
- }
29
-
30
- export interface PlancherDI {
31
- b: number;
32
- }
33
-
34
- export interface PlancherBasDE extends PlancherDE {
35
- upb0_saisi?: number;
36
- tv_upb0_id?: string; // TV
37
- enum_type_plancher_bas_id?: string; // ENUM type_plancher_bas
38
- upb_saisi?: number;
39
- tv_upb_id?: string; // TV
40
- calcul_ue: number;
41
- perimetre_ue?: number;
42
- surface_ue?: number;
43
- ue?: number;
44
- }
45
-
46
- export interface PlancherBasDI extends PlancherDI {
47
- upb: number;
48
- upb0: number;
49
- upb_final: number;
50
- }
51
-
52
- export interface PlancherHautDE extends PlancherDE {
53
- uph0_saisi?: number;
54
- tv_uph0_id?: string; // TV
55
- enum_type_plancher_haut_id?: string; // ENUM type_plancher_bas
56
- uph_saisi?: number;
57
- tv_uph_id?: string; // TV
58
- }
59
-
60
- export interface PlancherHautDI extends PlancherDI {
61
- uph: number;
62
- uph0: number;
63
- }
1
+ // Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
2
+ // à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
3
+ import type {
4
+ XsdLogementEnveloppePlancherBas,
5
+ XsdLogementEnveloppePlancherBasDonneeEntree,
6
+ XsdLogementEnveloppePlancherBasDonneeIntermediaire,
7
+ XsdLogementEnveloppePlancherHaut,
8
+ XsdLogementEnveloppePlancherHautDonneeEntree,
9
+ XsdLogementEnveloppePlancherHautDonneeIntermediaire
10
+ } from './dpe-xsd.generated';
11
+
12
+ export type PlancherBas = XsdLogementEnveloppePlancherBas;
13
+ export type PlancherBasDE = XsdLogementEnveloppePlancherBasDonneeEntree;
14
+ export type PlancherBasDI = XsdLogementEnveloppePlancherBasDonneeIntermediaire;
15
+ export type PlancherHaut = XsdLogementEnveloppePlancherHaut;
16
+ export type PlancherHautDE = XsdLogementEnveloppePlancherHautDonneeEntree;
17
+ export type PlancherHautDI = XsdLogementEnveloppePlancherHautDonneeIntermediaire;
18
+
19
+ /** @deprecated Les DE bas/haut sont désormais distincts dans le XSD. */
20
+ export type PlancherDE = PlancherBasDE | PlancherHautDE;
21
+ /** @deprecated */
22
+ export type PlancherDI = PlancherBasDI | PlancherHautDI;
@@ -1,21 +1,11 @@
1
- import { DE } from './dpe.model';
1
+ // Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
2
+ // à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
3
+ import type {
4
+ XsdLogementEnveloppePontThermique,
5
+ XsdLogementEnveloppePontThermiqueDonneeEntree,
6
+ XsdLogementEnveloppePontThermiqueDonneeIntermediaire
7
+ } from './dpe-xsd.generated';
2
8
 
3
- export interface PontThermique {
4
- donnee_entree?: PontThermiqueDE;
5
- donnee_intermediaire?: PontThermiqueDI;
6
- }
7
-
8
- export interface PontThermiqueDE extends DE {
9
- reference_1?: string;
10
- reference_2?: string;
11
- tv_pont_thermique_id?: number; // TV
12
- pourcentage_valeur_pont_thermique: number;
13
- l: number;
14
- enum_methode_saisie_pont_thermique_id: number; // ENUM methode_saisie_pont_thermique
15
- enum_type_liaison_id: number; // ENUM type_liaison
16
- k_saisi?: number;
17
- }
18
-
19
- export interface PontThermiqueDI {
20
- k: number;
21
- }
9
+ export type PontThermique = XsdLogementEnveloppePontThermique;
10
+ export type PontThermiqueDE = XsdLogementEnveloppePontThermiqueDonneeEntree;
11
+ export type PontThermiqueDI = XsdLogementEnveloppePontThermiqueDonneeIntermediaire;
@@ -1,31 +1,11 @@
1
- import { DE } from './dpe.model';
1
+ // Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
2
+ // à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
3
+ import type {
4
+ XsdLogementEnveloppePorte,
5
+ XsdLogementEnveloppePorteDonneeEntree,
6
+ XsdLogementEnveloppePorteDonneeIntermediaire
7
+ } from './dpe-xsd.generated';
2
8
 
3
- export interface Porte {
4
- donnee_entree?: PorteDE;
5
- donnee_intermediaire?: PorteDI;
6
- }
7
-
8
- export interface PorteDE extends DE {
9
- reference_paroi?: string;
10
- reference_lnc?: string;
11
- enum_cfg_isolation_lnc_id?: number; // ENUM cfg_isolation_lnc
12
- enum_type_adjacence_id?: number; // ENUM type_adjacence
13
- tv_coef_reduction_deperdition_id?: number; // TV
14
- surface_aiu?: number;
15
- surface_aue?: number;
16
- surface_porte?: number;
17
- tv_uporte_id?: number; // TV
18
- enum_methode_saisie_uporte_id?: number; // ENUM methode_saisie_uporte
19
- enum_type_porte_id?: number; // ENUM type_porte
20
- uporte_saisi?: number;
21
- nb_porte?: number;
22
- largeur_dormant?: number;
23
- presence_retour_isolation?: boolean;
24
- presence_joint?: boolean;
25
- enum_type_pose_id?: number; // ENUM type_pose
26
- }
27
-
28
- export interface PorteDI {
29
- uporte: number;
30
- b: number;
31
- }
9
+ export type Porte = XsdLogementEnveloppePorte;
10
+ export type PorteDE = XsdLogementEnveloppePorteDonneeEntree;
11
+ export type PorteDI = XsdLogementEnveloppePorteDonneeIntermediaire;
@@ -1,27 +1,13 @@
1
- import { DE } from './dpe.model';
2
-
3
- export interface ProductionElecEnr {
4
- donnee_entree?: ProductionElecEnrDE;
5
- donnee_intermediaire?: ProductionElecEnrDI;
6
- panneaux_pv_collection?: PanneauFv[];
7
- }
8
-
9
- export interface ProductionElecEnrDE extends DE {
10
- presence_production_pv: boolean;
11
- enum_type_enr_id: number;
12
- }
13
-
14
- export interface ProductionElecEnrDI {
15
- taux_autoproduction?: number;
16
- production_pv: number;
17
- conso_elec_ac: number;
18
- }
19
-
20
- export interface PanneauFv {
21
- surface_totale_capteurs?: number;
22
- ratio_virtualisation?: number;
23
- nombre_module?: number;
24
- tv_coef_orientation_pv_id?: number;
25
- enum_orientation_pv_id?: number;
26
- enum_inclinaison_pv_id?: number;
27
- }
1
+ // Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
2
+ // à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
3
+ import type {
4
+ XsdLogementProductionElecEnr,
5
+ XsdLogementProductionElecEnrDonneeEntree,
6
+ XsdLogementProductionElecEnrDonneeIntermediaire,
7
+ XsdLogementProductionElecEnrPanneauxPv
8
+ } from './dpe-xsd.generated';
9
+
10
+ export type ProductionElecEnr = XsdLogementProductionElecEnr;
11
+ export type ProductionElecEnrDE = XsdLogementProductionElecEnrDonneeEntree;
12
+ export type ProductionElecEnrDI = XsdLogementProductionElecEnrDonneeIntermediaire;
13
+ export type PanneauFv = XsdLogementProductionElecEnrPanneauxPv;
@@ -1,178 +1,34 @@
1
- export interface Sortie {
2
- deperdition: Deperdition;
3
- apport_et_besoin: ApportEtBesoin;
4
- ef_conso: EfConso;
1
+ // Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
2
+ // à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
3
+ import type {
4
+ XsdLogementSortie,
5
+ XsdLogementSortieApportEtBesoin,
6
+ XsdLogementSortieConfortEte,
7
+ XsdLogementSortieCout,
8
+ XsdLogementSortieDeperdition,
9
+ XsdLogementSortieEfConso,
10
+ XsdLogementSortieEmissionGes,
11
+ XsdLogementSortieEpConso,
12
+ XsdLogementSortieProductionElectricite,
13
+ XsdLogementSortieQualiteIsolation,
14
+ XsdLogementSortieSortieParEnergie
15
+ } from './dpe-xsd.generated';
16
+
17
+ export interface Sortie extends Omit<XsdLogementSortie, 'ep_conso'> {
5
18
  ep_conso: EpConso;
6
- emission_ges: EmissionGes;
7
- cout: Cout;
8
- production_electricite: ProductionElectricite;
9
- sortie_par_energie_collection: { sortie_par_energie: SortieParEnergie[] };
10
- confort_ete?: ConfortEte;
11
- qualite_isolation: QualiteIsolation;
12
- }
13
-
14
- export interface Deperdition {
15
- hvent: number;
16
- hperm: number;
17
- deperdition_renouvellement_air: number;
18
- deperdition_mur: number;
19
- deperdition_plancher_bas: number;
20
- deperdition_plancher_haut: number;
21
- deperdition_baie_vitree: number;
22
- deperdition_porte: number;
23
- deperdition_pont_thermique: number;
24
- deperdition_enveloppe: number;
25
- }
26
-
27
- export interface ApportEtBesoin {
28
- surface_sud_equivalente: number;
29
- apport_solaire_fr: number;
30
- apport_interne_fr: number;
31
- apport_solaire_ch: number;
32
- apport_interne_ch: number;
33
- fraction_apport_gratuit_ch: number;
34
- fraction_apport_gratuit_depensier_ch: number;
35
- pertes_distribution_ecs_recup: number;
36
- pertes_distribution_ecs_recup_depensier: number;
37
- pertes_stockage_ecs_recup: number;
38
- pertes_generateur_ch_recup: number;
39
- pertes_generateur_ch_recup_depensier: number;
40
- nadeq: number;
41
- v40_ecs_journalier: number;
42
- v40_ecs_journalier_depensier: number;
43
- besoin_ch: number;
44
- besoin_ch_depensier: number;
45
- besoin_ecs: number;
46
- besoin_ecs_depensier: number;
47
- besoin_fr: number;
48
- besoin_fr_depensier: number;
49
- }
50
-
51
- export interface EfConso {
52
- conso_ch: number;
53
- conso_ch_depensier: number;
54
- conso_ecs: number;
55
- conso_ecs_depensier: number;
56
- conso_eclairage: number;
57
- conso_auxiliaire_generation_ch: number;
58
- conso_auxiliaire_generation_ch_depensier: number;
59
- conso_auxiliaire_distribution_ch: number;
60
- conso_auxiliaire_generation_ecs: number;
61
- conso_auxiliaire_generation_ecs_depensier: number;
62
- conso_auxiliaire_distribution_ecs: number;
63
- conso_auxiliaire_distribution_fr?: number;
64
- conso_auxiliaire_ventilation: number;
65
- conso_totale_auxiliaire: number;
66
- conso_fr: number;
67
- conso_fr_depensier: number;
68
- conso_5_usages: number;
69
- conso_5_usages_m2: number;
70
- }
71
-
72
- export interface EpConso {
73
- ep_conso_ch: number;
74
- ep_conso_ch_depensier: number;
75
- ep_conso_ecs: number;
76
- ep_conso_ecs_depensier: number;
77
- ep_conso_eclairage: number;
78
- ep_conso_auxiliaire_generation_ch: number;
79
- ep_conso_auxiliaire_generation_ch_depensier: number;
80
- ep_conso_auxiliaire_distribution_ch: number;
81
- ep_conso_auxiliaire_generation_ecs: number;
82
- ep_conso_auxiliaire_generation_ecs_depensier: number;
83
- ep_conso_auxiliaire_distribution_ecs: number;
84
- ep_conso_auxiliaire_distribution_fr?: number;
85
- ep_conso_auxiliaire_ventilation: number;
86
- ep_conso_totale_auxiliaire: number;
87
- ep_conso_fr: number;
88
- ep_conso_fr_depensier: number;
89
- ep_conso_5_usages: number;
90
- ep_conso_5_usages_m2: number;
91
- classe_bilan_dpe: string;
92
- }
93
-
94
- export interface EmissionGes {
95
- emission_ges_ch: number;
96
- emission_ges_ch_depensier: number;
97
- emission_ges_ecs: number;
98
- emission_ges_ecs_depensier: number;
99
- emission_ges_eclairage: number;
100
- emission_ges_auxiliaire_generation_ch: number;
101
- emission_ges_auxiliaire_generation_ch_depensier: number;
102
- emission_ges_auxiliaire_distribution_ch: number;
103
- emission_ges_auxiliaire_generation_ecs: number;
104
- emission_ges_auxiliaire_generation_ecs_depensier: number;
105
- emission_ges_auxiliaire_distribution_ecs: number;
106
- emission_ges_auxiliaire_distribution_fr?: number;
107
- emission_ges_auxiliaire_ventilation: number;
108
- emission_ges_totale_auxiliaire: number;
109
- emission_ges_fr: number;
110
- emission_ges_fr_depensier: number;
111
- emission_ges_5_usages: number;
112
- emission_ges_5_usages_m2: number;
113
- classe_emission_ges: string;
114
- }
115
-
116
- export interface Cout {
117
- cout_ch: number;
118
- cout_ch_depensier: number;
119
- cout_ecs: number;
120
- cout_ecs_depensier: number;
121
- cout_eclairage: number;
122
- cout_auxiliaire_generation_ch: number;
123
- cout_auxiliaire_generation_ch_depensier: number;
124
- cout_auxiliaire_distribution_ch: number;
125
- cout_auxiliaire_generation_ecs: number;
126
- cout_auxiliaire_generation_ecs_depensier: number;
127
- cout_auxiliaire_distribution_ecs: number;
128
- cout_auxiliaire_distribution_fr?: number;
129
- cout_auxiliaire_ventilation: number;
130
- cout_total_auxiliaire: number;
131
- cout_fr: number;
132
- cout_fr_depensier: number;
133
- cout_5_usages: number;
134
- }
135
-
136
- export interface ProductionElectricite {
137
- production_pv: number;
138
- conso_elec_ac: number;
139
- conso_elec_ac_ch: number;
140
- conso_elec_ac_ecs: number;
141
- conso_elec_ac_fr: number;
142
- conso_elec_ac_eclairage: number;
143
- conso_elec_ac_auxiliaire: number;
144
- conso_elec_ac_autre_usage: number;
145
- }
146
-
147
- export interface SortieParEnergie {
148
- enum_type_energie_id: number;
149
- conso_ch: number;
150
- conso_ecs: number;
151
- conso_5_usages: number;
152
- emission_ges_ch: number;
153
- emission_ges_ecs: number;
154
- emission_ges_5_usages: number;
155
- cout_ch: number;
156
- cout_ecs: number;
157
- cout_5_usages: number;
158
- }
159
-
160
- export interface ConfortEte {
161
- isolation_toiture?: boolean;
162
- protection_solaire_exterieure: boolean;
163
- aspect_traversant?: boolean;
164
- brasseur_air?: boolean;
165
- inertie_lourde: boolean;
166
- enum_indicateur_confort_ete_id: number;
167
- }
168
-
169
- export interface QualiteIsolation {
170
- ubat: number;
171
- qualite_isol_enveloppe: number;
172
- qualite_isol_mur?: number;
173
- qualite_isol_plancher_haut_toit_terrasse?: number;
174
- qualite_isol_plancher_haut_comble_perdu?: number;
175
- qualite_isol_plancher_haut_comble_amenage?: number;
176
- qualite_isol_plancher_bas?: number;
177
- qualite_isol_menuiserie: number;
178
19
  }
20
+ export type Deperdition = XsdLogementSortieDeperdition;
21
+ export type ApportEtBesoin = XsdLogementSortieApportEtBesoin;
22
+ export type EfConso = XsdLogementSortieEfConso;
23
+ /** + champs Open3CL hors XSD : indicateurs « 2027 ». */
24
+ export type EpConso = XsdLogementSortieEpConso & {
25
+ classe_bilan_dpe_2027?: string;
26
+ ep_conso_5_usages_2027?: number;
27
+ ep_conso_5_usages_2027_m2?: number;
28
+ };
29
+ export type EmissionGes = XsdLogementSortieEmissionGes;
30
+ export type Cout = XsdLogementSortieCout;
31
+ export type ProductionElectricite = XsdLogementSortieProductionElectricite;
32
+ export type SortieParEnergie = XsdLogementSortieSortieParEnergie;
33
+ export type ConfortEte = XsdLogementSortieConfortEte;
34
+ export type QualiteIsolation = XsdLogementSortieQualiteIsolation;
@@ -1,30 +1,20 @@
1
- import { DE } from './dpe.model';
1
+ // Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
2
+ // à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
3
+ import type {
4
+ XsdLogementVentilation,
5
+ XsdLogementVentilationDonneeEntree,
6
+ XsdLogementVentilationDonneeIntermediaire
7
+ } from './dpe-xsd.generated';
2
8
 
3
- export interface Ventilation {
4
- donnee_entree?: VentilationDE;
5
- donnee_intermediaire?: VentilationDI;
6
- }
7
-
8
- export interface VentilationDE extends DE {
9
- enum_type_ventilation_id: number;
10
- surface_ventile: number;
11
- plusieurs_facade_exposee: boolean;
12
- tv_q4pa_conv_id?: number;
13
- q4pa_conv_saisi?: number;
14
- enum_methode_saisie_q4pa_conv_id: number;
15
- tv_debits_ventilation_id: number;
16
- ventilation_post_2012: boolean;
17
- ref_produit_ventilation?: number;
18
- cle_repartition_ventilation?: number;
19
- }
20
-
21
- export interface VentilationDI {
22
- pvent_moy?: number;
23
- q4pa_conv: number;
24
- conso_auxiliaire_ventilation: number;
25
- hperm: number;
26
- hvent: number;
9
+ export interface Ventilation extends Omit<XsdLogementVentilation, 'donnee_entree'> {
10
+ donnee_entree: VentilationDE;
27
11
  }
12
+ /** + champs Open3CL hors XSD issus des fiches techniques. */
13
+ export type VentilationDE = XsdLogementVentilationDonneeEntree & {
14
+ ficheTechniqueFacadesExposees?: any;
15
+ ficheTechniqueVentilationPost2012?: any;
16
+ };
17
+ export type VentilationDI = XsdLogementVentilationDonneeIntermediaire;
28
18
 
29
19
  enum TypeVentilation {
30
20
  SIMPLE_FLUX_AUTO = 'SIMPLE_FLUX_AUTO',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open3cl/engine",
3
- "version": "1.11.2",
3
+ "version": "1.11.3",
4
4
  "description": "Open Source 3CL-DPE engine",
5
5
  "main": "index.js",
6
6
  "directories": {
@@ -27,6 +27,7 @@
27
27
  "release": "semantic-release",
28
28
  "release:dry": "semantic-release --dry-run",
29
29
  "prepare": "husky",
30
+ "types:generate": "node scripts/generate_types_from_xsd.js && prettier --write src/features/dpe/domain/models/dpe-xsd.generated.ts",
30
31
  "assets:sync": "node scripts/synchronize_assets.js",
31
32
  "version:update": "node scripts/update_version.js",
32
33
  "reports:preview": "npm run http-server dist/reports/corpus -o",