SPB Git

spb/sorti-ka

Public

Toutes les sorties et tous les événements du Québec, un seul endroit — 7 connecteurs, fiches SSR, design Groupe KA.

31.4 KB · 404 lines json
1{2  "_comment": "Sorti-Ka — Registre des sources d'événements (province de Québec). Auteur : Simon-Pierre Boucher — contact@spboucher.ai",3  "sources": [4    {5      "id": "sitq",6      "name": "SIT Québec — Ministère du Tourisme",7      "url": "https://www.donneesquebec.ca/recherche/dataset/sit-quebec-evenements",8      "type": "donnees-ouvertes",9      "extraction": "API JSON (Tourinsoft, syndication publique) — dates, géoloc, thèmes, contacts (TelephonePrincipals/Courriels → description « Renseignements : … ») ; le flux ne publie ni Descriptions* ni tarifs (vérifié 2026-08)",10      "acces_legal": "Licence Creative Commons 4.0 (Données Québec) — API officielle publiée par le Ministère du Tourisme",11      "couverture": "Événements touristiques, toutes les régions du Québec",12      "cadence": "horaire (watcher PM2)",13      "statut": "actif"14    },15    {16      "id": "montreal",17      "name": "Ville de Montréal — Événements publics",18      "url": "https://donnees.montreal.ca/dataset/evenements-publics",19      "type": "donnees-ouvertes",20      "extraction": "API CKAN datastore_search (JSON, paginée) — venue = emplacement (si vrai nom de lieu) ou titre_adresse ; address = adresse_principale + adresse_secondaire ; le jeu de données ne publie pas l'heure → heure locale captée dans le JSON-LD des fiches montreal.ca (« startDate »:\"…T19:30:00-04:00\") lors de l'enrichissement og:image incrémental (cache, plafond MTL_IMG_MAX/sync)",21      "acces_legal": "Licence CC BY 4.0 (donnees.montreal.ca) — attribution : Ville de Montréal",22      "couverture": "Événements municipaux, île de Montréal",23      "cadence": "horaire (watcher PM2)",24      "statut": "actif"25    },26    {27      "id": "lepointdevente",28      "name": "Le point de vente — billetterie québécoise",29      "url": "https://lepointdevente.com/billets",30      "type": "billetterie",31      "extraction": "pages de liste HTML rendues serveur (paginées), parse des cartes (titre, date FR + heure « 17 août 2026, 20h00 » → start_time, salle, ville, image) + fiches détail /billets/<id> incrémentales (cache data/lepointdevente_cache.json, 150 fiches/sync, re-visite 7 j) : description og:description, heure précise, tarifs JSON réels via /plugins/rates/<id> → price_min/price_label/is_free ; artistes extraits des titres par patrons sûrs seulement (« Artiste - Salle », « X en concert »)",32      "acces_legal": "robots.txt : « User-Agent: * / Allow: * » — GET throttlés, identification honnête, lien direct vers chaque billetterie",33      "couverture": "Concerts, humour, théâtre, festivals — partout au Québec (~2 500 événements à venir)",34      "cadence": "horaire (watcher PM2)",35      "statut": "actif"36    },37    {38      "id": "laval",39      "name": "Ville de Laval — Calendrier des activités",40      "url": "https://www.donneesquebec.ca/recherche/dataset/calendrier-des-activites",41      "type": "donnees-ouvertes",42      "extraction": "fichier JSON officiel (Données Québec) — EventDate/EndDate publiés en UTC (vérifié 2026-08) → convertis en date + heure locales Québec (minuit local = « toute la journée », pas d'heure) ; détection du préfixe « ANNULÉ - » du titre → statut cancelled (Phase 2)",43      "acces_legal": "Licence CC 4.0 (Données Québec) — Ville de Laval",44      "couverture": "Activités municipales, Laval",45      "cadence": "horaire (watcher PM2)",46      "statut": "morte-a-la-source",47      "decision": "2026-08-19 (audit Phase 1 + Phase 2) : le jeu ouvert est MORT À LA SOURCE — 293 enregistrements, EventDate max 2025-12-09, plus aucun événement futur publié depuis fin 2025 alors que le connecteur tourne sans erreur (41 runs verts). Le connecteur reste branché (archivage naturel du stock + réveil automatique si la Ville republie), mais la source ne compte plus comme active. REMPLACEMENT prévu en Phase 3 : calendrier vivant laval.ca / Tourisme Laval (voir 04-SOURCES-CANDIDATES de l'audit).",48      "note": " REMPLACÉE 2026-08-19 (Phase 3) par la source « lavalweb » (calendrier vivant laval.ca)."49    },50    {51      "id": "sherbrooke",52      "name": "Ville de Sherbrooke — Calendrier des événements",53      "url": "https://www.sherbrooke.ca/fr/culture-sports-et-loisirs/calendrier-des-activites",54      "type": "municipal",55      "extraction": "la page rend TOUT le calendrier dans window['TRANSFER_CACHE'] (JSON embarqué, CMS Maruche) → 1 seule requête, ~270 événements (nom, périodes en UTC → date + heure locales Québec, gratuité `payant`, catégories, clientèles, images)",56      "acces_legal": "page municipale publique (référencée sur Données Québec) — GET direct, identification honnête",57      "couverture": "Événements municipaux et culturels, Sherbrooke (Estrie)",58      "cadence": "horaire (watcher PM2)",59      "statut": "actif"60    },61    {62      "id": "longueuil",63      "name": "Ville de Longueuil — Événements (nouveau portail)",64      "url": "https://longueuil.quebec/fr/evenements",65      "type": "municipal",66      "extraction": "page liste rendue serveur (portail Nuxt) — cartes <article class=\"event__item\"> : <time datetime> (date + heure locales, début/fin), titre, lien, extrait ; enrichissement par fiche incrémental (cache data/longueuil_cache.json, 30 fiches/sync, re-visite 30 j) : adresse civique, code postal, municipalité depuis l'état Nuxt (address_line1/postal_code/locality) ; GPS via le géocodeur central",67      "acces_legal": "portail municipal public, rendu serveur — GET throttlés 0,8 s, identification honnête",68      "couverture": "Événements municipaux, Longueuil (Montérégie)",69      "cadence": "horaire (watcher PM2, incrémental)",70      "statut": "actif",71      "note": "Remplace le jeu Données Québec « evenements » périmé (dernière date 2017-03, vérifié 2026-08-17) par le portail vivant longueuil.quebec."72    },73    {74      "id": "eventbrite",75      "name": "Eventbrite — billetterie libre-service (Québec)",76      "url": "https://www.eventbrite.ca/d/canada--montreal/all-events/",77      "type": "billetterie",78      "extraction": "pages de découverte publiques /d/<lieu>/all-events/?page=N (7 lieux QC pondérés : Montréal, Québec, Laval, Gatineau, Sherbrooke, Longueuil, Trois-Rivières) — window.__SERVER_DATA__ livre 20 résultats/page : nom, résumé, date + heure locales, salle géocodée (lat/lng, adresse, code postal), image, catégories (tags Eventbrite*), URL ; prix par fiche détail /e/<slug> incrémentale (JSON-LD AggregateOffer lowPrice/highPrice CAD ; cache data/eventbrite_cache.json, 150 fiches/sync, re-visite 7 j) ; en ligne exclus, filtre region=QC strict",79      "acces_legal": "robots.txt « User-agent: * » n'interdit ni /d/ ni /e/ (seuls /directory/, checkout et endpoints privés) — GET throttlés 0,8 s, identification honnête, lien direct vers chaque fiche",80      "couverture": "Événements communautaires, ateliers, festivals, affaires — grandes villes du Québec",81      "cadence": "horaire (watcher PM2, incrémental)",82      "statut": "actif"83    },84    {85      "id": "cantonsdelest",86      "name": "Tourisme Cantons-de-l'Est — calendrier officiel (ATR Estrie)",87      "url": "https://www.cantonsdelest.com/evenements",88      "type": "tourisme-regional",89      "extraction": "page liste rendue serveur (~25 fiches à venir) puis fiches détail incrémentales (cache data/cantonsdelest_cache.json, 40 fiches/sync, re-visite 7 j) : JSON-LD Event complet (nom, dates, description riche, adresse civique, images Tourinsoft mto.media.tourinsoft.eu) + GPS exact (data-lat/data-lng de la carte) ; même plateforme Tourinsoft que le SIT Québec → recoupement géré par dedup_key",90      "acces_legal": "pages publiques de l'ATR, rendu serveur — GET throttlés 0,8 s, identification honnête, lien vers la fiche originale",91      "couverture": "Festivals, spectacles, événements — Cantons-de-l'Est (Estrie)",92      "cadence": "horaire (watcher PM2, incrémental)",93      "statut": "actif"94    },95    {96      "id": "saguenay",97      "name": "Ville de Saguenay — Événements culturels",98      "url": "https://www.donneesquebec.ca/recherche/dataset/sag_evenements-culturels",99      "type": "donnees-ouvertes",100      "extraction": "CSV (Données Québec)",101      "acces_legal": "Licence CC 4.0 (Données Québec)",102      "couverture": "Saguenay",103      "cadence": "n/d",104      "statut": "abandonnee",105      "note": "Jeu de données périmé — dernière date d'événement : 2022-06 (vérifié 2026-08-17). REMPLACÉE 2026-08-19 (Phase 3) par la source « saguenaysorties » (portail sorties.saguenay.ca)."106    },107    {108      "id": "repentigny",109      "name": "Ville de Repentigny — Événements",110      "url": "https://www.donneesquebec.ca/recherche/dataset/evenement-sur-le-territoire-de-la-ville",111      "type": "donnees-ouvertes",112      "extraction": "CSV (Données Québec)",113      "acces_legal": "Licence CC 4.0 (Données Québec)",114      "couverture": "Repentigny (Lanaudière)",115      "cadence": "n/d",116      "statut": "abandonnee",117      "note": "Jeu de données périmé — dernière date d'événement : 2021-09 (vérifié 2026-08-17)"118    },119    {120      "id": "evenko",121      "name": "evenko — grands concerts et festivals",122      "url": "https://evenko.ca/fr/evenements",123      "type": "promoteur",124      "extraction": "API /api/search (proxy Algolia) — format percé : GET ?body=base64({params:[query,options],lang:'fr-CA'}), filters entity_type:evenko_show, ~5 requêtes/sync ; heure locale du spectacle via show_time (epoch → America/Montreal, respect de hide_show_time) ; artistes = champ headliners explicite ; gratuité : champ free (sondé null sur 100 % des hits, 2026-08) + étiquettes « gratuit » (event_tag/promotional_tag) ; aucun montant exposé par l'index",125      "acces_legal": "robots.txt : Allow /api/search* (explicite) — lien billets = URL Ticketmaster officielle",126      "couverture": "Grands concerts (Centre Bell, Place Bell, MTELUS…), festivals (Osheaga, ÎleSoniq…)",127      "cadence": "horaire (watcher PM2)",128      "statut": "actif"129    },130    {131      "id": "atuvu",132      "name": "Atuvu.ca — calendrier culturel",133      "url": "https://atuvu.ca/",134      "type": "agregateur",135      "extraction": "Scrapfly (Cloudflare) — sitemaps lastmod + fiches .event-play (date FR + heure « 20h00 » → start_time), cache incrémental data/atuvu_cache.json, plafond 120 fiches/sync",136      "acces_legal": "robots.txt : Allow / + sitemap public",137      "couverture": "Sorties culturelles, Grand Montréal",138      "cadence": "horaire (watcher PM2, incrémental)",139      "statut": "actif"140    },141    {142      "id": "lavitrine",143      "name": "La Vitrine culturelle",144      "url": "https://www.lavitrine.com/",145      "type": "billetterie",146      "extraction": "GET directs — sitemap.xml (2 000 fiches evenement + 185 exposition) + fiches HTML (bloc event_calendar), cache incrémental, 150 fiches/sync, re-visite 7 j",147      "acces_legal": "robots.txt : Allow / + Content-Signal search=yes, use=reference — usage index + lien vers la fiche originale",148      "couverture": "Spectacles et sorties culturelles, Grand Montréal",149      "cadence": "horaire (watcher PM2, incrémental)",150      "statut": "actif"151    },152    {153      "id": "brossard",154      "name": "Ville de Brossard — Calendrier des événements",155      "url": "https://brossard.ca/calendrier-des-evenements/",156      "type": "municipal",157      "extraction": "API REST WordPress publique /wp-json/wp/v2/city-event (JSON paginé, ~400 fiches) + dates/heures par fiche : bannière « Cet événement aura lieu le … » (fiches ville) ou JSON-LD Event (fiches biblio.brossard.ca) — cache incrémental data/brossard_cache.json, 80 fiches/sync, re-visite 7 j ; repli : date entre parenthèses dans le titre",158      "acces_legal": "API REST WordPress publique (aucune authentification) — GET throttlés 0,8 s, identification honnête",159      "couverture": "Événements municipaux et de bibliothèque, Brossard (Montérégie)",160      "cadence": "horaire (watcher PM2, incrémental)",161      "statut": "actif"162    },163    {164      "id": "ticketmaster",165      "name": "Ticketmaster — Discovery API (Québec)",166      "url": "https://developer.ticketmaster.com/products-and-docs/apis/discovery-api/v2/",167      "type": "billetterie",168      "extraction": "SANS clé (mode par défaut) : scraping léger des pages découverte publiques www.ticketmaster.ca/discover/<ville>?page=N (montreal, quebec-city, gatineau) — l'état Next.js (__NEXT_DATA__, requête serveur cityEvents) livre 20 événements/page : titre, date UTC + fuseau → date/heure locales, salle géolocalisée (lat/lng), adresse, code postal, ville, URL billetterie, catégorie majeure, plan de salle (image) ; plafonds TM_MAX_EVENTS=360 / TM_PAGES_PER_CITY=8 ; Scrapfly ASP sans render_js en secours anti-bot ; aucun prix publié dans ce flux → jamais inventé. REPLI AUTOMATIQUE : si TICKETMASTER_API_KEY apparaît dans .env, bascule sur la Discovery API v2 officielle (priceRanges, attractions → artistes, images 16:9) — identifiants identiques, zéro doublon.",169      "acces_legal": "pages découverte publiques rendues serveur — robots.txt n'interdit pas /discover/ (seuls /api/ismds/*) ; GET throttlés 1 s, lien direct vers la billetterie officielle ; API officielle (clé gratuite) utilisée dès qu'une clé est fournie",170      "couverture": "Grands spectacles, sports et concerts — Montréal/Laval/Brossard, Québec, Gatineau",171      "cadence": "horaire (watcher PM2)",172      "statut": "actif",173      "note": "Fonctionne sans clé (scraping découverte). TICKETMASTER_API_KEY optionnelle : active le mode API riche (prix, artistes, images)."174    },175    {176      "id": "bandsintown",177      "name": "Bandsintown — dates de concerts par artiste",178      "url": "https://rest.bandsintown.com/",179      "type": "agregateur",180      "extraction": "API publique /artists/{artiste}/events (app_id format widget « js_www.sorti-ka.com », testé accepté 2026-08 ; un app_id arbitraire simple est refusé) — pas de recherche géographique : on interroge les artistes déjà extraits de la base (evenko/lepointdevente/ticketmaster, événements à venir), plafond 100 artistes/sync avec rotation et cache data/bandsintown_cache.json (re-visite 3 j) ; on ne garde que les dates au Québec (venue.region=QC) : datetime local (date+heure), salle géolocalisée, lineup → artistes, free → gratuité, lien billets",181      "acces_legal": "API publique Bandsintown (app_id d'identification) — usage index + lien vers la fiche originale",182      "couverture": "Concerts au Québec des artistes en tournée connus de la base",183      "cadence": "horaire (watcher PM2, rotation d'artistes)",184      "statut": "actif"185    },186    {187      "id": "gatineau",188      "name": "Ville de Gatineau — Événements",189      "url": "https://www.gatineau.ca/",190      "type": "municipal",191      "extraction": "n/d",192      "acces_legal": "n/d",193      "couverture": "Gatineau (Outaouais)",194      "cadence": "n/d",195      "statut": "abandonnee",196      "note": "Aucun jeu de données « événements » sur Données Québec (portail Gatineau : géomatique seulement) et site 100 % JavaScript sans API découverte (vérifié 2026-08-18)"197    },198    {199      "id": "trois-rivieres",200      "name": "Ville de Trois-Rivières — Événements",201      "url": "https://www.v3r.net/",202      "type": "municipal",203      "extraction": "n/d",204      "acces_legal": "n/d",205      "couverture": "Trois-Rivières (Mauricie)",206      "cadence": "n/d",207      "statut": "abandonnee",208      "note": "API REST WordPress verrouillée (401 rest_not_logged_in) et aucun jeu « événements » sur Données Québec (vérifié 2026-08-18)"209    },210    {211      "id": "levis",212      "name": "Ville de Lévis — Calendrier",213      "url": "https://www.ville.levis.qc.ca/",214      "type": "municipal",215      "extraction": "n/d",216      "acces_legal": "n/d",217      "couverture": "Lévis (Chaudière-Appalaches)",218      "cadence": "n/d",219      "statut": "abandonnee",220      "note": "Site derrière un WAF (403 sur GET identifiés) et aucun jeu « événements » sur Données Québec (vérifié 2026-08-18)"221    },222    {223      "id": "terrebonne",224      "name": "Ville de Terrebonne — Calendrier",225      "url": "https://terrebonne.ca/calendrier/",226      "type": "municipal",227      "extraction": "n/d",228      "acces_legal": "n/d",229      "couverture": "Terrebonne (Lanaudière)",230      "cadence": "n/d",231      "statut": "abandonnee",232      "note": "Cloudflare bloque tout GET non navigateur (403) et aucun jeu « événements » sur Données Québec (vérifié 2026-08-18)"233    },234    {235      "id": "lavalweb",236      "name": "Ville de Laval — calendrier vivant laval.ca",237      "url": "https://www.laval.ca/calendrier-activites/",238      "type": "municipal",239      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = WordPress rendu serveur, pagination ?findstr[group]=events&findstr[page]=N (58 pages × ~8 cartes ≈ 460 activités à venir mesurées) ; l'API REST /wp-json/wp/v2/events (764 fiches) ne publie PAS la date de l'événement → listes SSR retenues ; volume mesuré ~460 ; couverture = activités municipales/culturelles/sportives Laval ; robots.txt lu : Disallow /wp-admin/ seulement ; effort ●●.",240      "extraction": "listes SSR paginées (cartes .event-item : date FR « 18 août 2026 | 18 h » → date + heure, titre, lieu, lien, image lazy) + fiches détail incrémentales (cache data/lavalweb_cache.json, LAVALWEB_FICHE_MAX/sync, re-visite 7 j) : og:description ; GPS via annuaire de salles + géocodeur",241      "acces_legal": "robots.txt laval.ca : Disallow /wp-admin/ seulement — pages calendrier publiques, GET throttlés 0,5 s, identification honnête",242      "couverture": "Activités municipales, Laval (remplace le jeu Données Québec mort à la source depuis 2025-12)",243      "cadence": "horaire (watcher PM2, incrémental)",244      "statut": "actif"245    },246    {247      "id": "outaouais",248      "name": "Tourisme Outaouais — calendrier des événements (ATR)",249      "url": "https://tourismeoutaouais.com/calendrier-des-evenements",250      "type": "tourisme-regional",251      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = site Astro, la page calendrier embarque TOUT le calendrier dans les props sérialisées de l'îlot CalendrierDesEvenements (162 événements dont 25 futurs mesurés) — 1 GET/sync ; l'API GraphQL admin.tourismeoutaouais.com exige un jeton (403) ; robots.txt lu : Allow / ; effort ●.",252      "extraction": "props JSON de l'îlot Astro (déballage [type, valeur]) : id, titre, url (interne ou site officiel), municipalité, territoire, photo CDN, startDate/endDate ISO ; ni heure ni tarif publiés → jamais inventés",253      "acces_legal": "robots.txt : User-agent: * / Allow: / — GET direct throttlé 0,8 s, identification honnête, lien vers la fiche/site officiel",254      "couverture": "Festivals et événements, Outaouais (337 fiches seulement au baseline régional)",255      "cadence": "horaire (watcher PM2)",256      "statut": "actif"257    },258    {259      "id": "lanaudiere",260      "name": "Tourisme Lanaudière — événements (ATR)",261      "url": "https://lanaudiere.ca/fr/evenements-lanaudiere",262      "type": "tourisme-regional",263      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = CMS Umbraco, liste SSR limitée à ~10 cartes (44 résultats annoncés, reste en JS) → passage par le SITEMAP officiel (83 URLs de fiches fr mesurées) ; fiches structurées (member-title-1-1 : titre, plage de dates FR, municipalité) + og:image Tourinsoft + og:description ; robots.txt lu : Disallow /*? (aucune URL à paramètres requêtée) + Crawl-delay 2 s (respecté : GET séquentiels 2,1 s) ; effort ●●.",264      "extraction": "sitemap.xml (1 GET) → fiches /fr/evenements-lanaudiere/<slug>/ incrémentales (cache data/lanaudiere_cache.json, LAN_FICHE_MAX/sync, re-visite 7 j) : titre, plage de dates FR, municipalité, og:image/og:description ; médias Tourinsoft → recoupement SITQ géré par dedup_key",265      "acces_legal": "robots.txt : Disallow /*? + Crawl-delay: 2 — respectés à la lettre (aucun paramètre d'URL, 2,1 s entre GET), identification honnête",266      "couverture": "Festivals et événements, Lanaudière",267      "cadence": "horaire (watcher PM2, incrémental)",268      "statut": "actif"269    },270    {271      "id": "saguenaysorties",272      "name": "Sorties Saguenay — portail événementiel de la Ville",273      "url": "https://sorties.saguenay.ca/",274      "type": "municipal",275      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = portail SSR de la Ville de Saguenay motorisé par les données La Vitrine (médias lvc-medias.lavitrine.com) ; pagination POST /ajax/plus (36 séances/lot, ~300-400 séances mesurées entre offset 0 et 500) ; détails POST /ajax/details (description + adresse) ; chaque carte = une séance horodatée (date + heure + ville + salle) ; robots.txt : non publié (page de maintenance) → volumes modestes et throttle 0,8 s ; effort ●●. Remplace le CSV Données Québec mort (2022-06).",276      "extraction": "POST /ajax/plus paginé (SAG_BATCH_MAX lots) : discipline, date FR, heure, titre, « Ville, Salle », image, detail-id → une fiche PAR séance ; détails incrémentaux POST /ajax/details (cache data/saguenaysorties_cache.json, SAG_DETAIL_MAX/sync, re-visite 7 j) : description, adresse civique",277      "acces_legal": "portail public municipal — POST throttlés 0,8 s, identification honnête, lien fiche officielle /festivals?id=<id> ; recoupement lavitrine/lepointdevente géré par dedup_key",278      "couverture": "Spectacles, expositions, festivals — Saguenay et environs (Saguenay–Lac-Saint-Jean)",279      "cadence": "horaire (watcher PM2, incrémental)",280      "statut": "actif"281    },282    {283      "id": "bassaintlaurent",284      "name": "Tourisme Bas-Saint-Laurent — événements (ATR)",285      "url": "https://www.bassaintlaurent.ca/fr/quoi-faire/evenements/",286      "type": "tourisme-regional",287      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = WordPress (Bedrock) rendu serveur, 27 cartes complètes sur la liste (titre, plage de dates FR, municipalité, image) ; fiches avec GPS exact embarqué + og:description ; robots.txt lu : rien d'interdit sur /fr/ ; volume mesuré 27 ; couverture = BSL (168 fiches seulement au baseline) ; effort ●.",288      "extraction": "liste SSR (1 GET, cartes .card--type-event) + fiches incrémentales (cache data/bassaintlaurent_cache.json, BSL_FICHE_MAX/sync, re-visite 7 j) : og:description + GPS exact de la carte embarquée",289      "acces_legal": "pages publiques de l'ATR — GET throttlés 0,8 s, identification honnête, lien fiche originale",290      "couverture": "Festivals et événements, Bas-Saint-Laurent",291      "cadence": "horaire (watcher PM2, incrémental)",292      "statut": "actif"293    },294    {295      "id": "quebecanimee",296      "name": "Québec animée — Ville de Québec",297      "url": "https://animee.ville.quebec.qc.ca/activites/",298      "type": "municipal",299      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = portail municipal SSR ; la liste /activites/ porte TOUT en attributs data- (date-debut/date-fin ISO, arrondissement, catégories, prix « Gratuit ») : 126 séances / 73 activités mesurées, 1 GET ; fiches pour description/lieu ; le calendrier général ville.quebec.qc.ca n'expose pas de flux structuré (vérifié) ; effort ●. Comble l'absence de source municipale/gratuite de la 2ᵉ ville (inventaire Capitale-Nationale ~100 % billetteries).",300      "extraction": "liste /activites/ (1 GET, attributs data-* : dates ISO, arrondissement, catégorie, prix) + fiches incrémentales (cache data/quebecanimee_cache.json, QA_FICHE_MAX/sync, re-visite 7 j) : og:description, lieu ; une carte par occurrence datée → une fiche par séance",301      "acces_legal": "site municipal public rendu serveur — GET throttlés 0,8 s, identification honnête, lien fiche officielle",302      "couverture": "Activités gratuites/à faible coût, Ville de Québec (Capitale-Nationale)",303      "cadence": "horaire (watcher PM2, incrémental)",304      "statut": "actif"305    },306    {307      "id": "placedesarts",308      "name": "Place des Arts — calendrier multi-salles",309      "url": "https://www.placedesarts.com/programmation",310      "type": "salle-de-spectacle",311      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = Craft CMS rendu serveur ; /programmation liste 97 spectacles (6 salles) ; chaque fiche embarque #eventbannerdata + #eventGTM (JSON : titre, salle, producteur, discipline, plage de dates) + barre latérale des représentations avec heure ET PRIX RÉELS (« 33 $ à 97,50 $ ») — 23 séances mesurées sur la fiche sonde ; robots.txt lu : Disallow /cpresources/ /vendor/ /cache/ seulement ; effort ●●. Meilleure candidate unitaire de la famille « salles » (audit §C).",312      "extraction": "liste /programmation (1 GET) → fiches /evenement/<slug> incrémentales (cache data/placedesarts_cache.json, PDA_FICHE_MAX/sync, re-visite 7 j) : une fiche Sorti-Ka PAR représentation (date + heure + prix réels), salle précise, producteur → organisateur, discipline → catégories",313      "acces_legal": "robots.txt : Disallow /cpresources/ /vendor/ /cache/ seulement — GET throttlés 0,8 s, identification honnête, lien billetterie officielle ; recoupement lavitrine/evenko géré par dedup_key",314      "couverture": "Spectacles des 6 salles de la Place des Arts, Montréal (~97 spectacles, plusieurs centaines de séances)",315      "cadence": "horaire (watcher PM2, incrémental)",316      "statut": "actif"317    },318    {319      "id": "lhjmq",320      "name": "LHJMQ — matchs des équipes québécoises",321      "url": "https://theqmjhl.ca/",322      "type": "sport",323      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : accès constaté = API HockeyTech « modulekit » (lscluster.hockeytech.com, JSON, clé publique de la ligue embarquée dans ses propres sites) — saison 2026-27 : 580 matchs mesurés dont ~384 à domicile dans 12 villes QC (Chicoutimi, Baie-Comeau, Rimouski, Rouyn-Noranda, Val-d'Or, Gatineau, Shawinigan, Drummondville, Victoriaville, Boisbriand, Sherbrooke, Québec) ; date + heure + aréna structurés ; 2 GET/sync ; effort ●. Fort levier d'équilibre régional (Côte-Nord, Abitibi, BSL…).",324      "extraction": "API modulekit (view=seasons puis view=schedule) : matchs à domicile au Québec seulement → titre « LHJMQ : Visiteur c. Receveur », date + heure locales, aréna, ville, statut annulé si publié ; prix non publié → jamais inventé",325      "acces_legal": "flux JSON public qui motorise le site officiel de la ligue — usage index + lien fiche de match officielle (theqmjhl.ca/gamecentre/<id>), GET throttlés 1 s, identification honnête",326      "couverture": "~384 matchs/saison à domicile au Québec, 12 villes dans 10 régions",327      "cadence": "horaire (watcher PM2)",328      "statut": "actif"329    },330    {331      "id": "sallesjsonld",332      "name": "Salles de spectacle — moteur générique JSON-LD Event",333      "url": "https://grandtheatre.qc.ca/programmation",334      "type": "salle-de-spectacle",335      "evaluation": "ÉVALUATION 2026-08-19 (avant connexion) : moteur configurable (data/salles_jsonld.json, patron stores.json de fabri-ka) pour la longue traîne des salles qui publient schema.org/Event sur leurs fiches. Sondage 2026-08-19 : AVEC Event JSON-LD = Grand Théâtre de Québec (108 fiches listées), Théâtre du Trident, Théâtre Capitole (via gestev.com) ; SANS (écartées de la config, re-sonder plus tard) = Palais Montcalm, Le Diamant, Impérial Bell, MTelus/Corona/Club Soda (evenko, déjà couverts), Petit Champlain / Albert-Rousseau (plateforme JS « pages/collections ») ; robots.txt lu salle par salle avant ajout ; effort ●● (moteur) puis ● par salle.",336      "extraction": "par salle configurée : page(s) de programmation → liens de fiche (motif regex) → fiches incrémentales (cache data/sallesjsonld_cache.json, SALLES_FICHE_MAX/sync partagé, re-visite 7 j) → blocs JSON-LD @type Event (nom, dates horodatées, salle, adresse, offres → prix, statut, image) ; heure « T00:00:00 » traitée comme placeholder",337      "acces_legal": "robots.txt vérifié PAR SALLE avant ajout à la config (consigné dans data/salles_jsonld.json) — GET throttlés 0,8 s, identification honnête, lien fiche originale",338      "couverture": "Longue traîne des salles de spectacle QC (amorce : Grand Théâtre de Québec, Trident, Capitole — Capitale-Nationale)",339      "cadence": "horaire (watcher PM2, incrémental)",340      "statut": "actif"341    },342    {343      "id": "mauricie",344      "name": "Tourisme Mauricie — événements (ATR)",345      "url": "https://tourismemauricie.com/evenements",346      "type": "tourisme-regional",347      "extraction": "n/d",348      "acces_legal": "n/d",349      "couverture": "Mauricie",350      "cadence": "n/d",351      "statut": "abandonnee",352      "note": "ÉCARTÉE 2026-08-19 (Phase 3) : liste /evenements rendue JS — 1 seule carte SSR par page (vérifié pages 1 et 2), cartes chargées par admin-ajax non documenté, API REST /wp-json verrouillée (401 rest_not_logged_in). À re-sonder (percer la facette admin-ajax) dans une vague ultérieure."353    },354    {355      "id": "laurentides",356      "name": "Tourisme Laurentides — événements (ATR)",357      "url": "https://www.laurentides.com/fr/quoifaire/evenements",358      "type": "tourisme-regional",359      "extraction": "n/d",360      "acces_legal": "n/d",361      "couverture": "Laurentides",362      "cadence": "n/d",363      "statut": "abandonnee",364      "note": "ÉCARTÉE 2026-08-19 (Phase 3) : WAF — 403 sur GET identifié (UA honnête). Scrapfly possible mais non justifié (la région est déjà la 4ᵉ mieux couverte : 620 fiches au baseline). À re-sonder."365    },366    {367      "id": "gaspesie",368      "name": "Tourisme Gaspésie — événements (ATR)",369      "url": "https://www.tourisme-gaspesie.com/evenements-gaspesie.html",370      "type": "tourisme-regional",371      "extraction": "n/d",372      "acces_legal": "n/d",373      "couverture": "Gaspésie–Îles-de-la-Madeleine",374      "cadence": "n/d",375      "statut": "abandonnee",376      "note": "ÉCARTÉE 2026-08-19 (Phase 3) : WAF — 403 sur GET identifié (UA honnête). Région faible (60 fiches au baseline) : candidate prioritaire pour une vague Scrapfly consignée (crédits) ou un partenariat. À re-sonder."377    },378    {379      "id": "tuxedobillet",380      "name": "Tuxedo Billet — billetterie Capitale-Nationale",381      "url": "https://www.tuxedobillet.com/",382      "type": "billetterie",383      "extraction": "n/d",384      "acces_legal": "n/d",385      "couverture": "Salles de Québec/Lévis (Grand Théâtre, Palais Montcalm…)",386      "cadence": "n/d",387      "statut": "abandonnee",388      "note": "ÉCARTÉE 2026-08-19 (Phase 3) : site en PANNE aux sondes — www = page « failover site », apex = erreur TLS (curl 60). Le Grand Théâtre et le Capitole sont couverts via sallesjsonld en attendant. À re-sonder."389    },390    {391      "id": "clubs-pros",392      "name": "Clubs professionnels (CF Montréal, Alouettes, Rocket, Victoire…)",393      "url": "https://www.cfmontreal.com/",394      "type": "sport",395      "extraction": "n/d",396      "acces_legal": "n/d",397      "couverture": "Montréal/Laval (MLS, LCF, AHL, LPHF)",398      "cadence": "n/d",399      "statut": "abandonnee",400      "note": "ÉCARTÉE 2026-08-19 (Phase 3) : les matchs à domicile passent déjà par les billetteries connectées (evenko/ticketmaster : Canadiens 74 fiches, Remparts 31…) — des connecteurs de ligue dédiés (MLS/LCF/AHL) apporteraient surtout des doublons pour ~150 fiches nettes/an. La LHJMQ, elle, est connectée (vrai levier régional). À revisiter si un besoin statut/heure officiel apparaît."401    }402  ]403}404
Files · 9cfb700119f3720bc2ad726a57ea199e83cb24e8
Menu

Theme