{
  "format": {
    "nom": "onedpe-methode",
    "version": 4
  },
  "identite": {
    "nom_actuel": {
      "fr": "Indice d'exposition estivale OneDpe",
      "en": "OneDpe summer exposure index"
    },
    "ancien_nom": {
      "nom": {
        "fr": "Score Été OneDpe",
        "en": "OneDpe Summer Score"
      },
      "jusqu_a_version": "0.7.0",
      "texte": {
        "fr": "Nom de l'indice jusqu'à la version 0.7.0, sous lequel l'édition 2026 du baromètre l'a publié. Le nom actuel, décidé le 22/09/2026 (titre anglais : 23/09/2026), s'applique depuis la version 1.0.0.",
        "en": "Name of the index up to version 0.7.0, under which the 2026 edition of the barometer published it. The current name, decided on 22/09/2026 (English title: 23/09/2026), applies since version 1.0.0."
      }
    },
    "editeur": "OneDpe (RIANN SAS)",
    "version": "1.0.0",
    "date_version": "2026-10-04",
    "revision_document": 4,
    "date_revision_document": "2026-10-04",
    "versionnage": {
      "fr": "La version (ici 1.0.0) identifie le calcul du score : elle change avec lui. La révision (ici 4) identifie ce document : elle augmente d'une unité à chaque modification de son contenu, y compris sans changement de version (texte, source, jeu de données, cadre juridique). Pour citer ce document, donner les deux.",
      "en": "The version (here 1.0.0) identifies the score computation: it changes with it. The revision (here 4) identifies this document: it goes up by one at every change to its content, including without a version change (text, source, dataset, legal framework). To cite this document, give both."
    },
    "statut": {
      "fr": "Indice privé et non réglementaire, calculé par OneDpe. Il est distinct de l'indicateur de confort d'été du DPE (arrêté du 31 mars 2021, annexe 9) et de tout futur indicateur réglementaire ; ce n'est ni une étiquette, ni un label, ni une certification.",
      "en": "Private, non-regulatory index computed by OneDpe. It is distinct from the DPE summer comfort indicator (French order of 31 March 2021, annex 9) and from any future regulatory indicator; it is neither an official rating, nor a quality mark, nor a certification."
    },
    "echelle": {
      "fr": "Score de 0 à 100 : 100 = exposition la plus faible (meilleur confort d'été), 0 = exposition la plus forte ; publié avec son palier d'exposition (faible, modérée, forte ou très forte — voir « paliers »), qui remplace la lettre A-G depuis la version 0.7.0.",
      "en": "Score from 0 to 100: 100 = lowest exposure (best summer comfort), 0 = highest exposure; published with its exposure tier (low, moderate, high or very high — see \"paliers\"), which has replaced the A-G letter since version 0.7.0."
    }
  },
  "estimand": {
    "decision_du_22_09_2026": {
      "fr": "Rang d'exposition au risque d'inconfort thermique estival, proxy = degrés-heures d'inconfort (arrêté du 4 août 2021, annexe II §5.1), sans STD",
      "en": "Rank of exposure to the risk of summer thermal discomfort, proxy = discomfort degree-hours (French order of 4 August 2021, annex II §5.1), without dynamic thermal simulation (STD)"
    },
    "enonce": {
      "fr": "L'indice d'exposition estivale OneDpe estime le rang d'exposition d'un logement au risque d'inconfort thermique estival, avec pour proxy de référence les degrés-heures d'inconfort au sens de l'arrêté du 4 août 2021 annexe II §5.1, sans simulation thermique dynamique.",
      "en": "The OneDpe summer exposure index estimates the rank of a dwelling's exposure to the risk of summer thermal discomfort, with discomfort degree-hours within the meaning of the French order of 4 August 2021 (annex II, §5.1) as the reference proxy, without dynamic thermal simulation."
    },
    "nature": {
      "fr": "Un rang, pas une grandeur physique : le score ordonne les logements entre eux ; il ne prédit ni une température intérieure ni un nombre de degrés-heures.",
      "en": "A rank, not a physical quantity: the score orders dwellings relative to one another; it predicts neither an indoor temperature nor a number of degree-hours."
    },
    "validation": {
      "fr": "Cible de validation arrêtée le 22/09/2026. La version courante n'a pas encore été comparée à des degrés-heures d'inconfort de référence : cette comparaison fait partie des révisions prévues.",
      "en": "Validation target set on 22/09/2026. The current version has not yet been compared with reference discomfort degree-hours: that comparison is part of the planned revisions."
    }
  },
  "formule": {
    "etapes": [
      {
        "id": "bati",
        "texte": {
          "fr": "Composante bâti B (0 à 100 points de pénalité). Chacun des 5 critères de l'annexe 9 qui n'est pas satisfait ajoute sa pénalité : protection solaire extérieure 30 et isolation de la toiture 20 (les deux critères éliminatoires de l'annexe 9), inertie lourde 15, logement traversant 10, brasseur d'air fixe 5. Un critère inconnu n'ajoute rien ; un critère neutralisé (toiture d'un appartement sans plancher haut déperditif) compte comme satisfait. S'y ajoute la surchauffe solaire, de 0 à 10 points : le rapport surface vitrée sud-équivalente / surface habitable est projeté linéairement entre les 75ᵉ et 90ᵉ percentiles de la zone climatique (0 point au 75ᵉ percentile ou en dessous, 10 au 90ᵉ ou au-dessus) ; elle n'est calculée que si la surface habitable dépasse 5 m². La somme est bornée à 0-100 ; elle n'est pas arrondie dans le calcul, seulement à l'affichage (un seul arrondi, sur le score).",
          "en": "Building component B (0 to 100 penalty points). Each of the 5 annex 9 criteria that is not satisfied adds its penalty: external solar protection 30 and roof insulation 20 (the two eliminatory annex 9 criteria), heavy inertia 15, dual-aspect layout 10, fixed ceiling fan 5. An unknown criterion adds nothing; a neutralised criterion (roof of a flat with no heat-losing upper floor) counts as satisfied. Solar overheating adds 0 to 10 points: the ratio of south-equivalent glazed area to living area is mapped linearly between the 75th and 90th percentiles of the climate zone (0 points at or below the 75th percentile, 10 at or above the 90th); it is only computed when the living area exceeds 5 m². The sum is bounded to 0-100; it is not rounded in the computation, only for display (a single rounding, on the score)."
        }
      },
      {
        "id": "etage",
        "texte": {
          "fr": "Facteur étage (appartements dont la position est connue, seulement si le climat est résolu, et hors lots générés depuis le DPE de l'immeuble, dont la position est arbitraire) : au dernier étage, B augmente de 6 × S ; en rez-de-chaussée, B diminue de 4 × S, S étant la sévérité climatique (0 à 1, voir l'étape « climat »). Ce terme n'est pas arrondi ; B reste bornée à 0-100.",
          "en": "Floor factor (flats whose position is known, only when the climate is resolved, and excluding units generated from the whole-building DPE, whose position is arbitrary): on the top floor, B increases by 6 × S; on the ground floor, B decreases by 4 × S, S being the climate severity (0 to 1, see the \"climat\" step). This term is not rounded; B stays bounded to 0-100."
        }
      },
      {
        "id": "climat",
        "texte": {
          "fr": "Composante climat C (0 à 100). Pour la commune du logement (sinon son département), J = 0,5 × J91 + 0,5 × J2050 et N = 0,5 × N91 + 0,5 × N2050 : J91 et N91 comptent, par an, les jours où la température maximale atteint au moins 35 °C et les nuits où la minimale dépasse 20 °C sur la normale observée 1991-2020 ; J2050 et N2050 sont leur projection à l'horizon 2050 (voir « grain_climat »). Chaque compte est ramené sur une échelle fixe, n = borne((x − bas) / (haut − bas) ; 0 ; 1), de −1 à 35 jours et de −1 à 91 nuits. Sévérité S = 0,4 × n_jours + 0,6 × n_nuits, arrondie à 3 décimales. C = borne(min(100 ; 1,27 × 100 × S) + O ; 0 ; 100), O étant l'îlot de chaleur (étape « ilot ») ; C n'est pas arrondie. Une valeur climatique absente ou non numérique est traitée comme un climat absent.",
          "en": "Climate component C (0 to 100). For the dwelling's municipality (otherwise its department), J = 0.5 × J91 + 0.5 × J2050 and N = 0.5 × N91 + 0.5 × N2050: J91 and N91 count, per year, the days when the maximum temperature reaches at least 35 °C and the nights when the minimum exceeds 20 °C over the observed 1991-2020 normal; J2050 and N2050 are their projection to 2050 (see \"grain_climat\"). Each count is brought onto a fixed scale, n = bound((x − low) / (high − low); 0; 1), from −1 to 35 days and from −1 to 91 nights. Severity S = 0.4 × n_days + 0.6 × n_nights, rounded to 3 decimals. C = bound(min(100; 1.27 × 100 × S) + O; 0; 100), O being the heat island (step \"ilot\"); C is not rounded. A missing or non-numeric climate value is treated as a missing climate."
        }
      },
      {
        "id": "ilot",
        "texte": {
          "fr": "Îlot de chaleur urbain O, en points de C : la zone climatique locale (LCZ) de l'adresse ajoute ν nuits tropicales par rapport au tissu ouvert bas (LCZ 6), d'après les écarts de température nocturne des cartes MApUCE (voir « icu »). Converties comme les nuits du climat, elles valent O = 1,27 × 100 × 0,6 × ν / 92 points, bornés à ±8 ; aucune sévérité climatique n'intervient. O est nul si la LCZ est inconnue ou si le climat n'est pas résolu.",
          "en": "Urban heat island O, in points of C: the local climate zone (LCZ) of the address adds ν tropical nights relative to open low-rise fabric (LCZ 6), from the night-time temperature gaps of the MApUCE maps (see \"icu\"). Converted like the climate nights, they are worth O = 1.27 × 100 × 0.6 × ν / 92 points, bounded to ±8; no climate severity is involved. O is zero when the LCZ is unknown or when the climate is not resolved."
        }
      },
      {
        "id": "score",
        "texte": {
          "fr": "Score avant plafond = arrondi(100 − (0,65 × B + 0,35 × C)), borné à 0-100. B et C restent exactes jusque-là : c'est le seul arrondi du calcul, à l'entier le plus proche, les demi-entiers vers le haut. Si le climat n'est pas résolu : arrondi(100 − B), le poids du bâti étant ramené à 1 ; le facteur étage et l'îlot de chaleur ne s'appliquent pas.",
          "en": "Score before ceiling = round(100 − (0.65 × B + 0.35 × C)), bounded to 0-100. B and C stay exact up to this point: it is the only rounding of the computation, to the nearest integer, halves upwards. When the climate is not resolved: round(100 − B), the building weight being brought to 1; the floor factor and the heat island do not apply."
        }
      },
      {
        "id": "plafond_annexe9",
        "texte": {
          "fr": "Plafond annexe 9 : le niveau de l'indicateur réglementaire est recalculé dans sa lecture la plus favorable (critères inconnus comptés comme satisfaits), et score = min(score avant plafond, plafond du niveau) — « insuffisant » 66 (au mieux le palier « Exposition forte »), « moyen » 79 (au mieux le palier « Exposition modérée »), « bon » 100 (aucun plafond). Chaque plafond est dérivé des bornes des paliers : le haut du palier « Exposition forte » ou celui du palier « Exposition modérée ». Il n'y a aucun plancher.",
          "en": "Annex 9 ceiling: the regulatory indicator level is recomputed on its most favourable reading (unknown criteria counted as satisfied), and score = min(score before ceiling, ceiling of the level) — \"insufficient\" 66 (at best the \"High exposure\" tier), \"medium\" 79 (at best the \"Moderate exposure\" tier), \"good\" 100 (no ceiling). Each ceiling is derived from the tier boundaries: the top of the \"High exposure\" tier or that of the \"Moderate exposure\" tier. There is no floor."
        }
      },
      {
        "id": "palier",
        "texte": {
          "fr": "Palier d'exposition (non réglementaire), affiché depuis la version 0.7.0 : Exposition faible ≥ 80 · Exposition modérée ≥ 67 · Exposition forte ≥ 57 · Exposition très forte < 57. Un score élevé signifie une exposition faible. Bornes de la version 1.0.0 : voir « paliers ».",
          "en": "Exposure tier (non-regulatory), displayed since version 0.7.0: Low exposure ≥ 80 · Moderate exposure ≥ 67 · High exposure ≥ 57 · Very high exposure < 57. A high score means a low exposure. Boundaries of version 1.0.0: see \"paliers\"."
        }
      },
      {
        "id": "surchauffe_solaire_seuils",
        "texte": {
          "fr": "Seuils de la surchauffe solaire (75ᵉ–90ᵉ percentiles du rapport surface sud-équivalente / surface habitable) par zone climatique : H1a 0,85–1,29 · H1b 0,76–1,02 · H1c 0,73–0,96 · H2a 0,80–1,04 · H2b 0,76–1,03 · H2c 0,74–0,98 · H2d 0,68–0,88 · H3 0,76–1,06 ; zone absente ou inconnue : 0,78–1,00.",
          "en": "Solar overheating thresholds (75th–90th percentiles of the south-equivalent area / living area ratio) by climate zone: H1a 0.85–1.29 · H1b 0.76–1.02 · H1c 0.73–0.96 · H2a 0.80–1.04 · H2b 0.76–1.03 · H2c 0.74–0.98 · H2d 0.68–0.88 · H3 0.76–1.06; missing or unknown zone: 0.78–1.00."
        }
      },
      {
        "id": "confiance",
        "texte": {
          "fr": "Indice de confiance (0-1) = (critères de l'annexe 9 connus ÷ 5) × 0,7 si le climat manque × 0,5 si le diagnostic est un DPE d'immeuble ou d'outre-mer (branche de défense : l'outil n'affiche aucun score pour ces diagnostics, dont le verdict est indisponible), arrondi à 2 décimales. Il ne modifie ni le score ni le palier.",
          "en": "Confidence index (0-1) = (known annex 9 criteria ÷ 5) × 0.7 if the climate is missing × 0.5 if the certificate is a whole-building or overseas one (a defensive branch: the tool displays no score for such certificates, whose verdict is unavailable), rounded to 2 decimals. It changes neither the score nor the tier."
        }
      }
    ],
    "reference_du_code": "packages/dpe-engine/src/dpe/services/score-ete.ts (computeScoreEte)",
    "priorite": {
      "fr": "En cas d'écart entre ce document et le code du moteur, c'est le code qui s'applique — et nous voulons le savoir.",
      "en": "Should this document and the engine code disagree, the code is what applies — and we want to know."
    }
  },
  "interrupteurs": {
    "morceaux": {
      "climat_observe": true,
      "ilot_mapuce": true,
      "toiture": false
    },
    "configuration": "climat_ilot",
    "texte": {
      "fr": "La version 1.0.0 est servie avec le climat observé et l'îlot de chaleur calé sur MApUCE ; l'exposition de toiture, préparée et publiée dans « parametres.toiture », n'est pas appliquée. Chaque morceau est une constante du moteur ; en allumer un change la version.",
      "en": "Version 1.0.0 is served with the observed climate and the heat island fitted on MApUCE; roof exposure, prepared and published in \"parametres.toiture\", is not applied. Each component is an engine constant; switching one on changes the version."
    }
  },
  "paliers": {
    "depuis": {
      "version": "0.7.0",
      "date": "2026-09-23"
    },
    "regle": {
      "fr": "Depuis la version 0.7.0, l'outil publie le palier d'exposition du logement au lieu d'une lettre ; le score de 0 à 100 et son sens n'ont pas changé : un score élevé signifie une exposition faible. Depuis la version 1.0.0, les bornes des paliers sont calées sur la distribution du score exact avant plafond des diagnostics de calibration : de l'exposition faible à la très forte, 2/7, 2/7, 2/7 et 1/7 de ces diagnostics (voir « paliers.calibration ») ; chaque plafond annexe 9 en est dérivé. Les bornes de la version 0.7.0, qui étaient les planchers des lettres B, D et F, sont dans « paliers.historique_bornes ».",
      "en": "Since version 0.7.0, the tool has published the dwelling's exposure tier instead of a letter; the 0 to 100 score and its direction have not changed: a high score means a low exposure. Since version 1.0.0, the tier boundaries are set on the distribution of the exact score before ceiling of the calibration certificates: from low to very high exposure, 2/7, 2/7, 2/7 and 1/7 of these certificates (see \"paliers.calibration\"); each annex 9 ceiling is derived from them. The boundaries of version 0.7.0, which were the floors of letters B, D and F, are in \"paliers.historique_bornes\"."
    },
    "seuils": {
      "fr": "Exposition faible ≥ 80 · Exposition modérée ≥ 67 · Exposition forte ≥ 57 · Exposition très forte < 57",
      "en": "Low exposure ≥ 80 · Moderate exposure ≥ 67 · High exposure ≥ 57 · Very high exposure < 57"
    },
    "liste": [
      {
        "id": "faible",
        "libelle": {
          "fr": "Exposition faible",
          "en": "Low exposure"
        },
        "score_min": 80,
        "score_max": 100,
        "plage_version_0_7_0": {
          "score_min": 77,
          "score_max": 100
        }
      },
      {
        "id": "moderee",
        "libelle": {
          "fr": "Exposition modérée",
          "en": "Moderate exposure"
        },
        "score_min": 67,
        "score_max": 79,
        "plage_version_0_7_0": {
          "score_min": 65,
          "score_max": 76
        }
      },
      {
        "id": "forte",
        "libelle": {
          "fr": "Exposition forte",
          "en": "High exposure"
        },
        "score_min": 57,
        "score_max": 66,
        "plage_version_0_7_0": {
          "score_min": 52,
          "score_max": 64
        }
      },
      {
        "id": "tres_forte",
        "libelle": {
          "fr": "Exposition très forte",
          "en": "Very high exposure"
        },
        "score_min": 0,
        "score_max": 56,
        "plage_version_0_7_0": {
          "score_min": 0,
          "score_max": 51
        }
      }
    ],
    "bornes_servies": {
      "configuration": "climat_ilot",
      "plancher_indice": {
        "A": 85,
        "B": 80,
        "C": 74,
        "D": 67,
        "E": 63,
        "F": 57
      },
      "paliers": {
        "faible": 80,
        "moderee": 67,
        "forte": 57
      },
      "plafond_annexe9": {
        "insuffisant": 66,
        "moyen": 79,
        "bon": 100
      },
      "cles_version_0_7_0": [
        "parametres.plancher_indice",
        "parametres.paliers",
        "parametres.plafond_annexe9"
      ],
      "texte": {
        "fr": "Bornes que le moteur applique dans cette configuration. Les clés de « parametres » nommées dans « cles_version_0_7_0 » gardent les bornes de la version 0.7.0, que le moteur n'applique que tous ses interrupteurs éteints ; les planchers servis sont lus dans « parametres.plancher_indice_v1 ».",
        "en": "Boundaries the engine applies in this configuration. The \"parametres\" keys listed in \"cles_version_0_7_0\" keep the boundaries of version 0.7.0, which the engine only applies with all its switches off; the served floors are read from \"parametres.plancher_indice_v1\"."
      }
    },
    "calibration": {
      "date_parc": "2026-08-25",
      "n": 10405420,
      "lots_generes": 337505,
      "repartition_servie_pct": {
        "faible": 9.98,
        "moderee": 35.41,
        "forte": 39.57,
        "tres_forte": 15.04
      },
      "plafonnes_pct": 28.6,
      "texte": {
        "fr": "Pour information : sur les 10 405 420 diagnostics de calibration (base ADEME au 25/08/2026), parmi lesquels 337 505 DPE de logements générés depuis celui de l'immeuble et 3 diagnostics dont le code postal saisi est d'outre-mer (l'outil n'affiche pas leur score), la répartition servie est de 9,98 % en exposition faible, 35,41 % en exposition modérée, 39,57 % en exposition forte et 15,04 % en exposition très forte ; le plafond annexe 9 abaisse le score de 28,6 % d'entre eux.",
        "en": "For information: of the 10,405,420 calibration certificates (ADEME database as of 25/08/2026), including 337,505 DPE of dwellings generated from the whole-building one and 3 certificates whose entered postcode is overseas (the tool does not display their score), the served distribution is 9.98% low exposure, 35.41% moderate exposure, 39.57% high exposure and 15.04% very high exposure; the annex 9 ceiling lowers the score of 28.6% of them."
      }
    },
    "historique_bornes": [
      {
        "versions": "0.7.0",
        "paliers": {
          "faible": 77,
          "moderee": 65,
          "forte": 52
        },
        "plafond_annexe9": {
          "insuffisant": 64,
          "moyen": 76,
          "bon": 100
        },
        "texte": {
          "fr": "Bornes des paliers de la version 0.7.0 : Exposition faible ≥ 77 · Exposition modérée ≥ 65 · Exposition forte ≥ 52 · Exposition très forte < 52 ; ce sont les planchers des lettres B, D et F, calés en version 0.3.0 sur les septiles du score de l'époque. « Insuffisant » était plafonné à 64, « moyen » à 76.",
          "en": "Tier boundaries of version 0.7.0: Low exposure ≥ 77 · Moderate exposure ≥ 65 · High exposure ≥ 52 · Very high exposure < 52; they are the floors of letters B, D and F, set in version 0.3.0 on the septiles of the score at the time. The ceiling of \"insufficient\" was 64, that of \"medium\" 76."
        }
      }
    ],
    "historique_lettres": {
      "texte": {
        "fr": "Jusqu'à la version 0.6.0, l'outil affichait une lettre de A (meilleur confort d'été) à G ; à partir de la version 0.3.0, ses seuils étaient : A ≥ 84 · B ≥ 77 · C ≥ 70 · D ≥ 65 · E ≥ 61 · F ≥ 52 · G < 52. Les enregistrements « Mes DPE » faits avec les versions 0.1.0 à 0.6.0 du score gardent leur lettre, avec leur date et leur version, mais elle n'est pas affichée. Ces lettres étaient la sortie de l'outil seul : le baromètre 2026 est exprimé en scores sur 100 et en médianes, jamais en lettres. Depuis la version 1.0.0, les bornes des paliers ne sont plus les planchers de ces lettres.",
        "en": "Up to version 0.6.0, the tool displayed a letter from A (best summer comfort) to G; from version 0.3.0 onwards, its thresholds were: A ≥ 84 · B ≥ 77 · C ≥ 70 · D ≥ 65 · E ≥ 61 · F ≥ 52 · G < 52. The \"Mes DPE\" records made with versions 0.1.0 to 0.6.0 of the score keep their letter, with their date and version, but it is not displayed. These letters were the output of the tool alone: the 2026 barometer is expressed as scores out of 100 and as medians, never as letters. Since version 1.0.0, the tier boundaries are no longer the floors of these letters."
      },
      "correspondance": {
        "fr": "Correspondance de la version 0.7.0 : A et B → Exposition faible · C et D → Exposition modérée · E et F → Exposition forte · G → Exposition très forte",
        "en": "Correspondence of version 0.7.0: A and B → Low exposure · C and D → Moderate exposure · E and F → High exposure · G → Very high exposure"
      }
    }
  },
  "parametres": {
    "echelle": {
      "min": 0,
      "max": 100
    },
    "ponderation": {
      "bati": 0.65,
      "climat": 0.35
    },
    "bati": {
      "penalites": {
        "protection_solaire": 30,
        "isolation_toiture": 20,
        "inertie": 15,
        "traversant": 10,
        "brasseur": 5
      },
      "surchauffe_solaire": {
        "penalite_max": 10,
        "seuils_p75_p90_par_zone": {
          "H1a": [
            0.85,
            1.29
          ],
          "H1b": [
            0.76,
            1.02
          ],
          "H1c": [
            0.73,
            0.96
          ],
          "H2a": [
            0.8,
            1.04
          ],
          "H2b": [
            0.76,
            1.03
          ],
          "H2c": [
            0.74,
            0.98
          ],
          "H2d": [
            0.68,
            0.88
          ],
          "H3": [
            0.76,
            1.06
          ]
        },
        "seuils_p75_p90_defaut": [
          0.78,
          1
        ],
        "shab_strictement_superieure_a_m2": 5,
        "affichage_manquant_au_dela_de": 0.5
      }
    },
    "etage": {
      "malus_dernier_etage": 6,
      "bonus_rez_de_chaussee": 4
    },
    "climat": {
      "severite": {
        "poids_nuits_tropicales": 0.6,
        "poids_jours_tres_chauds": 0.4,
        "decimales": 3
      },
      "ponderation_periodes": {
        "reference_1976_2005": 0.7,
        "horizon_2030": 0.3
      },
      "renormalisation": {
        "plage_source": 80,
        "plage_cible": 100
      }
    },
    "icu": {
      "offset_par_lcz": {
        "1": 8,
        "2": 8,
        "3": 5,
        "4": 1,
        "5": 1,
        "6": 0,
        "7": 0,
        "8": 4,
        "9": 0,
        "10": 5,
        "11": -4,
        "12": -3,
        "13": -2,
        "14": -3,
        "15": 0,
        "16": 0,
        "17": -4
      },
      "ecart_K_par_lcz": {
        "1": 2,
        "2": 2,
        "3": 1.2,
        "4": 1.2,
        "5": 1.2,
        "6": 0,
        "7": 0,
        "8": 0.8,
        "9": -0.9,
        "10": 0.8,
        "11": -1.1,
        "12": -1,
        "13": -0.3,
        "14": -1,
        "15": -0.4,
        "16": -0.6,
        "17": -0.5
      },
      "nuits_par_lcz": {
        "1": 2.88,
        "2": 2.88,
        "3": 1.57,
        "4": 1.57,
        "5": 1.57,
        "6": 0,
        "7": 0,
        "8": 1.19,
        "9": -0.76,
        "10": 1.19,
        "11": -0.98,
        "12": -0.87,
        "13": -0.22,
        "14": -0.87,
        "15": -0.3,
        "16": -0.45,
        "17": -0.37
      },
      "alpha": 0.395,
      "borne": 8
    },
    "plancher_indice": {
      "A": 84,
      "B": 77,
      "C": 70,
      "D": 65,
      "E": 61,
      "F": 52
    },
    "paliers": {
      "faible": 77,
      "moderee": 65,
      "forte": 52
    },
    "plafond_annexe9": {
      "insuffisant": 64,
      "moyen": 76,
      "bon": 100
    },
    "confiance": {
      "n_criteres": 5,
      "facteur_climat_absent": 0.7,
      "facteur_statut_non_ok": 0.5,
      "decimales": 2
    },
    "morceaux": {
      "climat_observe": true,
      "ilot_mapuce": true,
      "toiture": false
    },
    "climat_observe": {
      "ponderation_periodes": {
        "normale_1991_2020": 0.5,
        "horizon_2050": 0.5
      },
      "ancrages": {
        "jours_tres_chauds": {
          "bas": -1,
          "haut": 35
        },
        "nuits_tropicales": {
          "bas": -1,
          "haut": 91
        }
      },
      "severite": {
        "poids_nuits_tropicales": 0.6,
        "poids_jours_tres_chauds": 0.4,
        "decimales": 3
      },
      "facteur_plage": 1.27
    },
    "toiture": {
      "points_sous_toiture": {
        "appartement": 10,
        "maison": 6
      },
      "bonus_rez_de_chaussee": 2,
      "exposant_niveaux": 0.7,
      "niveaux_plafond": 3,
      "niveaux_valides": {
        "min": 1,
        "max": 20
      },
      "niveaux_defaut": {
        "maison": 3,
        "appartement": 1
      }
    },
    "plancher_indice_v1": {
      "climat_ilot": {
        "A": 85,
        "B": 80,
        "C": 74,
        "D": 67,
        "E": 63,
        "F": 57
      }
    }
  },
  "parametres_inactifs": {
    "chemins": [
      "parametres.climat.ponderation_periodes",
      "parametres.climat.renormalisation",
      "parametres.icu.offset_par_lcz",
      "parametres.plancher_indice",
      "parametres.paliers",
      "parametres.plafond_annexe9",
      "parametres.toiture"
    ],
    "references": [
      "parametres.icu.ecart_K_par_lcz",
      "parametres.icu.alpha"
    ],
    "texte": {
      "fr": "Paramètres publiés que le moteur n'applique pas dans cette configuration : ceux de « chemins » servent à la version 0.7.0 (tous interrupteurs éteints) ou à un morceau éteint ; ceux de « references » sont les mesures dont sont tirées des valeurs appliquées, et le moteur ne les lit pas.",
      "en": "Published parameters that the engine does not apply in this configuration: those in \"chemins\" serve version 0.7.0 (all switches off) or a switched-off component; those in \"references\" are the measurements from which applied values are derived, and the engine does not read them."
    }
  },
  "icu": {
    "modele": "mapuce",
    "lcz_reference": {
      "code": 6,
      "nuits": 0,
      "ecart_K": 0,
      "points_de_c": 0
    },
    "groupes": [
      {
        "codes": [
          1,
          2
        ],
        "nuits": 2.88,
        "ecart_K": 2,
        "points_de_c": 2.39,
        "libelle": {
          "fr": "compact haut / moyen",
          "en": "compact high / mid-rise"
        }
      },
      {
        "codes": [
          3,
          4,
          5
        ],
        "nuits": 1.57,
        "ecart_K": 1.2,
        "points_de_c": 1.3,
        "libelle": {
          "fr": "compact bas, ouvert haut / moyen",
          "en": "compact low-rise, open high / mid-rise"
        }
      },
      {
        "codes": [
          8,
          10
        ],
        "nuits": 1.19,
        "ecart_K": 0.8,
        "points_de_c": 0.99,
        "libelle": {
          "fr": "grande emprise basse, industrie lourde",
          "en": "large low-rise, heavy industry"
        }
      },
      {
        "codes": [
          6,
          7
        ],
        "nuits": 0,
        "ecart_K": 0,
        "points_de_c": 0,
        "libelle": {
          "fr": "ouvert bas, léger",
          "en": "open low-rise, lightweight"
        }
      },
      {
        "codes": [
          13
        ],
        "nuits": -0.22,
        "ecart_K": -0.3,
        "points_de_c": -0.18,
        "libelle": {
          "fr": "broussaille",
          "en": "bush, scrub"
        }
      },
      {
        "codes": [
          15
        ],
        "nuits": -0.3,
        "ecart_K": -0.4,
        "points_de_c": -0.25,
        "libelle": {
          "fr": "minéral",
          "en": "paved"
        }
      },
      {
        "codes": [
          17
        ],
        "nuits": -0.37,
        "ecart_K": -0.5,
        "points_de_c": -0.31,
        "libelle": {
          "fr": "eau",
          "en": "water"
        }
      },
      {
        "codes": [
          16
        ],
        "nuits": -0.45,
        "ecart_K": -0.6,
        "points_de_c": -0.37,
        "libelle": {
          "fr": "nu",
          "en": "bare"
        }
      },
      {
        "codes": [
          9
        ],
        "nuits": -0.76,
        "ecart_K": -0.9,
        "points_de_c": -0.63,
        "libelle": {
          "fr": "épars",
          "en": "sparse"
        }
      },
      {
        "codes": [
          12,
          14
        ],
        "nuits": -0.87,
        "ecart_K": -1,
        "points_de_c": -0.72,
        "libelle": {
          "fr": "arbres épars, végétation basse",
          "en": "scattered trees, low plants"
        }
      },
      {
        "codes": [
          11
        ],
        "nuits": -0.98,
        "ecart_K": -1.1,
        "points_de_c": -0.81,
        "libelle": {
          "fr": "arboré dense",
          "en": "dense trees"
        }
      }
    ],
    "formule": {
      "fr": "Nuits ν ajoutées par chaque type de tissu par rapport au tissu ouvert bas (LCZ 6) : l'écart de température nocturne du type sur les cartes MApUCE (en K, « ecart_K »), converti en nuits tropicales. Points de C = 1,27 × 100 × 0,6 × ν / 92, arrondis au centième ici, bornés à ±8 (jamais atteint : au plus 2,39). Les groupes réunissent les types de même valeur.",
      "en": "Nights ν added by each fabric type relative to open low-rise fabric (LCZ 6): the night-time temperature gap of the type on the MApUCE maps (in K, \"ecart_K\"), converted into tropical nights. Points of C = 1.27 × 100 × 0.6 × ν / 92, rounded to the hundredth here, bounded to ±8 (never reached: at most 2.39). The groups gather types of equal value."
    },
    "encodage": {
      "fr": "Codes WUDAPT numériques 1 à 17 (11 à 17 = types naturels A à G). La valeur 0 écrite par notre traitement signifie « hors carte » : aucun îlot de chaleur n'est évalué dans ce cas.",
      "en": "Numeric WUDAPT codes 1 to 17 (11 to 17 = natural types A to G). The value 0 written by our processing means \"off the map\": no heat island is assessed in that case."
    },
    "licence": {
      "fr": "Données ICU : projet MApUCE (Météo-France/CNRM, ANR), licence ODbL — Bocher et al., Urban Climate 24 (2018) 153-174. Les 17 constantes par type (écarts en K et nuits) sont publiées sous cette licence ; les cartes ne sont pas redistribuées.",
      "en": "UHI data: MApUCE project (Météo-France/CNRM, ANR), ODbL licence — Bocher et al., Urban Climate 24 (2018) 153-174. The 17 per-type constants (gaps in K and nights) are published under this licence; the maps are not redistributed."
    }
  },
  "grain_climat": {
    "outil": {
      "fr": "Outil en ligne : climat de la commune quand elle est résolue (code postal et nom de commune), sinon du département.",
      "en": "Online tool: climate of the commune when it is resolved (postcode and commune name), otherwise of the department."
    },
    "barometre": {
      "fr": "Baromètre 2026 : climat du département, indicateurs Climadiag (période de référence 1976-2005 et horizon 2030), figé avec la version 0.5.0 du score.",
      "en": "2026 barometer: department climate, Climadiag indicators (1976-2005 reference period and 2030 horizon), frozen with version 0.5.0 of the score."
    },
    "normale": {
      "texte": {
        "fr": "Normale observée 1991-2020 de Météo-France (données climatologiques mensuelles MENSQ, mois de mai à septembre). Chaque commune prend la station exploitable sur la période la plus proche de son chef-lieu dont l'altitude diffère de 100 m au plus, dans un rayon de 50 km ; à défaut, la plus proche (575 communes, 0,47 % de la population). Paris, Lyon et Marseille : moyenne des arrondissements, pondérée par leur population. 34 740 communes, 1 041 stations. Une commune sans normale prend les valeurs de son département, et une ligne départementale est la moyenne de ses communes, pondérée par leur population municipale.",
        "en": "Observed 1991-2020 normal from Météo-France (MENSQ monthly climatological data, May to September). Each municipality takes the station usable over the period that is nearest to its main town hall and whose altitude differs by 100 m at most, within a 50 km radius; failing that, the nearest one (575 municipalities, 0.47% of the population). Paris, Lyon and Marseille: average of the arrondissements, weighted by their population. 34,740 municipalities, 1,041 stations. A municipality without a normal takes its department's values, and a department row is the average of its municipalities, weighted by their municipal population."
      },
      "n_communes": 34740,
      "n_stations": 1041,
      "communes_en_repli_altitude": 575,
      "part_population_en_repli_altitude": 0.0047
    },
    "projection_2050": {
      "texte": {
        "fr": "Projection 2050 : calcul OneDpe à partir de DRIAS (Météo-France et partenaires, jeu TRACC-2023, médiane d'un ensemble de modèles, niveau de réchauffement de référence associé à 2050). L'écart entre ce niveau et la période 1976-2005 du même ensemble, lu au point de grille de la commune, est ajouté à la normale observée. Jours : l'écart est lu sur la courbe DRIAS des jours chauds, interpolée entre 30, 35 et 40 °C, au seuil propre au département qui fait coïncider la courbe de référence DRIAS, moyennée sur le département, avec les jours observés sur 1976-2005. Nuits : l'écart est multiplié par le rapport, borné autour de celui du département, entre les nuits de la normale de la commune et celles de la référence DRIAS. Une projection négative est ramenée à zéro.",
        "en": "2050 projection: OneDpe calculation based on DRIAS (Météo-France and partners, TRACC-2023 dataset, median of a model ensemble, reference warming level associated with 2050). The difference between that level and the 1976-2005 period of the same ensemble, read at the municipality's grid point, is added to the observed normal. Days: the difference is read on the DRIAS hot-day curve, interpolated between 30, 35 and 40 °C, at the department-specific threshold that makes the DRIAS reference curve, averaged over the department, match the days observed over 1976-2005. Nights: the difference is multiplied by the ratio, bounded around the department's, between the municipality's normal nights and those of the DRIAS reference. A negative projection is set to zero."
      }
    },
    "melange": {
      "texte": {
        "fr": "Mélange : pour chaque compte, 0,5 × normale 1991-2020 + 0,5 × projection 2050, avant la mise à l'échelle (voir l'étape « climat »).",
        "en": "Blend: for each count, 0.5 × 1991-2020 normal + 0.5 × 2050 projection, before it is brought onto the scale (see the \"climat\" step)."
      }
    },
    "ancrages": {
      "texte": {
        "fr": "Échelle fixe, la même pour toutes les communes, non recalculée à partir des données : de −1 à 35 jours par an et de −1 à 91 nuits par an ; les bornes hautes sont les maxima communaux observés sur 2015-2024.",
        "en": "Fixed scale, the same for all municipalities, not recomputed from the data: from −1 to 35 days a year and from −1 to 91 nights a year; the upper bounds are the municipal maxima observed over 2015-2024."
      }
    },
    "origine": {
      "fr": "Comptes lus dans le jeu climat livré (voir « jeux_de_donnees.climat_communes ») ; la sévérité S est calculée par le moteur à chaque analyse, elle n'est pas stockée dans les données.",
      "en": "Counts read from the shipped climate dataset (see \"jeux_de_donnees.climat_communes\"); the severity S is computed by the engine at every analysis, it is not stored in the data."
    }
  },
  "application": {
    "outil_en_ligne": {
      "version_moteur": "1.0.0",
      "texte": {
        "fr": "L'outil en ligne calcule le score avec le moteur courant (version 1.0.0), à chaque analyse.",
        "en": "The online tool computes the score with the current engine (version 1.0.0), at every analysis."
      }
    },
    "barometre_2026": {
      "version_moteur": "0.5.0",
      "texte": {
        "fr": "La carte et les chiffres du baromètre 2026 sont figés au millésime 2026 : calculés avec la version 0.5.0 du score, ils ne sont pas mis à jour quand le moteur évolue. Le baromètre 2026 est exprimé en scores sur 100 et en médianes, jamais en lettres ; les lettres A-G étaient la sortie de l'outil, jusqu'à la version 0.6.0 (voir « paliers.historique_lettres »). La carte et les chiffres du baromètre 2026 portent l'ancien nom de l'indice (voir « identite.ancien_nom »).",
        "en": "The map and the figures of the 2026 barometer are frozen at the 2026 edition: computed with version 0.5.0 of the score, they are not updated when the engine changes. The 2026 barometer is expressed as scores out of 100 and as medians, never as letters; the A-G letters were the output of the tool, up to version 0.6.0 (see \"paliers.historique_lettres\"). The map and the figures of the 2026 barometer bear the former name of the index (see \"identite.ancien_nom\")."
      }
    },
    "comparaison_au_parc": {
      "active": true,
      "version_medianes": "1.0.0",
      "regle": {
        "fr": "La comparaison d'un logement au reste du parc (médianes communale, départementale et nationale) n'est affichée que si les médianes ont été calculées avec la même version majeure et mineure du moteur que celle qui sert le score.",
        "en": "The comparison of a dwelling with the rest of the housing stock (commune, department and national medians) is only displayed when the medians were computed with the same major and minor engine version as the one serving the score."
      },
      "texte": {
        "fr": "La comparaison au parc utilise les médianes de la version 1.0.0 de l'indice, calculées sur les diagnostics du 25/08/2026 : 10 067 912 diagnostics, hors 337 505 DPE de logements générés depuis celui de l'immeuble et 3 diagnostics dont le code postal saisi est d'outre-mer, dont l'outil n'affiche pas le score ; médiane nationale 66 sur 100 (l'édition 2026 du baromètre donnait 67, avec la version 0.5.0) ; médiane communale publiée pour 6 205 communes d'au moins 200 diagnostics, sinon celle du département.",
        "en": "The comparison with the housing stock uses the medians of version 1.0.0 of the index, computed on the certificates as of 25/08/2026: 10,067,912 certificates, excluding 337,505 DPE of dwellings generated from the whole-building one and 3 certificates whose entered postcode is overseas, whose score the tool does not display; national median 66 out of 100 (the 2026 edition of the barometer gave 67, with version 0.5.0); municipal median published for 6,205 municipalities with at least 200 certificates, otherwise the department's."
      }
    }
  },
  "sources": [
    {
      "id": "ademe-dpe",
      "nom": {
        "fr": "Base des DPE des logements existants (ADEME)",
        "en": "Database of existing-dwelling DPE (ADEME)"
      },
      "producteur": "ADEME",
      "jeu": "dpe03existant",
      "url": "https://data.ademe.fr/datasets/dpe03existant",
      "usage": {
        "fr": "Critères de l'annexe 9 déclarés ou recalculés, description des baies et fermetures, surfaces, position du logement.",
        "en": "Declared or recomputed annex 9 criteria, description of windows and shutters, areas, position of the dwelling."
      },
      "reutilisation": {
        "fr": "Licence Ouverte 2.0 (Etalab)",
        "en": "Etalab Open Licence 2.0"
      },
      "millesime": {
        "fr": "Outil : diagnostic lu à chaque analyse (API ADEME ou copie OneDpe rafraîchie chaque semaine). Baromètre 2026 : extraction d'août 2026.",
        "en": "Tool: certificate read at every analysis (ADEME API or OneDpe copy refreshed weekly). 2026 barometer: August 2026 extract."
      }
    },
    {
      "id": "meteo-france-mensq",
      "nom": {
        "fr": "Données climatologiques de base mensuelles (MENSQ)",
        "en": "Basic monthly climatological data (MENSQ)"
      },
      "producteur": "Météo-France",
      "url": "https://www.data.gouv.fr/fr/datasets/donnees-climatologiques-de-base-mensuelles/",
      "usage": {
        "fr": "Jours où la température maximale atteint au moins 35 °C et nuits où la minimale dépasse 20 °C, par station et par mois : normale observée 1991-2020, de mai à septembre.",
        "en": "Days with a maximum temperature of at least 35 °C and nights with a minimum above 20 °C, per station and per month: observed 1991-2020 normal, May to September."
      },
      "reutilisation": {
        "fr": "Licence Ouverte 2.0 (Etalab)",
        "en": "Etalab Open Licence 2.0"
      },
      "millesime": {
        "fr": "191 fichiers départementaux téléchargés le 22/09/2026.",
        "en": "191 department files downloaded on 22/09/2026."
      }
    },
    {
      "id": "drias-tracc",
      "nom": {
        "fr": "DRIAS, jeu TRACC-2023",
        "en": "DRIAS, TRACC-2023 dataset"
      },
      "producteur": "Météo-France et partenaires (DRIAS)",
      "usage": {
        "fr": "Médiane d'ensemble des jours au-dessus de 30, 35 et 40 °C et des nuits tropicales, période de référence 1976-2005 et niveau de réchauffement associé à 2050, au point de grille de chaque commune : projection 2050 (voir « grain_climat.projection_2050 »).",
        "en": "Ensemble median of the days above 30, 35 and 40 °C and of tropical nights, 1976-2005 reference period and warming level associated with 2050, at the grid point of each municipality: 2050 projection (see \"grain_climat.projection_2050\")."
      },
      "mention": {
        "fr": "Calcul OneDpe à partir de DRIAS",
        "en": "OneDpe calculation based on DRIAS"
      },
      "reutilisation": {
        "fr": "Licence Etalab (version non précisée par le portail DRIAS)",
        "en": "Etalab licence (version not specified by the DRIAS portal)"
      },
      "millesime": {
        "fr": "Archives NetCDF du lot de juillet 2026 (dernière modification le 01/07/2026).",
        "en": "NetCDF archives of the July 2026 batch (last modified on 01/07/2026)."
      }
    },
    {
      "id": "mapuce",
      "nom": {
        "fr": "Cartes d'îlot de chaleur urbain du projet MApUCE",
        "en": "MApUCE project urban heat island maps"
      },
      "producteur": "Météo-France/CNRM, projet ANR MApUCE",
      "reference": "Bocher E. et al. (2018), Urban Climate 24, 153-174",
      "usage": {
        "fr": "Écarts de température nocturne par type de tissu (zone climatique locale) : calage des nuits d'îlot de chaleur appliquées (voir « icu »). Les cartes servent au seul calage ; elles ne sont ni redistribuées ni appliquées logement par logement.",
        "en": "Night-time temperature gaps by fabric type (local climate zone): fitting of the applied heat island nights (see \"icu\"). The maps are used for fitting only; they are neither redistributed nor applied dwelling by dwelling."
      },
      "reutilisation": {
        "fr": "ODbL",
        "en": "ODbL"
      },
      "attribution": {
        "fr": "Données ICU : projet MApUCE (Météo-France/CNRM, ANR), licence ODbL — Bocher et al., Urban Climate 24 (2018) 153-174",
        "en": "UHI data: MApUCE project (Météo-France/CNRM, ANR), ODbL licence — Bocher et al., Urban Climate 24 (2018) 153-174"
      }
    },
    {
      "id": "wudapt-europe",
      "nom": {
        "fr": "Carte des zones climatiques locales (LCZ) WUDAPT Europe, 100 m",
        "en": "WUDAPT Europe local climate zone (LCZ) map, 100 m"
      },
      "producteur": "WUDAPT",
      "reference": "Demuzere M., Bechtel B., Middel A., Mills G. (2019), Mapping Europe into local climate zones, PLoS ONE 14(4): e0214474",
      "usage": {
        "fr": "Zone climatique locale de l'adresse (pilier îlot de chaleur urbain).",
        "en": "Local climate zone of the address (urban heat island pillar)."
      },
      "reutilisation": {
        "fr": "CC BY 4.0",
        "en": "CC BY 4.0"
      }
    },
    {
      "id": "ign-admin-express",
      "nom": {
        "fr": "ADMIN EXPRESS COG, édition 2026",
        "en": "ADMIN EXPRESS COG, 2026 edition"
      },
      "producteur": "IGN",
      "usage": {
        "fr": "Chefs-lieux, communes et arrondissements municipaux (code officiel géographique 2026) et leur population municipale : rattachement de chaque commune à la station de la normale la plus proche de son chef-lieu, pondérations par la population. L'altitude des chefs-lieux vient du service d'altimétrie de l'IGN (RGE ALTI), sous la même licence.",
        "en": "Main town halls, municipalities and municipal arrondissements (2026 official geographic code) and their municipal population: assignment of each municipality to the station of the normal nearest to its main town hall, population weightings. The altitude of the main town halls comes from the IGN altimetry service (RGE ALTI), under the same licence."
      },
      "reutilisation": {
        "fr": "Licence Ouverte 2.0 (Etalab)",
        "en": "Etalab Open Licence 2.0"
      }
    },
    {
      "id": "insee-population",
      "nom": {
        "fr": "Population municipale, recensement 2023 (INSEE)",
        "en": "Municipal population, 2023 census (INSEE)"
      },
      "producteur": "INSEE",
      "usage": {
        "fr": "Contrôle de la population municipale utilisée pour les pondérations : identique pour toutes les communes et tous les arrondissements rattachés.",
        "en": "Check of the municipal population used for the weightings: identical for all the municipalities and arrondissements joined."
      },
      "reutilisation": {
        "fr": "Licence Ouverte (Etalab) : réutilisation libre avec mention de la source",
        "en": "Etalab Open Licence: free reuse with attribution of the source"
      }
    },
    {
      "id": "climadiag-commune",
      "nom": {
        "fr": "Climadiag Commune",
        "en": "Climadiag Commune"
      },
      "producteur": "Météo-France",
      "usage": {
        "fr": "Versions 0.1.0 à 0.7.0 et baromètre 2026 : jours très chauds et nuits tropicales, période de référence 1976-2005 et horizon TRACC 2030, par commune. Depuis la version 1.0.0, le score ne les utilise plus.",
        "en": "Versions 0.1.0 to 0.7.0 and 2026 barometer: very hot days and tropical nights, 1976-2005 reference period and TRACC 2030 horizon, per commune. Since version 1.0.0, the score no longer uses them."
      },
      "reutilisation": {
        "fr": "Météo-France, Climadiag Commune, indicateurs v4.0.1 (archive du 21/07/2026) — réutilisation au titre des art. L. 321-1 et L. 322-1 du CRPA ; licence spécifique non publiée par le producteur",
        "en": "Météo-France, Climadiag Commune, v4.0.1 indicators (archive of 21/07/2026) — reuse under articles L. 321-1 and L. 322-1 of the French CRPA; no specific licence published by the producer"
      },
      "archive": {
        "fr": "meteofrance-drias/CLIMADIAG_COMMUNE/ (object store data.gouv), archive du 21/07/2026",
        "en": "meteofrance-drias/CLIMADIAG_COMMUNE/ (data.gouv object store), archive of 21/07/2026"
      }
    },
    {
      "id": "annexe-9",
      "nom": {
        "fr": "Arrêté du 31 mars 2021, annexe 9 — indicateur de confort d'été du DPE",
        "en": "French order of 31 March 2021, annex 9 — DPE summer comfort indicator"
      },
      "producteur": {
        "fr": "texte réglementaire",
        "en": "regulatory text"
      },
      "usage": {
        "fr": "Définition des cinq critères et de leur combinaison en niveau (insuffisant, moyen, bon), reprise pour la composante bâti et le plafond.",
        "en": "Definition of the five criteria and of their combination into a level (insufficient, medium, good), reused for the building component and the ceiling."
      }
    }
  ],
  "jeux_de_donnees": {
    "climat_departements": {
      "fichier": "packages/dpe-engine/src/dpe/data/climat/climat-ete-par-departement.json",
      "n_departements": 95,
      "description": {
        "fr": "95 départements métropolitains (la Corse comptant pour un) : les quatre comptes de la version 1.0.0 (normale 1991-2020 et projection 2050), moyennes de leurs communes pondérées par la population municipale, et, conservés, les indicateurs Climadiag des versions 0.1.0 à 0.7.0.",
        "en": "95 metropolitan departments (Corsica counted as one): the four counts of version 1.0.0 (1991-2020 normal and 2050 projection), averages of their municipalities weighted by municipal population, and, kept, the Climadiag indicators of versions 0.1.0 to 0.7.0."
      }
    },
    "climat_communes": {
      "dossier": "packages/dpe-engine/src/dpe/data/climat/communes/",
      "description": {
        "fr": "Un fichier par département, clé = nom de commune normalisé. Chaque ligne porte les quatre comptes de la version 1.0.0 (normale 1991-2020 et projection 2050), le code commune, la ou les stations de la normale et l'indication d'un repli ; les indicateurs Climadiag des versions 0.1.0 à 0.7.0 y sont conservés.",
        "en": "One file per department, key = normalised municipality name. Each row carries the four counts of version 1.0.0 (1991-2020 normal and 2050 projection), the municipality code, the station(s) of the normal and a fallback flag; the Climadiag indicators of versions 0.1.0 to 0.7.0 are kept there."
      },
      "champs": {
        "insee": {
          "fr": "code commune (code officiel géographique 2026)",
          "en": "municipality code (2026 official geographic code)"
        },
        "j35_normale": {
          "fr": "jours par an où la température maximale atteint au moins 35 °C, normale 1991-2020 (mai à septembre), 2 décimales",
          "en": "days per year with a maximum temperature of at least 35 °C, 1991-2020 normal (May to September), 2 decimals"
        },
        "n20_normale": {
          "fr": "nuits par an où la température minimale dépasse 20 °C, normale 1991-2020 (mai à septembre), 2 décimales",
          "en": "nights per year with a minimum temperature above 20 °C, 1991-2020 normal (May to September), 2 decimals"
        },
        "j35_2050": {
          "fr": "mêmes jours, projection 2050 (voir « grain_climat.projection_2050 »), 2 décimales",
          "en": "same days, 2050 projection (see \"grain_climat.projection_2050\"), 2 decimals"
        },
        "n20_2050": {
          "fr": "mêmes nuits, projection 2050, 2 décimales",
          "en": "same nights, 2050 projection, 2 decimals"
        },
        "stations_normale": {
          "fr": "identifiant(s) Météo-France de la ou des stations de la normale (une par arrondissement à Paris, Lyon et Marseille)",
          "en": "Météo-France identifier(s) of the station(s) of the normal (one per arrondissement in Paris, Lyon and Marseille)"
        },
        "repli_altitude": {
          "fr": "station la plus proche, retenue faute de station d'altitude comparable dans le rayon",
          "en": "nearest station, used for lack of a station at a comparable altitude within the radius"
        },
        "repli_departement": {
          "fr": "présent quand la commune n'a pas de normale : valeurs du département",
          "en": "present when the municipality has no normal: department values"
        }
      },
      "couverture": {
        "lignes": 34746,
        "communes_avec_normale": 34740,
        "population": 66165815,
        "lignes_en_repli_departement": 6,
        "communes_en_repli_altitude": 575,
        "part_population_en_repli_altitude": 0.0047
      },
      "sources": [
        "meteo-france-mensq",
        "drias-tracc",
        "ign-admin-express",
        "insee-population"
      ]
    },
    "stations_normale": {
      "fichier": "packages/dpe-engine/src/dpe/data/climat/stations-normale-1991-2020.json",
      "n_stations": 1041,
      "description": {
        "fr": "Stations Météo-France de la normale 1991-2020 auxquelles les communes sont rattachées : identifiant, nom, commune d'implantation au code officiel géographique 2026 (et son arrondissement municipal le cas échéant), département et altitude. Pour une station dont la commune d'implantation a fusionné depuis la création du poste : la commune actuelle, établie par la table des mouvements de communes du code officiel géographique (INSEE), et le nom de l'ancienne commune.",
        "en": "Météo-France stations of the 1991-2020 normal to which the municipalities are assigned: identifier, name, municipality where the station stands in the 2026 official geographic code (and its municipal arrondissement where relevant), department and altitude. For a station whose municipality has merged since the station was set up: the current municipality, established from the table of municipal changes of the official geographic code (INSEE), and the name of the former municipality."
      }
    },
    "medianes_departements": {
      "fichier": "packages/dpe-engine/src/dpe/data/climat/score-ete-medianes-dept.json",
      "score_ete_version": "1.0.0",
      "configuration": "climat_ilot",
      "date_parc": "2026-08-25",
      "n": 10405420,
      "repere_n": 10067912,
      "repere_lots_generes_exclus": 337505,
      "nationale": 66,
      "gate_n_min": 200,
      "n_departements": 95,
      "perimetre": {
        "fr": "Bornes, plafond annexe 9 et répartition servie : diagnostics de logements existants (maisons et appartements) de métropole dont l'indicateur de confort d'été est renseigné, base ADEME au 25/08/2026.",
        "en": "Boundaries, annex 9 ceiling and served distribution: certificates of existing dwellings (houses and flats) in mainland France whose summer comfort indicator is filled in, ADEME database as of 25/08/2026."
      },
      "repere_perimetre": {
        "fr": "Médianes du repère : les mêmes diagnostics, hors DPE de logements générés depuis le DPE de l'immeuble et diagnostics dont le code postal saisi est d'outre-mer, dont l'outil n'affiche pas le score ; chaque diagnostic est rattaché au code postal et à la commune de son adresse géocodée (Base adresse nationale).",
        "en": "Medians of the benchmark: the same certificates, excluding DPE of dwellings generated from the whole-building DPE and certificates whose entered postcode is overseas, whose score the tool does not display; each certificate is attached to the postcode and municipality of its geocoded address (Base adresse nationale)."
      }
    },
    "medianes_communes": {
      "fichier": "packages/dpe-engine/src/dpe/data/climat/score-ete-medianes-commune.json",
      "score_ete_version": "1.0.0",
      "configuration": "climat_ilot",
      "date_parc": "2026-08-25",
      "n": 10405420,
      "repere_n": 10067912,
      "repere_lots_generes_exclus": 337505,
      "nationale": 66,
      "gate_n_min": 200,
      "n_communes": 6205,
      "perimetre": {
        "fr": "Bornes, plafond annexe 9 et répartition servie : diagnostics de logements existants (maisons et appartements) de métropole dont l'indicateur de confort d'été est renseigné, base ADEME au 25/08/2026.",
        "en": "Boundaries, annex 9 ceiling and served distribution: certificates of existing dwellings (houses and flats) in mainland France whose summer comfort indicator is filled in, ADEME database as of 25/08/2026."
      },
      "repere_perimetre": {
        "fr": "Médianes du repère : les mêmes diagnostics, hors DPE de logements générés depuis le DPE de l'immeuble et diagnostics dont le code postal saisi est d'outre-mer, dont l'outil n'affiche pas le score ; chaque diagnostic est rattaché au code postal et à la commune de son adresse géocodée (Base adresse nationale).",
        "en": "Medians of the benchmark: the same certificates, excluding DPE of dwellings generated from the whole-building DPE and certificates whose entered postcode is overseas, whose score the tool does not display; each certificate is attached to the postcode and municipality of its geocoded address (Base adresse nationale)."
      }
    },
    "calibration": {
      "description": {
        "fr": "Les médianes, les bornes et la répartition servie viennent d'un même calcul sur les diagnostics de calibration (voir « paliers.calibration ») ; les deux fichiers de médianes ci-dessus en sont la copie exacte.",
        "en": "The medians, the boundaries and the served distribution come from a single computation on the calibration certificates (see \"paliers.calibration\"); the two median files above are its exact copy."
      }
    }
  },
  "hypotheses_non_modelisees": [
    {
      "id": "ventilation-nocturne",
      "texte": {
        "fr": "Le score suppose la ventilation nocturne possible : le bruit, la sécurité en rez-de-chaussée et la pollution de l'air, qui peuvent empêcher d'ouvrir les fenêtres la nuit, ne sont pas modélisés. Le crédit accordé au logement traversant et le bonus du rez-de-chaussée reposent sur cette hypothèse.",
        "en": "The score assumes night-time ventilation is possible: noise, ground-floor security and air pollution, which can prevent opening windows at night, are not modelled. The credit given to dual-aspect dwellings and the ground-floor bonus rely on this assumption."
      }
    },
    {
      "id": "climatisation",
      "texte": {
        "fr": "La climatisation est hors périmètre : le score mesure l'exposition du bâti sans climatisation, comme l'indicateur de l'annexe 9 (§ 9.4).",
        "en": "Air conditioning is out of scope: the score measures the exposure of the building without air conditioning, like the annex 9 indicator (§ 9.4)."
      }
    },
    {
      "id": "outre-mer",
      "texte": {
        "fr": "Les logements d'outre-mer ne sont pas évalués : l'indicateur de l'annexe 9 est défini pour la métropole, et le jeu climat ne couvre que les départements métropolitains.",
        "en": "Overseas dwellings are not assessed: the annex 9 indicator is defined for metropolitan France, and the climate dataset only covers metropolitan departments."
      }
    }
  ],
  "limites_connues": [
    {
      "id": "inconnus-optimistes",
      "texte": {
        "fr": "Un critère inconnu compte exactement comme un critère satisfait, pour le score, le palier et le plafond : le score est optimiste quand les données manquent, et seul l'indice de confiance le signale.",
        "en": "An unknown criterion counts exactly as a satisfied one, for the score, the tier and the ceiling: the score is optimistic when data is missing, and only the confidence index says so."
      }
    },
    {
      "id": "dependance-modele-climatique",
      "texte": {
        "fr": "La projection 2050 est un calcul OneDpe à partir de la médiane d'un ensemble de modèles climatiques (DRIAS, TRACC-2023). Le classement en dépend : si l'on remplace cette médiane par le minimum de l'ensemble, point par point, 17,1 % de la population vit dans une commune dont le rang d'exposition climatique change de plus de 5 centiles, et 3,7 % de plus de 10 centiles. Donner le même poids à la normale observée et à la projection accroît cette dépendance.",
        "en": "The 2050 projection is a OneDpe calculation based on the median of a climate model ensemble (DRIAS, TRACC-2023). The ranking depends on it: replacing that median with the ensemble minimum, point by point, puts 17.1% of the population in a municipality whose climate exposure rank moves by more than 5 centiles, and 3.7% by more than 10. Giving the observed normal and the projection equal weight increases this dependency."
      }
    },
    {
      "id": "station-normale",
      "texte": {
        "fr": "La normale 1991-2020 d'une commune est celle de la station Météo-France exploitable la plus proche, à altitude comparable ; à Paris, Lyon et Marseille, la moyenne des arrondissements. Marseille n'a pas de station exploitable dans la ville sur cette période : ses valeurs viennent des stations de Marignane et d'Aubagne, soit 22,5 nuits tropicales par an sur 1991-2020. La fiche indique la ou les stations utilisées.",
        "en": "A municipality's 1991-2020 normal is that of the nearest usable Météo-France station at a comparable altitude; in Paris, Lyon and Marseille, the average of the arrondissements. Marseille has no usable station within the city over that period: its values come from the Marignane and Aubagne stations, i.e. 22.5 tropical nights a year over 1991-2020. The result card shows the station(s) used."
      }
    },
    {
      "id": "poids-des-nuits",
      "texte": {
        "fr": "Les nuits tropicales pèsent plus que les jours très chauds : à l'unité, une nuit compte pour 0,59 jour (poids 0,6 sur une échelle de 92 nuits, contre 0,4 sur 36 jours), et les nuits portent 72,9 % de la variance de la sévérité climatique entre communes, pondérée par la population.",
        "en": "Tropical nights weigh more than very hot days: per unit, one night counts as 0.59 day (weight 0.6 over a 92-night scale, against 0.4 over 36 days), and nights carry 72.9% of the between-municipality variance of climate severity, population-weighted."
      }
    },
    {
      "id": "magnitudes-expertes",
      "texte": {
        "fr": "La magnitude du facteur étage est un réglage d'expert, non calé sur des mesures.",
        "en": "The magnitude of the floor factor is an expert setting, not fitted on measurements."
      }
    },
    {
      "id": "seuils-relatifs",
      "texte": {
        "fr": "Les bornes des paliers sont relatives : calées sur les septiles du score exact avant plafond des diagnostics de calibration (base ADEME au 25/08/2026), elles situent un logement par rapport à ces diagnostics, pas sur une échelle absolue d'inconfort.",
        "en": "The tier boundaries are relative: set on the septiles of the exact score before ceiling of the calibration certificates (ADEME database as of 25/08/2026), they place a dwelling relative to these certificates, not on an absolute scale of discomfort."
      }
    },
    {
      "id": "forme-additive",
      "texte": {
        "fr": "La combinaison du bâti et du climat est additive, sans terme d'interaction : hors plafond et arrondis, un critère manquant coûte le même nombre de points quel que soit le climat.",
        "en": "The building and climate components are combined additively, with no interaction term: ceiling and rounding aside, a missing criterion costs the same number of points whatever the climate."
      }
    },
    {
      "id": "climat-absent-bati-seul",
      "texte": {
        "fr": "Sans climat résolu, le score repose sur le bâti seul (100 − B au lieu de 100 − (0,65 × B + 0,35 × C)) : il est plus sévère que s'il intégrait le climat quand B > C, plus favorable quand B < C. La fiche indique alors que le climat n'a pas été évalué.",
        "en": "Without a resolved climate, the score rests on the building alone (100 − B instead of 100 − (0.65 × B + 0.35 × C)): it is harsher than it would be with the climate when B > C, more lenient when B < C. The result card then states that the climate was not assessed."
      }
    }
  ],
  "defauts_connus": [
    {
      "id": "DEF-1",
      "statut": "corrige",
      "version_correction": "1.0.0",
      "texte": {
        "fr": "Jusqu'à la version 0.7.0, un climat plus chaud pouvait faire monter le score d'un point en rez-de-chaussée : la composante climat était arrondie avant d'être combinée, le bonus du rez-de-chaussée ne l'était pas. Contre-exemple réel : un même appartement en rez-de-chaussée obtenait 91 à Mervent (85) et 92 à Châtres (10), commune plus chaude en sévérité de référence comme à l'horizon 2030.",
        "en": "Up to version 0.7.0, a hotter climate could raise the score by one point on the ground floor: the climate component was rounded before being combined, the ground-floor bonus was not. Real counter-example: the same ground-floor flat scored 91 in Mervent (85) and 92 in Châtres (10), a commune hotter in both reference and 2030 severity."
      },
      "portee": {
        "fr": "Un point au plus par pas, sur le domaine réel.",
        "en": "One point at most per step, on the real domain."
      },
      "traitement": {
        "fr": "Corrigé en version 1.0.0 : un seul arrondi, sur le score exact.",
        "en": "Fixed in version 1.0.0: a single rounding, on the exact score."
      }
    },
    {
      "id": "DEF-2",
      "statut": "present",
      "version_correction": null,
      "texte": {
        "fr": "Hors du domaine des données livrées : à sévérité très élevée, en rez-de-chaussée, le bonus du rez-de-chaussée ramène la composante bâti à zéro ou presque ; retirer le brasseur d'air ne coûte alors qu'une fraction de point, qui peut disparaître dans l'arrondi.",
        "en": "Outside the domain of the shipped data: at very high severity, on the ground floor, the ground-floor bonus brings the building component down to zero or close to it; removing the ceiling fan then costs only a fraction of a point, which can vanish in the rounding."
      },
      "portee": {
        "fr": "Inatteignable avec les données livrées.",
        "en": "Unreachable with the shipped data."
      },
      "traitement": {
        "fr": "Disparaît avec l'exposition de toiture, qui remplace le facteur étage (morceau préparé, non appliqué en version 1.0.0).",
        "en": "Disappears with roof exposure, which replaces the floor factor (component prepared, not applied in version 1.0.0)."
      }
    },
    {
      "id": "DEF-3",
      "statut": "corrige",
      "version_correction": "1.0.0",
      "texte": {
        "fr": "Jusqu'à la version 0.7.0, une sévérité non numérique (NaN) donnait un score non numérique, affiché au palier « Exposition très forte ».",
        "en": "Up to version 0.7.0, a non-numeric severity (NaN) gave a non-numeric score, displayed in the \"Very high exposure\" tier."
      },
      "portee": {
        "fr": "Inatteignable avec le jeu climat livré (le format JSON ne peut pas encoder NaN).",
        "en": "Unreachable with the shipped climate dataset (JSON cannot encode NaN)."
      },
      "traitement": {
        "fr": "Corrigé en version 1.0.0 : une valeur climatique non numérique est traitée comme un climat absent.",
        "en": "Fixed in version 1.0.0: a non-numeric climate value is treated as a missing climate."
      }
    },
    {
      "id": "DEF-4",
      "statut": "present",
      "version_correction": null,
      "texte": {
        "fr": "Quand la composante climat sature à son maximum, le score peut remonter en rez-de-chaussée ; ce défaut survit à la suppression de l'arrondi.",
        "en": "When the climate component saturates at its maximum, the score can go back up on the ground floor; this defect survives the removal of the rounding."
      },
      "portee": {
        "fr": "Inatteignable avec les données livrées.",
        "en": "Unreachable with the shipped data."
      },
      "traitement": {
        "fr": "Revoir l'interaction entre le bonus du rez-de-chaussée et la saturation.",
        "en": "Revisit the interaction between the ground-floor bonus and saturation."
      }
    }
  ],
  "cadre_juridique": {
    "etat_au": "2026-10-04",
    "directive": {
      "reference": "Directive (UE) 2024/825",
      "modifie": [
        "Directive 2005/29/CE",
        "Directive 2011/83/UE"
      ],
      "transposition_due": "2026-03-27",
      "application": "2026-09-27"
    },
    "transposition_francaise": {
      "statut": {
        "fr": "non adoptée",
        "en": "not adopted"
      },
      "texte": {
        "fr": "Projet de loi DDADUE (n° 118 au Sénat, n° 2518 à l'Assemblée nationale), adopté par le Sénat en première lecture le 18/02/2026, en commission à l'Assemblée nationale depuis le 20/02/2026. Aucune adoption définitive à la date indiquée.",
        "en": "DDADUE bill (no. 118 at the Senate, no. 2518 at the National Assembly), passed by the Senate at first reading on 18/02/2026, in committee at the National Assembly since 20/02/2026. Not finally adopted at the date indicated."
      }
    },
    "portee": {
      "fr": "La directive (UE) 2024/825 s'applique depuis le 27/09/2026 ; sa transposition française n'était pas adoptée à la date indiquée. Cette méthode est publiée par exigence éditoriale ; elle ne vaut pas affirmation de conformité à un texte en vigueur.",
      "en": "Directive (EU) 2024/825 has applied since 27/09/2026; its French transposition had not been adopted at the date indicated. This method is published as an editorial standard; it does not amount to a claim of compliance with a text in force."
    }
  },
  "publication": {
    "url_methode": "https://onedpe.fr/methode/score-ete.json",
    "url_page": {
      "fr": "https://onedpe.fr/fr/confort-ete-dpe/methodologie",
      "en": "https://onedpe.fr/en/dpe-summer-comfort/methodology"
    },
    "doi": null,
    "doi_statut": {
      "fr": "Pas de dépôt d'archive (décision du 23/09/2026) : la méthode est publiée à cette adresse, et chaque révision y est numérotée, datée et décrite (voir « historique_revisions »).",
      "en": "No archive deposit (decision of 23/09/2026): the method is published at this address, and each revision is numbered, dated and described there (see \"historique_revisions\")."
    },
    "licence": "CC-BY-4.0",
    "licences_particulieres": [
      {
        "chemins": [
          "parametres.icu.ecart_K_par_lcz",
          "parametres.icu.nuits_par_lcz",
          "icu.groupes"
        ],
        "licence": "ODbL-1.0",
        "attribution": {
          "fr": "Données ICU : projet MApUCE (Météo-France/CNRM, ANR), licence ODbL — Bocher et al., Urban Climate 24 (2018) 153-174",
          "en": "UHI data: MApUCE project (Météo-France/CNRM, ANR), ODbL licence — Bocher et al., Urban Climate 24 (2018) 153-174"
        }
      }
    ],
    "credit": {
      "fr": "Source : OneDpe.fr",
      "en": "Source: OneDpe.fr"
    }
  },
  "historique_versions": [
    {
      "version": "0.1.0",
      "date": "2026-07-22",
      "changements": {
        "fr": "Fondation : composante bâti (critères de l'annexe 9 et pénalités graduées) croisée avec une composante climat au département.",
        "en": "Foundation: building component (annex 9 criteria and graded penalties) crossed with a climate component at department level."
      }
    },
    {
      "version": "0.2.0",
      "date": "2026-07-22",
      "changements": {
        "fr": "Seuils de l'indice A-G calés sur les déciles nationaux du score (environ 200 000 DPE). Critère de publication redéfini : l'accord avec l'indicateur déclaré s'étant révélé inatteignable (le déclaré diverge de ses propres critères), le critère retenu est la monotonie des médianes et une distribution équilibrée.",
        "en": "A-G index thresholds set on the national deciles of the score (about 200,000 DPE). Publication criterion redefined: agreement with the declared indicator proved unreachable (the declared verdict diverges from its own criteria), so the criterion retained is median monotonicity and a balanced distribution."
      }
    },
    {
      "version": "0.3.0",
      "date": "2026-07-22",
      "changements": {
        "fr": "Seuils de l'indice A-G recalés sur les septiles nationaux mesurés (199 875 DPE, script reproductible). Médianes monotones selon le niveau déclaré (insuffisant < moyen < bon).",
        "en": "A-G index thresholds reset on the measured national septiles (199,875 DPE, reproducible script). Medians monotonic by declared level (insufficient < medium < good)."
      }
    },
    {
      "version": "0.4.0",
      "date": "2026-07-23",
      "changements": {
        "fr": "Facteur étage pour les appartements (dernier étage pénalisé, rez-de-chaussée favorisé, modulés par la sévérité climatique). Pilier îlot de chaleur préparé mais inactif. Recalage sur 199 197 DPE : septiles identiques, seuils inchangés.",
        "en": "Floor factor for flats (top floor penalised, ground floor favoured, modulated by climate severity). Urban heat island pillar prepared but inactive. Recalibration on 199,197 DPE: identical septiles, thresholds unchanged."
      }
    },
    {
      "version": "0.5.0",
      "date": "2026-07-26",
      "changements": {
        "fr": "Pilier îlot de chaleur urbain activé à l'adresse, via la zone climatique locale (LCZ, carte WUDAPT 100 m). Recalage sur 1 999 249 DPE : septiles identiques, seuils inchangés.",
        "en": "Urban heat island pillar activated at address level, through the local climate zone (LCZ, WUDAPT 100 m map). Recalibration on 1,999,249 DPE: identical septiles, thresholds unchanged."
      }
    },
    {
      "version": "0.6.0",
      "date": "2026-09-20",
      "changements": {
        "fr": "Plafond annexe 9 : le score ne peut plus annoncer un indice meilleur que ce que le verdict réglementaire autorise (« insuffisant » : indice E au mieux ; « moyen » : indice C au mieux) ; aucun plancher.",
        "en": "Annex 9 ceiling: the score can no longer claim a better index than the regulatory verdict allows (\"insufficient\": index E at best; \"medium\": index C at best); no floor."
      }
    },
    {
      "version": "0.7.0",
      "date": "2026-09-23",
      "changements": {
        "fr": "Quatre paliers d'exposition nommés (faible, modérée, forte, très forte) remplacent la lettre A-G à l'affichage ; leurs bornes sont les planchers des lettres B, D et F. Score, sens du score, lettres calculées et plafond annexe 9 inchangés : « insuffisant » reste au mieux au palier « exposition forte », « moyen » au palier « exposition modérée ».",
        "en": "Four named exposure tiers (low, moderate, high, very high) replace the A-G letter on display; their boundaries are the floors of letters B, D and F. Score, direction of the score, computed letters and annex 9 ceiling unchanged: \"insufficient\" remains at best in the \"high exposure\" tier, \"medium\" in the \"moderate exposure\" tier."
      }
    },
    {
      "version": "1.0.0",
      "date": "2026-10-04",
      "changements": {
        "fr": "Nouveau nom : « Indice d'exposition estivale OneDpe » (anciennement « Score Été OneDpe »), sens inchangé. Climat observé : normale Météo-France 1991-2020 de la commune, mélangée à parts égales avec une projection 2050 calculée par OneDpe à partir de DRIAS, sur une échelle fixe ; la référence Climadiag 1976-2005 et l'horizon 2030 ne sont plus utilisés. Îlot de chaleur calé sur les cartes MApUCE, indépendant du climat. Un seul arrondi, sur le score exact ; une entrée climatique non numérique est traitée comme un climat absent. Bornes des paliers recalculées sur les diagnostics de calibration du 25/08/2026 (≥ 80 · 67-79 · 57-66 · < 57), plafond annexe 9 dérivé de ces bornes (66 et 79). Comparaison au parc rétablie. Exposition de toiture préparée, non appliquée.",
        "en": "New name: \"OneDpe summer exposure index\" (formerly \"OneDpe Summer Score\"), same direction. Observed climate: the municipality's Météo-France 1991-2020 normal, blended in equal parts with a 2050 projection computed by OneDpe from DRIAS, on a fixed scale; the Climadiag 1976-2005 reference and the 2030 horizon are no longer used. Heat island fitted on the MApUCE maps, independent of the climate. A single rounding, on the exact score; a non-numeric climate input is treated as a missing climate. Tier boundaries recomputed on the calibration certificates as of 25/08/2026 (≥ 80 · 67-79 · 57-66 · < 57), annex 9 ceiling derived from these boundaries (66 and 79). Comparison with the housing stock restored. Roof exposure prepared, not applied."
      }
    }
  ],
  "historique_revisions": [
    {
      "revision": 1,
      "date": "2026-09-23",
      "version_moteur": "0.6.0",
      "changements": {
        "fr": "Première publication du document.",
        "en": "First publication of the document."
      }
    },
    {
      "revision": 2,
      "date": "2026-09-23",
      "version_moteur": "0.6.0",
      "changements": {
        "fr": "Format 2 : la clé « parametres.plancher_classe » devient « parametres.plancher_indice » (la lettre du Score Été est un indice, pas une classe), valeurs inchangées ; « revision_document », « date_revision_document », « versionnage » et « historique_revisions » ajoutés ; la mention de réutilisation de Climadiag, son archive et le statut de la transposition française deviennent bilingues. Textes anglais alignés sur le français (révisions prévues, limite « climat-projete ») ; dans les révisions prévues, « échelle » devient « normalisation » ou « indice » selon le sens. Aucun paramètre ni aucun chiffre publié ne change.",
        "en": "Format 2: key \"parametres.plancher_classe\" becomes \"parametres.plancher_indice\" (the Score Été letter is an index, not a class), values unchanged; \"revision_document\", \"date_revision_document\", \"versionnage\" and \"historique_revisions\" added; the Climadiag reuse statement, its archive and the status of the French transposition become bilingual. English texts aligned with the French (planned revisions, \"climat-projete\" limitation); in the planned revisions, \"scale\" becomes \"normalisation\" or \"index\" depending on the meaning. No parameter and no published figure changes."
      }
    },
    {
      "revision": 3,
      "date": "2026-09-23",
      "version_moteur": "0.7.0",
      "changements": {
        "fr": "Version 0.7.0 : quatre paliers d'exposition nommés à la place de la lettre A-G — section « paliers » et clé « parametres.paliers » (bornes dérivées des planchers des lettres, correspondance, et note historique sur les lettres, sortie de l'outil jusqu'à la version 0.6.0). Format 3, avec un changement de structure : l'étape « indice » de la formule devient « palier » (« formule.etapes » : qui lit une étape par son identifiant doit lire le nouveau). Exprimés en paliers : description du score dans « identite », étape du plafond annexe 9, étape de la confiance (« ni le score ni le palier »), limites sur les critères inconnus et sur les seuils relatifs, défaut DEF-3. « application.barometre_2026 » précise que le baromètre 2026 est exprimé en scores sur 100 et en médianes, jamais en lettres. Plus aucun DOI annoncé : pas de dépôt d'archive. Révisions prévues mises à jour (édition 2027 : nouveau nom et sens inversé ; version 1.0.0 : bornes des paliers recalculées en décembre selon la même règle, provisoires jusqu'à leur gel au printemps 2027 ; îlot de chaleur fondé sur la seule LCZ et calé sur MApUCE, les écarts retenus étant publiés sous ODbL avec attribution, son effet borné à +8 points de composante climat ; exposition de la toiture provisoire, son effet borné à 12 points de score). Aucun score, aucune lettre calculée ni aucun paramètre existant ne change.",
        "en": "Version 0.7.0: four named exposure tiers instead of the A-G letter — \"paliers\" section and \"parametres.paliers\" key (boundaries derived from the letter floors, correspondence, and historical note on the letters, the output of the tool up to version 0.6.0). Format 3, with one structural change: formula step \"indice\" (index) becomes \"palier\" (\"formule.etapes\": anyone reading a step by its id must read the new one). Expressed in tiers: description of the score in \"identite\", annex 9 ceiling step, confidence step (\"neither the score nor the tier\"), limitations on unknown criteria and on relative thresholds, defect DEF-3. \"application.barometre_2026\" states that the 2026 barometer is expressed as scores out of 100 and as medians, never as letters. No DOI announced any more: no archive deposit. Planned revisions updated (2027 edition: new name and reversed direction; version 1.0.0: tier boundaries recomputed in December by the same rule, provisional until they are frozen in spring 2027; heat island based on the LCZ alone and fitted on MApUCE, the retained gaps being published under the ODbL with attribution, its effect bounded to +8 points of the climate component; provisional roof exposure, its effect bounded to 12 score points). No score, no computed letter and no existing parameter changes."
      }
    },
    {
      "revision": 4,
      "date": "2026-10-04",
      "version_moteur": "1.0.0",
      "changements": {
        "fr": "Version 1.0.0 et nouveau nom : « Indice d'exposition estivale OneDpe » (anciennement « Score Été OneDpe »), sens inchangé. Format 4, avec des changements de structure : « identite.nom_edition_2027 » devient « identite.ancien_nom » ; « formule.etapes » gagne l'étape « ilot » ; « grain_climat.normalisation » est remplacée par « normale », « projection_2050 », « melange », « ancrages » et « origine » ; « paliers.liste » perd « lettres » et gagne « plage_version_0_7_0 » ; « paliers.bornes_servies », « paliers.calibration », « paliers.historique_bornes », « interrupteurs », « parametres_inactifs » et « publication.licences_particulieres » sont ajoutés ; « parametres » publie aussi les constantes de la version 1.0.0 ; « icu » décrit la table MApUCE appliquée ; « defauts_connus » gagne un statut et une version de correction ; « jeux_de_donnees » publie des descriptions bilingues des jeux climat et des médianes au lieu de leurs métadonnées brutes, et ajoute « stations_normale » et « calibration ». Sources ajoutées : Météo-France MENSQ, DRIAS, MApUCE, IGN, INSEE ; Climadiag ne décrit plus que les versions antérieures et le baromètre 2026. Limites : ajout de la dépendance au modèle climatique, de la station de la normale et du poids des nuits ; retrait des limites propres à la version 0.7.0 (saturation de l'échelle, plancher de référence, projections Climadiag, îlot de chaleur multiplié par la sévérité) et de celle sur le périmètre de l'outil, devenue inexacte ; réécriture des limites sur les seuils relatifs et les réglages d'expert. Défauts DEF-1 et DEF-3 corrigés. Comparaison au parc rétablie. Révisions prévues mises à jour par rapport à la révision 3 : le nouveau nom, qu'elle annonçait pour l'édition 2027, est avancé à la version 1.0.0 ; l'inversion du sens qu'elle annonçait est abandonnée ; les bornes des paliers, qu'elle annonçait recalculées en décembre, sont recalculées pour la version 1.0.0 ; « revisions_prevues[].echeance », un texte bilingue en révision 3, vaut désormais null : aucune échéance n'est datée.",
        "en": "Version 1.0.0 and new name: \"OneDpe summer exposure index\" (formerly \"OneDpe Summer Score\"), same direction. Format 4, with structural changes: \"identite.nom_edition_2027\" becomes \"identite.ancien_nom\"; \"formule.etapes\" gains the \"ilot\" step; \"grain_climat.normalisation\" is replaced by \"normale\", \"projection_2050\", \"melange\", \"ancrages\" and \"origine\"; \"paliers.liste\" loses \"lettres\" and gains \"plage_version_0_7_0\"; \"paliers.bornes_servies\", \"paliers.calibration\", \"paliers.historique_bornes\", \"interrupteurs\", \"parametres_inactifs\" and \"publication.licences_particulieres\" are added; \"parametres\" also publishes the constants of version 1.0.0; \"icu\" describes the applied MApUCE table; \"defauts_connus\" gains a status and a correction version; \"jeux_de_donnees\" publishes bilingual descriptions of the climate and median datasets instead of their raw metadata, and adds \"stations_normale\" and \"calibration\". Sources added: Météo-France MENSQ, DRIAS, MApUCE, IGN, INSEE; Climadiag now only describes the earlier versions and the 2026 barometer. Limitations: addition of the dependency on the climate model, of the station of the normal and of the weight of nights; removal of the limitations specific to version 0.7.0 (saturation of the scale, reference floor, Climadiag projections, heat island multiplied by the severity) and of the one on the scope of the tool, which had become inaccurate; rewriting of the limitations on relative thresholds and expert settings. Defects DEF-1 and DEF-3 fixed. Comparison with the housing stock restored. Planned revisions updated relative to revision 3: the new name, which it announced for the 2027 edition, is brought forward to version 1.0.0; the reversal of direction it announced is abandoned; the tier boundaries, which it announced would be recomputed in December, are recomputed for version 1.0.0; \"revisions_prevues[].echeance\", a bilingual text in revision 3, is now null: no deadline is dated."
      }
    }
  ],
  "revisions_prevues": [
    {
      "id": "toiture-1.1.0",
      "version": "1.1.0",
      "echeance": null,
      "texte": {
        "fr": "Exposition de la toiture (paramètres publiés dans « parametres.toiture ») : appliquée une fois vérifiés son effet sur le classement et sa cohérence avec l'indicateur réglementaire, et l'outil alimenté par la même entrée que la calibration ; les bornes des paliers sont alors recalculées selon la même règle.",
        "en": "Roof exposure (parameters published in \"parametres.toiture\"): applied once its effect on the ranking and its consistency with the regulatory indicator have been checked, and the tool fed with the same input as the calibration; the tier boundaries are then recomputed by the same rule."
      }
    },
    {
      "id": "edition-juin-2027",
      "version": null,
      "echeance": null,
      "texte": {
        "fr": "Édition annuelle 2027 du baromètre : gel définitif des bornes des paliers, calculées selon la même règle ; nom et sens de l'indice inchangés.",
        "en": "2027 annual edition of the barometer: final freeze of the tier boundaries, computed by the same rule; name and direction of the index unchanged."
      }
    },
    {
      "id": "validation-degres-heures",
      "version": null,
      "echeance": null,
      "texte": {
        "fr": "Comparaison du classement à des degrés-heures d'inconfort de référence, la cible arrêtée le 22/09/2026 (voir « estimand ») ; non datée.",
        "en": "Comparison of the ranking with reference discomfort degree-hours, the target set on 22/09/2026 (see \"estimand\"); not dated."
      }
    }
  ]
}
