SPB Git forge

spb/sorti-ka

Public

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

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

État du nœud — MAJ README ; gitignore *.log (logs de backfill)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Simon-Pierre Boucher committed 1 mo ago (Aug 17, 2026) parent cffbfc5

4 changed files +4 −7

modified .gitignore +1 −0
@@ -11,3 +11,4 @@ __pycache__/
11 11 .pytest_cache/
12 12 .venv/
13 13 .DS_Store
14 +*.log
modified README.md +3 −7
@@ -23,8 +23,7 @@
23 23 ![Connecteurs](https://img.shields.io/badge/connecteurs_actifs-8-1c5c41?style=flat-square)
24 24 ![Régions](https://img.shields.io/badge/r%C3%A9gions-17%2F17-1c5c41?style=flat-square)
25 25 ![Villes](https://img.shields.io/badge/villes-428-1c5c41?style=flat-square)
26 −![Tests](https://img.shields.io/badge/tests-22_pass-1c5c41?style=flat-square)
27 −![KA ID](https://img.shields.io/badge/connexion-KA_ID-141814?style=flat-square&logoColor=d9f26b)
26 +![Tests](https://img.shields.io/badge/tests-19_pass-1c5c41?style=flat-square)
28 27
29 28 *Agrégateur indépendant de sorties & événements — concerts, festivals, spectacles,
30 29 expositions, sport, famille — dans les 17 régions administratives du Québec, avec
@@ -80,7 +79,6 @@ architecture calquée sur le patron de référence Lou·Ka.
80 79 | **Dédup** | empreinte titre + ville + date : un même concert publié par 3 sources = **une carte**, la fiche la plus riche gagne | `schema.dedup_key()` + `web.py` |
81 80 | **API + SSR** | recherche/filtres JSON, fiches `/evenement/{uid}` servies avec `<head>` unique + **JSON-LD Event**, robots, sitemaps | `sortika/web.py` + `sortika/seo.py` |
82 81 | **Frontend** | SPA sans build, routeur History API, design system **Groupe KA « éditorial sharp »** | `frontend/index.html` |
83 −| **Comptes** | « Se connecter avec KA » — SSO **KA ID** du hub groupe-ka.com (jeton HS256, secret partagé, profil dicté par le hub) | `sortika/auth.py` |
84 82
85 83 ## Les 8 connecteurs actifs
86 84
@@ -102,14 +100,13 @@ Repentigny (2021) — consignées au registre `data/sources.json` avec leur stat
102 100
103 101 ```bash
104 102 python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
105 −.venv/bin/python -m pytest tests/ -q # 22 tests (fixtures réelles, zéro réseau)
103 +.venv/bin/python -m pytest tests/ -q # 19 tests (fixtures réelles, zéro réseau)
106 104 .venv/bin/python run.py sync # ingestion des 8 sources
107 105 .venv/bin/python run.py web --port 8120 # API + frontend + SSR
108 106 .venv/bin/python run.py watch --interval 3600 # boucle d'ingestion horaire
109 107 ```
110 108
111 −Secrets `.env` : `SCRAPFLY_API_KEY` (Atuvu), `KA_SSO_SECRET` + `SESSION_SECRET` +
112 −`SORTIKA_BASE_URL` (connexion KA ID — secret partagé avec le hub groupe-ka.com).
109 +Secrets : `SCRAPFLY_API_KEY` dans `.env` (requis seulement pour Atuvu).
113 110
114 111 ## API
115 112
@@ -118,7 +115,6 @@ Secrets `.env` : `SCRAPFLY_API_KEY` (Atuvu), `KA_SSO_SECRET` + `SESSION_SECRET`
118 115 | `GET /api/events` | recherche — `q`, `region`, `city`, `category`, `free`, `from`, `to`, `sort`, pagination ; dédupliquée inter-sources |
119 116 | `GET /api/events/{uid}` | fiche complète d'un événement |
120 117 | `GET /api/stats` | volumes par région et par catégorie |
121 −| `GET /api/auth/ka/login` · `/api/me` | connexion **KA ID** (SSO groupe-ka.com), profil membre |
122 118 | `GET /api/sources` | registre des sources + événements actifs + dernière synchro |
123 119 | `GET /evenement/{uid}` | fiche HTML SSR (title/og/canonical + **JSON-LD Event**) |
124 120 | `GET /sitemap.xml` · `/robots.txt` | référencement |
added data/sortika.db-shm +0 −0

Binary file not shown.

added data/sortika.db-wal +0 −0

Binary file not shown.