Skip to content

fix(ventilation): règle unique de reprise de la ligne q4pa_conv du dpe en analyse de corpus (#332) - #335

Merged
michaeldesigaud merged 1 commit into
mainfrom
fix/issue-332-q4pa-ligne-dpe
Nov 12, 2026
Merged

michaeldesigaud merged 1 commit into
mainfrom
fix/issue-332-q4pa-ligne-dpe

Conversation

@elliot-redfroggy

Copy link
Copy Markdown
Collaborator

Corrige #332.

Règle

Le moteur de référence reçoit Q4Pa_conv en entrée (Calcul_ventilation.cs l.199) : c'est le logiciel de saisie qui choisit la ligne de la table.

Les deux cas particuliers #312 (isolation) et #294 (joints non exportés) sont remplacés par une seule règle, appliquée uniquement avec compat_for_corpus_analysis :

la ligne tv_q4pa_conv_id du DPE est reprise en entier si elle couvre la période de construction et qu'elle ne s'écarte du recalcul que dans le sens « surfaces isolées » et/ou « avec joints ».

Sinon (mode par défaut, ligne d'une autre période, écart dans le sens inverse) : q4pa_conv est recalculé selon la méthode et les écarts sont signalés, comme aujourd'hui.

La règle couvre #332 : ligne 12 « avant 1948, avec joints » alors que toutes les menuiseries sont exportées avec presence_joint = 0.

  • src/4_ventilation.js seulement : la nouvelle architecture (features/) n'est pas modifiée.
  • presenceJointNonRenseignee et isLigneQ4paSurfacesIsolees sont remplacées par isLigneQ4paPlusFavorable.

2606E1314062H

main branche
compat ligne 1, q4pa 4,6, ep 359 (F) ligne 12, q4pa 2,5, hperm 39,2, conso_ch 8 678,1, ep 326 (E) = DPE
défaut ligne 1, 4,6, ep 359 identique

Corpus (main vs branche, ~100 000 DPE, sortie complète comparée)

Corpus DPE Modifiés (compat) KO→OK OK→KO Modifiés (défaut)
immeuble 29 996 103 74 0 0
autres 59 976 132 87 0 0
corpus219 9 999 17 9 0 0
Total 99 971 252 +170 0 0

Scénarios de travaux (2606E1314062H, main = branche dans les deux modes)

Scénario Ligne ep
murs isolés 10 215
menuiseries avec joints 12 326
murs isolés + joints 10 215

La reprise ne joue que dans un sens : une amélioration des parois ou des menuiseries n'est jamais écrasée par l'ancienne ligne du DPE.

Changement de comportement à noter

Surfaces isolées, presence_joint non exporté, ligne 12 du DPE : avant, les joints de la ligne étaient repris ; désormais rien n'est repris (la ligne est dans le sens « non isolées »). Aucun DPE des corpus n'est concerné.

Tests

  • 4_ventilation.spec.js : 42 tests, couverture 100 %.
  • Fixture 2606E1314062H.xml + 2 tests d'intégration (compat / défaut) dans open3cl-q4pa-ligne-dpe.spec.js.
  • vitest run src : identique à main (96 fichiers verts).

@michaeldesigaud

Copy link
Copy Markdown
Collaborator

@RubenKRNO

@michaeldesigaud
michaeldesigaud self-requested a review November 7, 2026 20:15
@michaeldesigaud michaeldesigaud added the bug Something isn't working label Nov 7, 2026
…e en analyse de corpus (#332)

Avec compat_for_corpus_analysis, la ligne tv_q4pa_conv_id du DPE est reprise en entier dès qu'elle couvre la période de construction et ne s'écarte du recalcul que dans le sens « surfaces isolées » et/ou « avec joints ». Cette règle remplace les cas #312 et #294 et couvre #332 (menuiseries exportées sans joint, ligne 12 « avec joints »).

Mode par défaut inchangé. Nouvelle architecture (features/) non modifiée.
@elliot-redfroggy
elliot-redfroggy force-pushed the fix/issue-332-q4pa-ligne-dpe branch from 110191b to ef19b5c Compare November 12, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants