- Retire l'onglet Atlanta Fed MPT (USD) : jugé sans valeur ajoutée réelle.
- EUR/GBP n'avaient qu'un unique point synthétique (agrégat year-end
InvestingLive) gonflé en fausses réunions plates à 0% sur Courbe/
Probabilités/Réunions — d'où l'aspect cassé. Investing.com n'a de Rate
Monitor pré-calculé (comme pour la Fed) ni pour la BCE ni pour la BoE
(404 confirmé), donc pas d'équivalent direct au pipeline USD.
- Remplace ce point unique par un vrai scrape des futures Euribor 3M
(Eurex) et Three-Month SONIA (ICE), cotés sur investing.com (delayed,
gratuit, pas de login) : conversion prix→taux (100−prix), mapping sur
le calendrier réel BCE/BoE (échéance la plus proche ≥ date de réunion,
fenêtre de grâce de 60j au-delà du dernier contrat coté, sinon on
s'arrête plutôt que d'inventer), probabilité approximée avec la
convention bps/25 déjà utilisée pour le fallback InvestingLive.
- Résolution plus grossière que l'USD (mensuelle EUR, trimestrielle GBP)
et clairement étiquetée comme telle dans un footnote dédié.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
rbnz.govt.nz bloque bien ses pages génériques (index, listing) derrière un
challenge Cloudflare, comme déjà documenté — mais vérifié en direct que
sitemap.xml, les pages de contenu individuelles qu'il référence, et les PDF
sous /-/media/ répondent normalement (200, sans challenge). C'est exactement
ce qu'indexerait un moteur de recherche : aucun contournement, juste des
ressources publiques non protégées.
.github/scripts/fetch-rbnz-mps.mjs :
1. Lit sitemap.xml pour trouver la dernière page MPS ("...-filtered-listing-
page/{year}/{month}-{id}/monetary-policy-statement-{month}-{year}")
2. En extrait le lien du PDF officiel
3. Parse le PDF (pdf-parse, déjà utilisé pour BoJ) et extrait la Table 6.5
"Summary of economic projections" (CPI, OCR moyenne annuelle, GDP par
année "March year")
Note technique : le fetch() natif de Node (undici) se prend un 403 sur ces
mêmes URLs alors que curl passe (200, vérifié à la seconde près, même
User-Agent) — Cloudflare fingerprinte la pile TLS/HTTP2 du client, pas
seulement l'en-tête. Le script shell out donc vers curl (préinstallé sur les
runners GitHub Actions).
.github/workflows/fetch-rbnz-mps.yml : quotidien (le MPS n'est publié
qu'~4x/an mais découverte + parsing sont légers), + déclenchement manuel.
lib/centralBankGovernance.ts : fetchRbnzGovernance() expose désormais un vrai
reportPdfUrl/statementUrl (au lieu de null) et un CBForecast — la 8e et
dernière banque centrale de l'onglet Banques centrales à avoir ses
prévisions, malgré le blocage du reste du site RBNZ.
Vérifié en direct : PIB/inflation 2026-2029 extraits correctement (+0.7 à
+3.4% PIB, +3.1 à +2.0% inflation), card RBNZ affiche le bloc "Prévisions"
et un vrai bouton "Rapport PDF" fonctionnel.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Nouveau sous-onglet "Atlanta Fed" dans le bloc OIS de la card USD, méthodologie
alternative aux 30-day Fed Fund Futures demandée : distribution du niveau de
taux Fed déduite des options sur futures SOFR 3 mois (CME), publiée
quotidiennement par la Fed d'Atlanta (Market Probability Tracker). Affiche
Cut/Hold/Hike, la fourchette de taux SOFR implicite (25e-75e percentile), et
la distribution complète par fourchette de 25bps pour la fenêtre trimestrielle
la plus proche.
- .github/scripts/fetch-atlanta-mpt.mjs : télécharge et parse mpt_histdata.xlsx
(Atlanta Fed) avec un lecteur ZIP/OOXML maison — le paquet npm "xlsx" a des
CVE critiques non patchées sur le registre public (SheetJS a arrêté d'y
publier), donc pas de dépendance ajoutée pour ça.
- .github/workflows/fetch-atlanta-mpt.yml : quotidien (donnée mise à jour 1x/jour
par l'Atlanta Fed), + déclenchement manuel.
- lib/atlantaFedMpt.ts + app/api/macro/route.ts : expose la donnée (USD only)
via l'API macro existante.
Sous-onglet "Réunions" (USD) : ajout du libellé de méthodologie demandé —
"Probabilités = somme des % associés à chaque fourchette au-dessus/en-dessous
de la fourchette actuelle · Investing.com Fed Rate Monitor, calculées à partir
des 30-day Fed Fund Futures (CME)".
Vérifié en direct : les deux sous-onglets s'affichent et les chiffres
correspondent aux données brutes (72.4% hike / 1.1% cut / distribution
27.2-45.7-21.4-5.7% pour la fenêtre Sep 2026).
Note en marge (hors scope, découverte pendant les tests) : /api/expectations
prend ~24s à répondre, ce qui bloque l'affichage complet du dashboard
(Promise.allSettled attend les 8 fetches). À investiguer séparément.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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>