orgmode-to-gemini-blog/gemini-capsules/cipherbliss_blog/lang_fr/20241109231603-connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande.gmi

93 lines
3.9 KiB
Plaintext
Raw Normal View History

2024-11-11 01:25:10 +01:00
--------------------------------------------------------------------------------
id: 39744df0-f5c4-4e9b-9ca2-3aec58319751 title: cipherbliss_blog
--------------------------------------------------------------------------------
```{=org}
#+CREATED: <2024-11-09 23:16:03>
```
```{=org}
#+TAGS:
```
```{=org}
#+SLUG: connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande
```
```{=org}
#+BLOG: cipherbliss_blog
```
# Connaître la couleur des jours EDF Tempo en ligne de commande {#connaître-la-couleur-des-jours-edf-tempo-en-ligne-de-commande-1}
EDF expose une API pour connaître les couleurs de jour TEMPO, mais cette api n'est pas bien référencée sur le wouaib, ce sont donc des sites qui n'ont rien à voir qui vous donneront cette info avec moult trackers et pubs de partout.
Voici l'url dont vous avez besoin:
>
=> https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&amp;dateApplicationBorneInf=%7Bdate_inf%C3%A9rieure%7D&amp;dateApplicationBorneSup=%7Bdate_sup%C3%A9rieure%7D&amp;identifiantConsommateur=src https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf=%7Bdate_inférieure%7D&dateApplicationBorneSup=%7Bdate_supérieure%7D&identifiantConsommateur=src
Cette API de commerce EDF ne fonctionne que si vous demandez des dates ayant 365 jours d'écart de différence, et si vous ne mettez pas de zéro précédant le numéro de journée au format année-mois-jour. Autre limitation, la couleur du jour du lendemain vous sera donnée seulement à partir de 11h du matin dans la journée.
Fabriquez vous un petit script en python pour aller pêcher ce calendrier, piocher les couleurs des deux derniers jours. Il vous suffira d'un alias de commande pour lancer "python mon~scripttempo~.py" en ayant le dossier où le script est placé dans votre variable d'environnement PATH.
``` python
import requests
import json
from datetime import datetime, timedelta
def date_il_y_a_un_an(date):
date_obj = datetime.strptime(date, "%Y-%m-%d")
date_il_y_a_un_an = date_obj - timedelta(days=365)
return date_il_y_a_un_an.strftime("%Y-%m-%d")
def get_tempo_for_today_and_tomorrow():
# Obtenir la date d'aujourd'hui
datenow = datetime.now()
sup = (datenow + timedelta(days=1))
inf = date_il_y_a_un_an(datenow.strftime("%Y-%m-%d"))
# Obtenir la date de demain
sup = sup.strftime("%Y-%m-%d")
sup = sup.replace("-0", "-")
inf = inf.replace("-0", "-")
# print("Date inf :", inf)
# print("Date sup:", sup)
# URL de l'API d'EDF pour récupérer les informations sur les couleurs des jours de l'offre Tempo
url = f"https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf={inf}&dateApplicationBorneSup={sup}&identifiantConsommateur=src"
print(url)
# Effectuer la requête HTTP et récupérer la réponse JSON
response = requests.get(url)
data = json.loads(response.text)
# Récupérer la liste des couleurs des jours pour les 30 prochains jours
calendrier = data["content"]["options"][0]["calendrier"]
texte_retour=""
# # Afficher les couleurs des jours pour le prochain jour
for jour in calendrier[-2:]:
date = jour["dateApplication"]
code_couleur = jour["statut"]
if code_couleur == "TEMPO_BLEU":
texte_retour+=(f"\033[34m{date}: journée {code_couleur}\033[0m\n")
elif code_couleur == "TEMPO_BLANC":
texte_retour+=(f"\033[37m{date}: journée {code_couleur}\033[0m\n")
elif code_couleur == "TEMPO_ROUGE":
texte_retour+=(f"\033[31m{date}: journée {code_couleur}\033[0m\n")
else:
texte_retour+=(f"{date}: journée {code_couleur}")
return texte_retour
texte = get_tempo_for_today_and_tomorrow()
print(texte)
```
Bonne réduction des pointes de conso!