SPB Git forge

spb/crea-ka

Public

Créa·Ka — annuaire public cross-plateforme des créateurs de contenu québécois (crea-ka.com)

52commits 1branches 0releases
11.3 MBsize
maindefault branch
19 days agolast push
Python 73.6% HTML 13.2% TypeScript 6% JavaScript 4.5% CSS 1.7% Dockerfile 0.6%

docs: README ultra détaillé + visite guidée en 10 captures

Simon-Pierre Boucher committed 26 days ago (Aug 29, 2026) parent f6c96ef

11 changed files +80 −38

modified README.md +80 −38
@@ -45,15 +45,77 @@
45 45
46 46 > Les pastilles de la deuxième rangée sont **dynamiques** : elles interrogent en direct `GET /api/stats` du site via shields.io.
47 47
48 **Créa·Ka** ([www.crea-ka.com](https://www.crea-ka.com)) est l'**annuaire public, québécois et cross-plateforme des créateurs de contenu** — croisement entre un annuaire cherchable et un « Linktree collectif ». **12 791 créateurs** et **18 942 comptes reliés** sur **19 plateformes** (au 2026-08-24). Chaque créateur québécois a **une fiche canonique** qui regroupe **tous ses comptes publics** — Instagram, TikTok, YouTube, Twitch, X, Facebook, Snapchat, Kick, Substack, Patreon, OnlyFans, balado… — chacun avec son URL canonique, ses métriques (abonnés, publications, j'aime, vues, épisodes) et son **score de confiance de rattachement**.
48 +**Créa·Ka** ([www.crea-ka.com](https://www.crea-ka.com)) est l'**annuaire public, québécois et cross-plateforme des créateurs de contenu** — croisement entre un annuaire cherchable et un « Linktree collectif ». **12 014 créateurs** et **19 333 comptes reliés** sur **19 plateformes** (au 2026-08-28). Chaque créateur québécois a **une fiche canonique** qui regroupe **tous ses comptes publics** — Instagram, TikTok, YouTube, Twitch, X, Facebook, Snapchat, Kick, Substack, Patreon, OnlyFans, balado… — chacun avec son URL canonique, ses métriques (abonnés, publications, j'aime, vues, épisodes) et son **score de confiance de rattachement**.
49 49
50 50 Pour qui ? Le public qui découvre des créateurs par niche, région, langue ou taille d'audience ; les créateurs eux-mêmes (fiche, opt-out) ; les marques et médias qui cherchent un annuaire public là où les bases existantes sont payantes, généralistes et anglophones. L'**éthique prime sur tout** : profils publics et professionnels seulement, purge des données privées, opt-out immédiat et persistant, régime restreint des mineurs, conformité Loi 25.
51 51
52 52 ## Visite guidée
53 53
54 *Captures du 2026-08-25 (mobile 390×844 · desktop 1440×900).*
54 +*Captures du 2026-08-28 (desktop 1440×900) — chiffres live du jour : 12 014 créateurs · 19 333 comptes reliés · 19 plateformes.*
55 55
56 ### Mobile
56 +### 1 · Accueil — l'annuaire
57 +
58 +<a href="https://www.crea-ka.com/"><img src="docs/screenshots/01-accueil.jpg" width="880" alt="Accueil Créa·Ka"></a>
59 +
60 +Le héros « **Chaque créateur québécois. Tous ses liens.** » avec les compteurs live (12 014 créateurs · 19 333 comptes reliés · 19 plateformes), les quatre promesses du produit (**cross-plateforme**, **découvrable**, **liens vérifiés**, **respectueux** — Loi 25), la recherche plein texte et les six filtres (niche, région, plateforme, taille, langue, tri). En dessous, la grille de cartes créateurs : avatar, badge de tier (MÉGA/macro/micro/nano) et nombre de plateformes reliées. La bulle **Ka** en bas à droite est le widget KA Agent.
61 +
62 +### 2 · /plateformes — page SEO programmatique (rendu serveur)
63 +
64 +<a href="https://www.crea-ka.com/plateformes"><img src="docs/screenshots/02-plateformes.jpg" width="880" alt="Page plateformes (SSR)"></a>
65 +
66 +La page `/plateformes` telle que **servie aux moteurs de recherche** (HTML rendu côté serveur avant hydratation de la SPA) : « Créateurs québécois par plateforme — 19 plateformes », une entrée par plateforme avec le décompte de créateurs (YouTube 8 912 · Instagram 3 533 · Facebook 1 772 · TikTok 1 038 · X 931 · Twitch 634 · balado 250 · OnlyFans 250 · Spotify 221 · Discord 221 · site web 189 · Kick 147 · Threads 128 · LinkedIn 64 · Patreon 54 · Snapchat 29 · Substack 24 · MYM 24 · Fansly 19). Chaque entrée pointe vers `/plateforme/{p}` — dans le navigateur, la SPA reprend la main et affiche l'annuaire filtré.
67 +
68 +### 3 · /stats — les créateurs québécois en chiffres
69 +
70 +<a href="https://www.crea-ka.com/stats"><img src="docs/screenshots/03-stats.jpg" width="880" alt="Tableau de bord statistiques"></a>
71 +
72 +Le tableau de bord analytique : tuiles KPI (12 014 créateurs au répertoire, 19 333 comptes publics reliés, **3 018 créateurs multi-plateformes**, **750 comptes vérifiés**, 20 niches, 16 régions, **769,7 M d'abonnés en portée cumulée connue**, 1,61 compte relié par créateur en moyenne), sélecteur de période (aujourd'hui → 12 mois → tout → plage libre), jauges « taux & couvertures » (créateurs multi-plateformes, fiches avec biographie, avec ville ou région, avec audience connue, complétude moyenne) et boutons **Rapport PDF complet** + catalogue « Autres rapports » (kapdf/ReportBuilder).
73 +
74 +### 4 · /retrait — opt-out immédiat (Loi 25)
75 +
76 +<a href="https://www.crea-ka.com/retrait"><img src="docs/screenshots/04-retrait.jpg" width="880" alt="Formulaire de retrait"></a>
77 +
78 +« Vie privée d'abord » : un créateur ou une créatrice qui ne veut plus figurer dans l'annuaire remplit nom public + un de ses comptes (`plateforme:handle`), raison et courriel facultatifs — la fiche est **masquée immédiatement** et exclue de toute ré-agrégation future (liste persistante `data/optout.json`). Le même formulaire sert aux corrections d'erreur (mauvais compte rattaché).
79 +
80 +### 5 · /contact — nous joindre
81 +
82 +<a href="https://www.crea-ka.com/contact"><img src="docs/screenshots/05-contact.jpg" width="880" alt="Page contact"></a>
83 +
84 +Les trois courriels du Groupe KA (contact@ projets & partenariats · info@ médias · admin@ légal, vie privée & Loi 25), le rappel de la posture d'agrégateur (« nous ne vendons rien, ne louons rien et ne sommes partie à aucune transaction »), le bouton « Demander un retrait (Loi 25) » et l'annuaire des plateformes du groupe.
85 +
86 +### 6 · /plateforme/youtube — annuaire préfiltré par plateforme
87 +
88 +<a href="https://www.crea-ka.com/plateforme/youtube"><img src="docs/screenshots/06-plateforme-youtube.jpg" width="880" alt="Annuaire filtré YouTube"></a>
89 +
90 +Chaque plateforme a son URL dédiée : ici `/plateforme/youtube` ouvre l'annuaire avec le filtre **YouTube** présélectionné — **8 912 créateurs trouvés**. Même mécanique pour les 18 autres plateformes ; ces pages sont aussi rendues en HTML côté serveur pour le SEO.
91 +
92 +### 7 · Fiche créateur — la fiche canonique
93 +
94 +<a href="https://www.crea-ka.com/createur/10-21-42km"><img src="docs/screenshots/07-createur-10-21-42km.jpg" width="880" alt="Fiche créateur"></a>
95 +
96 +La fiche `/createur/{id}` (ici le magazine sportif *10-21-42KM*) : **bannière héro**, avatar, badges tier/niche/langue (nano · sport & fitness · français), bio, tuiles de métriques cumulées (70 abonnés cumulés · 1 plateforme · 12 contenus analysés · plateforme nº 1 YouTube), onglets **Vue d'ensemble** + un onglet par plateforme reliée, et le **Ka Score /100** avec ses jauges (audience…). Bouton « Se connecter avec KA ID » pour mettre le créateur en favori.
97 +
98 +### 8 · /favoris — « Mon univers Ka »
99 +
100 +<a href="https://www.crea-ka.com/favoris"><img src="docs/screenshots/08-favoris.jpg" width="880" alt="Page favoris"></a>
101 +
102 +Les créateurs favoris sont gardés dans le compte **KA ID** sur groupe-ka.com : les mêmes favoris suivent l'utilisateur sur toutes les plateformes du Groupe KA (« un seul compte pour tout le groupe — vos favoris sont entreposés au hub, jamais ici »). En bas : le footer commun de l'écosystème (`ecosystem.json`).
103 +
104 +### 9 · /compte — connexion KA ID (SSO)
105 +
106 +<a href="https://www.crea-ka.com/compte"><img src="docs/screenshots/09-compte.jpg" width="880" alt="Connexion KA ID"></a>
107 +
108 +« Connectez-vous avec votre **KA ID** » : le même compte que sur groupe-ka.com, Lou-Ka, Vrai-Prix et les autres plateformes du groupe (SSO du hub). Boutons se connecter / créer un compte / « Qu'est-ce que KA ID ? ».
109 +
110 +### 10 · /doc — le guide en ligne
111 +
112 +<a href="https://www.crea-ka.com/doc/"><img src="docs/screenshots/10-doc.jpg" width="880" alt="Documentation en ligne"></a>
113 +
114 +« Comment fonctionne Créa·Ka » : la documentation illustrée intégrée au site (vue d'ensemble, parcours en 4 étapes, provenance des données, FAQ), avec cartes de synthèse (fiches canoniques, 20 niches · 17 régions, connecteurs) et bouton **Télécharger le PDF**.
115 +
116 +### Vue mobile
117 +
118 +*Captures mobiles 390×844 du 2026-08-25, conservées dans `docs/screenshots/mobile/` (et leurs pendants desktop `.webp` dans `docs/screenshots/desktop/`).*
57 119
58 120 <table>
59 121 <tr>
@@ -63,41 +125,20 @@ Pour qui ? Le public qui découvre des créateurs par niche, région, langue ou
63 125 </tr>
64 126 </table>
65 127
66 ### Desktop
67
68 <table>
69 <tr>
70 <td align="center"><img src="docs/screenshots/desktop/home.webp" width="420" alt="Accueil desktop"><br><sub><b>Accueil — l'annuaire des créateurs québécois</b></sub></td>
71 <td align="center"><img src="docs/screenshots/desktop/createur.webp" width="420" alt="Fiche créateur"><br><sub><b>Fiche créateur — abonnés cumulés, plateformes, liens</b></sub></td>
72 </tr>
73 <tr>
74 <td align="center"><img src="docs/screenshots/desktop/plateformes.webp" width="420" alt="Plateformes"><br><sub><b>Pages plateformes (SEO programmatique SSR)</b></sub></td>
75 <td align="center"><img src="docs/screenshots/desktop/villes.webp" width="420" alt="Villes"><br><sub><b>Pages villes</b></sub></td>
76 </tr>
77 <tr>
78 <td align="center" colspan="2"><img src="docs/screenshots/desktop/stats.webp" width="640" alt="Stats"><br><sub><b>Statistiques — 11 800+ créateurs, 13 plateformes suivies</b></sub></td>
79 </tr>
80 </table>
81
82 ### Nouveautés (2026-08)
83
84 - **Favoris unifiés « Mon univers Ka »** (KA ID) — synchronisés avec le hub groupe-ka.com.
85 - **Pages programmatiques SEO**`/plateformes`, `/plateforme/{p}`, `/villes` rendues en HTML côté serveur.
86 - **Widget ka-agent v4** — cartes créateurs cliquables et choix en boutons.
87 - **Header opaque + z-index en tokens** (standard header/menu KA).
88
89 128 > 🗄️ Les captures d'époque sont conservées dans [`docs/archive/`](docs/archive/).
90 129
91 ## Chiffres clés (live, au 2026-08-24)
130 +## Chiffres clés (live, au 2026-08-28)
92 131
93 132 | Métrique | Valeur | Source |
94 133 |---|---|---|
95 | Créateurs publiés | **12 791** | `GET /api/stats``creators` |
96 | Comptes reliés | **18 942** | `GET /api/stats``accounts` |
97 | Plateformes avec comptes | **19** (YouTube 9 990 · Instagram 3 374 · Facebook 1 543 · TikTok 995 · X 854 · Twitch 612 · balados 273 · OnlyFans 260 · Discord 235 · Spotify 205…) | `by_platform` |
134 +| Créateurs publiés | **12 014** | `GET /api/stats``creators` |
135 +| Comptes reliés | **19 333** | `GET /api/stats``accounts` |
136 +| Plateformes avec comptes | **19** (YouTube 9 405 · Instagram 3 654 · Facebook 1 849 · TikTok 1 097 · X 953 · Twitch 648 · balados 283 · OnlyFans 263 · Discord 258 · Spotify 230 · site web 192 · Kick 147 · Threads 128…) | `by_platform` |
137 +| Créateurs multi-plateformes | **3 018** (+ 750 comptes vérifiés/badge) | `/stats` |
138 +| Portée cumulée connue | **769,7 M** d'abonnés (1,61 compte relié/créateur en moy.) | `/stats` |
98 139 | Niches | **20** | `GET /api/taxonomies` |
99 | Régions administratives | **17** | `GET /api/taxonomies` |
100 | Tiers d'audience | nano 11 644 · micro 842 · macro 242 · méga 63 | `by_tier` |
140 +| Régions administratives | **17** (16 représentées) | `GET /api/taxonomies` |
141 +| Tiers d'audience | nano 10 883 · micro 822 · macro 245 · méga 64 | `by_tier` |
101 142 | Connecteurs | **22** (comptés dans `creaka/connectors/`) | code |
102 143 | Acteurs Apify maison | **13** (`actors/ka-*`) | code |
103 144 | Tests pytest | **51** | `pytest --collect-only` |
@@ -110,7 +151,7 @@ Pour qui ? Le public qui découvre des créateurs par niche, région, langue ou
110 151 - **Tableau de bord analytique** `/stats` + rapports PDF aux couleurs Groupe KA (catalogue + ReportBuilder).
111 152 - **API publique**`GET /api/creators` (filtres q/niche/region/langue/plateforme/tier), `/api/creators/{id}`, `/api/stats`, `/api/taxonomies`, `/api/sources`, `POST /api/optout`, `/healthz`.
112 153 - **Connexion « Se connecter avec KA ID »** (SSO du hub groupe-ka.com) + favoris unifiés « Mon univers Ka ».
113 - **Widget KA Agent** — bulle de chat IA du Groupe KA câblée sur le site (v3 : bulle déplaçable, position mémorisée).
154 +- **Widget KA Agent** — bulle de chat IA du Groupe KA câblée sur le site (v3 : bulle déplaçable, position mémorisée) + recommandations KA ID (modèle ALS collaboratif, v2.2).
114 155 - **Couverture cumulative** — un watch quotidien relance découverte + enrichissement : nouveaux créateurs, métriques rafraîchies, comptes croisés révélés via les liens de bio et les pages link-in-bio.
115 156 - **Score de confiance** sur chaque rattachement de compte — sous 0.50 → « à vérifier », jamais publié ; fusion des doublons uniquement sur compte fort partagé, **jamais sur le nom** (homonymes).
116 157 - **Opt-out immédiat et persistant** (`/retrait`) : fiche masquée sur-le-champ, liste de suppression `data/optout.json`, jamais ré-agrégée.
@@ -140,7 +181,7 @@ Servis par `creaka/web.py` (FastAPI) sur le port 8160.
140 181 | Famille | Connecteurs | Rôle |
141 182 |---|---|---|
142 183 | Découverte — listes & bases publiques | `listes_medias`, `wikidata_qc`, `wikipedia_qc`, `onlyqueb`, `region_bio`, `tavily_seed`, `snowball` | amorcer et étendre l'annuaire (listes médias, Wikidata/Wikipédia QC, villes déclarées en bio, moisson web Tavily, boule de neige sur les profils reliés Instagram) |
143 | Découverte — plateformes | `youtube_recherche`, `twitch_decouverte`, `kick_decouverte` | trouver de nouveaux créateurs québécois directement sur les plateformes |
184 +| Découverte — plateformes | `youtube_recherche`, `twitch_decouverte`, `kick_decouverte` | trouver de nouveaux créateurs québécois directement sur les plateformes (Twitch GQL public, Kick via Scrapfly) |
144 185 | Découverte — balados | `balados_itunes`, `balados_rss`, `podcastindex`, `palmares_apple` | baladodiffusion (iTunes, flux RSS, Podcast Index, palmarès Apple) |
145 186 | Enrichissement — profils | `instagram`, `tiktok`, `youtube`, `twitch`, `x_profil`, `apify_social` | métriques et bios des comptes (API officielles, Scrapfly, acteurs Apify) |
146 187 | Enrichissement — liens | `bio_liens`, `linkinbio` | comptes croisés révélés via les liens de bio et les pages link-in-bio |
@@ -209,20 +250,20 @@ Gabarit dans `.env.example` (copier vers `.env` — jamais commité, aucun secre
209 250 ```
210 251 crea-ka/
211 252 ├── run.py # CLI : sync · watch · serve · optout
212 ├── creaka/ # cœur Python : schema, identity, dedup, ethics, db, web, auth, stats, kapdf + connectors/ (22)
253 +├── creaka/ # cœur Python : schema, identity, dedup, ethics, db, web, auth, stats, kaid, kapdf, seo, hubfav + connectors/ (22)
213 254 ├── frontend/ # src/ (template) → dist/ (généré par build_frontend.py, tracké — incl. doc/)
214 ├── scripts/ # build_frontend.py · deploy-m3u96b.sh · screenshots.sh
255 +├── scripts/ # build_frontend.py · deploy-m3u96b.sh · gen_connector_docs.py · screenshots.sh
215 256 ├── tests/ # 51 tests pytest
216 257 ├── data/ # SQLite, optout.json, sources.json, datasets locaux (gitignorés au besoin)
217 258 ├── actors/ # 13 acteurs Apify maison (ka-instagram, ka-tiktok, ka-youtube, ka-x, …)
218 └── docs/ # captures d'écran + docs connecteurs
259 +└── docs/ # screenshots/ (visite guidée 01→10 + mobile/desktop webp) · archive/ · connecteurs/
219 260 ```
220 261
221 262 ## Documentation
222 263
223 264 - **Guide en ligne** : [www.crea-ka.com/doc/](https://www.crea-ka.com/doc/) — à quoi sert le site, le parcours en 4 étapes (annuaire → plateformes → fiche créateur → /stats), d'où viennent les données, FAQ.
224 265 - **Guide PDF** : [crea-ka-documentation.pdf](https://www.crea-ka.com/doc/crea-ka-documentation.pdf) — la même documentation, téléchargeable.
225 - Les captures du guide sont versionnées dans `frontend/dist/doc/img/` (etape1 → etape4).
266 +- Les captures du guide sont versionnées dans `frontend/dist/doc/img/` (etape1 → etape4) ; celles de la visite guidée ci-dessus dans `docs/screenshots/`.
226 267
227 268 ## Historique
228 269
@@ -234,6 +275,7 @@ Jalons tirés du `git log` :
234 275 - **2026-08-20** — seeds vague 3 (+392 créateurs QC) et périmètre QC durci : purge de 4 605 fiches hors-Québec ; « fiches légendaires » (bannières, Ka Score /100, sparklines, snapshots quotidiens d'audience).
235 276 - **2026-08-21/22** — acteurs Apify durcis (retries, rotation d'IP, concurrence par acteur), chaîne anti-bot résiliente Oxylabs → Scrapfly → Bright Data, SEO SSR des fiches + robots/sitemaps, standard header KA.
236 277 - **2026-08-23/24** — pages SEO programmatiques `/plateformes`, rapports PDF personnalisés (ReportBuilder), favoris unifiés « Mon univers Ka », page documentation `/doc` + guide PDF, README v3.
278 +- **2026-08-26/28** — KA ID v2 → v2.2 (`kaid.py`) : recommandations personnalisées par filtrage collaboratif (similarité utilisateurs, modèle ALS, langue transversale, pilules « Sauvegarder cette recherche »/« Pas pour moi » dans le SDK) ; README v4 + visite guidée en 10 captures (`docs/screenshots/`).
237 279
238 280 ## Développement (remote-first)
239 281
added docs/screenshots/01-accueil.jpg +0 −0

Binary file not shown.

added docs/screenshots/02-plateformes.jpg +0 −0

Binary file not shown.

added docs/screenshots/03-stats.jpg +0 −0

Binary file not shown.

added docs/screenshots/04-retrait.jpg +0 −0

Binary file not shown.

added docs/screenshots/05-contact.jpg +0 −0

Binary file not shown.

added docs/screenshots/06-plateforme-youtube.jpg +0 −0

Binary file not shown.

added docs/screenshots/07-createur-10-21-42km.jpg +0 −0

Binary file not shown.

added docs/screenshots/08-favoris.jpg +0 −0

Binary file not shown.

added docs/screenshots/09-compte.jpg +0 −0

Binary file not shown.

added docs/screenshots/10-doc.jpg +0 −0

Binary file not shown.