docs: le test de fuseau porte sur le DÉCALAGE — ne pas le réutiliser pour un tarif

Europe/Berlin et Europe/Paris ne divergeront jamais : la ligne d'échéance restera
muette, et à raison — elle qualifie une horloge, et deux fuseaux au même décalage
donnent la même heure. Avertir parce que les NOMS diffèrent alors que les HEURES
coïncident serait le bruit que la condition existe pour éviter.

Mais une plage tarifaire suit le FOURNISSEUR, pas la box : « même décalage, autre
autorité » y reste une divergence réelle, et le jour où l'un des deux change de
règle d'heure d'été, la plage bouge sans que la box ait bougé. Le lot tarifaire
aura donc besoin d'une comparaison de provenance et d'un fuseau de référence
publié avec la configuration tarifaire.

Noté dans la doc du getter, là où quelqu'un ira le réutiliser.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw
This commit is contained in:
Patrick Schurig 2026-09-06 09:26:19 +02:00
parent 71bb26c81b
commit b1c5336bbe

View File

@ -94,6 +94,21 @@ class EnergyRatiosSnapshot {
/// décalage, et une base embarquée pour le recalculer serait le mauvais geste.
///
/// `false` quand la date manque : on ne conclut pas d'une absence.
///
/// ## ⚠️ Ne PAS réutiliser tel quel pour une plage tarifaire
///
/// Ce test porte sur le **décalage**, pas sur le nom — et c'est juste ici : une échéance
/// qualifie une **horloge**, donc deux fuseaux au même décalage donnent la même heure et
/// il n'y a rien à signaler. `Europe/Berlin` et `Europe/Paris` ne divergeront jamais, été
/// comme hiver : afficher un avertissement parce que les *noms* diffèrent alors que les
/// *heures* coïncident serait exactement le bruit que cette condition existe pour éviter.
///
/// Une **plage tarifaire** pose l'autre question. Elle est définie par le fournisseur, donc
/// elle suit **son** fuseau et non celui de la box — et « même décalage, autre autorité »
/// reste une divergence réelle : le jour où l'un des deux change de règle d'heure d'été, la
/// plage bouge sans que la box ait bougé. Le lot tarifaire aura donc besoin d'une
/// comparaison de **provenance**, pas de décalage, et d'un fuseau de référence publié avec
/// la configuration tarifaire — jamais codé en dur côté app.
bool get fuseauDiffereDeLAppareil {
final d = periodStartedAt?.toLocal();
if (d == null) return false;