Phase 5 — billetterie Ticketpro (API JSON multi-tenants : St-Denis, Fun Nation, ExpoCité, PdC, SAG…) + salle Odyscène (Ste-Thérèse, Laurentides) via sallesjsonld
- ticketpro.py : API /api/v1/pages publique par tenant (aucun anti-bot), 1 Event par (spectacle, date à venir), lieu complet avec GPS, tags, cancelled/soldout, image ; 6 tenants QC (data/ticketpro_tenants.json), restauration/musée à créneaux exclus — 361 séances actives au 1er sync - salles_jsonld.json : + Odyscène (TheaterEvent JSON-LD, robots ouvert) → 33 événements Laurentides au 1er passage - docs/connecteurs régénérés (40 sources) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
45 changed files +841 −515
modified
data/salles_jsonld.json
+10 −0
@@ -27,6 +27,16 @@ | |||||
| 27 | "salle": "Théâtre Capitole", | 27 | "salle": "Théâtre Capitole", | ||
| 28 | "ville": "Québec", | 28 | "ville": "Québec", | ||
| 29 | "robots": "Disallow: /cpresources/ /vendor/ seulement (vérifié 2026-08-19)" | 29 | "robots": "Disallow: /cpresources/ /vendor/ seulement (vérifié 2026-08-19)" | ||
| 30 | + }, | ||||
| 31 | + { | ||||
| 32 | + "id": "odyscene", | ||||
| 33 | + "nom": "Odyscène (Théâtre Lionel-Groulx / Cabaret BMO, Sainte-Thérèse)", | ||||
| 34 | + "listes": ["https://odyscene.com/programmation/", | ||||
| 35 | + "https://odyscene.com/programmation-estivale/"], | ||||
| 36 | + "motif": "odyscene\\.com/programmation/(?!categories/)[a-z0-9-]{3,}", | ||||
| 37 | + "salle": "Théâtre Lionel-Groulx", | ||||
| 38 | + "ville": "Sainte-Thérèse", | ||||
| 39 | + "robots": "Disallow: (vide — tout permis, Yoast, vérifié 2026-08-22)" | ||||
| 30 | } | 40 | } | ||
| 31 | ] | 41 | ] | ||
| 32 | } | 42 | } | ||
modified
data/sources.json
+11 −0
@@ -453,6 +453,17 @@ | |||||
| 453 | "couverture": "26 organisations 100 % QC : Salle Albert-Rousseau, Petit Champlain, Diffusion Saguenay, Gatineau (Odyssée, Jean-Despréz), Vieux Terrebonne, Palace de Granby, Vieux Clocher Magog/Waterloo, La Tuque, Festival Western de St-Tite, clubs LHJMQ/LNAH…", | 453 | "couverture": "26 organisations 100 % QC : Salle Albert-Rousseau, Petit Champlain, Diffusion Saguenay, Gatineau (Odyssée, Jean-Despréz), Vieux Terrebonne, Palace de Granby, Vieux Clocher Magog/Waterloo, La Tuque, Festival Western de St-Tite, clubs LHJMQ/LNAH…", | ||
| 454 | "cadence": "horaire (watcher PM2)", | 454 | "cadence": "horaire (watcher PM2)", | ||
| 455 | "statut": "actif" | 455 | "statut": "actif" | ||
| 456 | + }, | ||||
| 457 | + { | ||||
| 458 | + "id": "ticketpro", | ||||
| 459 | + "name": "Ticketpro — billetterie canadienne (tenants Québec)", | ||||
| 460 | + "url": "https://www.ticketpro.ca/", | ||||
| 461 | + "type": "billetterie", | ||||
| 462 | + "extraction": "API JSON publique de la nouvelle plateforme SPA par tenant (<org>.ticketpro.ca/api/v1/pages, aucun anti-bot ni rendu JS) : 1 fiche par spectacle avec titre, artiste, description, image, lieu complet (adresse, ville, code postal, lat/lng), toutes les dates horodatées, tags et drapeaux cancelled/soldout → 1 Event par (page, date à venir). 6 tenants QC dans data/ticketpro_tenants.json (tproqc agrège la province mais pas tprotsd), dédup inter-tenants par id de page. Lieux de restauration (soupers-spectacles St-Denis) et musée à créneaux exclus par config. startingPrice toujours 0 → aucun prix émis.", | ||||
| 463 | + "acces_legal": "Billetterie publique ; robots.txt n'interdit que /admin/ /gui/ /report/ (vérifié 2026-08-22) ; API du site officiel consommée telle quelle, GET throttlés 1 s, UA honnête, lien d'achat vers la fiche officielle /fr/pages/<id> du tenant", | ||||
| 464 | + "couverture": "Théâtre St-Denis + Studio St-Denis (Montréal), Fun Nation (Salle Pierre-Mercure, Monument-National, Club Soda), ExpoCité (Québec), Salle André-Gagnon (La Pocatière), Palais des congrès de Montréal, La Belle Église de Chertsey, Théâtre Rialto, Huntingdon… ~200 spectacles / ~1 100 séances datées (vérifié 2026-08-22)", | ||||
| 465 | + "cadence": "horaire (watcher PM2)", | ||||
| 466 | + "statut": "actif" | ||||
| 456 | } | 467 | } | ||
| 457 | ] | 468 | ] | ||
| 458 | } | 469 | } | ||
| \ No newline at end of file | |||||
added
data/ticketpro_tenants.json
+16 −0
@@ -0,0 +1,16 @@ | |||||
| 1 | +{ | ||||
| 2 | + "_comment": "Sorti-Ka — tenants québécois de la billetterie Ticketpro (nouvelle plateforme SPA, API /api/v1). Auteur : Simon-Pierre Boucher <contact@spboucher.ai>. Chaque tenant = <domaine>.ticketpro.ca ; l'API /api/v1/pages y est publique (vérifié 2026-08-22). tproqc agrège la majorité des salles QC mais PAS tprotsd (vérifié) → les deux sont requis, dédup par id de page. Tenants hors Québec (tproatlantic, tprobarriecolts, goredsgo…) exclus par périmètre. tpromuseerodrigue exclu : créneaux d'admission de musée (176 plages quasi identiques), pas des événements. exclure_lieux : réservations de restaurants (soupers-spectacles du groupe St-Denis) filtrées par nom de lieu normalisé (sous-chaîne, sans accents ni casse).", | ||||
| 3 | + "tenants": [ | ||||
| 4 | + { "domaine": "tproqc", "nom": "Ticketpro Québec (agrégateur provincial)" }, | ||||
| 5 | + { "domaine": "tprotsd", "nom": "Théâtre St-Denis / Studio St-Denis (Montréal)" }, | ||||
| 6 | + { "domaine": "tprofunnation", "nom": "Fun Nation (Montréal)" }, | ||||
| 7 | + { "domaine": "expocitetpro", "nom": "ExpoCité — Centre de foires & Pavillon Guy-Lafleur (Québec)" }, | ||||
| 8 | + { "domaine": "sag", "nom": "Salle André-Gagnon (La Pocatière)" }, | ||||
| 9 | + { "domaine": "tpropdc", "nom": "Palais des congrès de Montréal" } | ||||
| 10 | + ], | ||||
| 11 | + "exclure_lieux": [ | ||||
| 12 | + "restaurant le moliere", | ||||
| 13 | + "trattoria dell'arte", | ||||
| 14 | + "musee rodrigue" | ||||
| 15 | + ] | ||||
| 16 | +} | ||||
modified
docs/connecteurs/INDEX.md
+33 −32
@@ -1,8 +1,8 @@ | |||||
| 1 | # Sorti-Ka — Connecteurs de sources d'événements | 1 | # Sorti-Ka — Connecteurs de sources d'événements | ||
| 2 | 2 | ||||
| 3 | −> Index généré le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` (rejouable : `python3 scripts/gen_connector_docs.py`). Croise `data/sources.json`, l'introspection de `sortika/connectors/*.py` et la base live `data/sortika.db`. | 3 | +> Index généré le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` (rejouable : `python3 scripts/gen_connector_docs.py`). Croise `data/sources.json`, l'introspection de `sortika/connectors/*.py` et la base live `data/sortika.db`. | ||
| 4 | 4 | ||||
| 5 | −**39 sources au registre** — 30 actives/prêtes, 9 abandonnées · **24986 événements en base** (dont 17695 actifs). | 5 | +**40 sources au registre** — 31 actives/prêtes, 9 abandonnées · **25968 événements en base** (dont 18227 actifs). | ||
| 6 | 6 | ||||
| 7 | ⚠️ **Attributions requises** : Ville de Montréal (CC BY 4.0) ; SIT Québec / Ministère du Tourisme et Ville de Laval (CC 4.0 — Données Québec). Détails dans chaque fiche, section « Licence / attribution ». | 7 | ⚠️ **Attributions requises** : Ville de Montréal (CC BY 4.0) ; SIT Québec / Ministère du Tourisme et Ville de Laval (CC 4.0 — Données Québec). Détails dans chaque fiche, section « Licence / attribution ». | ||
| 8 | 8 | ||||
@@ -10,36 +10,37 @@ | |||||
| 10 | 10 | ||||
| 11 | | Source | Type | Statut | Actifs | GPS | Prix | Heure | Artistes | Image | Salle | Dernier sync | | 11 | | Source | Type | Statut | Actifs | GPS | Prix | Heure | Artistes | Image | Salle | Dernier sync | | ||
| 12 | |---|---|---|---|---|---|---|---|---|---|---| | 12 | |---|---|---|---|---|---|---|---|---|---|---| | ||
| 13 | −| [SIT Québec — Ministère du Tourisme](sitq.md) | donnees-ouvertes | actif | 1020 | 97 % | 0 % | 0 % | 0 % | 0 % | 0 % | 63 % | 74 % | 2026-08-21 20:55 | | 13 | +| [SIT Québec — Ministère du Tourisme](sitq.md) | donnees-ouvertes | actif | 1014 | 97 % | 0 % | 0 % | 0 % | 0 % | 0 % | 63 % | 74 % | 2026-08-22 22:28 | | ||
| 14 | −| [Ville de Montréal — Événements publics](montreal.md) | donnees-ouvertes | actif | 3567 | 99 % | 100 % | 99 % | 99 % | 0 % | 0 % | 100 % | 4 % | 2026-08-21 20:55 | | 14 | +| [Ville de Montréal — Événements publics](montreal.md) | donnees-ouvertes | actif | 3522 | 99 % | 100 % | 99 % | 99 % | 0 % | 0 % | 100 % | 4 % | 2026-08-22 22:27 | | ||
| 15 | −| [Le point de vente — billetterie québécoise](lepointdevente.md) | billetterie | actif | 1789 | 30 % | 93 % | 94 % | 0 % | 0 % | 1 % | 100 % | 99 % | 2026-08-21 20:54 | | 15 | +| [Le point de vente — billetterie québécoise](lepointdevente.md) | billetterie | actif | 1790 | 30 % | 92 % | 93 % | 0 % | 0 % | 1 % | 100 % | 99 % | 2026-08-22 22:27 | | ||
| 16 | −| [Ville de Laval — Calendrier des activités](laval.md) | donnees-ouvertes | morte-a-la-source | 1 | 0 % | 0 % | 100 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 20:50 | | 16 | +| [Ville de Laval — Calendrier des activités](laval.md) | donnees-ouvertes | morte-a-la-source | 1 | 0 % | 0 % | 100 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:23 | | ||
| 17 | −| [Ville de Sherbrooke — Calendrier des événements](sherbrooke.md) | municipal | actif | 114 | 0 % | 100 % | 86 % | 92 % | 0 % | 0 % | 99 % | 0 % | 2026-08-21 20:55 | | 17 | +| [Ville de Sherbrooke — Calendrier des événements](sherbrooke.md) | municipal | actif | 109 | 0 % | 100 % | 85 % | 92 % | 0 % | 0 % | 99 % | 0 % | 2026-08-22 22:28 | | ||
| 18 | −| [Ville de Longueuil — Événements (nouveau portail)](longueuil.md) | municipal | actif | 4 | 75 % | 0 % | 100 % | 50 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 20:54 | | 18 | +| [Ville de Longueuil — Événements (nouveau portail)](longueuil.md) | municipal | actif | 4 | 75 % | 0 % | 100 % | 50 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:27 | | ||
| 19 | −| [Eventbrite — billetterie libre-service (Québec)](eventbrite.md) | billetterie | actif | 438 | 100 % | 89 % | 100 % | 100 % | 0 % | 0 % | 98 % | 100 % | 2026-08-21 20:50 | | 19 | +| [Eventbrite — billetterie libre-service (Québec)](eventbrite.md) | billetterie | actif | 435 | 100 % | 88 % | 100 % | 100 % | 0 % | 0 % | 98 % | 100 % | 2026-08-22 22:23 | | ||
| 20 | −| [Tourisme Cantons-de-l'Est — calendrier officiel (ATR Estrie)](cantonsdelest.md) | tourisme-regional | actif | 11 | 91 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 20:49 | | 20 | +| [Tourisme Cantons-de-l'Est — calendrier officiel (ATR Estrie)](cantonsdelest.md) | tourisme-regional | actif | 11 | 82 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:22 | | ||
| 21 | −| [evenko — grands concerts et festivals](evenko.md) | promoteur | actif | 417 | 97 % | 0 % | 99 % | 0 % | 1 % | 99 % | 100 % | 100 % | 2026-08-21 20:49 | | 21 | +| [evenko — grands concerts et festivals](evenko.md) | promoteur | actif | 413 | 97 % | 0 % | 99 % | 0 % | 1 % | 99 % | 100 % | 100 % | 2026-08-22 22:22 | | ||
| 22 | −| [Atuvu.ca — calendrier culturel](atuvu.md) | agregateur | actif | 224 | 82 % | 25 % | 46 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-21 20:49 | | 22 | +| [Atuvu.ca — calendrier culturel](atuvu.md) | agregateur | actif | 216 | 82 % | 23 % | 46 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-22 22:22 | | ||
| 23 | −| [La Vitrine culturelle](lavitrine.md) | billetterie | actif | 5069 | 69 % | 0 % | 100 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-21 20:53 | | 23 | +| [La Vitrine culturelle](lavitrine.md) | billetterie | actif | 5039 | 69 % | 0 % | 100 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-22 22:26 | | ||
| 24 | −| [Ville de Brossard — Calendrier des événements](brossard.md) | municipal | actif | 147 | 95 % | 0 % | 96 % | 0 % | 0 % | 0 % | 100 % | 95 % | 2026-08-21 20:49 | | 24 | +| [Ville de Brossard — Calendrier des événements](brossard.md) | municipal | actif | 146 | 95 % | 0 % | 96 % | 0 % | 0 % | 0 % | 100 % | 95 % | 2026-08-22 22:22 | | ||
| 25 | −| [Ticketmaster — Discovery API (Québec)](ticketmaster.md) | billetterie | actif | 360 | 100 % | 0 % | 96 % | 0 % | 4 % | 0 % | 90 % | 100 % | 2026-08-21 20:56 | | 25 | +| [Ticketmaster — Discovery API (Québec)](ticketmaster.md) | billetterie | actif | 359 | 100 % | 0 % | 96 % | 0 % | 4 % | 0 % | 89 % | 100 % | 2026-08-22 22:29 | | ||
| 26 | −| [Bandsintown — dates de concerts par artiste](bandsintown.md) | agregateur | actif | 521 | 100 % | 1 % | 100 % | 0 % | 0 % | 100 % | 9 % | 100 % | 2026-08-21 20:49 | | 26 | +| [Bandsintown — dates de concerts par artiste](bandsintown.md) | agregateur | actif | 519 | 100 % | 1 % | 100 % | 0 % | 0 % | 100 % | 8 % | 100 % | 2026-08-22 22:22 | | ||
| 27 | −| [Ville de Laval — calendrier vivant laval.ca](lavalweb.md) | municipal | actif | 462 | 75 % | 0 % | 98 % | 0 % | 0 % | 0 % | 0 % | 100 % | 2026-08-21 20:53 | | 27 | +| [Ville de Laval — calendrier vivant laval.ca](lavalweb.md) | municipal | actif | 443 | 75 % | 0 % | 98 % | 0 % | 0 % | 0 % | 0 % | 100 % | 2026-08-22 22:26 | | ||
| 28 | −| [Tourisme Outaouais — calendrier des événements (ATR)](outaouais.md) | tourisme-regional | actif | 24 | 0 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 20:55 | | 28 | +| [Tourisme Outaouais — calendrier des événements (ATR)](outaouais.md) | tourisme-regional | actif | 24 | 0 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:27 | | ||
| 29 | −| [Tourisme Lanaudière — événements (ATR)](lanaudiere.md) | tourisme-regional | actif | 44 | 0 % | 0 % | 0 % | 0 % | 0 % | 0 % | 93 % | 0 % | 2026-08-21 20:50 | | 29 | +| [Tourisme Lanaudière — événements (ATR)](lanaudiere.md) | tourisme-regional | actif | 44 | 0 % | 0 % | 0 % | 0 % | 0 % | 0 % | 93 % | 0 % | 2026-08-22 22:23 | | ||
| 30 | −| [Sorties Saguenay — portail événementiel de la Ville](saguenaysorties.md) | municipal | actif | 437 | 80 % | 0 % | 100 % | 0 % | 0 % | 0 % | 100 % | 86 % | 2026-08-21 20:55 | | 30 | +| [Sorties Saguenay — portail événementiel de la Ville](saguenaysorties.md) | municipal | actif | 438 | 80 % | 0 % | 100 % | 0 % | 0 % | 0 % | 100 % | 86 % | 2026-08-22 22:28 | | ||
| 31 | −| [Tourisme Bas-Saint-Laurent — événements (ATR)](bassaintlaurent.md) | tourisme-regional | actif | 20 | 100 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 20:49 | | 31 | +| [Tourisme Bas-Saint-Laurent — événements (ATR)](bassaintlaurent.md) | tourisme-regional | actif | 20 | 100 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:22 | | ||
| 32 | −| [Québec animée — Ville de Québec](quebecanimee.md) | municipal | actif | 121 | 100 % | 100 % | 0 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-21 20:55 | | 32 | +| [Québec animée — Ville de Québec](quebecanimee.md) | municipal | actif | 102 | 100 % | 100 % | 0 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-22 22:27 | | ||
| 33 | −| [Place des Arts — calendrier multi-salles](placedesarts.md) | salle-de-spectacle | actif | 347 | 94 % | 73 % | 100 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-21 20:55 | | 33 | +| [Place des Arts — calendrier multi-salles](placedesarts.md) | salle-de-spectacle | actif | 346 | 94 % | 73 % | 100 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-22 22:27 | | ||
| 34 | −| [LHJMQ — matchs des équipes québécoises](lhjmq.md) | sport | actif | 421 | 99 % | 0 % | 100 % | 0 % | 0 % | 0 % | 0 % | 100 % | 2026-08-21 20:54 | | 34 | +| [LHJMQ — matchs des équipes québécoises](lhjmq.md) | sport | actif | 417 | 99 % | 0 % | 100 % | 0 % | 0 % | 0 % | 0 % | 100 % | 2026-08-22 22:27 | | ||
| 35 | −| [Salles de spectacle — moteur générique JSON-LD Event](sallesjsonld.md) | salle-de-spectacle | actif | 278 | 100 % | 97 % | 100 % | 47 % | 1 % | 0 % | 3 % | 100 % | 2026-08-21 20:55 | | 35 | +| [Salles de spectacle — moteur générique JSON-LD Event](sallesjsonld.md) | salle-de-spectacle | actif | 308 | 100 % | 97 % | 100 % | 53 % | 1 % | 0 % | 13 % | 100 % | 2026-08-22 22:59 | | ||
| 36 | −| [Tourisme Gaspésie — événements (ATR)](gaspesie.md) | tourisme-regional | actif | 10 | 90 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 21:08 | | 36 | +| [Tourisme Gaspésie — événements (ATR)](gaspesie.md) | tourisme-regional | actif | 10 | 90 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:23 | | ||
| 37 | −| [Tuxedo Billet — billetterie québécoise multi-tenants](tuxedobillet.md) | billetterie | actif | 252 | 90 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-21 21:44 | | 37 | +| [Tuxedo Billet — billetterie québécoise multi-tenants](tuxedobillet.md) | billetterie | actif | 442 | 44 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-22 22:29 | | ||
| 38 | −| [Tourisme Montérégie — événements (ATR)](monteregie.md) | tourisme-regional | actif | 28 | 100 % | 0 % | 0 % | 0 % | 0 % | 0 % | 96 % | 0 % | 2026-08-21 21:11 | | 38 | +| [Tourisme Montérégie — événements (ATR)](monteregie.md) | tourisme-regional | actif | 28 | 100 % | 0 % | 0 % | 0 % | 0 % | 0 % | 96 % | 0 % | 2026-08-22 22:27 | | ||
| 39 | −| [Tourisme Centre-du-Québec — événements (ATR)](centreduquebec.md) | tourisme-regional | actif | 9 | 0 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 21:09 | | 39 | +| [Tourisme Centre-du-Québec — événements (ATR)](centreduquebec.md) | tourisme-regional | actif | 9 | 0 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:22 | | ||
| 40 | −| [Tourisme Chaudière-Appalaches — festivals et événements (ATR)](chaudiereappalaches.md) | tourisme-regional | actif | 28 | 100 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-21 21:09 | | 40 | +| [Tourisme Chaudière-Appalaches — festivals et événements (ATR)](chaudiereappalaches.md) | tourisme-regional | actif | 28 | 100 % | 0 % | 0 % | 0 % | 0 % | 0 % | 100 % | 0 % | 2026-08-22 22:22 | | ||
| 41 | −| [TicketAcces.net — billetterie régionale québécoise](ticketacces.md) | billetterie | actif | 1320 | 73 % | 6 % | 100 % | 0 % | 0 % | 0 % | 100 % | 100 % | 2026-08-21 21:40 | | 41 | +| [TicketAcces.net — billetterie régionale québécoise](ticketacces.md) | billetterie | actif | 1318 | 74 % | 21 % | 100 % | 0 % | 0 % | 0 % | 99 % | 100 % | 2026-08-22 22:28 | | ||
| 42 | −| [Réseau Ovation — billetterie québécoise multi-salles](ovation.md) | billetterie | actif | 212 | 100 % | 0 % | 100 % | 0 % | 0 % | 94 % | 100 % | 100 % | 2026-08-21 21:46 | | 42 | +| [Réseau Ovation — billetterie québécoise multi-salles](ovation.md) | billetterie | actif | 311 | 100 % | 0 % | 100 % | 0 % | 0 % | 90 % | 100 % | 100 % | 2026-08-22 22:27 | | ||
| 43 | +| [Ticketpro — billetterie canadienne (tenants Québec)](ticketpro.md) | billetterie | actif | 361 | 99 % | 0 % | 100 % | 0 % | 0 % | 78 % | 100 % | 100 % | 2026-08-22 22:57 | | ||||
| 43 | 44 | ||||
| 44 | ## Sources abandonnées | 45 | ## Sources abandonnées | ||
| 45 | 46 | ||||
modified
docs/connecteurs/atuvu.md
+28 −28
@@ -1,6 +1,6 @@ | |||||
| 1 | # Atuvu.ca — calendrier culturel (`atuvu`) | 1 | # Atuvu.ca — calendrier culturel (`atuvu`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `agregateur` · Connecteur : `sortika/connectors/atuvu.py` | 5 | **Statut : actif** · Type : `agregateur` · Connecteur : `sortika/connectors/atuvu.py` | ||
| 6 | 6 | ||||
@@ -38,30 +38,30 @@ | |||||
| 38 | 38 | ||||
| 39 | ## Champs récupérés → schéma | 39 | ## Champs récupérés → schéma | ||
| 40 | 40 | ||||
| 41 | −Complétude mesurée sur les **224 événements actifs** de la source ; exemples tirés d'un événement réel (`atuvu:une-femme-denfer-2026-08-21`). | 41 | +Complétude mesurée sur les **216 événements actifs** de la source ; exemples tirés d'un événement réel (`atuvu:on-daaaaance-2026-08-22`). | ||
| 42 | 42 | ||||
| 43 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 43 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 44 | |---|---|---|---| | 44 | |---|---|---|---| | ||
| 45 | −| `title` — Titre | titre de l'événement | 100 % | Une femme d'enfer | | 45 | +| `title` — Titre | titre de l'événement | 100 % | On Daaaaance | | ||
| 46 | | `description` — Description | texte descriptif (source ou fiche détail) | 0 % | ∅ | | 46 | | `description` — Description | texte descriptif (source ou fiche détail) | 0 % | ∅ | | ||
| 47 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://atuvu.ca/billets-spectacle/une-femme-denfer | | 47 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://atuvu.ca/billets-spectacle/on-daaaaance | | ||
| 48 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["musique", "arts-scene"] | | 48 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["musique", "arts-scene"] | | ||
| 49 | −| `venue` — Salle (venue) | nom du lieu | 100 % | La Comédie de Montréal | | 49 | +| `venue` — Salle (venue) | nom du lieu | 100 % | Maison Mère Baie-Saint-Paul | | ||
| 50 | | `address` — Adresse | adresse civique | 0 % | ∅ | | 50 | | `address` — Adresse | adresse civique | 0 % | ∅ | | ||
| 51 | −| `city` — Ville | municipalité | 98 % | Montréal | | 51 | +| `city` — Ville | municipalité | 98 % | Baie-Saint-Paul | | ||
| 52 | −| `region` — Région | région administrative | 96 % | Montréal | | 52 | +| `region` — Région | région administrative | 96 % | Capitale-Nationale | | ||
| 53 | −| `lat` — GPS (lat/lng) | coordonnées géographiques | 82 % | 45.518607, -73.558419 | | 53 | +| `lat` — GPS (lat/lng) | coordonnées géographiques | 82 % | 47.4384969, -70.5066321 | | ||
| 54 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-21 | | 54 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-22 | | ||
| 55 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-21 | | 55 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-22 | | ||
| 56 | −| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 46 % | 20:00 | | 56 | +| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 46 % | 11:30 | | ||
| 57 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 57 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
| 58 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 58 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
| 59 | −| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 19 % | 0 | | 59 | +| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 18 % | ∅ | | ||
| 60 | −| `price_min` — Prix min | tarif minimal réel ($) | 25 % | 35.0 | | 60 | +| `price_min` — Prix min | tarif minimal réel ($) | 23 % | 0.0 | | ||
| 61 | −| `price_label` — Libellé prix | étiquette tarifaire affichable | 19 % | 35.00 $ (prix régulier atuvu.ca) | | 61 | +| `price_label` — Libellé prix | étiquette tarifaire affichable | 18 % | ∅ | | ||
| 62 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | 62 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | ||
| 63 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | 63 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | ||
| 64 | −| `image` — Image | visuel (og:image ou média source) | 100 % | https://atuvu.ca/uploads/images/2026/06/femme-denfer.jpg | | 64 | +| `image` — Image | visuel (og:image ou média source) | 100 % | https://atuvu.ca/uploads/images/2026/07/on-daaaaance.jpg | | ||
| 65 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 65 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 66 | 66 | ||||
| 67 | ## Fréquence & budgets | 67 | ## Fréquence & budgets | ||
@@ -76,19 +76,19 @@ Complétude mesurée sur les **224 événements actifs** de la source ; exemples | |||||
| 76 | 76 | ||||
| 77 | ## Volumétrie & complétude live | 77 | ## Volumétrie & complétude live | ||
| 78 | 78 | ||||
| 79 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 79 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 80 | − | 80 | + | ||
| 81 | −- **Événements en base** : 249 (dont **224 actifs**) | 81 | +- **Événements en base** : 249 (dont **216 actifs**) | ||
| 82 | −- **GPS** : 183/224 actifs (82 %) | 82 | +- **GPS** : 177/216 actifs (82 %) | ||
| 83 | −- **Prix** : 55/224 actifs (25 %) | 83 | +- **Prix** : 50/216 actifs (23 %) | ||
| 84 | −- **Heure (start_time)** : 103/224 actifs (46 %) | 84 | +- **Heure (start_time)** : 100/216 actifs (46 %) | ||
| 85 | −- **Heure de fin** : 0/224 actifs (0 %) | 85 | +- **Heure de fin** : 0/216 actifs (0 %) | ||
| 86 | −- **Statut (annulé/reporté/complet)** : 0/224 actifs (0 %) | 86 | +- **Statut (annulé/reporté/complet)** : 0/216 actifs (0 %) | ||
| 87 | −- **Artistes** : 0/224 actifs (0 %) | 87 | +- **Artistes** : 0/216 actifs (0 %) | ||
| 88 | −- **Image** : 224/224 actifs (100 %) | 88 | +- **Image** : 216/216 actifs (100 %) | ||
| 89 | −- **Salle (venue)** : 224/224 actifs (100 %) | 89 | +- **Salle (venue)** : 216/216 actifs (100 %) | ||
| 90 | −- **Dernier sync** : 2026-08-21 20:49 — fetched 253, +0 ajoutés, ~2 mis à jour, -0 retirés | 90 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 253, +0 ajoutés, ~2 mis à jour, -0 retirés | ||
| 91 | −- **Syncs enregistrés** (sync_log) : 98 | 91 | +- **Syncs enregistrés** (sync_log) : 119 | ||
| 92 | 92 | ||||
| 93 | ## Erreurs & dépannage | 93 | ## Erreurs & dépannage | ||
| 94 | 94 | ||||
modified
docs/connecteurs/bandsintown.md
+16 −16
@@ -1,6 +1,6 @@ | |||||
| 1 | # Bandsintown — dates de concerts par artiste (`bandsintown`) | 1 | # Bandsintown — dates de concerts par artiste (`bandsintown`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `agregateur` · Connecteur : `sortika/connectors/bandsintown.py` | 5 | **Statut : actif** · Type : `agregateur` · Connecteur : `sortika/connectors/bandsintown.py` | ||
| 6 | 6 | ||||
@@ -43,7 +43,7 @@ | |||||
| 43 | 43 | ||||
| 44 | ## Champs récupérés → schéma | 44 | ## Champs récupérés → schéma | ||
| 45 | 45 | ||||
| 46 | −Complétude mesurée sur les **521 événements actifs** de la source ; exemples tirés d'un événement réel (`bandsintown:108801594`). | 46 | +Complétude mesurée sur les **519 événements actifs** de la source ; exemples tirés d'un événement réel (`bandsintown:108801594`). | ||
| 47 | 47 | ||||
| 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 49 | |---|---|---|---| | 49 | |---|---|---|---| | ||
@@ -66,7 +66,7 @@ Complétude mesurée sur les **521 événements actifs** de la source ; exemples | |||||
| 66 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | 66 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | ||
| 67 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 100 % | ["Fine Food Market"] | | 67 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 100 % | ["Fine Food Market"] | | ||
| 68 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | 68 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | ||
| 69 | −| `image` — Image | visuel (og:image ou média source) | 9 % | https://photos.bandsintown.com/large/25970249.jpeg | | 69 | +| `image` — Image | visuel (og:image ou média source) | 8 % | https://photos.bandsintown.com/large/25970249.jpeg | | ||
| 70 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 70 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 71 | 71 | ||||
| 72 | ## Fréquence & budgets | 72 | ## Fréquence & budgets | ||
@@ -82,19 +82,19 @@ Complétude mesurée sur les **521 événements actifs** de la source ; exemples | |||||
| 82 | 82 | ||||
| 83 | ## Volumétrie & complétude live | 83 | ## Volumétrie & complétude live | ||
| 84 | 84 | ||||
| 85 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 85 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 86 | − | 86 | + | ||
| 87 | −- **Événements en base** : 529 (dont **521 actifs**) | 87 | +- **Événements en base** : 532 (dont **519 actifs**) | ||
| 88 | −- **GPS** : 521/521 actifs (100 %) | 88 | +- **GPS** : 519/519 actifs (100 %) | ||
| 89 | −- **Prix** : 5/521 actifs (1 %) | 89 | +- **Prix** : 5/519 actifs (1 %) | ||
| 90 | −- **Heure (start_time)** : 520/521 actifs (100 %) | 90 | +- **Heure (start_time)** : 518/519 actifs (100 %) | ||
| 91 | −- **Heure de fin** : 0/521 actifs (0 %) | 91 | +- **Heure de fin** : 0/519 actifs (0 %) | ||
| 92 | −- **Statut (annulé/reporté/complet)** : 0/521 actifs (0 %) | 92 | +- **Statut (annulé/reporté/complet)** : 0/519 actifs (0 %) | ||
| 93 | −- **Artistes** : 521/521 actifs (100 %) | 93 | +- **Artistes** : 519/519 actifs (100 %) | ||
| 94 | −- **Image** : 48/521 actifs (9 %) | 94 | +- **Image** : 44/519 actifs (8 %) | ||
| 95 | −- **Salle (venue)** : 521/521 actifs (100 %) | 95 | +- **Salle (venue)** : 519/519 actifs (100 %) | ||
| 96 | −- **Dernier sync** : 2026-08-21 20:49 — fetched 521, +0 ajoutés, ~0 mis à jour, -0 retirés | 96 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 522, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 97 | −- **Syncs enregistrés** (sync_log) : 83 | 97 | +- **Syncs enregistrés** (sync_log) : 104 | ||
| 98 | 98 | ||||
| 99 | ## Erreurs & dépannage | 99 | ## Erreurs & dépannage | ||
| 100 | 100 | ||||
modified
docs/connecteurs/bassaintlaurent.md
+4 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Bas-Saint-Laurent — événements (ATR) (`bassaintlaurent`) | 1 | # Tourisme Bas-Saint-Laurent — événements (ATR) (`bassaintlaurent`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/bassaintlaurent.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/bassaintlaurent.py` | ||
| 6 | 6 | ||||
@@ -78,7 +78,7 @@ Complétude mesurée sur les **20 événements actifs** de la source ; exemples | |||||
| 78 | 78 | ||||
| 79 | ## Volumétrie & complétude live | 79 | ## Volumétrie & complétude live | ||
| 80 | 80 | ||||
| 81 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 81 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 82 | 82 | ||||
| 83 | - **Événements en base** : 27 (dont **20 actifs**) | 83 | - **Événements en base** : 27 (dont **20 actifs**) | ||
| 84 | - **GPS** : 20/20 actifs (100 %) | 84 | - **GPS** : 20/20 actifs (100 %) | ||
@@ -89,8 +89,8 @@ Complétude mesurée sur les **20 événements actifs** de la source ; exemples | |||||
| 89 | - **Artistes** : 0/20 actifs (0 %) | 89 | - **Artistes** : 0/20 actifs (0 %) | ||
| 90 | - **Image** : 20/20 actifs (100 %) | 90 | - **Image** : 20/20 actifs (100 %) | ||
| 91 | - **Salle (venue)** : 0/20 actifs (0 %) | 91 | - **Salle (venue)** : 0/20 actifs (0 %) | ||
| 92 | −- **Dernier sync** : 2026-08-21 20:49 — fetched 27, +0 ajoutés, ~0 mis à jour, -0 retirés | 92 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 27, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 93 | −- **Syncs enregistrés** (sync_log) : 60 | 93 | +- **Syncs enregistrés** (sync_log) : 81 | ||
| 94 | 94 | ||||
| 95 | ## Erreurs & dépannage | 95 | ## Erreurs & dépannage | ||
| 96 | 96 | ||||
modified
docs/connecteurs/brossard.md
+15 −15
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Brossard — Calendrier des événements (`brossard`) | 1 | # Ville de Brossard — Calendrier des événements (`brossard`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/brossard.py` | 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/brossard.py` | ||
| 6 | 6 | ||||
@@ -43,7 +43,7 @@ | |||||
| 43 | 43 | ||||
| 44 | ## Champs récupérés → schéma | 44 | ## Champs récupérés → schéma | ||
| 45 | 45 | ||||
| 46 | −Complétude mesurée sur les **147 événements actifs** de la source ; exemples tirés d'un événement réel (`brossard:37838`). | 46 | +Complétude mesurée sur les **146 événements actifs** de la source ; exemples tirés d'un événement réel (`brossard:37838`). | ||
| 47 | 47 | ||||
| 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 49 | |---|---|---|---| | 49 | |---|---|---|---| | ||
@@ -81,19 +81,19 @@ Complétude mesurée sur les **147 événements actifs** de la source ; exemples | |||||
| 81 | 81 | ||||
| 82 | ## Volumétrie & complétude live | 82 | ## Volumétrie & complétude live | ||
| 83 | 83 | ||||
| 84 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 84 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 85 | − | 85 | + | ||
| 86 | −- **Événements en base** : 264 (dont **147 actifs**) | 86 | +- **Événements en base** : 264 (dont **146 actifs**) | ||
| 87 | −- **GPS** : 139/147 actifs (95 %) | 87 | +- **GPS** : 138/146 actifs (95 %) | ||
| 88 | −- **Prix** : 0/147 actifs (0 %) | 88 | +- **Prix** : 0/146 actifs (0 %) | ||
| 89 | −- **Heure (start_time)** : 141/147 actifs (96 %) | 89 | +- **Heure (start_time)** : 140/146 actifs (96 %) | ||
| 90 | −- **Heure de fin** : 0/147 actifs (0 %) | 90 | +- **Heure de fin** : 0/146 actifs (0 %) | ||
| 91 | −- **Statut (annulé/reporté/complet)** : 0/147 actifs (0 %) | 91 | +- **Statut (annulé/reporté/complet)** : 0/146 actifs (0 %) | ||
| 92 | −- **Artistes** : 0/147 actifs (0 %) | 92 | +- **Artistes** : 0/146 actifs (0 %) | ||
| 93 | −- **Image** : 147/147 actifs (100 %) | 93 | +- **Image** : 146/146 actifs (100 %) | ||
| 94 | −- **Salle (venue)** : 139/147 actifs (95 %) | 94 | +- **Salle (venue)** : 138/146 actifs (95 %) | ||
| 95 | −- **Dernier sync** : 2026-08-21 20:49 — fetched 264, +0 ajoutés, ~0 mis à jour, -0 retirés | 95 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 264, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 96 | −- **Syncs enregistrés** (sync_log) : 83 | 96 | +- **Syncs enregistrés** (sync_log) : 104 | ||
| 97 | 97 | ||||
| 98 | ## Erreurs & dépannage | 98 | ## Erreurs & dépannage | ||
| 99 | 99 | ||||
modified
docs/connecteurs/cantonsdelest.md
+16 −16
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Cantons-de-l'Est — calendrier officiel (ATR Estrie) (`cantonsdelest`) | 1 | # Tourisme Cantons-de-l'Est — calendrier officiel (ATR Estrie) (`cantonsdelest`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/cantonsdelest.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/cantonsdelest.py` | ||
| 6 | 6 | ||||
@@ -41,20 +41,20 @@ | |||||
| 41 | 41 | ||||
| 42 | ## Champs récupérés → schéma | 42 | ## Champs récupérés → schéma | ||
| 43 | 43 | ||||
| 44 | −Complétude mesurée sur les **11 événements actifs** de la source ; exemples tirés d'un événement réel (`cantonsdelest:7646-2584`). | 44 | +Complétude mesurée sur les **11 événements actifs** de la source ; exemples tirés d'un événement réel (`cantonsdelest:10138-4642`). | ||
| 45 | 45 | ||||
| 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 47 | |---|---|---|---| | 47 | |---|---|---|---| | ||
| 48 | −| `title` — Titre | titre de l'événement | 100 % | NanoFest | | 48 | +| `title` — Titre | titre de l'événement | 100 % | Festival Malvina | | ||
| 49 | −| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | Le NanoFest présente de la musique, de la poésie, du conte, de la danse, du cirque et de l’art v… | | 49 | +| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | Pour sa première édition, le Festival Malvina réunit artistes, chercheurs et spécialistes des te… | | ||
| 50 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.cantonsdelest.com/evenements/7646/nanofest/2584 | | 50 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.cantonsdelest.com/evenements/10138/festival-malvina/4642 | | ||
| 51 | −| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | 51 | +| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["festival"] | | ||
| 52 | | `venue` — Salle (venue) | nom du lieu | 0 % | ∅ | | 52 | | `venue` — Salle (venue) | nom du lieu | 0 % | ∅ | | ||
| 53 | −| `address` — Adresse | adresse civique | 82 % | ∅ | | 53 | +| `address` — Adresse | adresse civique | 82 % | 309 Chemin de Malvina | | ||
| 54 | −| `city` — Ville | municipalité | 100 % | Bury | | 54 | +| `city` — Ville | municipalité | 100 % | Saint-Malo | | ||
| 55 | | `region` — Région | région administrative | 100 % | Estrie | | 55 | | `region` — Région | région administrative | 100 % | Estrie | | ||
| 56 | −| `lat` — GPS (lat/lng) | coordonnées géographiques | 91 % | 45.510797, -71.442105 | | 56 | +| `lat` — GPS (lat/lng) | coordonnées géographiques | 82 % | 45.186432, -71.447036 | | ||
| 57 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-21 | | 57 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-22 | | ||
| 58 | | `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-23 | | 58 | | `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-23 | | ||
| 59 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 59 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
| 60 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 60 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
@@ -64,7 +64,7 @@ Complétude mesurée sur les **11 événements actifs** de la source ; exemples | |||||
| 64 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | 64 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | ||
| 65 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | 65 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | ||
| 66 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | 66 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | ||
| 67 | −| `image` — Image | visuel (og:image ou média source) | 100 % | https://mto.media.tourinsoft.eu/upload/IMG-0065.png?width=1191&height=670 | | 67 | +| `image` — Image | visuel (og:image ou média source) | 100 % | https://mto.media.tourinsoft.eu/upload/Site-du-ccdMalvina-en-visite.jpg?width=1191&height=670 | | ||
| 68 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 68 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 69 | 69 | ||||
| 70 | ## Fréquence & budgets | 70 | ## Fréquence & budgets | ||
@@ -79,10 +79,10 @@ Complétude mesurée sur les **11 événements actifs** de la source ; exemples | |||||
| 79 | 79 | ||||
| 80 | ## Volumétrie & complétude live | 80 | ## Volumétrie & complétude live | ||
| 81 | 81 | ||||
| 82 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 82 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 83 | 83 | ||||
| 84 | −- **Événements en base** : 47 (dont **11 actifs**) | 84 | +- **Événements en base** : 59 (dont **11 actifs**) | ||
| 85 | −- **GPS** : 10/11 actifs (91 %) | 85 | +- **GPS** : 9/11 actifs (82 %) | ||
| 86 | - **Prix** : 0/11 actifs (0 %) | 86 | - **Prix** : 0/11 actifs (0 %) | ||
| 87 | - **Heure (start_time)** : 0/11 actifs (0 %) | 87 | - **Heure (start_time)** : 0/11 actifs (0 %) | ||
| 88 | - **Heure de fin** : 0/11 actifs (0 %) | 88 | - **Heure de fin** : 0/11 actifs (0 %) | ||
@@ -90,8 +90,8 @@ Complétude mesurée sur les **11 événements actifs** de la source ; exemples | |||||
| 90 | - **Artistes** : 0/11 actifs (0 %) | 90 | - **Artistes** : 0/11 actifs (0 %) | ||
| 91 | - **Image** : 11/11 actifs (100 %) | 91 | - **Image** : 11/11 actifs (100 %) | ||
| 92 | - **Salle (venue)** : 0/11 actifs (0 %) | 92 | - **Salle (venue)** : 0/11 actifs (0 %) | ||
| 93 | −- **Dernier sync** : 2026-08-21 20:49 — fetched 13, +0 ajoutés, ~0 mis à jour, -0 retirés | 93 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 13, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 94 | −- **Syncs enregistrés** (sync_log) : 80 | 94 | +- **Syncs enregistrés** (sync_log) : 101 | ||
| 95 | 95 | ||||
| 96 | ## Erreurs & dépannage | 96 | ## Erreurs & dépannage | ||
| 97 | 97 | ||||
modified
docs/connecteurs/centreduquebec.md
+8 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Centre-du-Québec — événements (ATR) (`centreduquebec`) | 1 | # Tourisme Centre-du-Québec — événements (ATR) (`centreduquebec`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/centreduquebec.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/centreduquebec.py` | ||
| 6 | 6 | ||||
@@ -79,7 +79,7 @@ Complétude mesurée sur les **9 événements actifs** de la source ; exemples t | |||||
| 79 | 79 | ||||
| 80 | ## Volumétrie & complétude live | 80 | ## Volumétrie & complétude live | ||
| 81 | 81 | ||||
| 82 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 82 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 83 | 83 | ||||
| 84 | - **Événements en base** : 9 (dont **9 actifs**) | 84 | - **Événements en base** : 9 (dont **9 actifs**) | ||
| 85 | - **GPS** : 0/9 actifs (0 %) | 85 | - **GPS** : 0/9 actifs (0 %) | ||
@@ -90,8 +90,8 @@ Complétude mesurée sur les **9 événements actifs** de la source ; exemples t | |||||
| 90 | - **Artistes** : 0/9 actifs (0 %) | 90 | - **Artistes** : 0/9 actifs (0 %) | ||
| 91 | - **Image** : 9/9 actifs (100 %) | 91 | - **Image** : 9/9 actifs (100 %) | ||
| 92 | - **Salle (venue)** : 0/9 actifs (0 %) | 92 | - **Salle (venue)** : 0/9 actifs (0 %) | ||
| 93 | −- **Dernier sync** : 2026-08-21 21:09 — fetched 9, +0 ajoutés, ~0 mis à jour, -0 retirés | 93 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 9, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 94 | −- **Syncs enregistrés** (sync_log) : 3 | 94 | +- **Syncs enregistrés** (sync_log) : 24 | ||
| 95 | 95 | ||||
| 96 | ## Erreurs & dépannage | 96 | ## Erreurs & dépannage | ||
| 97 | 97 | ||||
@@ -108,3 +108,7 @@ Aucune erreur dans `sync_log` pour cette source. ✅ | |||||
| 108 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | 108 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | ||
| 109 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | 109 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | ||
| 110 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | 110 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | ||
| 111 | + | ||||
| 112 | +Commits touchant `sortika/connectors/centreduquebec.py` : | ||||
| 113 | + | ||||
| 114 | +- `5973906` 2026-08-21 Phase 4 — 7 nouveaux connecteurs : régions manquantes (Montérégie, Centre-du-Québec, Chaudière-Appalaches, Gaspésie via Scrapfly) + billetteries QC (TicketAcces, Réseau Ovation, Tuxedo via acteur Apify ka-tuxedo) | ||||
modified
docs/connecteurs/chaudiereappalaches.md
+8 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Chaudière-Appalaches — festivals et événements (ATR) (`chaudiereappalaches`) | 1 | # Tourisme Chaudière-Appalaches — festivals et événements (ATR) (`chaudiereappalaches`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/chaudiereappalaches.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/chaudiereappalaches.py` | ||
| 6 | 6 | ||||
@@ -81,7 +81,7 @@ Complétude mesurée sur les **28 événements actifs** de la source ; exemples | |||||
| 81 | 81 | ||||
| 82 | ## Volumétrie & complétude live | 82 | ## Volumétrie & complétude live | ||
| 83 | 83 | ||||
| 84 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 84 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 85 | 85 | ||||
| 86 | - **Événements en base** : 28 (dont **28 actifs**) | 86 | - **Événements en base** : 28 (dont **28 actifs**) | ||
| 87 | - **GPS** : 28/28 actifs (100 %) | 87 | - **GPS** : 28/28 actifs (100 %) | ||
@@ -92,8 +92,8 @@ Complétude mesurée sur les **28 événements actifs** de la source ; exemples | |||||
| 92 | - **Artistes** : 0/28 actifs (0 %) | 92 | - **Artistes** : 0/28 actifs (0 %) | ||
| 93 | - **Image** : 28/28 actifs (100 %) | 93 | - **Image** : 28/28 actifs (100 %) | ||
| 94 | - **Salle (venue)** : 0/28 actifs (0 %) | 94 | - **Salle (venue)** : 0/28 actifs (0 %) | ||
| 95 | −- **Dernier sync** : 2026-08-21 21:09 — fetched 28, +0 ajoutés, ~0 mis à jour, -0 retirés | 95 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 28, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 96 | −- **Syncs enregistrés** (sync_log) : 3 | 96 | +- **Syncs enregistrés** (sync_log) : 24 | ||
| 97 | 97 | ||||
| 98 | ## Erreurs & dépannage | 98 | ## Erreurs & dépannage | ||
| 99 | 99 | ||||
@@ -110,3 +110,7 @@ Aucune erreur dans `sync_log` pour cette source. ✅ | |||||
| 110 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | 110 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | ||
| 111 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | 111 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | ||
| 112 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | 112 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | ||
| 113 | + | ||||
| 114 | +Commits touchant `sortika/connectors/chaudiereappalaches.py` : | ||||
| 115 | + | ||||
| 116 | +- `5973906` 2026-08-21 Phase 4 — 7 nouveaux connecteurs : régions manquantes (Montérégie, Centre-du-Québec, Chaudière-Appalaches, Gaspésie via Scrapfly) + billetteries QC (TicketAcces, Réseau Ovation, Tuxedo via acteur Apify ka-tuxedo) | ||||
modified
docs/connecteurs/clubs-pros.md
+1 −1
@@ -1,6 +1,6 @@ | |||||
| 1 | # Clubs professionnels (CF Montréal, Alouettes, Rocket, Victoire…) (`clubs-pros`) | 1 | # Clubs professionnels (CF Montréal, Alouettes, Rocket, Victoire…) (`clubs-pros`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : abandonnee** · Type : `sport` · Connecteur : *aucun (source sans connecteur runtime)* | 5 | **Statut : abandonnee** · Type : `sport` · Connecteur : *aucun (source sans connecteur runtime)* | ||
| 6 | 6 | ||||
modified
docs/connecteurs/evenko.md
+15 −15
@@ -1,6 +1,6 @@ | |||||
| 1 | # evenko — grands concerts et festivals (`evenko`) | 1 | # evenko — grands concerts et festivals (`evenko`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `promoteur` · Connecteur : `sortika/connectors/evenko.py` | 5 | **Statut : actif** · Type : `promoteur` · Connecteur : `sortika/connectors/evenko.py` | ||
| 6 | 6 | ||||
@@ -40,7 +40,7 @@ | |||||
| 40 | 40 | ||||
| 41 | ## Champs récupérés → schéma | 41 | ## Champs récupérés → schéma | ||
| 42 | 42 | ||||
| 43 | −Complétude mesurée sur les **417 événements actifs** de la source ; exemples tirés d'un événement réel (`evenko:e008639`). | 43 | +Complétude mesurée sur les **413 événements actifs** de la source ; exemples tirés d'un événement réel (`evenko:e008639`). | ||
| 44 | 44 | ||||
| 45 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 45 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 46 | |---|---|---|---| | 46 | |---|---|---|---| | ||
@@ -73,19 +73,19 @@ Complétude mesurée sur les **417 événements actifs** de la source ; exemples | |||||
| 73 | 73 | ||||
| 74 | ## Volumétrie & complétude live | 74 | ## Volumétrie & complétude live | ||
| 75 | 75 | ||||
| 76 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 76 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 77 | − | 77 | + | ||
| 78 | −- **Événements en base** : 426 (dont **417 actifs**) | 78 | +- **Événements en base** : 426 (dont **413 actifs**) | ||
| 79 | −- **GPS** : 404/417 actifs (97 %) | 79 | +- **GPS** : 400/413 actifs (97 %) | ||
| 80 | −- **Prix** : 0/417 actifs (0 %) | 80 | +- **Prix** : 0/413 actifs (0 %) | ||
| 81 | −- **Heure (start_time)** : 414/417 actifs (99 %) | 81 | +- **Heure (start_time)** : 410/413 actifs (99 %) | ||
| 82 | −- **Heure de fin** : 0/417 actifs (0 %) | 82 | +- **Heure de fin** : 0/413 actifs (0 %) | ||
| 83 | −- **Statut (annulé/reporté/complet)** : 4/417 actifs (1 %) | 83 | +- **Statut (annulé/reporté/complet)** : 4/413 actifs (1 %) | ||
| 84 | −- **Artistes** : 414/417 actifs (99 %) | 84 | +- **Artistes** : 410/413 actifs (99 %) | ||
| 85 | −- **Image** : 417/417 actifs (100 %) | 85 | +- **Image** : 413/413 actifs (100 %) | ||
| 86 | −- **Salle (venue)** : 417/417 actifs (100 %) | 86 | +- **Salle (venue)** : 413/413 actifs (100 %) | ||
| 87 | −- **Dernier sync** : 2026-08-21 20:49 — fetched 417, +0 ajoutés, ~0 mis à jour, -0 retirés | 87 | +- **Dernier sync** : 2026-08-22 22:22 — fetched 413, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 88 | −- **Syncs enregistrés** (sync_log) : 99 | 88 | +- **Syncs enregistrés** (sync_log) : 120 | ||
| 89 | 89 | ||||
| 90 | ## Erreurs & dépannage | 90 | ## Erreurs & dépannage | ||
| 91 | 91 | ||||
modified
docs/connecteurs/eventbrite.md
+29 −29
@@ -1,6 +1,6 @@ | |||||
| 1 | # Eventbrite — billetterie libre-service (Québec) (`eventbrite`) | 1 | # Eventbrite — billetterie libre-service (Québec) (`eventbrite`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/eventbrite.py` | 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/eventbrite.py` | ||
| 6 | 6 | ||||
@@ -46,30 +46,30 @@ | |||||
| 46 | 46 | ||||
| 47 | ## Champs récupérés → schéma | 47 | ## Champs récupérés → schéma | ||
| 48 | 48 | ||||
| 49 | −Complétude mesurée sur les **438 événements actifs** de la source ; exemples tirés d'un événement réel (`eventbrite:1997881258626`). | 49 | +Complétude mesurée sur les **435 événements actifs** de la source ; exemples tirés d'un événement réel (`eventbrite:1998507569940`). | ||
| 50 | 50 | ||||
| 51 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 51 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 52 | |---|---|---|---| | 52 | |---|---|---|---| | ||
| 53 | −| `title` — Titre | titre de l'événement | 100 % | SANTA RM - CELEBRA 20 AÑOS / MONTREAL, CANADA | | 53 | +| `title` — Titre | titre de l'événement | 100 % | 5 à Set: Cleo Sol's "Gold" Album Listening Party | | ||
| 54 | −| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | SANTA RM CELEBRA POR PRIMERA VEZ 20 AÑOS DE TRAYECTORIA EN MONTREAL DISFRUTA EN VIVO TODOS SUS G… | | 54 | +| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | Join us at Velora Café for a listening party of Cleo Sol's album: "Gold" on vinyl. | | ||
| 55 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.eventbrite.ca/e/santa-rm-celebra-20-anos-montreal-canada-tickets-1997881258626 | | 55 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.eventbrite.com/e/5-a-set-cleo-sols-gold-album-listening-party-tickets-1998507569940 | | ||
| 56 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | 56 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | ||
| 57 | −| `venue` — Salle (venue) | nom du lieu | 100 % | 60 Rue Saint-Jacques | | 57 | +| `venue` — Salle (venue) | nom du lieu | 100 % | Velora Cafe Patisserie | | ||
| 58 | −| `address` — Adresse | adresse civique | 100 % | 60 Rue Saint-Jacques | | 58 | +| `address` — Adresse | adresse civique | 100 % | 3009 Rue Notre-Dame Ouest | | ||
| 59 | | `city` — Ville | municipalité | 100 % | Montréal | | 59 | | `city` — Ville | municipalité | 100 % | Montréal | | ||
| 60 | | `region` — Région | région administrative | 99 % | Montréal | | 60 | | `region` — Région | région administrative | 99 % | Montréal | | ||
| 61 | −| `lat` — GPS (lat/lng) | coordonnées géographiques | 100 % | 45.505461, -73.556948 | | 61 | +| `lat` — GPS (lat/lng) | coordonnées géographiques | 100 % | 45.481172, -73.578329 | | ||
| 62 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-10-03 | | 62 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-25 | | ||
| 63 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-10-03 | | 63 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-25 | | ||
| 64 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 19:00 | | 64 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 19:00 | | ||
| 65 | −| `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 100 % | 22:30 | | 65 | +| `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 100 % | 21:30 | | ||
| 66 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 66 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
| 67 | −| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 89 % | 0 | | 67 | +| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 88 % | 0 | | ||
| 68 | −| `price_min` — Prix min | tarif minimal réel ($) | 87 % | 60.03 | | 68 | +| `price_min` — Prix min | tarif minimal réel ($) | 88 % | 11.44 | | ||
| 69 | −| `price_label` — Libellé prix | étiquette tarifaire affichable | 89 % | 60.03 $ à 106.88 $ (Eventbrite) | | 69 | +| `price_label` — Libellé prix | étiquette tarifaire affichable | 88 % | 11.44 $ (Eventbrite) | | ||
| 70 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | 70 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | ||
| 71 | −| `organizer` — Organisateur | promoteur / organisme | 96 % | DIEGO MX | | 71 | +| `organizer` — Organisateur | promoteur / organisme | 97 % | 5 à Set | | ||
| 72 | −| `image` — Image | visuel (og:image ou média source) | 98 % | https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1191383521%2F2637625526451%2F1%2For… | | 72 | +| `image` — Image | visuel (og:image ou média source) | 98 % | https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F1191546814%2F2985293405298%2F1%2For… | | ||
| 73 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 73 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 74 | 74 | ||||
| 75 | ## Fréquence & budgets | 75 | ## Fréquence & budgets | ||
@@ -84,19 +84,19 @@ Complétude mesurée sur les **438 événements actifs** de la source ; exemples | |||||
| 84 | 84 | ||||
| 85 | ## Volumétrie & complétude live | 85 | ## Volumétrie & complétude live | ||
| 86 | 86 | ||||
| 87 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 87 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 88 | − | 88 | + | ||
| 89 | −- **Événements en base** : 527 (dont **438 actifs**) | 89 | +- **Événements en base** : 570 (dont **435 actifs**) | ||
| 90 | −- **GPS** : 438/438 actifs (100 %) | 90 | +- **GPS** : 435/435 actifs (100 %) | ||
| 91 | −- **Prix** : 388/438 actifs (89 %) | 91 | +- **Prix** : 384/435 actifs (88 %) | ||
| 92 | −- **Heure (start_time)** : 438/438 actifs (100 %) | 92 | +- **Heure (start_time)** : 435/435 actifs (100 %) | ||
| 93 | −- **Heure de fin** : 438/438 actifs (100 %) | 93 | +- **Heure de fin** : 435/435 actifs (100 %) | ||
| 94 | −- **Statut (annulé/reporté/complet)** : 0/438 actifs (0 %) | 94 | +- **Statut (annulé/reporté/complet)** : 0/435 actifs (0 %) | ||
| 95 | −- **Artistes** : 0/438 actifs (0 %) | 95 | +- **Artistes** : 0/435 actifs (0 %) | ||
| 96 | −- **Image** : 428/438 actifs (98 %) | 96 | +- **Image** : 426/435 actifs (98 %) | ||
| 97 | −- **Salle (venue)** : 438/438 actifs (100 %) | 97 | +- **Salle (venue)** : 435/435 actifs (100 %) | ||
| 98 | −- **Dernier sync** : 2026-08-21 20:50 — fetched 427, +5 ajoutés, ~1 mis à jour, -2 retirés | 98 | +- **Dernier sync** : 2026-08-22 22:23 — fetched 432, +3 ajoutés, ~0 mis à jour, -11 retirés | ||
| 99 | −- **Syncs enregistrés** (sync_log) : 81 | 99 | +- **Syncs enregistrés** (sync_log) : 102 | ||
| 100 | 100 | ||||
| 101 | ## Erreurs & dépannage | 101 | ## Erreurs & dépannage | ||
| 102 | 102 | ||||
modified
docs/connecteurs/gaspesie.md
+8 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Gaspésie — événements (ATR) (`gaspesie`) | 1 | # Tourisme Gaspésie — événements (ATR) (`gaspesie`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/gaspesie.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/gaspesie.py` | ||
| 6 | 6 | ||||
@@ -83,7 +83,7 @@ Complétude mesurée sur les **10 événements actifs** de la source ; exemples | |||||
| 83 | 83 | ||||
| 84 | ## Volumétrie & complétude live | 84 | ## Volumétrie & complétude live | ||
| 85 | 85 | ||||
| 86 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 86 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 87 | 87 | ||||
| 88 | - **Événements en base** : 26 (dont **10 actifs**) | 88 | - **Événements en base** : 26 (dont **10 actifs**) | ||
| 89 | - **GPS** : 9/10 actifs (90 %) | 89 | - **GPS** : 9/10 actifs (90 %) | ||
@@ -94,8 +94,8 @@ Complétude mesurée sur les **10 événements actifs** de la source ; exemples | |||||
| 94 | - **Artistes** : 0/10 actifs (0 %) | 94 | - **Artistes** : 0/10 actifs (0 %) | ||
| 95 | - **Image** : 10/10 actifs (100 %) | 95 | - **Image** : 10/10 actifs (100 %) | ||
| 96 | - **Salle (venue)** : 0/10 actifs (0 %) | 96 | - **Salle (venue)** : 0/10 actifs (0 %) | ||
| 97 | −- **Dernier sync** : 2026-08-21 21:08 — fetched 26, +0 ajoutés, ~0 mis à jour, -0 retirés | 97 | +- **Dernier sync** : 2026-08-22 22:23 — fetched 26, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 98 | −- **Syncs enregistrés** (sync_log) : 4 | 98 | +- **Syncs enregistrés** (sync_log) : 25 | ||
| 99 | 99 | ||||
| 100 | ## Erreurs & dépannage | 100 | ## Erreurs & dépannage | ||
| 101 | 101 | ||||
@@ -112,3 +112,7 @@ Aucune erreur dans `sync_log` pour cette source. ✅ | |||||
| 112 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | 112 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | ||
| 113 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | 113 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | ||
| 114 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | 114 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | ||
| 115 | + | ||||
| 116 | +Commits touchant `sortika/connectors/gaspesie.py` : | ||||
| 117 | + | ||||
| 118 | +- `5973906` 2026-08-21 Phase 4 — 7 nouveaux connecteurs : régions manquantes (Montérégie, Centre-du-Québec, Chaudière-Appalaches, Gaspésie via Scrapfly) + billetteries QC (TicketAcces, Réseau Ovation, Tuxedo via acteur Apify ka-tuxedo) | ||||
modified
docs/connecteurs/gatineau.md
+1 −1
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Gatineau — Événements (`gatineau`) | 1 | # Ville de Gatineau — Événements (`gatineau`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : abandonnee** · Type : `municipal` · Connecteur : *aucun (source sans connecteur runtime)* | 5 | **Statut : abandonnee** · Type : `municipal` · Connecteur : *aucun (source sans connecteur runtime)* | ||
| 6 | 6 | ||||
modified
docs/connecteurs/lanaudiere.md
+4 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Lanaudière — événements (ATR) (`lanaudiere`) | 1 | # Tourisme Lanaudière — événements (ATR) (`lanaudiere`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/lanaudiere.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/lanaudiere.py` | ||
| 6 | 6 | ||||
@@ -80,7 +80,7 @@ Complétude mesurée sur les **44 événements actifs** de la source ; exemples | |||||
| 80 | 80 | ||||
| 81 | ## Volumétrie & complétude live | 81 | ## Volumétrie & complétude live | ||
| 82 | 82 | ||||
| 83 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 83 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 84 | 84 | ||||
| 85 | - **Événements en base** : 81 (dont **44 actifs**) | 85 | - **Événements en base** : 81 (dont **44 actifs**) | ||
| 86 | - **GPS** : 0/44 actifs (0 %) | 86 | - **GPS** : 0/44 actifs (0 %) | ||
@@ -91,8 +91,8 @@ Complétude mesurée sur les **44 événements actifs** de la source ; exemples | |||||
| 91 | - **Artistes** : 0/44 actifs (0 %) | 91 | - **Artistes** : 0/44 actifs (0 %) | ||
| 92 | - **Image** : 41/44 actifs (93 %) | 92 | - **Image** : 41/44 actifs (93 %) | ||
| 93 | - **Salle (venue)** : 0/44 actifs (0 %) | 93 | - **Salle (venue)** : 0/44 actifs (0 %) | ||
| 94 | −- **Dernier sync** : 2026-08-21 20:50 — fetched 81, +0 ajoutés, ~0 mis à jour, -0 retirés | 94 | +- **Dernier sync** : 2026-08-22 22:23 — fetched 81, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 95 | −- **Syncs enregistrés** (sync_log) : 60 | 95 | +- **Syncs enregistrés** (sync_log) : 81 | ||
| 96 | 96 | ||||
| 97 | ## Erreurs & dépannage | 97 | ## Erreurs & dépannage | ||
| 98 | 98 | ||||
modified
docs/connecteurs/laurentides.md
+1 −1
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Laurentides — événements (ATR) (`laurentides`) | 1 | # Tourisme Laurentides — événements (ATR) (`laurentides`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : abandonnee** · Type : `tourisme-regional` · Connecteur : *aucun (source sans connecteur runtime)* | 5 | **Statut : abandonnee** · Type : `tourisme-regional` · Connecteur : *aucun (source sans connecteur runtime)* | ||
| 6 | 6 | ||||
modified
docs/connecteurs/laval.md
+4 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Laval — Calendrier des activités (`laval`) | 1 | # Ville de Laval — Calendrier des activités (`laval`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : morte-a-la-source** · Type : `donnees-ouvertes` · Connecteur : `sortika/connectors/laval.py` | 5 | **Statut : morte-a-la-source** · Type : `donnees-ouvertes` · Connecteur : `sortika/connectors/laval.py` | ||
| 6 | 6 | ||||
@@ -67,7 +67,7 @@ Complétude mesurée sur les **1 événements actifs** de la source ; exemples t | |||||
| 67 | 67 | ||||
| 68 | ## Volumétrie & complétude live | 68 | ## Volumétrie & complétude live | ||
| 69 | 69 | ||||
| 70 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 70 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 71 | 71 | ||||
| 72 | - **Événements en base** : 277 (dont **1 actifs**) | 72 | - **Événements en base** : 277 (dont **1 actifs**) | ||
| 73 | - **GPS** : 0/1 actifs (0 %) | 73 | - **GPS** : 0/1 actifs (0 %) | ||
@@ -78,8 +78,8 @@ Complétude mesurée sur les **1 événements actifs** de la source ; exemples t | |||||
| 78 | - **Artistes** : 0/1 actifs (0 %) | 78 | - **Artistes** : 0/1 actifs (0 %) | ||
| 79 | - **Image** : 1/1 actifs (100 %) | 79 | - **Image** : 1/1 actifs (100 %) | ||
| 80 | - **Salle (venue)** : 0/1 actifs (0 %) | 80 | - **Salle (venue)** : 0/1 actifs (0 %) | ||
| 81 | −- **Dernier sync** : 2026-08-21 20:50 — fetched 293, +0 ajoutés, ~32 mis à jour, -0 retirés | 81 | +- **Dernier sync** : 2026-08-22 22:23 — fetched 293, +0 ajoutés, ~32 mis à jour, -0 retirés | ||
| 82 | −- **Syncs enregistrés** (sync_log) : 102 | 82 | +- **Syncs enregistrés** (sync_log) : 123 | ||
| 83 | 83 | ||||
| 84 | ## Erreurs & dépannage | 84 | ## Erreurs & dépannage | ||
| 85 | 85 | ||||
modified
docs/connecteurs/lavalweb.md
+16 −16
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Laval — calendrier vivant laval.ca (`lavalweb`) | 1 | # Ville de Laval — calendrier vivant laval.ca (`lavalweb`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/lavalweb.py` | 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/lavalweb.py` | ||
| 6 | 6 | ||||
@@ -41,12 +41,12 @@ | |||||
| 41 | 41 | ||||
| 42 | ## Champs récupérés → schéma | 42 | ## Champs récupérés → schéma | ||
| 43 | 43 | ||||
| 44 | −Complétude mesurée sur les **462 événements actifs** de la source ; exemples tirés d'un événement réel (`lavalweb:halloween-exposition-de-plantes-carnivores-et-dautres-etrangetes`). | 44 | +Complétude mesurée sur les **443 événements actifs** de la source ; exemples tirés d'un événement réel (`lavalweb:halloween-exposition-de-plantes-carnivores-et-dautres-etrangetes`). | ||
| 45 | 45 | ||||
| 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 47 | |---|---|---|---| | 47 | |---|---|---|---| | ||
| 48 | | `title` — Titre | titre de l'événement | 100 % | Halloween : exposition de plantes carnivores et d’autres étrangetés | | 48 | | `title` — Titre | titre de l'événement | 100 % | Halloween : exposition de plantes carnivores et d’autres étrangetés | | ||
| 49 | −| `description` — Description | texte descriptif (source ou fiche détail) | 48 % | ∅ | | 49 | +| `description` — Description | texte descriptif (source ou fiche détail) | 49 % | ∅ | | ||
| 50 | | `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.laval.ca/calendrier-activites/halloween-exposition-de-plantes-carnivores-et-dautres-… | | 50 | | `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.laval.ca/calendrier-activites/halloween-exposition-de-plantes-carnivores-et-dautres-… | | ||
| 51 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["exposition-musee"] | | 51 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["exposition-musee"] | | ||
| 52 | | `venue` — Salle (venue) | nom du lieu | 100 % | Centre de la Nature | | 52 | | `venue` — Salle (venue) | nom du lieu | 100 % | Centre de la Nature | | ||
@@ -80,19 +80,19 @@ Complétude mesurée sur les **462 événements actifs** de la source ; exemples | |||||
| 80 | 80 | ||||
| 81 | ## Volumétrie & complétude live | 81 | ## Volumétrie & complétude live | ||
| 82 | 82 | ||||
| 83 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 83 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 84 | − | 84 | + | ||
| 85 | −- **Événements en base** : 555 (dont **462 actifs**) | 85 | +- **Événements en base** : 555 (dont **443 actifs**) | ||
| 86 | −- **GPS** : 348/462 actifs (75 %) | 86 | +- **GPS** : 331/443 actifs (75 %) | ||
| 87 | −- **Prix** : 0/462 actifs (0 %) | 87 | +- **Prix** : 0/443 actifs (0 %) | ||
| 88 | −- **Heure (start_time)** : 453/462 actifs (98 %) | 88 | +- **Heure (start_time)** : 434/443 actifs (98 %) | ||
| 89 | −- **Heure de fin** : 0/462 actifs (0 %) | 89 | +- **Heure de fin** : 0/443 actifs (0 %) | ||
| 90 | −- **Statut (annulé/reporté/complet)** : 0/462 actifs (0 %) | 90 | +- **Statut (annulé/reporté/complet)** : 0/443 actifs (0 %) | ||
| 91 | −- **Artistes** : 0/462 actifs (0 %) | 91 | +- **Artistes** : 0/443 actifs (0 %) | ||
| 92 | −- **Image** : 0/462 actifs (0 %) | 92 | +- **Image** : 0/443 actifs (0 %) | ||
| 93 | −- **Salle (venue)** : 462/462 actifs (100 %) | 93 | +- **Salle (venue)** : 443/443 actifs (100 %) | ||
| 94 | −- **Dernier sync** : 2026-08-21 20:53 — fetched 461, +0 ajoutés, ~0 mis à jour, -3 retirés | 94 | +- **Dernier sync** : 2026-08-22 22:26 — fetched 441, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 95 | −- **Syncs enregistrés** (sync_log) : 60 | 95 | +- **Syncs enregistrés** (sync_log) : 81 | ||
| 96 | 96 | ||||
| 97 | ## Erreurs & dépannage | 97 | ## Erreurs & dépannage | ||
| 98 | 98 | ||||
modified
docs/connecteurs/lavitrine.md
+25 −25
@@ -1,6 +1,6 @@ | |||||
| 1 | # La Vitrine culturelle (`lavitrine`) | 1 | # La Vitrine culturelle (`lavitrine`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/lavitrine.py` | 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/lavitrine.py` | ||
| 6 | 6 | ||||
@@ -43,21 +43,21 @@ | |||||
| 43 | 43 | ||||
| 44 | ## Champs récupérés → schéma | 44 | ## Champs récupérés → schéma | ||
| 45 | 45 | ||||
| 46 | −Complétude mesurée sur les **5069 événements actifs** de la source ; exemples tirés d'un événement réel (`lavitrine:12490-2027-03-06`). | 46 | +Complétude mesurée sur les **5039 événements actifs** de la source ; exemples tirés d'un événement réel (`lavitrine:38808-2027-03-19`). | ||
| 47 | 47 | ||||
| 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 49 | |---|---|---|---| | 49 | |---|---|---|---| | ||
| 50 | −| `title` — Titre | titre de l'événement | 100 % | Les Tireux d'Roches | | 50 | +| `title` — Titre | titre de l'événement | 100 % | Guy Nantel - Bienveillant En rodage | | ||
| 51 | −| `description` — Description | texte descriptif (source ou fiche détail) | 99 % | Depuis 1998, Les Tireux d’Roches se sont affirmés comme des conteurs d’histoires et des artisans… | | 51 | +| `description` — Description | texte descriptif (source ou fiche détail) | 99 % | Alors que l’actualité regorge de sujets explosifs, d’opinions tranchées et de contradictions bie… | | ||
| 52 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.lavitrine.com/fr/evenement/les-tireux-droches/12490 | | 52 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.lavitrine.com/fr/evenement/guy-nantel-bienveillant-en-rodage/38808 | | ||
| 53 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | 53 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | ||
| 54 | −| `venue` — Salle (venue) | nom du lieu | 100 % | Espace Mandeville | | 54 | +| `venue` — Salle (venue) | nom du lieu | 100 % | Théâtre Le Patriote | | ||
| 55 | | `address` — Adresse | adresse civique | 0 % | ∅ | | 55 | | `address` — Adresse | adresse civique | 0 % | ∅ | | ||
| 56 | −| `city` — Ville | municipalité | 100 % | Drummondville | | 56 | +| `city` — Ville | municipalité | 100 % | Sainte-Agathe-des-Monts | | ||
| 57 | −| `region` — Région | région administrative | 100 % | Centre-du-Québec | | 57 | +| `region` — Région | région administrative | 100 % | Laurentides | | ||
| 58 | −| `lat` — GPS (lat/lng) | coordonnées géographiques | 69 % | 45.883252, -72.489597 | | 58 | +| `lat` — GPS (lat/lng) | coordonnées géographiques | 69 % | 46.0308044, -74.284975 | | ||
| 59 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2027-03-06 | | 59 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2027-03-19 | | ||
| 60 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2027-03-06 | | 60 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2027-03-19 | | ||
| 61 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | 61 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | ||
| 62 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 62 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
| 63 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 63 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
@@ -66,7 +66,7 @@ Complétude mesurée sur les **5069 événements actifs** de la source ; exemple | |||||
| 66 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | 66 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | ||
| 67 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | 67 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | ||
| 68 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | 68 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | ||
| 69 | −| `image` — Image | visuel (og:image ou média source) | 100 % | https://lvc-medias.lavitrine.com/83ac1924-a8fe-5cb3-9778-a11e5cc3757c.jpg | | 69 | +| `image` — Image | visuel (og:image ou média source) | 100 % | https://lvc-medias.lavitrine.com/adfa7a36-cd01-5248-b4bf-ffada84d38e9.png | | ||
| 70 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 70 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 71 | 71 | ||||
| 72 | ## Fréquence & budgets | 72 | ## Fréquence & budgets | ||
@@ -81,19 +81,19 @@ Complétude mesurée sur les **5069 événements actifs** de la source ; exemple | |||||
| 81 | 81 | ||||
| 82 | ## Volumétrie & complétude live | 82 | ## Volumétrie & complétude live | ||
| 83 | 83 | ||||
| 84 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 84 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 85 | − | 85 | + | ||
| 86 | −- **Événements en base** : 5172 (dont **5069 actifs**) | 86 | +- **Événements en base** : 5173 (dont **5039 actifs**) | ||
| 87 | −- **GPS** : 3496/5069 actifs (69 %) | 87 | +- **GPS** : 3473/5039 actifs (69 %) | ||
| 88 | −- **Prix** : 0/5069 actifs (0 %) | 88 | +- **Prix** : 0/5039 actifs (0 %) | ||
| 89 | −- **Heure (start_time)** : 5069/5069 actifs (100 %) | 89 | +- **Heure (start_time)** : 5039/5039 actifs (100 %) | ||
| 90 | −- **Heure de fin** : 0/5069 actifs (0 %) | 90 | +- **Heure de fin** : 0/5039 actifs (0 %) | ||
| 91 | −- **Statut (annulé/reporté/complet)** : 0/5069 actifs (0 %) | 91 | +- **Statut (annulé/reporté/complet)** : 0/5039 actifs (0 %) | ||
| 92 | −- **Artistes** : 0/5069 actifs (0 %) | 92 | +- **Artistes** : 0/5039 actifs (0 %) | ||
| 93 | −- **Image** : 5069/5069 actifs (100 %) | 93 | +- **Image** : 5039/5039 actifs (100 %) | ||
| 94 | −- **Salle (venue)** : 5067/5069 actifs (100 %) | 94 | +- **Salle (venue)** : 5037/5039 actifs (100 %) | ||
| 95 | −- **Dernier sync** : 2026-08-21 20:53 — fetched 5120, +0 ajoutés, ~0 mis à jour, -0 retirés | 95 | +- **Dernier sync** : 2026-08-22 22:26 — fetched 5120, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 96 | −- **Syncs enregistrés** (sync_log) : 93 | 96 | +- **Syncs enregistrés** (sync_log) : 114 | ||
| 97 | 97 | ||||
| 98 | ## Erreurs & dépannage | 98 | ## Erreurs & dépannage | ||
| 99 | 99 | ||||
modified
docs/connecteurs/lepointdevente.md
+20 −20
@@ -1,6 +1,6 @@ | |||||
| 1 | # Le point de vente — billetterie québécoise (`lepointdevente`) | 1 | # Le point de vente — billetterie québécoise (`lepointdevente`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/lepointdevente.py` | 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/lepointdevente.py` | ||
| 6 | 6 | ||||
@@ -44,12 +44,12 @@ | |||||
| 44 | 44 | ||||
| 45 | ## Champs récupérés → schéma | 45 | ## Champs récupérés → schéma | ||
| 46 | 46 | ||||
| 47 | −Complétude mesurée sur les **1789 événements actifs** de la source ; exemples tirés d'un événement réel (`lepointdevente:7gw260926001`). | 47 | +Complétude mesurée sur les **1790 événements actifs** de la source ; exemples tirés d'un événement réel (`lepointdevente:7gw260926001`). | ||
| 48 | 48 | ||||
| 49 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 49 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 50 | |---|---|---|---| | 50 | |---|---|---|---| | ||
| 51 | | `title` — Titre | titre de l'événement | 100 % | Sam Vigneault en rodage | | 51 | | `title` — Titre | titre de l'événement | 100 % | Sam Vigneault en rodage | | ||
| 52 | −| `description` — Description | texte descriptif (source ou fiche détail) | 88 % | Sam Vigneault en rodage– HumoristeSamedi 26 septembre 2026 à la Chapelle du LacOriginaire de Ple… | | 52 | +| `description` — Description | texte descriptif (source ou fiche détail) | 87 % | Sam Vigneault en rodage– HumoristeSamedi 26 septembre 2026 à la Chapelle du LacOriginaire de Ple… | | ||
| 53 | | `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://lepointdevente.com/billets/7gw260926001 | | 53 | | `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://lepointdevente.com/billets/7gw260926001 | | ||
| 54 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | 54 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | ||
| 55 | | `venue` — Salle (venue) | nom du lieu | 99 % | Chapelle du Lac | | 55 | | `venue` — Salle (venue) | nom du lieu | 99 % | Chapelle du Lac | | ||
@@ -59,12 +59,12 @@ Complétude mesurée sur les **1789 événements actifs** de la source ; exemple | |||||
| 59 | | `lat` — GPS (lat/lng) | coordonnées géographiques | 30 % | 46.8903229, -71.6121222 | | 59 | | `lat` — GPS (lat/lng) | coordonnées géographiques | 30 % | 46.8903229, -71.6121222 | | ||
| 60 | | `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-09-26 | | 60 | | `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-09-26 | | ||
| 61 | | `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-09-26 | | 61 | | `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-09-26 | | ||
| 62 | −| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 94 % | 20:00 | | 62 | +| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 93 % | 20:00 | | ||
| 63 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 63 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
| 64 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 64 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
| 65 | −| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 93 % | 0 | | 65 | +| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 92 % | 0 | | ||
| 66 | −| `price_min` — Prix min | tarif minimal réel ($) | 91 % | 30.0 | | 66 | +| `price_min` — Prix min | tarif minimal réel ($) | 90 % | 30.0 | | ||
| 67 | −| `price_label` — Libellé prix | étiquette tarifaire affichable | 93 % | Table basse et chaise 30 $ · Table-bar et tabouret avec dossier 30 $ · Table-bistro et tabouret … | | 67 | +| `price_label` — Libellé prix | étiquette tarifaire affichable | 92 % | Table basse et chaise 30 $ · Table-bar et tabouret avec dossier 30 $ · Table-bistro et tabouret … | | ||
| 68 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 1 % | ["Sam Vigneault"] | | 68 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 1 % | ["Sam Vigneault"] | | ||
| 69 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | 69 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | ||
| 70 | | `image` — Image | visuel (og:image ou média source) | 100 % | https://tpos.s3.amazonaws.com/events/7GW/26/09/26/001/7gw260926001-1152x648-fr-6984c862.png | | 70 | | `image` — Image | visuel (og:image ou média source) | 100 % | https://tpos.s3.amazonaws.com/events/7GW/26/09/26/001/7gw260926001-1152x648-fr-6984c862.png | | ||
@@ -82,19 +82,19 @@ Complétude mesurée sur les **1789 événements actifs** de la source ; exemple | |||||
| 82 | 82 | ||||
| 83 | ## Volumétrie & complétude live | 83 | ## Volumétrie & complétude live | ||
| 84 | 84 | ||||
| 85 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 85 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 86 | − | 86 | + | ||
| 87 | −- **Événements en base** : 4396 (dont **1789 actifs**) | 87 | +- **Événements en base** : 4446 (dont **1790 actifs**) | ||
| 88 | −- **GPS** : 539/1789 actifs (30 %) | 88 | +- **GPS** : 533/1790 actifs (30 %) | ||
| 89 | −- **Prix** : 1660/1789 actifs (93 %) | 89 | +- **Prix** : 1645/1790 actifs (92 %) | ||
| 90 | −- **Heure (start_time)** : 1675/1789 actifs (94 %) | 90 | +- **Heure (start_time)** : 1673/1790 actifs (93 %) | ||
| 91 | −- **Heure de fin** : 0/1789 actifs (0 %) | 91 | +- **Heure de fin** : 0/1790 actifs (0 %) | ||
| 92 | −- **Statut (annulé/reporté/complet)** : 0/1789 actifs (0 %) | 92 | +- **Statut (annulé/reporté/complet)** : 0/1790 actifs (0 %) | ||
| 93 | −- **Artistes** : 15/1789 actifs (1 %) | 93 | +- **Artistes** : 16/1790 actifs (1 %) | ||
| 94 | −- **Image** : 1789/1789 actifs (100 %) | 94 | +- **Image** : 1790/1790 actifs (100 %) | ||
| 95 | −- **Salle (venue)** : 1780/1789 actifs (99 %) | 95 | +- **Salle (venue)** : 1781/1790 actifs (99 %) | ||
| 96 | −- **Dernier sync** : 2026-08-21 20:54 — fetched 1786, +1 ajoutés, ~4 mis à jour, -0 retirés | 96 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 1745, +1 ajoutés, ~5 mis à jour, -21 retirés | ||
| 97 | −- **Syncs enregistrés** (sync_log) : 103 | 97 | +- **Syncs enregistrés** (sync_log) : 124 | ||
| 98 | 98 | ||||
| 99 | ## Erreurs & dépannage | 99 | ## Erreurs & dépannage | ||
| 100 | 100 | ||||
modified
docs/connecteurs/levis.md
+1 −1
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Lévis — Calendrier (`levis`) | 1 | # Ville de Lévis — Calendrier (`levis`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : abandonnee** · Type : `municipal` · Connecteur : *aucun (source sans connecteur runtime)* | 5 | **Statut : abandonnee** · Type : `municipal` · Connecteur : *aucun (source sans connecteur runtime)* | ||
| 6 | 6 | ||||
modified
docs/connecteurs/lhjmq.md
+25 −25
@@ -1,6 +1,6 @@ | |||||
| 1 | # LHJMQ — matchs des équipes québécoises (`lhjmq`) | 1 | # LHJMQ — matchs des équipes québécoises (`lhjmq`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `sport` · Connecteur : `sortika/connectors/lhjmq.py` | 5 | **Statut : actif** · Type : `sport` · Connecteur : `sortika/connectors/lhjmq.py` | ||
| 6 | 6 | ||||
@@ -44,22 +44,22 @@ | |||||
| 44 | 44 | ||||
| 45 | ## Champs récupérés → schéma | 45 | ## Champs récupérés → schéma | ||
| 46 | 46 | ||||
| 47 | −Complétude mesurée sur les **421 événements actifs** de la source ; exemples tirés d'un événement réel (`lhjmq:32601`). | 47 | +Complétude mesurée sur les **417 événements actifs** de la source ; exemples tirés d'un événement réel (`lhjmq:32606`). | ||
| 48 | 48 | ||||
| 49 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 49 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 50 | |---|---|---|---| | 50 | |---|---|---|---| | ||
| 51 | −| `title` — Titre | titre de l'événement | 100 % | LHJMQ : Voltigeurs (Drummondville) c. Cataractes (Shawinigan) | | 51 | +| `title` — Titre | titre de l'événement | 100 % | LHJMQ : Cataractes (Shawinigan) c. Voltigeurs (Drummondville) | | ||
| 52 | −| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | Match de la Ligue de hockey junior Maritimes Québec (LHJMQ) — Voltigeurs (Drummondville) en visi… | | 52 | +| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | Match de la Ligue de hockey junior Maritimes Québec (LHJMQ) — Cataractes (Shawinigan) en visite … | | ||
| 53 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://theqmjhl.ca/gamecentre/32601 | | 53 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://theqmjhl.ca/gamecentre/32606 | | ||
| 54 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["sport"] | | 54 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["sport"] | | ||
| 55 | −| `venue` — Salle (venue) | nom du lieu | 100 % | Aréna de Grand-Mère | | 55 | +| `venue` — Salle (venue) | nom du lieu | 100 % | Centre sportif Girardin - Drummondville (QC) | | ||
| 56 | | `address` — Adresse | adresse civique | 0 % | ∅ | | 56 | | `address` — Adresse | adresse civique | 0 % | ∅ | | ||
| 57 | −| `city` — Ville | municipalité | 100 % | Shawinigan | | 57 | +| `city` — Ville | municipalité | 100 % | Drummondville | | ||
| 58 | −| `region` — Région | région administrative | 100 % | Mauricie | | 58 | +| `region` — Région | région administrative | 100 % | Centre-du-Québec | | ||
| 59 | −| `lat` — GPS (lat/lng) | coordonnées géographiques | 99 % | 46.6119958, -72.6893595 | | 59 | +| `lat` — GPS (lat/lng) | coordonnées géographiques | 99 % | 45.8744982, -72.5000621 | | ||
| 60 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-21 | | 60 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-22 | | ||
| 61 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-21 | | 61 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-22 | | ||
| 62 | −| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 15:00 | | 62 | +| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 14:00 | | ||
| 63 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 63 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
| 64 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 64 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
| 65 | | `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 0 % | ∅ | | 65 | | `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 0 % | ∅ | | ||
@@ -77,19 +77,19 @@ Complétude mesurée sur les **421 événements actifs** de la source ; exemples | |||||
| 77 | 77 | ||||
| 78 | ## Volumétrie & complétude live | 78 | ## Volumétrie & complétude live | ||
| 79 | 79 | ||||
| 80 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 80 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 81 | − | 81 | + | ||
| 82 | −- **Événements en base** : 423 (dont **421 actifs**) | 82 | +- **Événements en base** : 423 (dont **417 actifs**) | ||
| 83 | −- **GPS** : 415/421 actifs (99 %) | 83 | +- **GPS** : 411/417 actifs (99 %) | ||
| 84 | −- **Prix** : 0/421 actifs (0 %) | 84 | +- **Prix** : 0/417 actifs (0 %) | ||
| 85 | −- **Heure (start_time)** : 421/421 actifs (100 %) | 85 | +- **Heure (start_time)** : 417/417 actifs (100 %) | ||
| 86 | −- **Heure de fin** : 0/421 actifs (0 %) | 86 | +- **Heure de fin** : 0/417 actifs (0 %) | ||
| 87 | −- **Statut (annulé/reporté/complet)** : 0/421 actifs (0 %) | 87 | +- **Statut (annulé/reporté/complet)** : 0/417 actifs (0 %) | ||
| 88 | −- **Artistes** : 0/421 actifs (0 %) | 88 | +- **Artistes** : 0/417 actifs (0 %) | ||
| 89 | −- **Image** : 0/421 actifs (0 %) | 89 | +- **Image** : 0/417 actifs (0 %) | ||
| 90 | −- **Salle (venue)** : 421/421 actifs (100 %) | 90 | +- **Salle (venue)** : 417/417 actifs (100 %) | ||
| 91 | −- **Dernier sync** : 2026-08-21 20:54 — fetched 423, +0 ajoutés, ~0 mis à jour, -0 retirés | 91 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 423, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 92 | −- **Syncs enregistrés** (sync_log) : 60 | 92 | +- **Syncs enregistrés** (sync_log) : 81 | ||
| 93 | 93 | ||||
| 94 | ## Erreurs & dépannage | 94 | ## Erreurs & dépannage | ||
| 95 | 95 | ||||
modified
docs/connecteurs/longueuil.md
+4 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Longueuil — Événements (nouveau portail) (`longueuil`) | 1 | # Ville de Longueuil — Événements (nouveau portail) (`longueuil`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/longueuil.py` | 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/longueuil.py` | ||
| 6 | 6 | ||||
@@ -81,7 +81,7 @@ Complétude mesurée sur les **4 événements actifs** de la source ; exemples t | |||||
| 81 | 81 | ||||
| 82 | ## Volumétrie & complétude live | 82 | ## Volumétrie & complétude live | ||
| 83 | 83 | ||||
| 84 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 84 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 85 | 85 | ||||
| 86 | - **Événements en base** : 9 (dont **4 actifs**) | 86 | - **Événements en base** : 9 (dont **4 actifs**) | ||
| 87 | - **GPS** : 3/4 actifs (75 %) | 87 | - **GPS** : 3/4 actifs (75 %) | ||
@@ -92,8 +92,8 @@ Complétude mesurée sur les **4 événements actifs** de la source ; exemples t | |||||
| 92 | - **Artistes** : 0/4 actifs (0 %) | 92 | - **Artistes** : 0/4 actifs (0 %) | ||
| 93 | - **Image** : 4/4 actifs (100 %) | 93 | - **Image** : 4/4 actifs (100 %) | ||
| 94 | - **Salle (venue)** : 0/4 actifs (0 %) | 94 | - **Salle (venue)** : 0/4 actifs (0 %) | ||
| 95 | −- **Dernier sync** : 2026-08-21 20:54 — fetched 9, +0 ajoutés, ~0 mis à jour, -0 retirés | 95 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 9, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 96 | −- **Syncs enregistrés** (sync_log) : 80 | 96 | +- **Syncs enregistrés** (sync_log) : 101 | ||
| 97 | 97 | ||||
| 98 | ## Erreurs & dépannage | 98 | ## Erreurs & dépannage | ||
| 99 | 99 | ||||
modified
docs/connecteurs/mauricie.md
+1 −1
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Mauricie — événements (ATR) (`mauricie`) | 1 | # Tourisme Mauricie — événements (ATR) (`mauricie`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : abandonnee** · Type : `tourisme-regional` · Connecteur : *aucun (source sans connecteur runtime)* | 5 | **Statut : abandonnee** · Type : `tourisme-regional` · Connecteur : *aucun (source sans connecteur runtime)* | ||
| 6 | 6 | ||||
modified
docs/connecteurs/monteregie.md
+8 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Montérégie — événements (ATR) (`monteregie`) | 1 | # Tourisme Montérégie — événements (ATR) (`monteregie`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/monteregie.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/monteregie.py` | ||
| 6 | 6 | ||||
@@ -81,7 +81,7 @@ Complétude mesurée sur les **28 événements actifs** de la source ; exemples | |||||
| 81 | 81 | ||||
| 82 | ## Volumétrie & complétude live | 82 | ## Volumétrie & complétude live | ||
| 83 | 83 | ||||
| 84 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 84 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 85 | 85 | ||||
| 86 | - **Événements en base** : 78 (dont **28 actifs**) | 86 | - **Événements en base** : 78 (dont **28 actifs**) | ||
| 87 | - **GPS** : 28/28 actifs (100 %) | 87 | - **GPS** : 28/28 actifs (100 %) | ||
@@ -92,8 +92,8 @@ Complétude mesurée sur les **28 événements actifs** de la source ; exemples | |||||
| 92 | - **Artistes** : 0/28 actifs (0 %) | 92 | - **Artistes** : 0/28 actifs (0 %) | ||
| 93 | - **Image** : 27/28 actifs (96 %) | 93 | - **Image** : 27/28 actifs (96 %) | ||
| 94 | - **Salle (venue)** : 0/28 actifs (0 %) | 94 | - **Salle (venue)** : 0/28 actifs (0 %) | ||
| 95 | −- **Dernier sync** : 2026-08-21 21:11 — fetched 78, +0 ajoutés, ~0 mis à jour, -0 retirés | 95 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 78, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 96 | −- **Syncs enregistrés** (sync_log) : 7 | 96 | +- **Syncs enregistrés** (sync_log) : 28 | ||
| 97 | 97 | ||||
| 98 | ## Erreurs & dépannage | 98 | ## Erreurs & dépannage | ||
| 99 | 99 | ||||
@@ -110,3 +110,7 @@ Aucune erreur dans `sync_log` pour cette source. ✅ | |||||
| 110 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | 110 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | ||
| 111 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | 111 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | ||
| 112 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | 112 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | ||
| 113 | + | ||||
| 114 | +Commits touchant `sortika/connectors/monteregie.py` : | ||||
| 115 | + | ||||
| 116 | +- `5973906` 2026-08-21 Phase 4 — 7 nouveaux connecteurs : régions manquantes (Montérégie, Centre-du-Québec, Chaudière-Appalaches, Gaspésie via Scrapfly) + billetteries QC (TicketAcces, Réseau Ovation, Tuxedo via acteur Apify ka-tuxedo) | ||||
modified
docs/connecteurs/montreal.md
+15 −14
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Montréal — Événements publics (`montreal`) | 1 | # Ville de Montréal — Événements publics (`montreal`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `donnees-ouvertes` · Connecteur : `sortika/connectors/montreal.py` | 5 | **Statut : actif** · Type : `donnees-ouvertes` · Connecteur : `sortika/connectors/montreal.py` | ||
| 6 | 6 | ||||
@@ -37,7 +37,7 @@ | |||||
| 37 | 37 | ||||
| 38 | ## Champs récupérés → schéma | 38 | ## Champs récupérés → schéma | ||
| 39 | 39 | ||||
| 40 | −Complétude mesurée sur les **3567 événements actifs** de la source ; exemples tirés d'un événement réel (`montreal:schulichbon-pasteur-nelson-lee-denise-djokic-et-kyoko-hashimoto-118821`). | 40 | +Complétude mesurée sur les **3522 événements actifs** de la source ; exemples tirés d'un événement réel (`montreal:schulichbon-pasteur-nelson-lee-denise-djokic-et-kyoko-hashimoto-118821`). | ||
| 41 | 41 | ||||
| 42 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 42 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 43 | |---|---|---|---| | 43 | |---|---|---|---| | ||
@@ -75,19 +75,19 @@ Complétude mesurée sur les **3567 événements actifs** de la source ; exemple | |||||
| 75 | 75 | ||||
| 76 | ## Volumétrie & complétude live | 76 | ## Volumétrie & complétude live | ||
| 77 | 77 | ||||
| 78 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 78 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 79 | 79 | ||||
| 80 | −- **Événements en base** : 6205 (dont **3567 actifs**) | 80 | +- **Événements en base** : 6207 (dont **3522 actifs**) | ||
| 81 | −- **GPS** : 3531/3567 actifs (99 %) | 81 | +- **GPS** : 3486/3522 actifs (99 %) | ||
| 82 | −- **Prix** : 3567/3567 actifs (100 %) | 82 | +- **Prix** : 3522/3522 actifs (100 %) | ||
| 83 | −- **Heure (start_time)** : 3548/3567 actifs (99 %) | 83 | +- **Heure (start_time)** : 3503/3522 actifs (99 %) | ||
| 84 | −- **Heure de fin** : 3548/3567 actifs (99 %) | 84 | +- **Heure de fin** : 3503/3522 actifs (99 %) | ||
| 85 | −- **Statut (annulé/reporté/complet)** : 0/3567 actifs (0 %) | 85 | +- **Statut (annulé/reporté/complet)** : 0/3522 actifs (0 %) | ||
| 86 | −- **Artistes** : 0/3567 actifs (0 %) | 86 | +- **Artistes** : 0/3522 actifs (0 %) | ||
| 87 | −- **Image** : 3567/3567 actifs (100 %) | 87 | +- **Image** : 3522/3522 actifs (100 %) | ||
| 88 | −- **Salle (venue)** : 155/3567 actifs (4 %) | 88 | +- **Salle (venue)** : 154/3522 actifs (4 %) | ||
| 89 | −- **Dernier sync** : 2026-08-21 20:55 — fetched 5855, +36 ajoutés, ~6 mis à jour, -0 retirés | 89 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 5757, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 90 | −- **Syncs enregistrés** (sync_log) : 103 | 90 | +- **Syncs enregistrés** (sync_log) : 124 | ||
| 91 | 91 | ||||
| 92 | ## Erreurs & dépannage | 92 | ## Erreurs & dépannage | ||
| 93 | 93 | ||||
@@ -95,6 +95,7 @@ Erreurs relevées dans `sync_log` : | |||||
| 95 | 95 | ||||
| 96 | | Erreur | Occurrences | Dernière fois | | 96 | | Erreur | Occurrences | Dernière fois | | ||
| 97 | |---|---|---| | 97 | |---|---|---| | ||
| 98 | +| 503 Server Error: Service Unavailable for url: https://donnees.montreal.ca/api/3/action/datastor… | 1 | 2026-08-22 02:31 | | ||||
| 98 | | 403 Client Error: Forbidden for url: https://donnees.montreal.ca/api/3/action/datastore_search?r… | 1 | 2026-08-17 15:45 | | 99 | | 403 Client Error: Forbidden for url: https://donnees.montreal.ca/api/3/action/datastore_search?r… | 1 | 2026-08-17 15:45 | | ||
| 99 | 100 | ||||
| 100 | - Le WAF de donnees.montreal.ca renvoie **403** à tout User-Agent contenant « bot » — le UA `SortiKa/1.0 (+URL; courriel)` est volontairement sans ce mot. Un 403 ponctuel est en général transitoire (WAF) ; vérifier le UA avant tout. | 101 | - Le WAF de donnees.montreal.ca renvoie **403** à tout User-Agent contenant « bot » — le UA `SortiKa/1.0 (+URL; courriel)` est volontairement sans ce mot. Un 403 ponctuel est en général transitoire (WAF) ; vérifier le UA avant tout. | ||
modified
docs/connecteurs/outaouais.md
+4 −4
@@ -1,6 +1,6 @@ | |||||
| 1 | # Tourisme Outaouais — calendrier des événements (ATR) (`outaouais`) | 1 | # Tourisme Outaouais — calendrier des événements (ATR) (`outaouais`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/outaouais.py` | 5 | **Statut : actif** · Type : `tourisme-regional` · Connecteur : `sortika/connectors/outaouais.py` | ||
| 6 | 6 | ||||
@@ -75,7 +75,7 @@ Complétude mesurée sur les **24 événements actifs** de la source ; exemples | |||||
| 75 | 75 | ||||
| 76 | ## Volumétrie & complétude live | 76 | ## Volumétrie & complétude live | ||
| 77 | 77 | ||||
| 78 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 78 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 79 | 79 | ||||
| 80 | - **Événements en base** : 162 (dont **24 actifs**) | 80 | - **Événements en base** : 162 (dont **24 actifs**) | ||
| 81 | - **GPS** : 0/24 actifs (0 %) | 81 | - **GPS** : 0/24 actifs (0 %) | ||
@@ -86,8 +86,8 @@ Complétude mesurée sur les **24 événements actifs** de la source ; exemples | |||||
| 86 | - **Artistes** : 0/24 actifs (0 %) | 86 | - **Artistes** : 0/24 actifs (0 %) | ||
| 87 | - **Image** : 24/24 actifs (100 %) | 87 | - **Image** : 24/24 actifs (100 %) | ||
| 88 | - **Salle (venue)** : 0/24 actifs (0 %) | 88 | - **Salle (venue)** : 0/24 actifs (0 %) | ||
| 89 | −- **Dernier sync** : 2026-08-21 20:55 — fetched 159, +0 ajoutés, ~0 mis à jour, -0 retirés | 89 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 159, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 90 | −- **Syncs enregistrés** (sync_log) : 61 | 90 | +- **Syncs enregistrés** (sync_log) : 82 | ||
| 91 | 91 | ||||
| 92 | ## Erreurs & dépannage | 92 | ## Erreurs & dépannage | ||
| 93 | 93 | ||||
modified
docs/connecteurs/ovation.md
+32 −28
@@ -1,6 +1,6 @@ | |||||
| 1 | # Réseau Ovation — billetterie québécoise multi-salles (`ovation`) | 1 | # Réseau Ovation — billetterie québécoise multi-salles (`ovation`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/ovation.py` | 5 | **Statut : actif** · Type : `billetterie` · Connecteur : `sortika/connectors/ovation.py` | ||
| 6 | 6 | ||||
@@ -53,30 +53,30 @@ | |||||
| 53 | 53 | ||||
| 54 | ## Champs récupérés → schéma | 54 | ## Champs récupérés → schéma | ||
| 55 | 55 | ||||
| 56 | −Complétude mesurée sur les **212 événements actifs** de la source ; exemples tirés d'un événement réel (`ovation:00000O-1D068U`). | 56 | +Complétude mesurée sur les **311 événements actifs** de la source ; exemples tirés d'un événement réel (`ovation:00000P-0104ZJ`). | ||
| 57 | 57 | ||||
| 58 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 58 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 59 | |---|---|---|---| | 59 | |---|---|---|---| | ||
| 60 | −| `title` — Titre | titre de l'événement | 100 % | Louis-Jean Cormier et l’Orchestre FILMharmonique | | 60 | +| `title` — Titre | titre de l'événement | 100 % | Maxim Martin — Bon chien | | ||
| 61 | −| `description` — Description | texte descriptif (source ou fiche détail) | 77 % | Depuis plus de vingt ans, Louis-Jean Cormier explore l’intime avec une sensibilité qui a marqué … | | 61 | +| `description` — Description | texte descriptif (source ou fiche détail) | 75 % | Même après cinq one-man-show, un livre et une série sur son quotidien avec sa fille, Maxim Marti… | | ||
| 62 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://m.ovation.ca/00000O/fr/Event/?eventId=1D068U | | 62 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://m.ovation.ca/00000P/fr/Event/?eventId=0104ZJ | | ||
| 63 | −| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["musique"] | | 63 | +| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["arts-scene"] | | ||
| 64 | −| `venue` — Salle (venue) | nom du lieu | 100 % | Centre culturel de l’Université de Sherbrooke - Salle Maurice-O’Bready | | 64 | +| `venue` — Salle (venue) | nom du lieu | 100 % | Maison des arts Desjardins Drummondville - Salle principale | | ||
| 65 | −| `address` — Adresse | adresse civique | 100 % | 2500, boul. de l’Université | | 65 | +| `address` — Adresse | adresse civique | 100 % | 175, rue Ringuet | | ||
| 66 | −| `city` — Ville | municipalité | 100 % | Sherbrooke | | 66 | +| `city` — Ville | municipalité | 100 % | Drummondville | | ||
| 67 | −| `region` — Région | région administrative | 100 % | Estrie | | 67 | +| `region` — Région | région administrative | 100 % | Centre-du-Québec | | ||
| 68 | −| `lat` — GPS (lat/lng) | coordonnées géographiques | 100 % | 45.3767733, -71.940274 | | 68 | +| `lat` — GPS (lat/lng) | coordonnées géographiques | 100 % | 45.8771456, -72.5006843 | | ||
| 69 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-09-10 | | 69 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2027-01-08 | | ||
| 70 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-09-10 | | 70 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2027-01-08 | | ||
| 71 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | 71 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | ||
| 72 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 72 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
| 73 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 73 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
| 74 | | `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 0 % | ∅ | | 74 | | `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 0 % | ∅ | | ||
| 75 | | `price_min` — Prix min | tarif minimal réel ($) | 0 % | ∅ | | 75 | | `price_min` — Prix min | tarif minimal réel ($) | 0 % | ∅ | | ||
| 76 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | 76 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | ||
| 77 | −| `artists` — Artistes | têtes d'affiche / lineup (JSON) | 94 % | ["Louis-Jean Cormier", "Orchestre FILMharmonique"] | | 77 | +| `artists` — Artistes | têtes d'affiche / lineup (JSON) | 90 % | ["Maxim Martin"] | | ||
| 78 | −| `organizer` — Organisateur | promoteur / organisme | 100 % | Centre culturel de l'Université de Sherbrooke | | 78 | +| `organizer` — Organisateur | promoteur / organisme | 100 % | Maison des Arts Desjardins Drummondville | | ||
| 79 | −| `image` — Image | visuel (og:image ou média source) | 100 % | https://m.ovation.ca/product-catalog-images/thumbnails/ca5a09cd-236b-427a-aa44-f79eafcb130c.jpg | | 79 | +| `image` — Image | visuel (og:image ou média source) | 100 % | https://m.ovation.ca/product-catalog-images/thumbnails/28ea40e8-efc8-4d42-a967-06a97817417a.jpg | | ||
| 80 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 80 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 81 | 81 | ||||
| 82 | ## Fréquence & budgets | 82 | ## Fréquence & budgets | ||
@@ -93,19 +93,19 @@ Complétude mesurée sur les **212 événements actifs** de la source ; exemples | |||||
| 93 | 93 | ||||
| 94 | ## Volumétrie & complétude live | 94 | ## Volumétrie & complétude live | ||
| 95 | 95 | ||||
| 96 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 96 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 97 | 97 | ||||
| 98 | −- **Événements en base** : 212 (dont **212 actifs**) | 98 | +- **Événements en base** : 312 (dont **311 actifs**) | ||
| 99 | −- **GPS** : 212/212 actifs (100 %) | 99 | +- **GPS** : 311/311 actifs (100 %) | ||
| 100 | −- **Prix** : 0/212 actifs (0 %) | 100 | +- **Prix** : 0/311 actifs (0 %) | ||
| 101 | −- **Heure (start_time)** : 212/212 actifs (100 %) | 101 | +- **Heure (start_time)** : 311/311 actifs (100 %) | ||
| 102 | −- **Heure de fin** : 0/212 actifs (0 %) | 102 | +- **Heure de fin** : 0/311 actifs (0 %) | ||
| 103 | −- **Statut (annulé/reporté/complet)** : 0/212 actifs (0 %) | 103 | +- **Statut (annulé/reporté/complet)** : 0/311 actifs (0 %) | ||
| 104 | −- **Artistes** : 199/212 actifs (94 %) | 104 | +- **Artistes** : 279/311 actifs (90 %) | ||
| 105 | −- **Image** : 211/212 actifs (100 %) | 105 | +- **Image** : 310/311 actifs (100 %) | ||
| 106 | −- **Salle (venue)** : 212/212 actifs (100 %) | 106 | +- **Salle (venue)** : 311/311 actifs (100 %) | ||
| 107 | −- **Dernier sync** : 2026-08-21 21:46 — fetched 212, +212 ajoutés, ~0 mis à jour, -0 retirés | 107 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 311, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 108 | −- **Syncs enregistrés** (sync_log) : 1 | 108 | +- **Syncs enregistrés** (sync_log) : 22 | ||
| 109 | 109 | ||||
| 110 | ## Erreurs & dépannage | 110 | ## Erreurs & dépannage | ||
| 111 | 111 | ||||
@@ -122,3 +122,7 @@ Aucune erreur dans `sync_log` pour cette source. ✅ | |||||
| 122 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | 122 | - **2026-08-18 — Vague 1 d'enrichissement** (commit `7d9d1b0`) : géocodage Nominatim des salles (`sortika/geocode.py`, cache disque, plafond `SORTIKA_GEOCODE_MAX`), fiches détail lepointdevente (description, heure, tarifs réels `/plugins/rates/<id>`), contacts Tourinsoft (SITQ), heure locale Montréal via JSON-LD. | ||
| 123 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | 123 | - **2026-08-18 — Vague 2 d'enrichissement** (commit `65d2d33`) : colonnes additives `events.start_time` (HH:MM locale QC) et `events.artists` (JSON) + migration auto ; heure captée partout où la source la publie (lepointdevente, evenko, Laval, Sherbrooke, Montréal, atuvu) ; artistes (headliners evenko, lineup Bandsintown, attractions Ticketmaster, patrons sûrs sur les titres) ; 3 nouveaux connecteurs (brossard, ticketmaster, bandsintown). | ||
| 124 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | 124 | - **2026-08-19 — Phase 2 (travail de moine)** : colonnes additives `end_time`, `status` (annulé/reporté/complet) et `quarantine` (règles anti-aberrations, non publié mais réintégrable) ; règle d'ARCHIVAGE des événements terminés à chaque cycle (jamais supprimés) ; dedup_key inclut désormais l'heure (les séances multiples d'un même jour ne sont plus écrasées à l'affichage) ; alerte « 0 événement futur / chute > 80 % » par source (data/future_counts.json + /api/sources) ; heure et description La Vitrine ; end_time/organisateur/statut Eventbrite ; og:description Atuvu ; premières parties + portes + tournée evenko ; offres billets Bandsintown ; taxonomie type-event + description intégrale Brossard ; image Longueuil ; géocodage par ADRESSE CIVIQUE prioritaire ; villes normalisées au Répertoire MAMH (data/villes_canon.json) ; laval consignée « morte-a-la-source ». | ||
| 125 | + | ||||
| 126 | +Commits touchant `sortika/connectors/ovation.py` : | ||||
| 127 | + | ||||
| 128 | +- `5973906` 2026-08-21 Phase 4 — 7 nouveaux connecteurs : régions manquantes (Montérégie, Centre-du-Québec, Chaudière-Appalaches, Gaspésie via Scrapfly) + billetteries QC (TicketAcces, Réseau Ovation, Tuxedo via acteur Apify ka-tuxedo) | ||||
modified
docs/connecteurs/placedesarts.md
+15 −15
@@ -1,6 +1,6 @@ | |||||
| 1 | # Place des Arts — calendrier multi-salles (`placedesarts`) | 1 | # Place des Arts — calendrier multi-salles (`placedesarts`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `salle-de-spectacle` · Connecteur : `sortika/connectors/placedesarts.py` | 5 | **Statut : actif** · Type : `salle-de-spectacle` · Connecteur : `sortika/connectors/placedesarts.py` | ||
| 6 | 6 | ||||
@@ -44,7 +44,7 @@ | |||||
| 44 | 44 | ||||
| 45 | ## Champs récupérés → schéma | 45 | ## Champs récupérés → schéma | ||
| 46 | 46 | ||||
| 47 | −Complétude mesurée sur les **347 événements actifs** de la source ; exemples tirés d'un événement réel (`placedesarts:24-poses-portraits-2026-09-02-19:30`). | 47 | +Complétude mesurée sur les **346 événements actifs** de la source ; exemples tirés d'un événement réel (`placedesarts:24-poses-portraits-2026-09-02-19:30`). | ||
| 48 | 48 | ||||
| 49 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 49 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 50 | |---|---|---|---| | 50 | |---|---|---|---| | ||
@@ -82,19 +82,19 @@ Complétude mesurée sur les **347 événements actifs** de la source ; exemples | |||||
| 82 | 82 | ||||
| 83 | ## Volumétrie & complétude live | 83 | ## Volumétrie & complétude live | ||
| 84 | 84 | ||||
| 85 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 85 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 86 | − | 86 | + | ||
| 87 | −- **Événements en base** : 356 (dont **347 actifs**) | 87 | +- **Événements en base** : 356 (dont **346 actifs**) | ||
| 88 | −- **GPS** : 325/347 actifs (94 %) | 88 | +- **GPS** : 324/346 actifs (94 %) | ||
| 89 | −- **Prix** : 253/347 actifs (73 %) | 89 | +- **Prix** : 252/346 actifs (73 %) | ||
| 90 | −- **Heure (start_time)** : 346/347 actifs (100 %) | 90 | +- **Heure (start_time)** : 345/346 actifs (100 %) | ||
| 91 | −- **Heure de fin** : 0/347 actifs (0 %) | 91 | +- **Heure de fin** : 0/346 actifs (0 %) | ||
| 92 | −- **Statut (annulé/reporté/complet)** : 0/347 actifs (0 %) | 92 | +- **Statut (annulé/reporté/complet)** : 0/346 actifs (0 %) | ||
| 93 | −- **Artistes** : 0/347 actifs (0 %) | 93 | +- **Artistes** : 0/346 actifs (0 %) | ||
| 94 | −- **Image** : 347/347 actifs (100 %) | 94 | +- **Image** : 346/346 actifs (100 %) | ||
| 95 | −- **Salle (venue)** : 347/347 actifs (100 %) | 95 | +- **Salle (venue)** : 346/346 actifs (100 %) | ||
| 96 | −- **Dernier sync** : 2026-08-21 20:55 — fetched 354, +0 ajoutés, ~0 mis à jour, -0 retirés | 96 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 354, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 97 | −- **Syncs enregistrés** (sync_log) : 60 | 97 | +- **Syncs enregistrés** (sync_log) : 81 | ||
| 98 | 98 | ||||
| 99 | ## Erreurs & dépannage | 99 | ## Erreurs & dépannage | ||
| 100 | 100 | ||||
modified
docs/connecteurs/quebecanimee.md
+15 −15
@@ -1,6 +1,6 @@ | |||||
| 1 | # Québec animée — Ville de Québec (`quebecanimee`) | 1 | # Québec animée — Ville de Québec (`quebecanimee`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/quebecanimee.py` | 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/quebecanimee.py` | ||
| 6 | 6 | ||||
@@ -41,7 +41,7 @@ | |||||
| 41 | 41 | ||||
| 42 | ## Champs récupérés → schéma | 42 | ## Champs récupérés → schéma | ||
| 43 | 43 | ||||
| 44 | −Complétude mesurée sur les **121 événements actifs** de la source ; exemples tirés d'un événement réel (`quebecanimee:videoprojection-sur-la-bibliotheque-gabrielle-roy-avec-irina-gonzalez-2026-09-04`). | 44 | +Complétude mesurée sur les **102 événements actifs** de la source ; exemples tirés d'un événement réel (`quebecanimee:videoprojection-sur-la-bibliotheque-gabrielle-roy-avec-irina-gonzalez-2026-09-04`). | ||
| 45 | 45 | ||||
| 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 47 | |---|---|---|---| | 47 | |---|---|---|---| | ||
@@ -79,19 +79,19 @@ Complétude mesurée sur les **121 événements actifs** de la source ; exemples | |||||
| 79 | 79 | ||||
| 80 | ## Volumétrie & complétude live | 80 | ## Volumétrie & complétude live | ||
| 81 | 81 | ||||
| 82 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 82 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 83 | − | 83 | + | ||
| 84 | −- **Événements en base** : 131 (dont **121 actifs**) | 84 | +- **Événements en base** : 131 (dont **102 actifs**) | ||
| 85 | −- **GPS** : 121/121 actifs (100 %) | 85 | +- **GPS** : 102/102 actifs (100 %) | ||
| 86 | −- **Prix** : 121/121 actifs (100 %) | 86 | +- **Prix** : 102/102 actifs (100 %) | ||
| 87 | −- **Heure (start_time)** : 0/121 actifs (0 %) | 87 | +- **Heure (start_time)** : 0/102 actifs (0 %) | ||
| 88 | −- **Heure de fin** : 0/121 actifs (0 %) | 88 | +- **Heure de fin** : 0/102 actifs (0 %) | ||
| 89 | −- **Statut (annulé/reporté/complet)** : 0/121 actifs (0 %) | 89 | +- **Statut (annulé/reporté/complet)** : 0/102 actifs (0 %) | ||
| 90 | −- **Artistes** : 0/121 actifs (0 %) | 90 | +- **Artistes** : 0/102 actifs (0 %) | ||
| 91 | −- **Image** : 121/121 actifs (100 %) | 91 | +- **Image** : 102/102 actifs (100 %) | ||
| 92 | −- **Salle (venue)** : 121/121 actifs (100 %) | 92 | +- **Salle (venue)** : 102/102 actifs (100 %) | ||
| 93 | −- **Dernier sync** : 2026-08-21 20:55 — fetched 115, +0 ajoutés, ~0 mis à jour, -0 retirés | 93 | +- **Dernier sync** : 2026-08-22 22:27 — fetched 102, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 94 | −- **Syncs enregistrés** (sync_log) : 60 | 94 | +- **Syncs enregistrés** (sync_log) : 81 | ||
| 95 | 95 | ||||
| 96 | ## Erreurs & dépannage | 96 | ## Erreurs & dépannage | ||
| 97 | 97 | ||||
modified
docs/connecteurs/repentigny.md
+1 −1
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Repentigny — Événements (`repentigny`) | 1 | # Ville de Repentigny — Événements (`repentigny`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : abandonnee** · Type : `donnees-ouvertes` · Connecteur : *aucun (source sans connecteur runtime)* | 5 | **Statut : abandonnee** · Type : `donnees-ouvertes` · Connecteur : *aucun (source sans connecteur runtime)* | ||
| 6 | 6 | ||||
modified
docs/connecteurs/saguenay.md
+1 −1
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Saguenay — Événements culturels (`saguenay`) | 1 | # Ville de Saguenay — Événements culturels (`saguenay`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : abandonnee** · Type : `donnees-ouvertes` · Connecteur : *aucun (source sans connecteur runtime)* | 5 | **Statut : abandonnee** · Type : `donnees-ouvertes` · Connecteur : *aucun (source sans connecteur runtime)* | ||
| 6 | 6 | ||||
modified
docs/connecteurs/saguenaysorties.md
+22 −22
@@ -1,6 +1,6 @@ | |||||
| 1 | # Sorties Saguenay — portail événementiel de la Ville (`saguenaysorties`) | 1 | # Sorties Saguenay — portail événementiel de la Ville (`saguenaysorties`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/saguenaysorties.py` | 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/saguenaysorties.py` | ||
| 6 | 6 | ||||
@@ -41,21 +41,21 @@ | |||||
| 41 | 41 | ||||
| 42 | ## Champs récupérés → schéma | 42 | ## Champs récupérés → schéma | ||
| 43 | 43 | ||||
| 44 | −Complétude mesurée sur les **437 événements actifs** de la source ; exemples tirés d'un événement réel (`saguenaysorties:570260-2027-01-28-20:00`). | 44 | +Complétude mesurée sur les **438 événements actifs** de la source ; exemples tirés d'un événement réel (`saguenaysorties:331172-2026-11-14-20:00`). | ||
| 45 | 45 | ||||
| 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 46 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 47 | |---|---|---|---| | 47 | |---|---|---|---| | ||
| 48 | −| `title` — Titre | titre de l'événement | 100 % | Confessions d'un enfant du siècle dernier | | 48 | +| `title` — Titre | titre de l'événement | 100 % | Pierre Lapointe - Chansons démodées pour ceux qui ont le cœur abîmé | | ||
| 49 | −| `description` — Description | texte descriptif (source ou fiche détail) | 98 % | Cinq facettes d’un jeune homme en quête de lui-même. Entre l’école et la maison, un adolescent d… | | 49 | +| `description` — Description | texte descriptif (source ou fiche détail) | 98 % | Les chansons démodées pour ceux qui ont le coeur abîmé de Pierre Lapointe sur scène, un spectacl… | | ||
| 50 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://sorties.saguenay.ca/festivals?id=570260 | | 50 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://sorties.saguenay.ca/festivals?id=331172 | | ||
| 51 | −| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["arts-scene"] | | 51 | +| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["musique"] | | ||
| 52 | | `venue` — Salle (venue) | nom du lieu | 86 % | Théâtre C | | 52 | | `venue` — Salle (venue) | nom du lieu | 86 % | Théâtre C | | ||
| 53 | | `address` — Adresse | adresse civique | 100 % | 534 Rue Jacques-Cartier E | | 53 | | `address` — Adresse | adresse civique | 100 % | 534 Rue Jacques-Cartier E | | ||
| 54 | | `city` — Ville | municipalité | 86 % | Chicoutimi | | 54 | | `city` — Ville | municipalité | 86 % | Chicoutimi | | ||
| 55 | | `region` — Région | région administrative | 100 % | Saguenay–Lac-Saint-Jean | | 55 | | `region` — Région | région administrative | 100 % | Saguenay–Lac-Saint-Jean | | ||
| 56 | | `lat` — GPS (lat/lng) | coordonnées géographiques | 80 % | 48.424452, -71.053231 | | 56 | | `lat` — GPS (lat/lng) | coordonnées géographiques | 80 % | 48.424452, -71.053231 | | ||
| 57 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2027-01-28 | | 57 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-11-14 | | ||
| 58 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2027-01-28 | | 58 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-11-14 | | ||
| 59 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | 59 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | ||
| 60 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | 60 | | `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 0 % | ∅ | | ||
| 61 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 61 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
@@ -64,7 +64,7 @@ Complétude mesurée sur les **437 événements actifs** de la source ; exemples | |||||
| 64 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | 64 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | ||
| 65 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | 65 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | ||
| 66 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | 66 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | ||
| 67 | −| `image` — Image | visuel (og:image ou média source) | 100 % | https://lvc-medias.lavitrine.com/54f46863-28df-579a-8bcf-9471f0383d1f.jpg | | 67 | +| `image` — Image | visuel (og:image ou média source) | 100 % | https://lvc-medias.lavitrine.com/343c0962-3759-5b36-9776-ba53a67bbcc6.jpg | | ||
| 68 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 68 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 69 | 69 | ||||
| 70 | ## Fréquence & budgets | 70 | ## Fréquence & budgets | ||
@@ -80,19 +80,19 @@ Complétude mesurée sur les **437 événements actifs** de la source ; exemples | |||||
| 80 | 80 | ||||
| 81 | ## Volumétrie & complétude live | 81 | ## Volumétrie & complétude live | ||
| 82 | 82 | ||||
| 83 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 83 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 84 | − | 84 | + | ||
| 85 | −- **Événements en base** : 460 (dont **437 actifs**) | 85 | +- **Événements en base** : 460 (dont **438 actifs**) | ||
| 86 | −- **GPS** : 350/437 actifs (80 %) | 86 | +- **GPS** : 351/438 actifs (80 %) | ||
| 87 | −- **Prix** : 0/437 actifs (0 %) | 87 | +- **Prix** : 0/438 actifs (0 %) | ||
| 88 | −- **Heure (start_time)** : 436/437 actifs (100 %) | 88 | +- **Heure (start_time)** : 437/438 actifs (100 %) | ||
| 89 | −- **Heure de fin** : 0/437 actifs (0 %) | 89 | +- **Heure de fin** : 0/438 actifs (0 %) | ||
| 90 | −- **Statut (annulé/reporté/complet)** : 0/437 actifs (0 %) | 90 | +- **Statut (annulé/reporté/complet)** : 0/438 actifs (0 %) | ||
| 91 | −- **Artistes** : 0/437 actifs (0 %) | 91 | +- **Artistes** : 0/438 actifs (0 %) | ||
| 92 | −- **Image** : 437/437 actifs (100 %) | 92 | +- **Image** : 438/438 actifs (100 %) | ||
| 93 | −- **Salle (venue)** : 376/437 actifs (86 %) | 93 | +- **Salle (venue)** : 377/438 actifs (86 %) | ||
| 94 | −- **Dernier sync** : 2026-08-21 20:55 — fetched 437, +0 ajoutés, ~0 mis à jour, -14 retirés | 94 | +- **Dernier sync** : 2026-08-22 22:28 — fetched 438, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 95 | −- **Syncs enregistrés** (sync_log) : 60 | 95 | +- **Syncs enregistrés** (sync_log) : 81 | ||
| 96 | 96 | ||||
| 97 | ## Erreurs & dépannage | 97 | ## Erreurs & dépannage | ||
| 98 | 98 | ||||
modified
docs/connecteurs/sallesjsonld.md
+31 −31
@@ -1,6 +1,6 @@ | |||||
| 1 | # Salles de spectacle — moteur générique JSON-LD Event (`sallesjsonld`) | 1 | # Salles de spectacle — moteur générique JSON-LD Event (`sallesjsonld`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `salle-de-spectacle` · Connecteur : `sortika/connectors/sallesjsonld.py` | 5 | **Statut : actif** · Type : `salle-de-spectacle` · Connecteur : `sortika/connectors/sallesjsonld.py` | ||
| 6 | 6 | ||||
@@ -43,31 +43,31 @@ | |||||
| 43 | 43 | ||||
| 44 | ## Champs récupérés → schéma | 44 | ## Champs récupérés → schéma | ||
| 45 | 45 | ||||
| 46 | −Complétude mesurée sur les **278 événements actifs** de la source ; exemples tirés d'un événement réel (`sallesjsonld:grandtheatre-arpin-lepine-tournee-lune-brune-2026-10-04-0000`). | 46 | +Complétude mesurée sur les **308 événements actifs** de la source ; exemples tirés d'un événement réel (`sallesjsonld:odyscene-pierre-verville-en-rodage-2026-08-27-2000`). | ||
| 47 | 47 | ||||
| 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 48 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 49 | |---|---|---|---| | 49 | |---|---|---|---| | ||
| 50 | −| `title` — Titre | titre de l'événement | 100 % | Tournée Lune Brune | | 50 | +| `title` — Titre | titre de l'événement | 100 % | Pierre Verville | | ||
| 51 | −| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | PRÉVENTE EN COURS Pour être informé des prochaines préventes, inscrivez vous à l'infolettre!Arpi… | | 51 | +| `description` — Description | texte descriptif (source ou fiche détail) | 100 % | En rodage Plongez dans l’univers unique de Pierre Verville avec Pour une dernière voix, un spect… | | ||
| 52 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://grandtheatre.qc.ca/programmation/arpin-lepine-tournee-lune-brune/ | | 52 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://odyscene.com/programmation/pierre-verville-en-rodage/ | | ||
| 53 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | 53 | | `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | ||
| 54 | −| `venue` — Salle (venue) | nom du lieu | 100 % | Grand Théatre de Québec | | 54 | +| `venue` — Salle (venue) | nom du lieu | 100 % | Théâtre Lionel-Groulx | | ||
| 55 | −| `address` — Adresse | adresse civique | 100 % | 269 Boulevard René-Lévesque E | | 55 | +| `address` — Adresse | adresse civique | 96 % | ∅ | | ||
| 56 | −| `city` — Ville | municipalité | 100 % | Québec | | 56 | +| `city` — Ville | municipalité | 100 % | Sainte-Thérèse | | ||
| 57 | −| `region` — Région | région administrative | 100 % | Capitale-Nationale | | 57 | +| `region` — Région | région administrative | 100 % | Laurentides | | ||
| 58 | −| `lat` — GPS (lat/lng) | coordonnées géographiques | 100 % | 46.8062847, -71.2217335 | | 58 | +| `lat` — GPS (lat/lng) | coordonnées géographiques | 100 % | 45.642259, -73.842239 | | ||
| 59 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-10-03 | | 59 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-27 | | ||
| 60 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-10-04 | | 60 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-28 | | ||
| 61 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | 61 | | `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 100 % | 20:00 | | ||
| 62 | −| `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 47 % | ∅ | | 62 | +| `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 53 % | 22:00 | | ||
| 63 | −| `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 1 % | cancelled | | 63 | +| `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 1 % | ∅ | | ||
| 64 | | `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 97 % | 0 | | 64 | | `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 97 % | 0 | | ||
| 65 | −| `price_min` — Prix min | tarif minimal réel ($) | 97 % | 25.0 | | 65 | +| `price_min` — Prix min | tarif minimal réel ($) | 97 % | 37.0 | | ||
| 66 | −| `price_label` — Libellé prix | étiquette tarifaire affichable | 97 % | 25.00 $ | | 66 | +| `price_label` — Libellé prix | étiquette tarifaire affichable | 97 % | 37 $ à 42 $ | | ||
| 67 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | 67 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | ||
| 68 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | 68 | | `organizer` — Organisateur | promoteur / organisme | 0 % | ∅ | | ||
| 69 | −| `image` — Image | visuel (og:image ou média source) | 3 % | ∅ | | 69 | +| `image` — Image | visuel (og:image ou média source) | 13 % | https://odyscene.com/wp-content/uploads/tuxedo/pierre20verville-onsp-ctxfe7h44jyexi.png | | ||
| 70 | −| `website` — Site web | site officiel de l'événement | 100 % | https://am.ticketmaster.com/grandtheatre/fr-ca/buy/ism/UzEyNjEyMDE%3D | | 70 | +| `website` — Site web | site officiel de l'événement | 100 % | https://odyscene.com/programmation/pierre-verville-en-rodage/ | | ||
| 71 | 71 | ||||
| 72 | ## Fréquence & budgets | 72 | ## Fréquence & budgets | ||
| 73 | 73 | ||||
@@ -81,19 +81,19 @@ Complétude mesurée sur les **278 événements actifs** de la source ; exemples | |||||
| 81 | 81 | ||||
| 82 | ## Volumétrie & complétude live | 82 | ## Volumétrie & complétude live | ||
| 83 | 83 | ||||
| 84 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 84 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 85 | − | 85 | + | ||
| 86 | −- **Événements en base** : 282 (dont **278 actifs**) | 86 | +- **Événements en base** : 315 (dont **308 actifs**) | ||
| 87 | −- **GPS** : 278/278 actifs (100 %) | 87 | +- **GPS** : 308/308 actifs (100 %) | ||
| 88 | −- **Prix** : 270/278 actifs (97 %) | 88 | +- **Prix** : 300/308 actifs (97 %) | ||
| 89 | −- **Heure (start_time)** : 278/278 actifs (100 %) | 89 | +- **Heure (start_time)** : 308/308 actifs (100 %) | ||
| 90 | −- **Heure de fin** : 131/278 actifs (47 %) | 90 | +- **Heure de fin** : 164/308 actifs (53 %) | ||
| 91 | −- **Statut (annulé/reporté/complet)** : 2/278 actifs (1 %) | 91 | +- **Statut (annulé/reporté/complet)** : 2/308 actifs (1 %) | ||
| 92 | −- **Artistes** : 0/278 actifs (0 %) | 92 | +- **Artistes** : 0/308 actifs (0 %) | ||
| 93 | −- **Image** : 8/278 actifs (3 %) | 93 | +- **Image** : 41/308 actifs (13 %) | ||
| 94 | −- **Salle (venue)** : 278/278 actifs (100 %) | 94 | +- **Salle (venue)** : 308/308 actifs (100 %) | ||
| 95 | −- **Dernier sync** : 2026-08-21 20:55 — fetched 281, +0 ajoutés, ~0 mis à jour, -0 retirés | 95 | +- **Dernier sync** : 2026-08-22 22:59 — fetched 309, +33 ajoutés, ~0 mis à jour, -0 retirés | ||
| 96 | −- **Syncs enregistrés** (sync_log) : 61 | 96 | +- **Syncs enregistrés** (sync_log) : 83 | ||
| 97 | 97 | ||||
| 98 | ## Erreurs & dépannage | 98 | ## Erreurs & dépannage | ||
| 99 | 99 | ||||
modified
docs/connecteurs/sherbrooke.md
+25 −25
@@ -1,6 +1,6 @@ | |||||
| 1 | # Ville de Sherbrooke — Calendrier des événements (`sherbrooke`) | 1 | # Ville de Sherbrooke — Calendrier des événements (`sherbrooke`) | ||
| 2 | 2 | ||||
| 3 | −> Fiche générée le 2026-08-21 21:47 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | 3 | +> Fiche générée le 2026-08-22 23:01 EDT par `scripts/gen_connector_docs.py` — ne pas éditer à la main, relancer le script. | ||
| 4 | 4 | ||||
| 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/sherbrooke.py` | 5 | **Statut : actif** · Type : `municipal` · Connecteur : `sortika/connectors/sherbrooke.py` | ||
| 6 | 6 | ||||
@@ -36,30 +36,30 @@ | |||||
| 36 | 36 | ||||
| 37 | ## Champs récupérés → schéma | 37 | ## Champs récupérés → schéma | ||
| 38 | 38 | ||||
| 39 | −Complétude mesurée sur les **114 événements actifs** de la source ; exemples tirés d'un événement réel (`sherbrooke:2818`). | 39 | +Complétude mesurée sur les **109 événements actifs** de la source ; exemples tirés d'un événement réel (`sherbrooke:1610`). | ||
| 40 | 40 | ||||
| 41 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | 41 | | Champ (`events.*`) | Description | Complétude | Exemple réel | | ||
| 42 | |---|---|---|---| | 42 | |---|---|---|---| | ||
| 43 | −| `title` — Titre | titre de l'événement | 100 % | Semaine de la Santé | | 43 | +| `title` — Titre | titre de l'événement | 100 % | Festival de Danse Contemporaine de Sherbrooke | | ||
| 44 | −| `description` — Description | texte descriptif (source ou fiche détail) | 98 % | À l’occasion de la Semaine de la Santé, le Musée de la nature et des sciences de Sherbrooke prop… | | 44 | +| `description` — Description | texte descriptif (source ou fiche détail) | 98 % | Le Festival de Danse Contemporaine de Sherbrooke (FDCS) est un événement récurrent annuel, dans … | | ||
| 45 | −| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.sherbrooke.ca/fr/culture-sports-et-loisirs/calendrier-des-activites/2818/semaine-de-… | | 45 | +| `url` — URL | lien vers la fiche originale / billetterie | 100 % | https://www.sherbrooke.ca/fr/culture-sports-et-loisirs/calendrier-des-activites/1610/festival-de… | | ||
| 46 | −| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["autre"] | | 46 | +| `categories` — Catégories | taxonomie canonique Sorti-Ka (JSON) | 100 % | ["festival", "arts-scene"] | | ||
| 47 | | `venue` — Salle (venue) | nom du lieu | 0 % | ∅ | | 47 | | `venue` — Salle (venue) | nom du lieu | 0 % | ∅ | | ||
| 48 | | `address` — Adresse | adresse civique | 0 % | ∅ | | 48 | | `address` — Adresse | adresse civique | 0 % | ∅ | | ||
| 49 | | `city` — Ville | municipalité | 100 % | Sherbrooke | | 49 | | `city` — Ville | municipalité | 100 % | Sherbrooke | | ||
| 50 | | `region` — Région | région administrative | 100 % | Estrie | | 50 | | `region` — Région | région administrative | 100 % | Estrie | | ||
| 51 | | `lat` — GPS (lat/lng) | coordonnées géographiques | 0 % | ∅ | | 51 | | `lat` — GPS (lat/lng) | coordonnées géographiques | 0 % | ∅ | | ||
| 52 | −| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-17 | | 52 | +| `start_date` — Date début | date locale AAAA-MM-JJ | 100 % | 2026-08-20 | | ||
| 53 | −| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-21 | | 53 | +| `end_date` — Date fin | date locale AAAA-MM-JJ | 100 % | 2026-08-22 | | ||
| 54 | −| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 86 % | 09:00 | | 54 | +| `start_time` — Heure (start_time) | heure locale HH:MM (Québec) | 85 % | 19:00 | | ||
| 55 | −| `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 92 % | 17:00 | | 55 | +| `end_time` — Heure de fin (end_time) | heure locale HH:MM (Québec) | 92 % | 21:00 | | ||
| 56 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | 56 | | `status` — Statut | cancelled / postponed / soldout (NULL = prévu) | 0 % | ∅ | | ||
| 57 | −| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 100 % | 0 | | 57 | +| `is_free` — Gratuité (is_free) | 1 gratuit / 0 payant / NULL inconnu | 100 % | 1 | | ||
| 58 | | `price_min` — Prix min | tarif minimal réel ($) | 0 % | ∅ | | 58 | | `price_min` — Prix min | tarif minimal réel ($) | 0 % | ∅ | | ||
| 59 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | 59 | | `price_label` — Libellé prix | étiquette tarifaire affichable | 0 % | ∅ | | ||
| 60 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | 60 | | `artists` — Artistes | têtes d'affiche / lineup (JSON) | 0 % | [] | | ||
| 61 | | `organizer` — Organisateur | promoteur / organisme | 100 % | Ville de Sherbrooke | | 61 | | `organizer` — Organisateur | promoteur / organisme | 100 % | Ville de Sherbrooke | | ||
| 62 | −| `image` — Image | visuel (og:image ou média source) | 99 % | https://www.sherbrooke.ca/Fichiers/3337a882-4a53-e611-80ea-00155d09650f/Entities/0b82c068-841d-4… | | 62 | +| `image` — Image | visuel (og:image ou média source) | 99 % | https://www.sherbrooke.ca/Fichiers/3337a882-4a53-e611-80ea-00155d09650f/Entities/b34b6e54-1f7d-4… | | ||
| 63 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | 63 | | `website` — Site web | site officiel de l'événement | 0 % | ∅ | | ||
| 64 | 64 | ||||
| 65 | ## Fréquence & budgets | 65 | ## Fréquence & budgets | ||
@@ -69,19 +69,19 @@ Complétude mesurée sur les **114 événements actifs** de la source ; exemples | |||||
| 69 | 69 | ||||
| 70 | ## Volumétrie & complétude live | 70 | ## Volumétrie & complétude live | ||
| 71 | 71 | ||||
| 72 | −*(mesuré le 2026-08-21 21:47 EDT dans `data/sortika.db`)* | 72 | +*(mesuré le 2026-08-22 23:01 EDT dans `data/sortika.db`)* | ||
| 73 | − | 73 | + | ||
| 74 | −- **Événements en base** : 275 (dont **114 actifs**) | 74 | +- **Événements en base** : 275 (dont **109 actifs**) | ||
| 75 | −- **GPS** : 0/114 actifs (0 %) | 75 | +- **GPS** : 0/109 actifs (0 %) | ||
| 76 | −- **Prix** : 114/114 actifs (100 %) | 76 | +- **Prix** : 109/109 actifs (100 %) | ||
| 77 | −- **Heure (start_time)** : 98/114 actifs (86 %) | 77 | +- **Heure (start_time)** : 93/109 actifs (85 %) | ||
| 78 | −- **Heure de fin** : 105/114 actifs (92 %) | 78 | +- **Heure de fin** : 100/109 actifs (92 %) | ||
| 79 | −- **Statut (annulé/reporté/complet)** : 0/114 actifs (0 %) | 79 | +- **Statut (annulé/reporté/complet)** : 0/109 actifs (0 %) | ||
| 80 | −- **Artistes** : 0/114 actifs (0 %) | 80 | +- **Artistes** : 0/109 actifs (0 %) | ||
| 81 | −- **Image** : 113/114 actifs (99 %) | 81 | +- **Image** : 108/109 actifs (99 %) | ||
| 82 | −- **Salle (venue)** : 0/114 actifs (0 %) | 82 | +- **Salle (venue)** : 0/109 actifs (0 %) | ||
| 83 | −- **Dernier sync** : 2026-08-21 20:55 — fetched 274, +0 ajoutés, ~0 mis à jour, -0 retirés | 83 | +- **Dernier sync** : 2026-08-22 22:28 — fetched 274, +0 ajoutés, ~0 mis à jour, -0 retirés | ||
| 84 | −- **Syncs enregistrés** (sync_log) : 95 | 84 | +- **Syncs enregistrés** (sync_log) : 116 | ||
| 85 | 85 | ||||
| 86 | ## Erreurs & dépannage | 86 | ## Erreurs & dépannage | ||
| 87 | 87 | ||||
modified
docs/connecteurs/sitq.md
+16 −16
Large diff (53 lines) is not loaded by default to keep the page fast.Load diff
modified
docs/connecteurs/terrebonne.md
+1 −1
Large diff (7 lines) is not loaded by default to keep the page fast.Load diff
modified
docs/connecteurs/ticketacces.md
+31 −27
Large diff (89 lines) is not loaded by default to keep the page fast.Load diff
modified
docs/connecteurs/ticketmaster.md
+16 −16
Large diff (55 lines) is not loaded by default to keep the page fast.Load diff
added
docs/connecteurs/ticketpro.md
+113 −0
Large diff (113 lines) is not loaded by default to keep the page fast.Load diff
modified
docs/connecteurs/trois-rivieres.md
+1 −1
Large diff (7 lines) is not loaded by default to keep the page fast.Load diff
modified
docs/connecteurs/tuxedobillet.md
+28 −24
Large diff (85 lines) is not loaded by default to keep the page fast.Load diff
added
sortika/connectors/ticketpro.py
+146 −0
Large diff (147 lines) is not loaded by default to keep the page fast.Load diff