État du nœud — MAJ README ; gitignore *.log (logs de backfill)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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 |  |
| 24 | 24 |  |
| 25 | 25 |  |
| 26 | − | |
| 27 | − | |
| 26 | + | |
| 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.