Repository Public
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)",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": "actif"47 },48 {49 "id": "sherbrooke",50 "name": "Ville de Sherbrooke — Calendrier des événements",51 "url": "https://www.sherbrooke.ca/fr/culture-sports-et-loisirs/calendrier-des-activites",52 "type": "municipal",53 "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)",54 "acces_legal": "page municipale publique (référencée sur Données Québec) — GET direct, identification honnête",55 "couverture": "Événements municipaux et culturels, Sherbrooke (Estrie)",56 "cadence": "horaire (watcher PM2)",57 "statut": "actif"58 },59 {60 "id": "longueuil",61 "name": "Ville de Longueuil — Événements (nouveau portail)",62 "url": "https://longueuil.quebec/fr/evenements",63 "type": "municipal",64 "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",65 "acces_legal": "portail municipal public, rendu serveur — GET throttlés 0,8 s, identification honnête",66 "couverture": "Événements municipaux, Longueuil (Montérégie)",67 "cadence": "horaire (watcher PM2, incrémental)",68 "statut": "actif",69 "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."70 },71 {72 "id": "eventbrite",73 "name": "Eventbrite — billetterie libre-service (Québec)",74 "url": "https://www.eventbrite.ca/d/canada--montreal/all-events/",75 "type": "billetterie",76 "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",77 "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",78 "couverture": "Événements communautaires, ateliers, festivals, affaires — grandes villes du Québec",79 "cadence": "horaire (watcher PM2, incrémental)",80 "statut": "actif"81 },82 {83 "id": "cantonsdelest",84 "name": "Tourisme Cantons-de-l'Est — calendrier officiel (ATR Estrie)",85 "url": "https://www.cantonsdelest.com/evenements",86 "type": "tourisme-regional",87 "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",88 "acces_legal": "pages publiques de l'ATR, rendu serveur — GET throttlés 0,8 s, identification honnête, lien vers la fiche originale",89 "couverture": "Festivals, spectacles, événements — Cantons-de-l'Est (Estrie)",90 "cadence": "horaire (watcher PM2, incrémental)",91 "statut": "actif"92 },93 {94 "id": "saguenay",95 "name": "Ville de Saguenay — Événements culturels",96 "url": "https://www.donneesquebec.ca/recherche/dataset/sag_evenements-culturels",97 "type": "donnees-ouvertes",98 "extraction": "CSV (Données Québec)",99 "acces_legal": "Licence CC 4.0 (Données Québec)",100 "couverture": "Saguenay",101 "cadence": "n/d",102 "statut": "abandonnee",103 "note": "Jeu de données périmé — dernière date d'événement : 2022-06 (vérifié 2026-08-17)"104 },105 {106 "id": "repentigny",107 "name": "Ville de Repentigny — Événements",108 "url": "https://www.donneesquebec.ca/recherche/dataset/evenement-sur-le-territoire-de-la-ville",109 "type": "donnees-ouvertes",110 "extraction": "CSV (Données Québec)",111 "acces_legal": "Licence CC 4.0 (Données Québec)",112 "couverture": "Repentigny (Lanaudière)",113 "cadence": "n/d",114 "statut": "abandonnee",115 "note": "Jeu de données périmé — dernière date d'événement : 2021-09 (vérifié 2026-08-17)"116 },117 {118 "id": "evenko",119 "name": "evenko — grands concerts et festivals",120 "url": "https://evenko.ca/fr/evenements",121 "type": "promoteur",122 "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",123 "acces_legal": "robots.txt : Allow /api/search* (explicite) — lien billets = URL Ticketmaster officielle",124 "couverture": "Grands concerts (Centre Bell, Place Bell, MTELUS…), festivals (Osheaga, ÎleSoniq…)",125 "cadence": "horaire (watcher PM2)",126 "statut": "actif"127 },128 {129 "id": "atuvu",130 "name": "Atuvu.ca — calendrier culturel",131 "url": "https://atuvu.ca/",132 "type": "agregateur",133 "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",134 "acces_legal": "robots.txt : Allow / + sitemap public",135 "couverture": "Sorties culturelles, Grand Montréal",136 "cadence": "horaire (watcher PM2, incrémental)",137 "statut": "actif"138 },139 {140 "id": "lavitrine",141 "name": "La Vitrine culturelle",142 "url": "https://www.lavitrine.com/",143 "type": "billetterie",144 "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",145 "acces_legal": "robots.txt : Allow / + Content-Signal search=yes, use=reference — usage index + lien vers la fiche originale",146 "couverture": "Spectacles et sorties culturelles, Grand Montréal",147 "cadence": "horaire (watcher PM2, incrémental)",148 "statut": "actif"149 },150 {151 "id": "brossard",152 "name": "Ville de Brossard — Calendrier des événements",153 "url": "https://brossard.ca/calendrier-des-evenements/",154 "type": "municipal",155 "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",156 "acces_legal": "API REST WordPress publique (aucune authentification) — GET throttlés 0,8 s, identification honnête",157 "couverture": "Événements municipaux et de bibliothèque, Brossard (Montérégie)",158 "cadence": "horaire (watcher PM2, incrémental)",159 "statut": "actif"160 },161 {162 "id": "ticketmaster",163 "name": "Ticketmaster — Discovery API (Québec)",164 "url": "https://developer.ticketmaster.com/products-and-docs/apis/discovery-api/v2/",165 "type": "billetterie",166 "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.",167 "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",168 "couverture": "Grands spectacles, sports et concerts — Montréal/Laval/Brossard, Québec, Gatineau",169 "cadence": "horaire (watcher PM2)",170 "statut": "actif",171 "note": "Fonctionne sans clé (scraping découverte). TICKETMASTER_API_KEY optionnelle : active le mode API riche (prix, artistes, images)."172 },173 {174 "id": "bandsintown",175 "name": "Bandsintown — dates de concerts par artiste",176 "url": "https://rest.bandsintown.com/",177 "type": "agregateur",178 "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",179 "acces_legal": "API publique Bandsintown (app_id d'identification) — usage index + lien vers la fiche originale",180 "couverture": "Concerts au Québec des artistes en tournée connus de la base",181 "cadence": "horaire (watcher PM2, rotation d'artistes)",182 "statut": "actif"183 },184 {185 "id": "gatineau",186 "name": "Ville de Gatineau — Événements",187 "url": "https://www.gatineau.ca/",188 "type": "municipal",189 "extraction": "n/d",190 "acces_legal": "n/d",191 "couverture": "Gatineau (Outaouais)",192 "cadence": "n/d",193 "statut": "abandonnee",194 "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)"195 },196 {197 "id": "trois-rivieres",198 "name": "Ville de Trois-Rivières — Événements",199 "url": "https://www.v3r.net/",200 "type": "municipal",201 "extraction": "n/d",202 "acces_legal": "n/d",203 "couverture": "Trois-Rivières (Mauricie)",204 "cadence": "n/d",205 "statut": "abandonnee",206 "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)"207 },208 {209 "id": "levis",210 "name": "Ville de Lévis — Calendrier",211 "url": "https://www.ville.levis.qc.ca/",212 "type": "municipal",213 "extraction": "n/d",214 "acces_legal": "n/d",215 "couverture": "Lévis (Chaudière-Appalaches)",216 "cadence": "n/d",217 "statut": "abandonnee",218 "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)"219 },220 {221 "id": "terrebonne",222 "name": "Ville de Terrebonne — Calendrier",223 "url": "https://terrebonne.ca/calendrier/",224 "type": "municipal",225 "extraction": "n/d",226 "acces_legal": "n/d",227 "couverture": "Terrebonne (Lanaudière)",228 "cadence": "n/d",229 "statut": "abandonnee",230 "note": "Cloudflare bloque tout GET non navigateur (403) et aucun jeu « événements » sur Données Québec (vérifié 2026-08-18)"231 }232 ]233}234