
Sous le soleil d’Uzès : quand les données historiques révèlent le changement climatique
je suis biologiquement obligé d’endurer la même boucle de bavardages chaque année : « Il fait chaud, n’est-ce pas ? Bien plus chaud que 2020 », ou le classique : « À mon époque, nous avions en fait quatre saisons, pas seulement « Pré-four » et « Friteuse ». »
Honnêtement, je suis tenté d’acquiescer et de me plaindre aussi, mais j’ai la mémoire d’un poisson rouge et un cerveau qui exige des faits froids et durs avant de se lancer dans une diatribe. Comme je ne me souviens pas si le mois de juillet dernier a été « en sueur » ou « fondu », j’aimerais avoir des données réelles pour étayer mes grognements.
je travaille à icCube. C’est fondamentalement un péché professionnel pour moi de me lancer dans un débat basé sur les données sans impliquer les outils de l’entreprise dans un débat superficiel.
Au prochain apéroquand quelqu’un commence à se remémorer à quel point « 1976 a été la véritable année brûlante », je ne devrais pas simplement hocher la tête poliment en soignant mon pastis. Je devrais créer un tableau de bord hautes performances, au pixel près, qui visualise leur nostalgie jusque dans l’oubli. Si je ne peux pas utiliser l’analyse multidimensionnelle pour prouver que nos glandes sudoripares travaillent plus fort que dans les années 70, alors qu’est-ce que je fais de ma vie ?
Alors que ce voyage a commencé comme une quête pour régler un conflit local dans le sud de la France, cet article va au-delà du débat climatique. Il sert de modèle pour un défi classique en matière de données : comment concevoir un système analytique hautes performances capable de donner un sens à des décennies de données historiques applicables à tout domaine nécessitant une analyse comparative historique et actuelle.
Le plan de bataille
Voici le plan décrivant notre attaque tactique contre la vague nostalgie et les preuves anecdotiques :
- À la recherche des renseignements: Traquer les chiffres bruts parce que « ça fait chaud » n’est pas une mesure, et nous avons besoin de trucs à indice d’octane élevé.
- Construire la salle de guerre: Architecter une structure suffisamment robuste pour résister à des décennies de vagues de chaleur sans transpirer.
- Le marteau analytique: Déployer la logique robuste nécessaire pour transformer les données brutes en preuves indéniables et incinérantes à la nostalgie.
- Le visuel « Je vous l’avais bien dit »: Concevoir le tableau de bord au pixel près pour mettre fin à toute dispute d’apéro en trois secondes chrono.
- Tour après la victoire: Maintenant que nous avons vaincu le débat sur le climat, quels autres mythes nationaux allons-nous incinérer avec les données ?
À la recherche des renseignements
Les données sont au cœur de notre mission. Par conséquent, nous devons obtenir des enregistrements historiques de température précis et de haute fidélité en provenance de France.
Météo-Francele service national météorologique et climatologique, est un établissement public de l’État. Elle met à la disposition de tous les utilisateurs les données produites dans le cadre de ses missions de service public dans son portail de données publiques : datagouv.fr. Que Dieu bénisse les portails de données publics. Alors que la moitié des données mondiales sont bloquées derrière des paywalls et des formulaires d’inscription qui demandent votre groupe sanguin, la France se contente de… les livrer. Liberté, égalité, température.
Les données utilisées dans cet article sont mises à disposition sous le Licence ouverte 2.0.
Les observations
Données climatologiques (journalières/horaires) de toutes les stations météorologiques métropolitaines et d’outre-mer depuis leur ouverture, pour tous les paramètres disponibles. Les données ont fait l’objet d’un contrôle climatologique : www.
Les stations météo
Caractéristiques des stations météorologiques de France métropolitaine et d’outre-mer en fonctionnement : www.
Analyse précoce et transformations
Étant comme Saint-Thomas, j’aime voir et revoir un peu par moi-même les données réelles pour bien comprendre d’abord et effectuer quelques contrôles de cohérence avant de tirer des conclusions plus tard.
Pour garder les choses propres, j’ai extrait des données brutes de température de la pile d’observations dont nous disposons. Étant un geek impénitent de Java, j’ai construit une collection de classes pour cette mission et les ai jetées dans un GitHub projet. N’hésitez pas à parcourir le code, à le réutiliser autant que vous le souhaitez.
Je ne vais pas vous ennuyer avec un cours sec sur les données pour le moment. Ce serait comme servir un rosé tiède, absolument criminel, voire illégal dans certains villages provençaux.
Je plongerai dans les moindres détails si nécessaire.
Construire la salle de guerre
Si nous voulons régler une fois pour toutes ces débats en terrasse, nous ne pouvons pas nous contenter d’un tableur et d’un rêve. Nous avons besoin d’un schéma OLAP ; une structure si robuste qu’elle donne un aspect fragile à la maçonnerie en pierre historique locale. Nous le gardons léger pour ce combat spécifique, mais croyez-moi, il est construit pour évoluer lorsque le prochain argument de « l’hiver le plus doux de tous les temps » éclatera inévitablement.
Décomposons l’architecture.
Les dimensions
- Gares: Cela nous permet de localiser précisément la station météo sur la carte de France, car dire « quelque part dans le Sud » ne suffira pas. Il nous faut des coordonnées, des noms, des œuvres.
- Heure/Calendrier: Les suspects habituels : années, mois, jours. Ennuyeux? Bien sûr. Indispensable pour prouver que la mémoire de votre voisin est une poubelle ? Absolument. Nous nous lançons Mois et Jours du mois pour alimenter un widget de calendrier qui me permettra de pointer une date spécifique et de dire : « Vous voyez ? Le 1er juillet 2025 était un paysage d’enfer absolu ». La précision est essentielle lorsque vous gâchez le buzz nostalgique de quelqu’un.
Les faits (c’est-à-dire les mesures)
- Températures: La « Sainte Trinité » des points de données—Moyenne, Maximumet Minimum. Il s’agit de l’entrée principale de notre analyse « Friteuse » par rapport au « Pré-four ».
La définition complète du schéma est stockée dans le GitHub projet avec le code source, prêt lorsque vous vous sentez particulièrement vengeur.
Le cube
Le résultat final ? Un schéma chargé contenant plus de 500 millions de lignes des données de température françaises remontant à 1780. Est-ce absolument exagéré pour une conversation informelle autour des olives ? Bien sûr que oui. C’est le point.
Cela nous donne un terrain de jeu pour pirater d’autres mesures plus tard. Mais gardons-les pour le moment où nous voulons vraiment faire regretter aux gens d’avoir parlé de la météo en premier lieu.
Le marteau analytique
Il est temps de construire la requête qui clôturera le prochain apéro-débat en trois secondes chrono.
Pour réduire le bruit, j’utilise le MDX langage : un langage de requête spécialement conçu pour ce type de tâches lourdes multidimensionnelles. Pour prouver que nous vivons effectivement dans une « friteuse », je vais comparer la température de chaque jour à une période de référence historique.
Si vous ne parlez pas MDX, passez à la jolie image. La requête indique essentiellement au moteur de données de trouver la moyenne « normale » pour ce jour spécifique sur 30 ans et de la soustraire de la température actuelle.
Premièrement, la période de référence (c’est-à-dire notre normale baseline) est défini comme un ensemble statique utilisant l’opérateur de plage (par exemple, 1991 – 2000) :
with
static set [Period] as {
[Time].[Time].[Year].[1991] : [Time].[Time].[Year].[2020]
}
« Pourquoi 30 ans? » Parce que c’est ce que les climatologues et l’Organisation météorologique mondiale ont considéré comme « normal » avant que la planète ne commence à expérimenter de nouveaux réglages de thermostat. C’est l’étalon-or pour une « normale climatologique » ; assez long pour adoucir les années étranges, assez court pour encore se rappeler à quoi ressemblait la « normalité ».
La température moyenne journalière est définie comme la moyenne des températures maximales et minimales de la journée. J’ai expérimenté des moyennes horaires ; les résultats sont presque identiques. Tenons-nous donc en à cette définition simple et bien acceptée :
with
[T_Avg_Daily] as
( [Measures].[Temperature (max.)] + [Measures].[Temperature (min.)] ) / 2
, FORMAT_STRING=".#"
Maintenant, nous devons savoir quelle est la température devrait être. Nous calculons la moyenne de ces températures journalières agrégées sur notre période de référence :
with
[T_Avg_Period] as
avg( [Period], [T_Avg_Daily] )
, FORMAT_STRING=".#"
Enfin, nous calculons la différence, en mesurant exactement à quel point il fait plus chaud (ou plus froid) aujourd’hui par rapport à mes années passées. Cette valeur delta donne un chiffre précis à notre sueur collective :
with
[T_Avg_Diff] as
IIF( isEmpty( [T_Avg_Daily] ), null, [T_Avg_Daily] - [T_Avg_Period] )
En résumé, voici une requête MDX qui compare les températures quotidiennes de 2025 à Uzès avec le record :
with
static set [Period] as {
[Time].[Time].[Year].[1991] : [Time].[Time].[Year].[2020]
}
[T_Avg_Daily] as
( [Measures].[Temperature (max.)] + [Measures].[Temperature (min.)] ) / 2
, FORMAT_STRING=".#"
[T_Avg_Period] as
avg( [Period], [T_Avg_Daily] )
, FORMAT_STRING=".#"
[T_Avg_Diff] as
IIF( isEmpty( [T_Avg_Daily] ), null, [T_Avg_Daily] - [T_Avg_Period] )
select
[Time].[Months].[Months] on 0
[Time].[Days of Months].[Days of Months] on 1
from [Observations]
where [T_Avg_Diff]
filterby [Time].[Time].[Year].&[2025-01-01T00:00:00.000]
filterby [Station].[Station].[Name].&[30189001] -- Nîmes Courbessac
Le lecteur attentif remarquera que j’ai troqué la gare locale d’Uzès contre la gare de Nîmes-Courbessac. Pourquoi? Parce que j’ai besoin de ces douces données historiques pour alimenter mes comparaisons « à l’époque », et Nîmes a tout simplement une mémoire plus longue. C’est juste à côté, donc les températures sont quasiment identiques, même si, pour être honnête, Nîmes est généralement un peu plus chaude.

