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%
-
Mon, Sep 7, 2026 1
-
feat(fiche): refonte premium mobile-first de la fiche événement (2026-09-07)
…
Même socle que les fiches Lou-Ka v3 / Immo-Ka v3, porté en JS natif dans frontend/index.html (tokens --sk-*, classes sk-*, fond papier, cartes blanches bord 1 px, framboise réservée aux CTA/prix) : héro (catégorie · source, prix « Dès X $ » / Gratuit / Billetterie, capsules date et statut, titre + lieu · ville · date, image, actions favoris ♥ / partage / Billets) ; « En bref » déterministe (aujourd'hui / demain / ce week-end / terminé, statut annulé-reporté-complet, prix, lieu, artistes, public) ; navigation sticky par sections (scroll-spy) ; « Quand et où » (faits, adresse, itinéraires, carte Leaflet sur tuiles OSM — CARTO exige désormais une clé) ; « Programme » (description tronquée, artistes, étiquettes) ; « Billets et prix » ; « À voir aussi » (cartes existantes) ; Dossier de la fiche ; Sources et méthodologie. CTA sticky après le héro, aside desktop sticky, « Demander à Ka » (bottom sheet → widget KA Agent). Header compact sur /evenement/ (favoris + partage injectés, ticker/badge/tabbar masqués, nettoyage au retour sur les autres vues). Ids de sections préfixés sk- (collision avec #sources de l'accueil). Ancien lien « Toutes les sorties » remplacé par le fil d'Ariane. Aucun order CSS ; pas de scrollIntoView à l'ouverture. Dossier qa/ (ignoré par git) : serveur de prévisualisation + scripts Playwright (lien vers vrai-prix/node_modules). Validé sur M3U96a : check-order OK, interactions OK (accordéon, similaires, Ka, navigation SPA, 404), captures 6 largeurs ; index.html basculé (rendu SEO seo.py relit le fichier à chaque requête, aucun redémarrage).
-
-
Wed, Aug 19, 2026 2
-
Phase 3 — annuaire de salles : table venues (appris/OSM/Nominatim), matching par alias, plages de dates FR
…
- sortika/venues.py : annuaire de salles QC — auto-apprentissage des salles géocodées par les sources, extrait Overpass des lieux culturels (import par fichier si le nœud n atteint pas overpass-api.de, échec mémorisé 3 j), géocodage Nominatim des salles récurrentes (plafonné) ; matching nom normalisé + alias de segments + « Salle X » → « X » (ville obligatoire), match sans ville seulement si clé unique ≥ 8 car. — jamais de GPS inventé - scripts/build_venues.py : amorçage one-shot de l annuaire - ingest.py : venues.run à chaque cycle (après le géocodeur) - normalize.py : parse_date_range_fr (« Du 4 juin au 22 août 2026 »…) - GPS des « à venir » : 64,9 % → 76,4 % (+3 264 fiches localisées) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
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
-
Vague 2 d'enrichissement : heure précise, artistes, 3 nouveaux connecteurs
…
- Colonnes additives events.start_time (HH:MM locale QC) et events.artists (JSON) + migration auto à la connexion ; Event.finalize normalise l'heure (parse_time) et déduplique les artistes. - Heure captée partout où la source la publie : lepointdevente (cartes de liste « 17 août 2026, 20h00 » + fiches), evenko (show_time epoch → America/Montreal, respect hide_show_time), Laval et Sherbrooke (flux UTC → date+heure locales, minuit local = toute la journée), Montréal (JSON-LD des fiches pendant l'enrichissement og:image, cache rétro-compatible), atuvu. - Artistes : headliners evenko (explicite), lineup Bandsintown, attractions Ticketmaster, et extraction conservatrice des titres lpdv (patrons sûrs « Artiste - Salle » / « X en concert/rodage », liste de mots interdits). - Nouveau connecteur Ville de Brossard (API REST WordPress city-event + bannière/JSON-LD des fiches, cache incrémental) — 251 événements. - Nouveau connecteur Bandsintown (dates QC des artistes connus de la base, rotation 100 artistes/sync, app_id js_www.sorti-ka.com testé accepté) — 108 concerts géolocalisés avec heure. - Nouveau connecteur Ticketmaster Discovery API, complet mais « prêt — clé requise » (TICKETMASTER_API_KEY absent de .env ; skip propre + .env.example). - Gatineau, Trois-Rivières, Lévis, Terrebonne : étudiées et documentées « abandonnée » dans sources.json (aucun flux exploitable, vérifié 2026-08-18). - Dédup à l'affichage : rang prix > GPS > image > description ; /api/stats expose « sources » (10 actives) pour le hub groupe-ka ; SSR : heure dans le JSON-LD (offset québécois) + performer ; frontend : heure sur les cartes et fiches, « À l'affiche », libellés des nouvelles sources. - Tests : 22 → 32 (parse_time, utc_to_local, artistes, migration, TM/BIT/ Brossard sur structures réelles). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Mon, Aug 17, 2026 3
-
gitignore : fichiers SQLite runtime (db-shm/db-wal) retirés du suivi
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
État du nœud — MAJ README ; gitignore *.log (logs de backfill)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Sorti·Ka v1 — agrégateur de sorties & événements du Québec
…
8 connecteurs actifs (Le point de vente, SIT Québec, Ville de Montréal, evenko, La Vitrine, Atuvu, Sherbrooke, Laval), 15 231 événements actifs dans les 17 régions, fiches SSR /evenement/{uid} avec JSON-LD, dédup inter-sources, enrichissement d'images og:image, design system Groupe KA « éditorial sharp », 19 tests sur fixtures réelles. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-