You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Ponts thermiques menuiserie/mur : largeur de dormant 5 exportée mais ligne PT « Lp = 10 » (DPEWIN) — redressement bug_for_bug ou exclusion ? #296
1 174 KO, dont 1 041 où le PT est la seule déperdition en écart. Logiciels DPEWIN, 3.1.x et 5.1.6, moteur 3cl_tribu_1.4.25.1, méthodes 33, 34 et 26.
La baie exporte largeur_dormant = 5, mais le PT exporte un tv_pont_thermique_id de la ligne « Lp = 10 » avec son k ; O3CL recalcule sur la ligne Lp = 5. DPEWIN exporte Lp = 5 sur 4 247 baies sur 4 247.
Exemples (dp_PT ADEME / O3CL) : 2375E2293948T (1 182 / 1 407), 2495E0931175F (1 049 / 1 194), 2378E1051609P (307 / 384).
Avis d'Olivier
SORTIR sur le plan normatif. Le §3.4.5 (l. 4417, « arrondie à la valeur la plus proche ») ne permet pas de passer de 5 à 10 : le DPE se contredit et O3CL est conforme.
Un redressement en bug_for_bug serait toutefois « défendable comme redressement tracé ». La décision revient aux développeurs.
Tribu ne calcule pas les PT : Calcul_enveloppe.cs l. 41-49 se contente d'ajouter dp_PT.
Option prototypée
Dans src/3.4_pont_thermique.js : en bug_for_bug, reprendre la ligne PT du DPE quand elle ne diffère de la ligne recalculée que par la largeur de dormant et que le k est identique. Résultat : dp_PT = ADEME sur les 3 exemples.
À adapter : 2 tests de 3.4_pont_thermique.spec.js.
À trancher : redresser en bug_for_bug, ou exclure ces DPE du corpus ?
(Pour info : l'écart k 0,065 / 0,13 sur les refends et planchers intermédiaires n'en est pas un. Diviser par deux est normatif (§3.4.2 et §3.4.4), et le k·l est identique.)
Issue ouverte par Hermes à partir de l'analyse transverse des 9 corpus (origin/main e951808), avec les verdicts d'Olivier (expert thermique) appuyés sur le code Tribu décompilé et la méthode 3CL. Prototype non commité, PR à suivre.
Décision : redressement tracé en mode bug_for_bug_compat uniquement, comme pour #292, #293 et #294.
L'avis d'Olivier est retenu : normativement, ce cas relève de SORTIR (§3.4.5, la largeur du dormant est « arrondie à la valeur la plus proche », donc la ligne recalculée est la bonne). En b4b, on reprend la ligne PT « menuiserie / mur » exportée par le DPE à deux conditions :
elle ne diffère de la ligne recalculée que par largeur_dormant ;
son k est égal au k exporté (donnee_intermediaire.k).
Hors b4b, le comportement normatif ne change pas. La règle est appliquée dans le legacy et dans la nouvelle archi.
Mesure sur 4 760 DPE concernés : dp_PT OK 2 473 → 4 459, valides KO→OK 80 / OK→KO 63. Les OK→KO sont des compensations fortuites (dp_PT désormais aligné sur ADEME). Contrôle sur 700 DPE hors périmètre : 0 changement.
Activity
elliot-redfroggy commentedon Oct 15, 2026
Décision : redressement tracé en mode
bug_for_bug_compatuniquement, comme pour #292, #293 et #294.L'avis d'Olivier est retenu : normativement, ce cas relève de SORTIR (§3.4.5, la largeur du dormant est « arrondie à la valeur la plus proche », donc la ligne recalculée est la bonne). En b4b, on reprend la ligne PT « menuiserie / mur » exportée par le DPE à deux conditions :
largeur_dormant;donnee_intermediaire.k).Hors b4b, le comportement normatif ne change pas. La règle est appliquée dans le legacy et dans la nouvelle archi.
Mesure sur 4 760 DPE concernés : dp_PT OK 2 473 → 4 459, valides KO→OK 80 / OK→KO 63. Les OK→KO sont des compensations fortuites (dp_PT désormais aligné sur ADEME). Contrôle sur 700 DPE hors périmètre : 0 changement.
PR : #309