SPB Git

Repository Public

sources.json 15.6 KB 234 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)",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
Files e312e162a1bc94b78d23b14f87541035565a74a6
Menu

Theme