Dans la section suivante, je vais vous montrer comment ajouter de la couleur à ces valeurs afin que vous puissiez repérer les vagues de chaleur en un coup d’œil.
Le visuel « Je vous l’avais bien dit »
Il est donc temps d’arrêter de regarder le code brut et de créer un visuel pour ce résultat MDX. Mon projet ? Rassemblez toute l’année dans une seule grille 2D, car consulter une liste déroulante de 365 dates est un aller simple vers une migraine.
La configuration est simple : les mois sur l’axe horizontal, les jours du mois sur l’axe vertical. Chaque cellule représente le delta de température, c’est-à-dire la différence (en degrés Celsius) entre 2025 et notre période de référence. Pour que ce soit « à l’épreuve des idiots » la prochaine fois que je prendrai trois pastis à fond, j’ai appliqué une carte thermique : plus la journée était chaude par rapport au passé, plus la cellule était rouge ; plus il fait froid, plus il est bleu.
Divulgation complète : je ne suis pas un « gars visuel ». Ma préférence esthétique commence et se termine généralement par « la requête revient-elle en moins de 50 millisecondes ? Mais même avec mon manque de flair artistique, les données parlent d’elles-mêmes.

Un coup d’œil à cette grille et c’est douloureusement clair : 2025 n’est pas seulement « un peu doux ». C’est une mer de pourpre en colère qui prouve que notre période de référence appartient à un monde qui était nettement moins « pré-four ». Si cela ne fait pas taire les foules « de mon époque » lors du prochain apéro, rien ne le fera.
Ma nostalgie des années passées (1980-2000)
Je recalibre la ligne de base pour qu’elle corresponde aux années de ma jeunesse. En déplaçant la période de référence vers ces « jours de gloire », il s’avère que mon cerveau n’exagérait pas ; les données confirment un net passage des étés gérables du passé à cette nouvelle intensité.

