Toutes les sorties et tous les événements du Québec, un seul endroit — 7 connecteurs, fiches SSR, design Groupe KA.
HTML 82.9%
Python 15.2%
TypeScript 0.9%
JavaScript 0.7%
-
Wed, Aug 19, 2026 1
-
Phase 2 — noyau : archivage des passés, statut, end_time, quarantaine, séances, villes MAMH
…
- Règle d ARCHIVAGE temporel : un événement terminé passe active=0 à chaque cycle (jamais supprimé) ; un passé archivé n est plus réactivé par un sync « unchanged » (backfill immédiat : 3 745 passés actifs → 0). - Colonnes additives events.end_time (HH:MM), events.status (cancelled/postponed/soldout, NULL = prévu) et events.quarantine (raison, NULL = publiable) + migration auto à la connexion. - dedup_key inclut désormais l HEURE de début : même titre/ville/jour à des heures différentes = séances distinctes (661 groupes → 259 ; les 11 séances d un même parcours redeviennent visibles). Deux fiches sans heure fusionnent toujours ; une fiche avec heure ne fusionne qu à heure égale (règle consignée dans schema.py). - Quarantaine qualité : date passée aberrante (< 2000), début à plus de 2 ans, ville hors Québec — non publiée, comptée (/api/stats), réintégrable à chaque sync dès que la donnée redevient saine. L heure 00:00 est affichée « heure non confirmée » ; l image 404 n est pas vérifiée (coût réseau), le frontend retire les images cassées. - Alerte « source qui meurt en silence » : événements FUTURS par source à chaque cycle (data/future_counts.json) — alerte si 0 futur ou chute > 80 % (le cas Laval : 41 runs verts, max(date)=2025-12-09). - Géocodage par ADRESSE CIVIQUE prioritaire (Nominatim, même cache, 1 req/s) : Brossard 0,7 % → 94 % de GPS, Longueuil 0 % → 75 %. - Villes normalisées au Répertoire MAMH (data/villes_canon.json, généré de MUN.csv + ARR.csv) : « Montreal » 375, « Quebec » 166, 75 graphies, 804 événements backfillés — facettes ville unifiées. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Tue, Aug 18, 2026 1
-
Enrichissement des connecteurs + géocodage des salles
…
- geocode.py (nouveau) : géocodeur Nominatim des salles — cache disque data/geocode_cache.json, throttle 1,1 s, UA SortiKaBot identifié, plafond SORTIKA_GEOCODE_MAX=120 req/cycle, garde-fous bbox Québec + ville dans la display_name, repli sur segment de nom composé ; branché dans ingest.run() - lepointdevente : enrichissement incrémental par fiches /billets/<id> (cache, LPDV_DETAIL_MAX=150/sync, re-visite 7 j, throttle 0,8 s) — description og:description (boilerplate filtré), heure précise (cache), tarifs réels via /plugins/rates/<id> → price_min/price_label/is_free - sitq : contacts Tourinsoft (TelephonePrincipals/Courriels) → description « Renseignements : … » (le flux ne publie ni Descriptions* ni tarifs) - montreal : venue = emplacement (si vrai nom de lieu — aujourdhui la ville ny publie que le mode En salle/À lextérieur/En ligne) ou titre_adresse ; address complétée par adresse_secondaire - evenko : champ free sondé null sur 100 % des hits — détection gratuité par étiquettes explicites event_tag/promotional_tag en complément - sources.json : registre des champs extraits à jour Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-