fix(meteo): repli sur la météo relevée l'an dernier pour la comparaison N-1

La comparaison avec l'année dernière disparaît quand Visual Crossing
refuse durablement l'historique (plan, quota) : le repli précédent ne
cherchait que des lignes N-1 déjà en cache (is_current_year = false) à
7 jours près, qui n'existent plus si l'historique échoue depuis plus
d'une semaine.

La table weather_data garde pourtant la météo relevée chaque jour l'an
dernier, quand ces dates étaient « aujourd'hui » (is_current_year =
true). La route l'utilise désormais en second repli, au jour le plus
proche de la date cible (7 jours max), et journalise l'absence totale de
donnée N-1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MsDJjQrAggcJwbbBtKhgyb
This commit is contained in:
Claude committed 2026-10-05 14:10:06 +00:00
1 parent 6bb61cdbcc
commit 8a27b310d2
1 file changed
+13
+13
View File
@@ -5481,6 +5481,19 @@ RÉSUMÉ DU SCAN
}
}
// Second repli : la météo relevée l'an dernier, au jour le jour, quand ces
// dates étaient « aujourd'hui » (lignes is_current_year = true datées de
// l'année précédente). Elle reste disponible même si l'API refuse
// durablement l'historique (plan, quota).
if (!previousYearData) {
previousYearData = await storage.getNearestWeatherData(previousYearDate, true, 7);
if (previousYearData) {
console.log(`🌤️ [FALLBACK] Using weather recorded last year (${previousYearData.date}) for target ${previousYearDate}`);
} else {
console.warn(`⚠️ [FALLBACK] No previous-year weather available around ${previousYearDate}`);
}
}
// Toujours retourner une réponse même si seule l'année actuelle est disponible
const response = {
currentYear: currentYearData ? {