Création d’une application météo GDPS avec l’IA

MétéoTechnologie

Ça n’a rien d’innovant car des applications météo, il en pleut à la tonne. Mais je voulais savoir si j’étais en mesure d’afficher les données GDPS (Global Deterministic Prediction System) d’Environnement Canada (le modèle sur 10 jours) sous forme de météogramme.

Mes 4 objectifs :

  1. Me connecter à une API gratuite, peu importe laquelle, pour recueillir les informations pertinentes.
  2. Coder une interface en PHP.
  3. Me faire aider par Claude.ai, directement dans Visual Studio Code.
  4. Faire ceci durant la soirée entre deux activités de routine.

Qu’est-ce que le GDPS?

Le GDPS (Système global de prévision déterministe) est le modèle météorologique de pointe d’Environnement Canada. Utilisant le modèle GEM (Global Environmental Multiscale) couplé atmosphère-océan-glace de mer, il génère des prévisions météorologiques jusqu’à 10 jours avec une résolution de 15 km. Le modèle est mis à jour deux fois par jour (00Z et 12Z, soit 19h et 7h heure de l’Est).


Les fonctionnalités de l’application

Comme je le mentionnais dès le départ, aucune fonctionnalité n’est réellement innovante puisque ces données sont facilement accessibles à peu près partout.

Visualisation interactive des données

L’application offre trois graphiques interactifs basés sur Highcharts :

  1. Température et humidité
    • Température à 2 mètres
    • Point de rosée
    • Humidité relative
  2. Précipitations et Couverture nuageuse
    • Histogrammes colorés par type de précipitation
    • Distinction automatique entre pluie, neige, verglas et grésil
    • Lignes de cumul pour chaque type de précipitations
    • Couverture nuageuse en arrière-plan
  3. Vent et Pression
    • Vitesse du vent à 10 mètres
    • Direction du vent
    • Pression atmosphérique

Catégorisation des précipitations

Catégorisation automatique des précipitations selon le code météo WMO (World Meteorological Organization). L’algorithme analyse chaque heure de prévision et détermine le type exact de précipitation :

  • 🌧️ Pluie (codes 51-65, 80-82) – Affichée en bleu foncé
  • ❄️ Neige (codes 71-75, 85-86) – Affichée en bleu clair
  • 🧊 Verglas (codes 66-67) – Affiché en rose
  • 🔷 Grésil (code 77) – Affiché en violet

Suivi des cumuls

L’application calcule et affiche les cumuls de précipitations pour chaque type, permettant de voir rapidement combien de pluie ou de neige est attendue sur la période de 10 jours.

Performance et mise en cache

l’application intègre :

  • Cache de 30 minutes pour réduire les appels API
  • Actualisation automatique toutes les 30 minutes
  • Indication de la version du modèle utilisé (00Z ou 12Z)

Aspects techniques

Architecture

L’application utilise une architecture client-serveur simple mais efficace :

Frontend

  • HTML5/CSS3 responsive
  • JavaScript vanilla pour la logique
  • Highcharts pour les visualisations
  • Auto-refresh toutes les 30 minutes

Backend (api-gdps.php)

  • PHP 7.4+ pour l’API proxy
  • Intégration avec l’API Open-Meteo
  • Modèle GEM Global d’Environnement Canada

En somme

Ce projet a été développé en quelques minutes à peine entre deux bouchées du souper et démontre l’intégration efficace de l’IA à Visual Studio Code.

L’application est ici.

Auteur

Articles intéressants