Commit Graph

101 Commits

Author SHA1 Message Date
caty21 8c6f96efd7 fix: restaure la vraie courbe USD (12 réunions) — erreur de résolution de conflit rebase
Le commit précédent a gardé par erreur la version distante (1 point dégradé,
même run bloqué 403) au lieu de la mienne : pendant un `git rebase`,
--ours/--theirs sont inversés par rapport à un merge classique (--ours =
branche cible/origin, pas le commit en cours de replay). Re-fetch confirme
à nouveau 12 réunions FOMC depuis mon IP.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 21:13:26 +02:00
github-actions[bot] dc91350bfa chore: update rate-probabilities data [skip ci] 2026-07-08 19:10:14 +00:00
caty21 356940a76a fix: courbe OIS USD écrasée par un fallback dégradé quand investing.com bloque GitHub Actions
Root cause confirmée en direct dans les logs du run GH Actions du 2026-07-08
15:10 : investing.com renvoie 403 spécifiquement aux IPs des runners GitHub
Actions (bloc anti-bot par réputation IP — mon IP locale passe sans problème,
la même page se parse parfaitement, 12 réunions). C'est intermittent par
nature selon la rotation d'IP de GitHub.

Le vrai bug n'était pas le scraping mais l'absence total de filet de
sécurité : dès qu'un run se prenait ce 403, le code écrasait la vraie courbe
FOMC multi-réunions (12 points, table Investing.com) par le fallback
InvestingLive — un unique point "year-end" — et cette dégradation restait
visible dans data/rate-probabilities.json jusqu'au prochain run qui réussissait
à passer. D'où le symptôme : "parfois ça marche et c'est correct, parfois ça
bug et affiche peu de données fausses" pour les sous-onglets Courbe/Probas/
Réunions de la card USD.

Deux corrections dans fetch-rate-data.mjs :
1. Retry (3 tentatives, backoff 2s/4s/6s) sur le fetch Investing.com — couvre
   les échecs vraiment transitoires (n'aide pas contre un blocage IP qui
   persiste sur tout le run, d'où le point 2).
2. Filet de sécurité : si le résultat du jour n'a qu'1 réunion (signature du
   fallback IL dégradé) alors qu'une vraie courbe multi-réunions existait déjà
   dans le fichier, on la conserve au lieu de l'écraser.

Vérifié : (a) le scrape Investing.com refonctionne depuis ma machine (12
réunions FOMC parsées correctement) ; (b) la logique de préservation testée
isolément avec un cas simulé de dégradation restaure bien les 12 réunions.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 20:44:20 +02:00
github-actions[bot] 66ca9b188b chore: update rate-probabilities data [skip ci] 2026-07-08 17:21:12 +00:00
caty21 7c9b6ac89d fix: actualités — tri chronologique cassé + 3 flux RSS morts remplacés
Tri (lib/newsfeed.ts + components/NewsTab.tsx) :
Un bonus "+3h pour les catégories prioritaires" (Guerre/Chef d'État/Crise…)
était appliqué avant le tri par date. En temps normal ça remonte discrètement
une poignée d'articles importants ; mais en période de crise soutenue (conflit
Moyen-Orient actuel), la quasi-totalité des articles matche une de ces
catégories — le bonus s'applique presque partout et casse l'ordre
chronologique au lieu de l'affiner, produisant des blocs par source de plus en
plus vieux au lieu d'un flux unique correctement entrelacé. Vérifié en direct :
54 articles avant fix avec des dizaines d'inversions chronologiques, 0 après.
Le badge visuel " Prioritaire" reste pour signaler l'importance sans trahir
la fraîcheur réelle.

Flux RSS (lib/newsfeed.ts RSS_FEEDS) — 3 des 6 sources ne contribuaient plus
rien, vérifié en direct :
  - ForexLive : /feed/news est une coquille vide (0 <item>) depuis leur
    migration Nuxt.js vers investinglive.com — déjà couvert par le scraper
    dédié fetchInvestingLiveNews(), aucune perte réelle en le retirant.
  - MarketWatch : l'ancien miroir dowjones.io ne sert que des articles vieux
    de 1+ an (filtrés par le cutoff 8 jours) → remplacé par l'URL RSS actuelle
    (marketwatch.com/rss/topstories, testée fraîche).
  - Reuters : feeds.reuters.com n'existe plus (échec DNS, fermé par Reuters il
    y a plusieurs années) → remplacé par CNBC Markets (testé frais).

