À propos du projet
Migration Python 3 de barbecue.actimar.fr (Actimar, depuis 2008). Le site est généré par barbecue.py à partir des fichiers WRF du réseau interne, avec fallback sur Open-Meteo pour les points hors domaine.
🌭 L'indice saucisse
Labels fidèles au code source original (barbecue2.py ligne 1090) :
| Saucisses | Label | Score |
|---|---|---|
| 🌭🌭🌭🌭🌭 | 🔥 Excellent | ≥ 78 |
| 🌭🌭🌭🌭 | 👍 Bon | 58–77 |
| 🌭🌭🌭 | 😐 Moyen | 38–57 |
| 🌭🌭 | 😕 Mauvais | 18–37 |
| 🌭 | 🌧️ Breton | 0–17 |
Créneaux : ☀️ Midi (11h–15h) et 🌅 Soir (18h–22h) — fidèles à barbecue2.py lignes 123-124.
🛰️ Sources météo
Modèle WRF (priorité 1)
Les fichiers wrfBRE_d0[123]_YYYY-MM-DD_HH.nc sont lus avec xarray. La sélection du domaine suit la logique de l'original : le rang le plus fin (d03 > d02 > d01) qui contient le point géographique est utilisé. L'interpolation est bilinéaire via xr.DataArray.interp() — équivalent de biliget().
API Open-Meteo (fallback)
Pour les points hors domaine WRF (France hors Bretagne), les données sont récupérées depuis Open-Meteo et mises en cache 1 heure.
Variables utilisées (fidèles à bbq_nn.py)
| Variable WRF | Unité source | Conversion | Rôle dans le NN |
|---|---|---|---|
| t2m | K | −273.15 → °C | temp |
| rain | mm/h | binarisé > 1e-4 | rain_bool |
| u10m, v10m | m/s | √u²+v² × 1/0.5144 → nds | wind |
| rh2m | % | — | rh |
| pslvl | Pa | ÷100 → hPa | slp |
🧮 Le réseau de neurones
Ce site utilise un réseau de neurones MLPRegressor (sklearn, 5 réseaux, 500 itérations).
C'est quoi, un réseau de neurones ?
Imaginez un cuisinier expert qui, après des années à griller des saucisses, a développé un instinct : il regarde la température, le vent, l'humidité… et sait d'un coup d'œil si la soirée barbecue sera bonne ou non. Un réseau de neurones fait la même chose, mais en chiffres.
Concrètement, le programme a été nourri avec 147 observations réelles : à telle heure, par tel temps, un humain a jugé que c'était une soirée « 3 saucisses ». À force de voir ces exemples, le réseau apprend quels paramètres météo font une bonne soirée BBQ, et lesquels la ruinent.
Comment ça fonctionne ici ?
Le réseau reçoit 5 informations météo en entrée, les combine en couche intermédiaire (5 neurones), et produit une note de 1 à 5 :
| Ce qu'on lui donne | Pourquoi c'est important |
|---|---|
| 🌡️ Température (°C) | On ne grille pas sous la neige |
| 🌧️ Pluie (oui/non) | La moindre goutte gâche tout |
| 💨 Vent (nœuds) | Le vent refroidit et disperse la fumée |
| 💧 Humidité (%) | Air sec = braises parfaites |
| 📊 Pression (hPa) | Haute pression = beau temps stable |
Ces 5 entrées passent à travers une couche de 5 neurones artificiels (chacun applique une pondération apprise lors de l'entraînement), puis le réseau produit une note finale de 1 🌭 à 5 🌭🌭🌭🌭🌭.
Pour plus de fiabilité, on entraîne 5 réseaux indépendants et on fait la moyenne de leurs votes — comme demander l'avis à 5 grillardins différents.

Connexions vertes = poids positifs, rouges = poids négatifs. Poids du premier réseau de l’ensemble.
D'où viennent les données d'entraînement ?
Les 147 votes ont été collectés entre 2008 et 2012 par les équipes Actimar — de vraies personnes qui ont noté les conditions BBQ du jour depuis bbq_indices.json. Plus vous ajoutez de votes récents, plus le réseau s'affine. Pour voter :
# Voter depuis la ligne de commande (1 = nul, 5 = parfait)
python barbecue.py --add-vote 4
python barbecue.py --add-vote 3 --vote-station "Brest"
python barbecue.py --add-vote 5 --vote-lat 48.38 --vote-lon -4.48
⚠️ Les prévisions sont approximatives, l'indice est subjectif. Cependant, on lui fait confiance :)
📡 Validation METAR
Qu'est-ce qu'un METAR ?
Un METAR (METeorological Aerodrome Report) est un message météo standardisé émis toutes les 30 minutes par les aéroports du monde entier. Il contient des mesures réelles et certifiées : température, vent, pression, visibilité, état du ciel. Ces données sont fiables car elles proviennent de capteurs calibrés et sont utilisées pour la sécurité aérienne.
BBQ Météo utilise le METAR de Brest-Guipavas (LFRB), l'aéroport le plus proche de notre zone de prévision. Les données sont récupérées automatiquement depuis l'API d'Aviation Weather Center (NOAA).
Pourquoi valider les prévisions ?
Le modèle météo WRF est un outil puissant, mais comme tout modèle numérique, il ne prédit pas toujours parfaitement la réalité. La validation a posteriori consiste à comparer ce que le modèle avait prévu avec ce qu'il s'est réellement passé — un peu comme comparer la météo annoncée hier soir avec le temps qu'il a vraiment fait ce matin.
En accumulant ces comparaisons sur des semaines et des mois, on obtient des indicateurs statistiques qui permettent de savoir si le modèle a tendance à surestimer ou sous-estimer le vent, la température, etc.
Comment ça fonctionne concrètement ?
À chaque génération du site, barbecue.py extrait les prévisions WRF pour les coordonnées de LFRB et les enregistre dans bbq_forecast_log.json. Ensuite, le module bbq_metar.py télécharge les 48 dernières heures d'observations METAR et les confronte aux prévisions correspondantes (±30 min).
Les résultats sont stockés dans bbq_validation_history.json (90 jours glissants) et permettent de calculer trois métriques classiques en météorologie :
| Indicateur | Ce qu'il mesure | Bonne valeur |
|---|---|---|
| MAE | Erreur absolue moyenne — écart moyen entre prévision et observation, sans tenir compte du signe | Temp < 1,5 °C · Vent < 3 kt |
| RMSE | Racine de l'erreur quadratique moyenne — pénalise davantage les grosses erreurs | Proche du MAE |
| Biais | Erreur systématique — positif = modèle surestime, négatif = sous-estime | Proche de 0 |
La page Validation affiche ces statistiques ainsi que les 50 comparaisons les plus récentes, avec un code couleur : vert = bonne prévision, orange = acceptable, rouge = à surveiller.
⚙️ Technique
Généré le : vendredi 27 mars 2026 à 22h28