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 14:20] – [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 416: Ligne 416:
 Si quelque chose ne fonctionne pas (problème de réseau, mauvaise clé API, réponse inattendue, etc.), on retourne None. Si quelque chose ne fonctionne pas (problème de réseau, mauvaise clé API, réponse inattendue, etc.), on retourne None.
 ### ###
 +
 +====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.1745504441.txt.gz · Dernière modification : de admin