Vue lecture

Information couleur du jour pour contrats électricité Tempo

Suite à une question posée en 2023, cette dépêche propose un état des lieux des sources librement accessibles (sans imposer un jeton pour accéder aux API pour obtenir de manière structurée l’information) permettant de suivre les jours en tensions pris en compte dans l’option tarifaire TEMPO chez EDF. Cette option tarifaire consiste à payer moins cher l’électricité à condition de la payer 3 fois plus cher 22 jours dans l’année : les jours en tensions, généralement durant l’hiver.

Cette option permet de lisser la charge sur le réseau de transport de l’électricité. Pour faire bon usage de cette option, il faut surveiller la couleur du jour pour déterminer s’il vaut mieux réduire le chauffage électrique et les autres sources de consommations électriques. L’information est affichée le jour même sur le compteur électrique, mais il peut être utile d’être prévenu. On peut consulter le site de EDF, mais il peut être plus intéressant de disposer d’une API pour récupérer cette information, et ainsi pouvoir l’intégrer dans un système domotique, par exemple.

    Sommaire

    Les anciennes APIs ne fonctionnent plus

    En effet, les forums domotiques attestent que c’était pourtant très utilisé, depuis le 29/08/2024 (avant-veille du changement de saison Tempo) les URL concernées (resp. couleur du jour+lendemain et compteurs saison en cours) répondent en erreur:

    Couleurs jour/lendemain
    Totaux en cours

    À la recherche d’une solution de remplacement

    On voit une autre URL apparaître ces derniers jours sur les forums, mais elle ne donne pas spécifiquement les couleurs jour/lendemain mais des compteurs: nombre de jours bleus, rouges et blancs depuis le début de l’année. Il faudrait donc déduire la couleur du jour en fonction de ce qui change d’un jour à l’autre! On a vu plus simple, mais comme ça marche pas on ne risque pas de l’utiliser:
    URL nouvelle

    {
        “errors”: [],
        “content”: [
            {
                “typeJourEff”: « TEMPO_BLANC »,
                “libelle”: « TEMPO BLANC 2024 2025 »,
                “nombreJours”: 43,
                “premierJour”: « 2024-09-01 »,
                “dernierJour”: « 2025-08-31 »,
                “premierJourExclu”: null,
                “dernierJourExclu”: null,
                “nombreJoursTires”: 0,
                “etat”: “OUVERTE”
            },
            {
                “typeJourEff”: « TEMPO_BLEU »,
                “libelle”: « TEMPO BLEU 2024 2025 »,
                “nombreJours”: 300,
                “premierJour”: « 2024-09-01 »,
                “dernierJour”: « 2025-08-31 »,
                “premierJourExclu”: null,
                “dernierJourExclu”: null,
                “nombreJoursTires”: 12,
                “etat”: “OUVERTE”
            },
            {
                “typeJourEff”: « TEMPO_ROUGE »,
                “libelle”: « TEMPO ROUGE 2024 2025 »,
                “nombreJours”: 22,
                “premierJour”: « 2024-11-01 »,
                “dernierJour”: « 2025-03-31 »,
                “premierJourExclu”: null,
                “dernierJourExclu”: null,
                “nombreJoursTires”: 0,
                “etat”: « NON_COMMENCEE »
            }
        ]
    }

    Le site d’EDF utilise une API interne indiquant la couleur, jour par jour, pour une plage de dates donnée. Il faut remplir quelques en-têtes HTTP pour que la requête soit acceptée :

    curl \
        'https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf=2023-9-12&dateApplicationBorneSup=2023-9-15&identifiantConsommateur=src' \
        -H 'accept: application/json, text/plain, */*' \
        -H 'cache-control: no-cache' \
        -H 'content-type: application/json'

    Exemple de réponse:

    {
        “errors”: [],
        “content”: {
            “dateApplicationBorneInf”: « 2023-09-12 »,
            “dateApplicationBorneSup”: « 2023-09-16 »,
            “dateHeureTraitementActivET”: « 2024-09-11T11:19:26Z »,
            “options”: [
                {
                    “option”: “TEMPO”,
                    “calendrier”: [
                        {
                            “dateApplication”: « 2023-09-12 »,
                            “statut”: « TEMPO_BLEU »
                        },
                        {
                            “dateApplication”: « 2023-09-13 »,
                            “statut”: « TEMPO_BLEU »
                        },
                        {
                            “dateApplication”: « 2023-09-14 »,
                            “statut”: « TEMPO_BLEU »
                        },
                        {
                            “dateApplication”: « 2023-09-15 »,
                            “statut”: « TEMPO_BLEU »
                        }
                    ]
                }
            ]
        }
    }

    Ces APIs semblent répondre en erreur « La syntaxe de la requête est erronée » aléatoirement lorsqu’on y accède avec curl. Une requête peut fonctionner une fois puis subitement cesser de répondre. S’agit-il d’une limitation du nombre de requêtes venant de la même IP? D’une authentification à effectuer pour avoir le droit de faire des requêtes? Ou juste d’un système complètement buggé qui plante une fois sur 10?

    Pour ceux, que j’imagine nombreux, a qui cela va poser problème et qui ne veulent (ou peuvent) obtenir l’info via un module téléinfo à monter sur son compteur, il y a une URL dont je n’ai pas trouvé référence sur le site de RTE (qui ne propose que des API à jetons) qui se trouve en regardant le github source d’un site tiers donnant également l’info:
    Source tierce

    L’info délivrée par le compteur arrive en prime bien plus tardivement: En début de soirée au lieu de fin de matinée. C’est parce qu’elle transite par Enedis, une autre entreprise qui se charge de la distribution de l’électricité (les lignes à basse tension et les compteurs électriques).

    On peut donc utiliser cette indirection ou regarder les sources afin de trouver l’URL en question, pour laquelle on a une info hélas bien plus verbeuse où il faut faire son marché : on récupère un JSON de tous les jours écoulés depuis le début de la saison en cours, et il faut :

    — extraire l’info aux bonnes dates,
    — refaire ses compteurs de jours bleu/blanc/rouge pour savoir s’il reste des jours rouges ou blancs prévus avant la fin de l’hiver,
    — traiter le flag “fallback” qui, selon la documentation, indique un mode dégradé, mais ce flag ne semble jamais être mis à “true” dans l’historique des données disponibles, et son rôle exact n’est pas clair.

    Conclusion

    Il est au final navrant qu’EDF remplace un truc simple qui marchait très bien par un machin alambiqué qui tombe en marche une fois sur 10…

    Je ne donne pas l’URL librement accessible, mais non documentée, de RTE car je n’aimerais pas qu’elle croule sous les demandes: Ceux qui sont capables de l’utiliser de manière raisonnée sans exploser des quotas sauront bien la trouver avec les infos données!

    (RTE, Réseau de Transport de l’Électricité est l’entreprise qui s’occupe du réseau électrique à haute tension en France. Ce sont eux qui déterminent les jours où le réseau va être très chargé, et c’est ça qui détermine le prix de l’électricité).

    Un avantage à l’utiliser, c’est que l’info est disponible encore plus tôt qu’elle ne l’était chez EDF (c’était généralement MAJ peu après 11h00), permettant d’anticiper encore un peu plus un jour rouge, sachant qu’ils sont souvent en série, si on a quelques lessives à lancer…

    S’il y a des suggestions d’alternatives (sans jetons d’API) non citées, merci de les indiquer en commentaires.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ? Revue de presse — janvier 2025

    Première fournée de l'année pour vos magazines préférés. Voici donc un petit panorama, de plus en plus restreint au niveau des éditeurs, forcément subjectif et parti{e,a}l, de la presse papier sortie récemment.

    D'ailleurs cette année nous pouvons fêter les 30 ans des éditions Diamond. Encore plus vieux que LinuxFr.org ! 🎉 Joyeux anniversaire 🎂. À cette occasion, elles proposent de (re)découvrir l'une de leurs publications en offrant le numéro 270 de GNU/Linux Magazine via leur support de lecture en ligne, Kiosk Online (en HTML).

    Image une de Journal

    Sinon, voici les nouveautés sorties en janvier 2025 et disponibles jusque fin février, sauf pour le hors-série MISC disponible jusqu'à la fin mars :

    • GNU/Linux Magazine France no 273 vous explique comment accéder au matériel PCIE depuis vos VM ;
    • Linux Pratique no 147 utilise GATUS pour déployer une page de monitoring de vos services ;
    • MISC magazine no 137 publie le second article de la série sur le Cyber Resilience Act et propose une intégration des exigences de ce dernier dans vos cycles DevSecOps ;
    • Hackable no 58 allie domotique & vidéosurveillance sans sacrifier votre vie privé ;
    • MISC hors-série no 31 donnera des idées aux Red Team avec cinq articles techniques décrivant des attaques concrètes et réussies sur le terrain.

    Télécharger GNU/Linux Magazine numéro 270

    Pour le récupérer, il suffit de

    1. se connecter ou de créer un compte sur leur boutique en ligne ;
    2. d'ajouter le numéro 270 de GNU/Linux Magazine à votre panier en sélectionnant bien le support Kiosk Online avant ;
    3. d'indiquer le code de remise ED30LINUXFR lors de la validation de la commande.

    Bonne lecture !

    Les sommaires des numéros sortis en janvier 2025

    Mosaïque des couvertures GLMF 273 Mosaïque des couvertures LP147 Mosaïque des couvertures MISC HS 31 Mosaïque des couvertures MISC137 Mosaïque des couvertures HK58

    MISC hors‑série numéro 31

    Au sommaire de ce numéro hors-série :

    • Threat modeling : anticiper et identifier les menaces sur les infrastructures
    • Dossier : Red Team
      • IPSpinner : un outil innovant de rotation d’adresses IP
      • Comment (ne pas) définir ses stratégies d'accès conditionnel Entra ID
      • CI/CD : de l'intégration à l'intrusion avec GitHub Actions
      • SCCM : techniques d’exploitation pour les intrusions Red Team
      • Contournements EDR : analyse de SentinelOne
    • Exploitation de l’AD CS : ESC12, ESC13 et ESC14

    GNU/Linux Magazine numéro 273

    Au sommaire de ce numéro de janvier – février 2025 :

    • Awk comparé aux outils Unix et Python ;
    • Encapsulation et gestion d’états en Erlang avec ETS/DETS ;
    • Chroot n'est pas mort, il va d'ailleurs très bien… sous OpenBSD ;
    • Développement noyau, machine virtuelle et périphérique PCIe physique ;
    • Réalisez un module Caddy : exemple de génération d’AVIF et de JXL à la volée ;
    • Le temps sous Linux - 3e volet.

    Linux Pratique numéro 147

    Au sommaire de ce numéro de janvier – février 2025 :

    • Virtualisez facilement de nouveaux systèmes avec Quickemu ;
    • Introduction au filtrage réseau avec BPF ;
    • La pile web sous OpenBSD ;
    • Une météo des services de manière simple et efficace avec Gatus ;
    • Modéliser un contrôle d’accès basé sur les attributs avec OPA ;
    • Automatisation avec Ansible Navigator et Red Hat Ansible Automation Platform ;
    • Adoptez PimCore, bien plus qu’un CMS.

    MISC Magazine numéro 137

    Au sommaire de ce numéro de janvier – février 2025 :

    • Cyber Resilience Act / DevSecOps : mise en perspective et intégration dans le run ;
    • Opération Triangulation : 2 ans après, analyse et détection de l'implant ;
    • Détection d’exploits du noyau Linux avec eBPF ;
    • Sécuriser les clés privées avec la séparation de privilèges cryptographiques ;
    • RETEX d’implémentation d’une architecture N-tier Active Directory ;
    • Chiffrement homomorphe et Private Information Retrieval en Python ;
    • Une solution à la transition vers la cryptographie post-quantique.

    Hackable numéro 58

    Au sommaire de ce numéro de janvier – février 2025 :

    • FSiC2024 : L’Open Silicium décolle à Paris !
    • Mettre en place une surveillance domotique avec Raspberry Pi ;
    • S'initier à OpenCL sur Raspberry Pi 3 ;
    • FX2LP : une autre solution pour créer des périphériques USB ;
    • Sécuriser tout et n'importe quoi avec des mini-signatures ;
    • LiteX : Linux sur un SoC RISC-V en FPGA.

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    ❌