From 0524e5f7cd2fb9546c92ba13bc1d513bf7571d72 Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Fri, 4 Sep 2026 16:34:29 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20deux=20natures=20d'heure=20murale=20?= =?UTF-8?q?=E2=80=94=20une=20r=C3=A8gle=20de=20stockage,=20pas=20d'afficha?= =?UTF-8?q?ge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit État vérifié avant d'écrire : +etm53 sur la box, aucune clé de fuseau dans `GetLoadConfig`, rien à câbler. La distinction du moteur change ce qu'il faut PERSISTER, pas seulement afficher. Le fuseau est une propriété du champ : - une échéance client suit la maison — « 07:00 » nu est le bon stockage, et le réinterpréter dans le nouveau fuseau est le comportement juste : l'habitude suit le client ; - une plage d'heures creuses est définie par le fournisseur — la réinterpréter parce que la box a bougé est un défaut silencieux, et rien dans la donnée ne permet de s'en apercevoir. Elle doit donc porter son fuseau de référence. Et une demande : ne pas nous laisser coder `Europe/Paris` en dur. Un fournisseur allemand définit ses plages en `Europe/Berlin` ; l'app choisirait une horloge à la place de quelqu'un — le défaut d'aujourd'hui reproduit un cran plus haut. L'avertissement de saisie compare deux choses différentes selon le champ : installation vs appareil pour l'échéance, fournisseur vs installation pour la plage tarifaire. Seul le second peut faire acheter au mauvais moment, et c'est aussi le seul qu'un installateur ne peut pas deviner. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01GKM8FDNHZWogAsjjfB8pSw --- docs/BRIEF_plugin_depuis_maquettes.md | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/docs/BRIEF_plugin_depuis_maquettes.md b/docs/BRIEF_plugin_depuis_maquettes.md index b1f61ab..be6242f 100644 --- a/docs/BRIEF_plugin_depuis_maquettes.md +++ b/docs/BRIEF_plugin_depuis_maquettes.md @@ -2,6 +2,55 @@ --- +## 2026-09-04 (soir) — deux natures d'heure murale : c'est une règle de STOCKAGE, pas d'affichage + +La décision « publier le fuseau, ni imposer ni déclarer forfait » est prise, et le `Changed` avec — +état vérifié : `+etm53` sur la box, aucune clé de fuseau dans `GetLoadConfig` pour l'instant, donc +rien à câbler. + +Votre distinction va plus loin que ce qu'elle annonce, et je crois qu'elle **change ce qu'il faut +persister**, pas seulement ce qu'il faut afficher. + +### Le fuseau est une propriété du CHAMP, pas de l'installation + +| champ | d'où vient son fuseau | `"HH:MM"` nu suffit-il ? | +|---|---|---| +| **échéance client** (« avant 7 h ») | l'installation — c'est une **habitude**, elle suit la maison | **oui** : si la box change de fuseau, l'habitude doit suivre | +| **plage d'heures creuses** | le **fournisseur**, `Europe/Paris` | **non** — et c'est là que ça achète au mauvais moment | + +Pour l'échéance, réinterpréter « 07:00 » dans le nouveau fuseau est **le comportement juste** : le +client veut son eau chaude avant de se lever, où que vive sa box. Pour la plage tarifaire, la même +réinterprétation est un **défaut silencieux** : la fenêtre est définie ailleurs, elle ne bouge pas +parce que la box a bougé, et rien dans la donnée ne permet de s'en apercevoir. + +**Donc une plage tarifaire ne peut pas être stockée en `"HH:MM"` nu.** Elle doit porter son fuseau +de référence — sans quoi le piège d'aujourd'hui revient, à l'identique, sur un champ où il coûte de +l'argent au lieu d'une phrase d'écran. + +### Et surtout : ne nous laissez pas coder `Europe/Paris` en dur + +Ce serait reproduire le défaut **d'un cran plus haut**. Un fournisseur allemand définit ses plages +en `Europe/Berlin` ; l'app choisirait alors une horloge à la place de quelqu'un, exactement ce que +la décision d'aujourd'hui refuse. **Publiez le fuseau de référence avec la configuration +tarifaire**, comme vous publiez celui de l'installation avec la sienne. Nous ne connaîtrons jamais +le bon par déduction. + +### L'avertissement à la saisie compare deux choses différentes selon le champ + +Même forme, opérandes différents — et il faut le dire, sinon quelqu'un implémentera une seule +comparaison pour les deux : + +- **échéance** : fuseau de l'**installation** ≠ fuseau de l'**appareil** → « vous tapez 07:00 sur + une horloge qui n'est pas celle de la maison » ; +- **plage tarifaire** : fuseau du **fournisseur** ≠ fuseau de l'**installation** → « cette plage + commence à 23:00 chez votre fournisseur, soit 00:00 chez vous ». + +Le second est le seul qui puisse faire acheter au mauvais moment, et c'est aussi le seul qu'un +installateur ne peut pas deviner. Avertir **à la saisie**, jamais au résultat : au résultat, +l'heure est passée. + +--- + ## 2026-09-04 (suite) — la baisse, mesurée en lecture seule, et le fuseau qui la datait mal Banc laissé tel quel — l'obligation est la vôtre, je n'ai rien écrit.