SPB Git forge

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.

58commits 1branches 0releases
13.7 MBsize
maindefault branch
17 days agolast push
HTML 82.9% Python 15.2% TypeScript 0.9% JavaScript 0.7%
11.2 KB

# Sorti-KA — Conformité des sources (licences, robots.txt, crédits)

Établi le 2026-08-19 (Phase 3 — expansion des sources). À tenir à jour à CHAQUE ajout/retrait de source. Règles maison transversales : User-Agent honnête (SortiKa/1.0 (+https://www.sorti-ka.com; contact@spboucher.ai)), GET/POST throttlés, caches incrémentaux (jamais de re-scrape intégral), lien systématique vers la fiche originale, AUCUNE donnée inventée, quarantaine pour le douteux. Le pied de page du site porte l'attribution globale ; la fiche de chaque événement affiche « Source & attribution » avec le nom de la source et le lien sortant.

# Sources actives

Source (id) Licence / CGU constatées robots.txt (lu le) Crédit requis Fréquence pratiquée Décision
SIT Québec (sitq) Données Québec — Creative Commons 4.0 (API de syndication officielle du MTO) n/a (API) Oui — CC 4.0 : « SIT Québec — Ministère du Tourisme » (pied de page + fiche) horaire, 1 GET + images plafonnées conforme
Ville de Montréal (montreal) donnees.montreal.caCC BY 4.0 WAF anti-« bot » dans l'UA (contourné par un UA produit honnête, permis) Oui — CC BY 4.0 : « Ville de Montréal » (pied de page + fiche) horaire, API CKAN paginée conforme
Le point de vente (lepointdevente) robots.txt : User-Agent: * / Allow: * ; CGU : pas d'interdiction d'indexation constatée 2026-08 (Allow all) Courtoisie : lien billetterie direct horaire, 150 fiches/sync conforme
Ville de Laval jeu ouvert (laval) Données Québec — CC 4.0 n/a (fichier JSON) Oui — CC 4.0 : « Ville de Laval » horaire (source morte, stock archivé) morte-à-la-source, branchée en veille
Ville de Laval laval.ca (lavalweb) site municipal public ; robots.txt : Disallow: /wp-admin/ seulement 2026-08-19 Courtoisie : « Ville de Laval (laval.ca) » affiché horaire, ~60 GET listes + 30 fiches/sync conforme (Phase 3)
Ville de Sherbrooke (sherbrooke) page municipale publique (référencée sur Données Québec) 2026-08 Courtoisie : « Ville de Sherbrooke » horaire, 1 GET conforme
Ville de Longueuil (longueuil) portail municipal public 2026-08 Courtoisie horaire, 1 GET + 30 fiches conforme
Eventbrite (eventbrite) robots.txt : /d/ et /e/ non interdits (seuls /directory/, checkout, endpoints privés) 2026-08 Courtoisie : lien fiche directe horaire, pages découverte + 150 fiches conforme
Tourisme Cantons-de-l'Est (cantonsdelest) pages publiques ATR 2026-08 Courtoisie : « Tourisme Cantons-de-l'Est » horaire, 1 GET + 40 fiches conforme
evenko (evenko) robots.txt : Allow /api/search* explicite 2026-08 Courtoisie : lien billets officiel horaire, ~5 GET conforme
Atuvu.ca (atuvu) robots.txt : Allow / + sitemap public ; Cloudflare → Scrapfly consigné (crédits) 2026-08 Courtoisie horaire, sitemaps lastmod + 120 fiches conforme (Scrapfly consigné)
La Vitrine (lavitrine) robots.txt : Allow / + Content-Signal: search=yes, use=reference 2026-08 Courtoisie : usage index + lien fiche (conforme au Content-Signal) horaire, 150 fiches/sync conforme
Ville de Brossard (brossard) API REST WordPress publique sans auth 2026-08 Courtoisie horaire, API + 80 fiches conforme
Ticketmaster (ticketmaster) robots.txt : /discover/ non interdit (seuls /api/ismds/*) ; API officielle dès que TICKETMASTER_API_KEY fournie 2026-08 Courtoisie : lien billetterie officielle horaire, ≤ 24 GET conforme
Bandsintown (bandsintown) API publique avec app_id d'identification n/a (API) Courtoisie : lien fiche horaire, ≤ 100 artistes/sync conforme
Tourisme Outaouais (outaouais) pages publiques ATR ; robots.txt : Allow: / 2026-08-19 Courtoisie : « Tourisme Outaouais » horaire, 1 GET conforme (Phase 3)
Tourisme Lanaudière (lanaudiere) pages publiques ATR ; robots.txt : Disallow: /*? + Crawl-delay: 2 2026-08-19 Courtoisie : « Tourisme Lanaudière » horaire, sitemap + 10 fiches/sync, GET séquentiels 2,1 s, aucune URL à paramètres conforme (Phase 3)
Sorties Saguenay (saguenaysorties) portail public de la Ville de Saguenay (données La Vitrine) ; robots.txt non publié (page maintenance) 2026-08-19 Courtoisie : « Sorties Saguenay (Ville de Saguenay) » horaire, ≤ 15 POST liste + 40 détails/sync conforme (Phase 3)
Tourisme Bas-Saint-Laurent (bassaintlaurent) pages publiques ATR 2026-08-19 Courtoisie : « Tourisme Bas-Saint-Laurent » horaire, 1 GET + 15 fiches/sync conforme (Phase 3)
Québec animée (quebecanimee) portail officiel Ville de Québec ; © Ville de Québec (site municipal public) 2026-08-19 Courtoisie : « Québec animée (Ville de Québec) » horaire, 1 GET + 20 fiches/sync conforme (Phase 3)
Place des Arts (placedesarts) robots.txt : Disallow /cpresources/ /vendor/ /cache/ seulement ; CGU d'achat non applicables à l'index 2026-08-19 Courtoisie : « Place des Arts » + lien billetterie officielle horaire, 1 GET + 25 fiches/sync conforme (Phase 3)
LHJMQ (lhjmq) flux JSON public HockeyTech qui motorise le site officiel de la ligue (clé publique de la ligue) n/a (API) Courtoisie : « LHJMQ » + lien fiche de match officielle horaire, 2 GET conforme (Phase 3) — à retirer sur simple demande de la ligue
Salles JSON-LD (sallesjsonld) schema.org/Event publié PAR les salles pour l'indexation ; robots.txt vérifié PAR SALLE avant ajout (consigné dans data/salles_jsonld.json) 2026-08-19 (Grand Théâtre : Allow / ; Trident : Disallow vide ; Capitole/Gestev : /cpresources/ /vendor/) Courtoisie : nom de la salle + lien fiche horaire, 3 GET listes + 40 fiches/sync partagées conforme (Phase 3)
Tourisme Montérégie (monteregie) API REST WordPress publique sans auth ; robots.txt : Disallow /wp-admin/ /wp-includes/ seulement (wp-json non interdit) 2026-08-21 Courtoisie : « Tourisme Montérégie » horaire, ≤ 2 GET API + 15 fiches/sync conforme (Phase 4)
Tourisme Centre-du-Québec (centreduquebec) robots.txt : User-agent * → Content-Signal: search=yes, ai-train=no, use=reference + Allow / (UA produit SortiKa ≠ bots IA listés) 2026-08-21 Courtoisie : « Tourisme Centre-du-Québec » — usage index/référence + lien fiche, conforme au Content-Signal horaire, 1 GET + 10 fiches/sync conforme (Phase 4)
Tourisme Chaudière-Appalaches (chaudiereappalaches) robots.txt : Disallow /wp/ /r/ *.php$… (les pages publiques /planifier-votre-sejour/ ne sont pas visées) ; JSON-LD Event publié par l'ATR pour l'indexation 2026-08-21 Courtoisie : « Tourisme Chaudière-Appalaches » horaire, ≤ 4 GET listes + 12 fiches/sync conforme (Phase 4)
Tourisme Gaspésie (gaspesie) WAF (403 sur GET identifié) contourné via Scrapfly consigné (asp, country=ca, sans render_js) — contenu public de l'ATR ; robots.txt : Disallow /umb* seulement (contenu public permis, ClaudeBot explicitement Allow) 2026-08-21 (via Scrapfly) Courtoisie : « Tourisme Gaspésie » horaire, ≤ 9 crédits Scrapfly/sync, re-visite 14 j conforme (Phase 4) — région faible, usage Scrapfly budgété comme annoncé Phase 3
TicketAcces (ticketacces) robots.txt (tous hôtes) : Crawl-delay: 120 + Disallow /achat/ et representations/prix.cfm (jamais requêtés) 2026-08-21 Courtoisie : nom de l'organisation + lien d'achat officiel passage complet toutes les 6 h (TTL) : 5 GET www espacés de 120 s + ≤ 25 fiches (≤ 1 par hôte/passage) ; réémission du cache entre passages conforme (Phase 4) — Crawl-delay honoré PAR HÔTE
Réseau Ovation (ovation) robots.txt m.ovation.ca : User-agent * → Crawl-delay: 30 + Disallow /account/ /checkout/ /event/tickets (jamais requêtés) 2026-08-21 Courtoisie : nom de l'organisation + lien fiche officielle passage complet 1×/20 h (TTL) : GET espacés de 30,5 s (hôte unique), ≤ 50 fiches/passage ; réémission du cache entre passages conforme (Phase 4) — Crawl-delay honoré
Tuxedo Billet (tuxedobillet) tenants : robots.txt Disallow: (vide = tout permis) ; SPA Angular/Firebase (RTDB verrouillée) → rendu navigateur via acteur Apify maison (proxy résidentiel CA) 2026-08-21 (espacetheatre) Courtoisie : nom de la salle + lien d'achat officiel 1 run d'acteur / 20 h (TTL), 1 page par tenant par run conforme (Phase 4) — rendu JS modéré, 29 tenants QC vérifiés

# Données transversales

Donnée Licence Crédit Décision
Répertoire des municipalités (MAMH) — data/villes_canon.json, villes_regions.json Données Québec CC 4.0 Oui : « Répertoire des municipalités (MAMH) » (pied de page) conforme
Annuaire de salles — OpenStreetMap (Overpass) ODbL — © contributeurs OpenStreetMap Oui : « lieux : © contributeurs OpenStreetMap (ODbL) » (pied de page, ajouté Phase 3) conforme — overpass-api.de (PAS l'extrait suisse), UA de bot honnête, 1 requête/30 j
Annuaire de salles — Nominatim politique d'usage OSMF : 1 req/s, UA identifié, cache obligatoire idem OSM conforme (throttle 1,1 s, cache disque, plafond/cycle)

# Sources écartées (et pourquoi) — vague 2026-08-19

Candidate Raison de l'écartement Re-sonder ?
Tourisme Mauricie liste rendue JS (1 carte SSR/page), wp-json verrouillé (401) oui (percer la facette admin-ajax)
Tourisme Laurentides WAF : 403 sur GET identifié oui (région déjà bien couverte : 620 fiches — Scrapfly non justifié)
Tourisme Gaspésie WAF : 403 sur GET identifié RÉACTIVÉE 2026-08-21 (Phase 4) via Scrapfly consigné — voir Sources actives n/a
Tuxedo Billet site en panne aux sondes RÉACTIVÉE 2026-08-21 (Phase 4) : les tenants vivent — acteur Apify ka-tuxedo, voir Sources actives n/a
Clubs pros (CF MTL, Alouettes, Rocket…) déjà couverts par evenko/ticketmaster ; ligues dédiées = surtout des doublons si besoin de statuts officiels
Palais Montcalm, Le Diamant, Impérial Bell fiches SANS JSON-LD Event (sondées) oui, après refonte de leurs sites
MTelus, Corona, Club Soda salles evenko — déjà couvertes par le connecteur evenko non (doublons garantis)
Petit Champlain, Salle Albert-Rousseau plateforme JS, rien de SSR COUVERTES 2026-08-21 (Phase 4) par le connecteur Réseau Ovation (m.ovation.ca, HTML serveur) n/a
Médias (La Presse, Le Devoir, JdQ/JdM) éditorial non structuré + droits d'auteur non

# Règles d'affichage du crédit (vérifiées Phase 3)

  • Pied de page (frontend/index.html) : attribution globale — CC (SITQ, Montréal, Laval), villes, ATR, Place des Arts, LHJMQ, billetteries, MAMH, OSM/ODbL (ajouté 2026-08-19 avec l'annuaire de salles).
  • Fiche événement : bloc « Source & attribution » (SRC_LABELS, frontend + sortika/seo.py pour le SSR) — les 9 nouvelles sources y sont étiquetées.
  • JSON-LD sortant : chaque fiche renvoie l'URL de la source originale.