meteo_3eme_seance
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
meteo_3eme_seance [2025/06/22 11:26] – [Génération simple d’une page HTML avec une f-string] admin | meteo_3eme_seance [2025/06/23 07:15] (Version actuelle) – [Génération simple d’une page HTML avec une f-string] admin | ||
---|---|---|---|
Ligne 219: | Ligne 219: | ||
Nous créons **une chaîne de caractères contenant du HTML**, dans laquelle nous insérons directement **les valeurs des variables Python** (température, | Nous créons **une chaîne de caractères contenant du HTML**, dans laquelle nous insérons directement **les valeurs des variables Python** (température, | ||
+ | < | ||
+ | **La balise h1** sert à afficher titre de niveau 1. | ||
+ | |||
+ | **La balise ul** sert à afficher une liste à puce, **les balises li** correspondent aux éléments de la liste. | ||
+ | |||
+ | **La balise p** sert à afficher un paragraphe. | ||
+ | </ | ||
====Pourquoi le f devant la chaîne ?==== | ====Pourquoi le f devant la chaîne ?==== | ||
+ | |||
+ | Le f signifie que c’est une **f-string** (ou formatted string literal en anglais). | ||
+ | |||
+ | Cela permet d’écrire **des variables à l’intérieur de la chaîne** entre des accolades {}. | ||
+ | |||
+ | C’est une **méthode claire et moderne pour mélanger texte et variables** dans une même ligne. | ||
+ | |||
+ | ====Et si la lecture échoue ?==== | ||
+ | |||
+ | < | ||
+ | else: | ||
+ | html = "< | ||
+ | </ | ||
+ | |||
+ | Ce code gère le cas où le capteur ne renvoie pas de valeurs valides. Dans ce cas, on prépare un message simple à afficher sur la page web. | ||
+ | |||
+ | ====Démarrage de l' | ||
+ | |||
+ | < | ||
+ | return render_template_string(html) | ||
+ | </ | ||
+ | |||
+ | Ce code indique à Flask d' | ||
+ | |||
+ | < | ||
+ | if __name__ == ' | ||
+ | app.run(host=' | ||
+ | </ | ||
+ | |||
+ | Ce code permet de lancer l' | ||
+ | * **host=' | ||
+ | * **port=5000** : port utilisé pour acceder au site. | ||
+ | |||
+ | Page app.py : | ||
+ | |||
+ | < | ||
+ | # | ||
+ | from flask import Flask, render_template_string | ||
+ | from capteur import ( | ||
+ | lire_donnees_capteur, | ||
+ | calculer_point_de_rosee, | ||
+ | calculer_humidex, | ||
+ | recuperer_date_heure | ||
+ | ) | ||
+ | |||
+ | # Définition de l' | ||
+ | app = Flask(__name__) | ||
+ | |||
+ | @app.route('/' | ||
+ | def index(): | ||
+ | humidity, temperature = lire_donnees_capteur() | ||
+ | if humidity is not None and temperature is not None: | ||
+ | point_de_rosee = calculer_point_de_rosee(temperature, | ||
+ | humidex = calculer_humidex(temperature, | ||
+ | date_heure = recuperer_date_heure() | ||
+ | |||
+ | html = f""" | ||
+ | < | ||
+ | <ul> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ul> | ||
+ | """ | ||
+ | else: | ||
+ | html = "< | ||
+ | |||
+ | return render_template_string(html) | ||
+ | |||
+ | if __name__ == ' | ||
+ | app.run(host=' | ||
+ | </ |
meteo_3eme_seance.1750591570.txt.gz · Dernière modification : de admin