Bloomberg (403 anti-bot) et FinancialJuice (site restructuré) restent à zéro,
déjà connu et accepté (échecs silencieux gérés par try/catch).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 18:49:16 +02:00
github-actions[bot] e84e49eb4a chore: update rate-probabilities data [skip ci] 2026-07-08 15:11:23 +00:00
caty21 0657b50c07 feat: banques centrales (vote+dot plot+previsions), calendrier elargi, fix InvestingLive, M3 auto
Central bank governance (nouvel onglet Banques centrales) :
- lib/centralBankGovernance.ts + app/api/central-bank-sources : scraping live du
  vote de la derniere reunion, dot plot Fed (SEP), et desormais les previsions
  macro (PIB + inflation) publiees par chaque BC elle-meme (Fed SEP, Eurosystem
  staff projections, BoJ Outlook Report PDF, SNB conditional forecast, BoC MPR,
  RBA SMP). GBP/NZD laisses honnetement vides quand aucune source chiffree
  fiable n'est accessible (RBNZ bloque par Cloudflare).
- components/CentralBankSourcesTab.tsx : nouvel onglet avec cards par banque.

Taux directeurs + Money Supply M3 :
- data/rate_decisions.json corrige (JPY, EUR, NZD etc. etaient perimes d'1-2
  decisions) et desormais auto-maintenu : .github/workflows/update-rate-decisions.yml
  (horaire) detecte les changements de taux via Trading Economics et fait
  glisser current -> prev sans perte de donnee.
- data/money-supply-m3.json (nouveau) + .github/workflows/fetch-money-supply.yml
  (hebdo) : M3 par devise (proxy M2 pour l'USD, la Fed ne publiant plus M3
  depuis 2006), affiche dans CurrencyCard.

Calendrier economique elargi :
- lib/calendar-countries.ts, lib/calendar-taxonomy.ts, lib/fxstreetCalendar.ts :
  couverture pays elargie + classification des evenements + source FXStreet.

Fix InvestingLive :
- lib/investinglive.ts : l'ancienne API WordPress (wp-json) renvoyait 404 depuis
  leur migration Nuxt.js -> reecrit vers api.investinglive.com/api/homepage/articles,
  + fix crash silencieux (Tldr pas toujours un tableau).

