Outils pour utilisateurs

Outils du site


meteo_2eme_seance

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
meteo_2eme_seance [2025/04/24 10:13] – [Réponse de l'API] adminmeteo_2eme_seance [2025/06/22 15:17] (Version actuelle) – [Nouvelles constantes] admin
Ligne 82: Ligne 82:
 ... ...
  
-def calculer_humidex(temphum):+def calculer_humidex(temperaturehumidity):
  
 --- ---
Ligne 95: Ligne 95:
  
 <code> <code>
-def calculer_point_de_rosee(temphum):+def calculer_point_de_rosee(temperaturehumidity):
     # Formule pour calculer le point de rosée     # Formule pour calculer le point de rosée
     alpha = 17.27     alpha = 17.27
     beta = 237.7     beta = 237.7
-    gamma = (alpha * temp) / (beta + temp) + math.log(hum / 100.0)+    gamma = (alpha * temperature) / (beta + temperature) + math.log(humidity / 100.0)
     point_de_rosee = (beta * gamma) / (alpha - gamma)     point_de_rosee = (beta * gamma) / (alpha - gamma)
     return point_de_rosee     return point_de_rosee
Ligne 113: Ligne 113:
  
 <code> <code>
-def calculer_humidex(temphum):+def calculer_humidex(temperaturepoint_de_rosee):
     # Formule pour calculer l'humidex     # Formule pour calculer l'humidex
-    humidex = temp + (5/9) * (6.11 * math.exp(5417.7530 * ((1/273.16) - (1/273.15))) - 10)+    humidex = temperature + (5/9) * (6.11 * math.exp(5417.7530 * ((1/273.16) - (1/273.15 + point_de_rosee))) - 10)
     return humidex     return humidex
 </code> </code>
Ligne 183: Ligne 183:
 <code> <code>
 point_de_rosee = calculer_point_de_rosee(temperature, humidity) point_de_rosee = calculer_point_de_rosee(temperature, humidity)
-humidex = calculer_humidex(temperature, humidity)+humidex = calculer_humidex(temperature, point_de_rosee)
 </code> </code>
  
Ligne 240: Ligne 240:
  
 ### ###
-Mettons une pause de **10 secondes** entre deux lectures, pour éviter de surcharger le capteur et ralentir le flux d’informations.+Mettons une pause de **20 secondes** entre deux lectures, pour éviter de surcharger le capteur et ralentir le flux d’informations.
 ### ###
  
 <code> <code>
-time.sleep(10)+time.sleep(20)
 </code> </code>
  
Ligne 306: Ligne 306:
 </code> </code>
  
-<note important>**Attention** : Ici, nous mettons directement la clé API dans le code. En faisant cela, nous créons une faille de sécurité car nous exposons publiquement une donnée sensible. Nous verrons à la fin comment sécuriser notre clé API.</note>+<note important>**Attention** : Ici, nous mettons directement la clé API dans le code. En faisant cela, nous créons une faille de sécurité car nous exposons publiquement une donnée sensible.</note>
  
 ===== Création d'une nouvelle fonction ===== ===== Création d'une nouvelle fonction =====
Ligne 315: Ligne 315:
  
 <code> <code>
-def get_pression_openweather(API_KEYLATITUDELONGITUDE):+def recuperer_pression(api_keylatitudelongitude):
 </code> </code>
  
Ligne 327: Ligne 327:
  
 <code> <code>
-url = f"https://api.openweathermap.org/data/2.5/weather?lat={LATTITUDE}&lon={LONGITUDE}&appid={API_KEY}&units=metric&lang=fr"+url = f"https://api.openweathermap.org/data/2.5/weather?lat={latitude}&lon={longitude}&appid={api_key}&units=metric&lang=fr"
 </code> </code>
  
Ligne 417: Ligne 417:
 ### ###
  
 +====Affichage des données====
 +
 +<code>
 +pression = recuperer_pression(API_KEY, LATITUDE, LONGITUDE)
 +</code>
 +
 +###
 +On utilise ici la fonction //recuperer_pression// (définie plus haut) pour **obtenir la pression atmosphérique actuelle** à partir des coordonnées géographiques (latitude et longitude) et de la clé API. Le résultat (la pression en hPa) est **stocké dans la variable pression**.
 +###
 +
 +<code>
 +if pression is not None:
 +-> if humidity is not None and temperature is not None and pression is not None:
 +</code>
 +
 +###
 +On s’assure que la récupération des données a bien fonctionné.
 +Si la valeur n’est pas None, cela veut dire que l’appel à l’API a réussi, donc on peut afficher la donnée.
 +Sinon, on ne fait rien (ou on pourrait afficher un message d’erreur pour informer l’utilisateur).
 +###
 +
 +<code>
 +print(f"{CYAN}Pression atmosphérique:{RESET} {pression} hPa")
 +</code>
 +
 +###
 +On affiche la pression, en couleur cyan, grâce aux **constantes ANSI** définies auparavant (**CYAN et RESET**).
 +La valeur est suivie de l’**unité hPa (hectopascals)**, utilisée en météorologie pour mesurer la pression atmosphérique.
 +###
 +
 +
 +----
 +
 +Suite vers la [[meteo_3eme_seance|3ème séance]]
meteo_2eme_seance.1745489619.txt.gz · Dernière modification : de admin