Système de mise à jour 6 fois/jour - Architecture complète (Heure de Montréal)
vitrine-showcase.github.io/public/docs/) : modifiez-le par PR, il est en ligne ~2 min après le merge. Ne plus téléverser de copies ailleurs.LocalCronLambdaScheduler (tz America/Toronto) — PR #369 (Patrick) ; cascade des raffineurs → {23,3,7,11,15,19} Mtl — PR #370 (Adrien). Le « revert du 23 mars » (254f41fa) ne portait QUE sur les payloads pass (→ am/noon/pm), pas sur les heures de crons.03-07/07-11/11-15/15-19/19-23/23-03) : aws-refiners#214 + aws-refiners#215 (closes #195 phase A). 3 raffineurs de la chaîne de la Une ré-ancrés ensemble — radar-salient-objects (fenêtre + étiquettes dérivées d'un bloc unique), radar-salient-index (stepper grid-aware + chargement par intervalle datetime), radar-event-salience (chargement du bloc par intervalle [début, +4h), robuste au bloc du soir 19-23 Mtl qui traverse minuit UTC). Crons et grille sont désormais alignés → fraîcheur ~1h (à 20h, le site sert le bloc 15-19).radar-event-salience est ABSENT de ce plan (créé après, mai 2026) : c'est lui qui produit la Une (headline_events_4h, 6×/jour à :51, storyline_id inclus). headline_of_headlines n'alimente plus le site.radar-salient-objects n'a pas été réalisée (toujours GPT-4o) — à re-prioriser.La Vitrine Démocratique se met à jour 6 fois par jour (toutes les 4 heures) avec les dernières données des médias et analyses.
Délai de disponibilité: Les données collectées sur une fenêtre de 4h sont traitées en ~54 minutes (datamarts).
Exemple: Bloc débute à 11:03 → Datamarts prêts vers 11:57 → Frontend vitrine vers 12:00 (heure de Montréal)
Le pipeline utilise deux types de Glue Jobs AWS pour gérer l'extraction, la transformation et le chargement des données:
DATA_PREPARATION et tout le pipeline RADAR+
Les raffineurs dépendants de la saillance utilisent salient_index comme
source de vérité. Les raffineurs longs sont systématiquement splittés en plusieurs lambdas de 15 min max pour respecter la contrainte AWS Lambda et accélérer le pipeline.
Pipeline scientifique — DATA_PREPARATION (6 phases, 5 modèles):
radar_articles (29 colonnes)
⚖️ Trade-off: Plus lent que GPT-4 (~25 min vs ~2 min),
mais scientifiquement rigoureux, reproductible, et traçable.
💡 Objectif d'optimisation continue:
Réduire le délai de traitement en améliorant les performances des modèles locaux et l'architecture du
pipeline.
✅ Conforme (TS actuel) : horaire déjà aligné avec la cible. 🟡 À adapter : horaire encore à migrer.
Lecture rapide par raffineur (base: bloc MIDI 11:00, heure de Montréal).
| Raffineur | Horaire TS actuel | Horaire cible | Statut |
|---|---|---|---|
| DATA_PREPARATION | 11:06 | 11:06 | ✅ Conforme |
| OBJECT_EXTRACTION | 11:24 | 11:24 | ✅ Conforme |
| SALIENT_OBJECTS | 11:16 | — | 🔴 À débrancher |
| PARTY_SCORE_SALIENT_SHADOW (daily) | 11:31 | 11:31 | ✅ Conforme |
| PARTY_SCORE (daily) | 6x/jour @ :29 | — | 🔴 À débrancher |
| ISSUES_SCORE (daily) | 3x/jour @ :09 | 6x/jour @ :31 | 🟡 À adapter |
| SALIENT_INDEX | 6x/jour @ :20 | 6x/jour @ :42 | 🟡 À adapter |
| HEADLINE_OF_HEADLINES | 6x/jour @ :28 | 6x/jour @ :46 | 🟡 À adapter |
| HEADLINES_ISSUES (daily) | 3x/jour @ :14 | 6x/jour @ :46 | 🟡 À adapter |
| REFLET (daily) | 3x/jour @ :25 | 6x/jour @ :46 | 🟡 À adapter |
| VITRINE_GRAPH_DATA | 5x/jour @ :39 | — | 🔴 À débrancher (post-API) |
Approbation de l'équipe et confirmation des durées réelles en production
Remplace radar-articles-segmented — 5 modèles, 6 phases, 29 colonnes vers
radar_articles — SALIENT_INDEX lit désormais directement depuis
radar_articles
Migration UTC → heure locale Montréal de la grille de blocs (aws-refiners#214, chaîne de la Une : salient-objects, salient-index, event-salience) - Application du nouvel horaire (crons livrés en mars, PR #369/#370) - Payloads pass : maintien assumé de am/noon/pm (décision 2026-07-14 — étiquette interne sans effet sur les calculs)
Monitoring intensif des temps d'exécution - Ajustements si nécessaire - Validation de la synchronisation
Réduction progressive des marges de sécurité - Documentation des métriques