Divers :
- .vercel/ ajoute au .gitignore (ne doit jamais etre commite, cf. son propre README).
- scripts/ (lancement PWA, push env Vercel), captures d'ecran, cache InvestingLive.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-08 16:47:59 +02:00
github-actions[bot] 82a732fbdf chore: update rate-probabilities data [skip ci] 2026-07-08 12:14:53 +00:00
github-actions[bot] 4f5c4ff9e0 chore: update rate-probabilities data [skip ci] 2026-07-08 10:55:21 +00:00
github-actions[bot] 4031bb9afa chore: update rate-probabilities data [skip ci] 2026-07-08 08:10:08 +00:00
github-actions[bot] 5d6926c78e chore: update rate-probabilities data [skip ci] 2026-07-08 05:13:36 +00:00
github-actions[bot] ad805f58b8 chore: update rate-probabilities data [skip ci] 2026-07-08 01:51:45 +00:00
github-actions[bot] 78519ada03 chore: update rate-probabilities data [skip ci] 2026-07-07 23:49:29 +00:00
github-actions[bot] e7878bc0c3 chore: update rate-probabilities data [skip ci] 2026-07-07 22:05:46 +00:00
github-actions[bot] 55ef087488 chore: update rate-probabilities data [skip ci] 2026-07-07 20:46:59 +00:00
github-actions[bot] d1b403e2b3 chore: update rate-probabilities data [skip ci] 2026-07-07 18:55:38 +00:00
github-actions[bot] 46afa3454b chore: update rate-probabilities data [skip ci] 2026-07-07 16:19:49 +00:00
github-actions[bot] 99496ba1c7 chore: update rate-probabilities data [skip ci] 2026-07-07 13:12:34 +00:00
github-actions[bot] 9fba4ece59 chore: update rate-probabilities data [skip ci] 2026-07-07 10:47:15 +00:00
github-actions[bot] 709e05a136 chore: update rate-probabilities data [skip ci] 2026-07-07 07:30:14 +00:00
github-actions[bot] 81f513cf50 chore: update rate-probabilities data [skip ci] 2026-07-07 03:42:50 +00:00
github-actions[bot] f1b8d54ab6 chore: update rate-probabilities data [skip ci] 2026-07-06 23:59:44 +00:00
github-actions[bot] 56fb7daf7e chore: update rate-probabilities data [skip ci] 2026-07-06 22:07:03 +00:00
github-actions[bot] e981ac8d91 chore: update rate-probabilities data [skip ci] 2026-07-06 20:47:50 +00:00
github-actions[bot] e2cbedb97b chore: update rate-probabilities data [skip ci] 2026-07-06 18:50:58 +00:00
github-actions[bot] b1d2280d30 chore: update rate-probabilities data [skip ci] 2026-07-06 16:13:24 +00:00
github-actions[bot] 4b38706ed0 chore: update rate-probabilities data [skip ci] 2026-07-06 12:37:42 +00:00
github-actions[bot] c83a10b85d chore: update rate-probabilities data [skip ci] 2026-07-06 08:11:48 +00:00
github-actions[bot] 84f08a982d chore: update rate-probabilities data [skip ci] 2026-07-06 03:30:51 +00:00
github-actions[bot] b1ec16daaf chore: update rate-probabilities data [skip ci] 2026-07-05 23:58:25 +00:00
github-actions[bot] c05673cbb7 chore: update rate-probabilities data [skip ci] 2026-07-05 22:53:55 +00:00
github-actions[bot] 9d181073cd chore: update rate-probabilities data [skip ci] 2026-07-05 21:52:59 +00:00
github-actions[bot] 8ab064aff9 chore: update rate-probabilities data [skip ci] 2026-07-05 20:06:46 +00:00
github-actions[bot] c8369027d8 chore: update rate-probabilities data [skip ci] 2026-07-05 18:00:42 +00:00
github-actions[bot] 051e2c3c17 chore: update rate-probabilities data [skip ci] 2026-07-05 16:57:29 +00:00
github-actions[bot] 550ded4cbd chore: update rate-probabilities data [skip ci] 2026-07-05 15:06:49 +00:00
github-actions[bot] 6125af104e chore: update rate-probabilities data [skip ci] 2026-07-05 13:11:06 +00:00
github-actions[bot] aeb5c8c256 chore: update rate-probabilities data [skip ci] 2026-07-05 11:23:47 +00:00
github-actions[bot] 88b8f801f4 chore: update rate-probabilities data [skip ci] 2026-07-05 09:36:04 +00:00
github-actions[bot] e32633db36 chore: update rate-probabilities data [skip ci] 2026-07-05 06:32:06 +00:00
github-actions[bot] a7403831f7 chore: update rate-probabilities data [skip ci] 2026-07-05 02:10:38 +00:00
github-actions[bot] 2bf101bd49 chore: update rate-probabilities data [skip ci] 2026-07-04 23:54:28 +00:00
github-actions[bot] 3bd754f4a9 chore: update rate-probabilities data [skip ci] 2026-07-04 22:49:25 +00:00
github-actions[bot] 199bf38c5a chore: update rate-probabilities data [skip ci] 2026-07-04 21:50:07 +00:00
github-actions[bot] 34225ed17c chore: update rate-probabilities data [skip ci] 2026-07-04 20:44:06 +00:00
github-actions[bot] ea4a482b15 chore: update rate-probabilities data [skip ci] 2026-07-04 19:04:10 +00:00
github-actions[bot] 189ca44800 chore: update rate-probabilities data [skip ci] 2026-07-04 17:56:54 +00:00
github-actions[bot] 9a9b92803d chore: update rate-probabilities data [skip ci] 2026-07-04 16:09:25 +00:00
github-actions[bot] d8c6cce6b9 chore: update rate-probabilities data [skip ci] 2026-07-04 14:58:43 +00:00
github-actions[bot] 9c76c48560 chore: update rate-probabilities data [skip ci] 2026-07-04 13:02:39 +00:00