Pas étonnant que la lavande soit stressée.
#Jours > 35
J’ai commencé à devenir curieux ; était-ce juste mon imagination, ou est-ce que la mise en place du « four » sur cette planète s’accélère réellement ? J’ai opté pour un exercice rapide : compter combien de jours par an le thermomètre atteint ou dépasse la barre des 35°C.

À la surprise de personne, les données confirment que la phase « pré-four » diminue et que l’ère de la « friteuse » prend officiellement le relais.
2003 : Quand l’été est devenu une tragédie
Là, dans les données, un pic austère qui domine tous les autres. L’été 2003. Quinze mille personnes n’ont pas survécu à ces journées incessantes au-dessus de 35°C. Rien qu’en France. Une nation qui n’avait pas compris à quel point la chaleur pouvait être mortelle. Le tableau ne montre pas les chaises vides aux tables de dîner cet automne, les familles changées à jamais, la prise de conscience arrivée trop tard.
Ces graphiques ne prouvent pas à eux seuls le changement climatique mondial ; ils prouvent simplement la réalité locale vécue avec rigueur.
Tour après la victoire
Et c’est ainsi que vous transformez un verre décontracté au coucher du soleil en un interrogatoire basé sur des données.
Nous avons officiellement publié les données et le MDX pour prouver que « c’était plus cool avant » n’est pas seulement une personne âgée qui grogne après un Ricard de trop ; c’est un fait vérifiable. Apporter une carte thermique multidimensionnelle à une réunion sociale est-il le moyen le plus rapide de perdre des amis et de ne plus être invité à apéro? Probablement. Mais le silence qui suit un « je vous l’avais bien dit » parfaitement exécuté en vaut-il la peine ? À chaque fois.
Les données n’arrêteront pas la chaleur, mais elles mettront, espérons-le, fin aux mauvais arguments à ce sujet.
L’Indice « Folie Mistral »
Maintenant que la chaleur est retombée, je jette mon dévolu sur le mythique Mistral. Sur chaque place de village, de Valence à Marseille, il y a une sacrée « Règle des 3 » qui dit que lorsque le Mistral commence, il doit souffler pendant 3, 6 ou 9 jours. C’est le genre de numérologie locale que les gens défendent au prix de leur vie.
Je prépare déjà un nouveau schéma « Wind-Chill » pour croiser les vitesses horaires des rafales avec ce mythe calendaire. Je veux voir si le vent se soucie réellement des multiples de trois, ou si c’est simplement notre cerveau qui essaie de trouver des schémas dans le chaos pendant que nos volets claquent.
Si vous avez aimé me regarder élaborer une solution à une conversation informelle, suivez ma descente dans la folie analytique sur Moyen. Nous ne faisons que commencer.



