Créa·Ka
Les créateurs d'ici, tous leurs liens
Les pastilles de la deuxième rangée sont dynamiques : elles interrogent en direct
GET /api/statsdu site via shields.io.
Créa·Ka (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.
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.
Visite guidée
⚠️ Application archivée le 2026-09-04 — l'URL live (https://www.crea-ka.com) est hors fonction ; l'app a été retirée du cluster MacLustr (registre mld, admin-ka, gardiens, site groupe-ka). Ce dépôt spbgit reste la source de vérité pour une remise en service. Captures du 2026-08-28 (desktop 1440×900) — chiffres live du jour : 12 014 créateurs · 19 333 comptes reliés · 19 plateformes.
1 · Accueil — l'annuaire
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.
2 · /plateformes — page SEO programmatique (rendu serveur)
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é.
3 · /stats — les créateurs québécois en chiffres
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).
4 · /retrait — opt-out immédiat (Loi 25)
« 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é).
5 · /contact — nous joindre
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.
6 · /plateforme/youtube — annuaire préfiltré par plateforme
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.
7 · Fiche créateur — la fiche canonique
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.
8 · /favoris — « Mon univers Ka »
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).
9 · /compte — connexion KA ID (SSO)
« 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 ? ».
10 · /doc — le guide en ligne
« 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.
Vue mobile
Captures mobiles 390×844 du 2026-08-25, conservées dans docs/screenshots/mobile/ (et leurs pendants desktop .webp dans docs/screenshots/desktop/).
![]() Annuaire — cartes créateurs, tabbar basse |
![]() Fiche créateur — métriques multi-plateformes |
![]() Tableau de bord analytique |
🗄️ Les captures d'époque sont conservées dans
docs/archive/.
Chiffres clés (live, au 2026-08-28)
| Métrique | Valeur | Source |
|---|---|---|
| Créateurs publiés | 12 014 | GET /api/stats → creators |
| Comptes reliés | 19 333 | GET /api/stats → accounts |
| 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 |
| Créateurs multi-plateformes | 3 018 (+ 750 comptes vérifiés/badge) | /stats |
| Portée cumulée connue | 769,7 M d'abonnés (1,61 compte relié/créateur en moy.) | /stats |
| Niches | 20 | GET /api/taxonomies |
| Régions administratives | 17 (16 représentées) | GET /api/taxonomies |
| Tiers d'audience | nano 10 883 · micro 822 · macro 245 · méga 64 | by_tier |
| Connecteurs | 22 (comptés dans creaka/connectors/) |
code |
| Acteurs Apify maison | 13 (actors/ka-*) |
code |
| Tests pytest | 51 | pytest --collect-only |
Fonctionnalités
- Annuaire filtrable par niche (20), région (17 régions administratives), langue (fr/en/bilingue), plateforme et taille d'audience (nano/micro/macro/méga).
- Page dédiée par créateur —
/createur/{id}avec tous ses liens et métriques, bannière héro, Ka Score /100, sparkline d'audience et bloc live. - Pages SEO programmatiques —
/plateformes+/plateforme/{p}rendues en HTML, SSR léger des fiches créateur, robots/sitemaps. - Tableau de bord analytique
/stats+ rapports PDF aux couleurs Groupe KA (catalogue + ReportBuilder). - 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. - Connexion « Se connecter avec KA ID » (SSO du hub groupe-ka.com) + favoris unifiés « Mon univers Ka ».
- 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).
- 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.
- 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).
- Opt-out immédiat et persistant (
/retrait) : fiche masquée sur-le-champ, liste de suppressiondata/optout.json, jamais ré-agrégée.
API (endpoints principaux)
Servis par creaka/web.py (FastAPI) sur le port 8160.
| Méthode | Endpoint | Rôle |
|---|---|---|
GET |
/api/creators |
annuaire filtrable (q, niche, region, langue, plateforme, tier) |
GET |
/api/creators/{cid} |
fiche canonique d'un créateur (comptes, métriques, scores) |
GET |
/api/taxonomies |
niches, régions, plateformes, tiers d'audience, langues |
GET |
/api/sources |
registre des connecteurs : famille, mode d'accès, signal d'identité, cadence, dernière synchro |
GET |
/api/stats |
statistiques agrégées (créateurs, comptes, par plateforme/tier/niche/région, dernier sync) — alimente les pastilles dynamiques ci-dessus |
GET |
/api/stats/dashboard · /report · /catalog |
tableau de bord + rapports PDF (catalogue) |
POST |
/api/stats/report/custom |
rapport PDF personnalisé (ReportBuilder) |
POST |
/api/optout |
retrait immédiat et persistant d'un créateur |
GET / POST |
/api/favorites · /api/favorites/toggle |
favoris « Mon univers Ka » (session KA ID) |
GET |
/healthz · /api/health |
santé du service |
GET |
/doc/ |
guide d'utilisation en ligne |
Connecteurs
22 connecteurs auto-découverts (creaka/connectors/), relancés par le watch quotidien (cycle de 24 h). Le registre live GET /api/sources documente pour chaque source : famille, palier d'accès, mode d'accès, signal d'identité et cadence (mensuelle pour les datasets compilés, hebdomadaire pour les bases publiques, quotidienne pour la découverte plateformes — la couverture s'accumule à chaque passage).
| Famille | Connecteurs | Rôle |
|---|---|---|
| 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) |
| 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) |
| Découverte — balados | balados_itunes, balados_rss, podcastindex, palmares_apple |
baladodiffusion (iTunes, flux RSS, Podcast Index, palmarès Apple) |
| Enrichissement — profils | instagram, tiktok, youtube, twitch, x_profil, apify_social |
métriques et bios des comptes (API officielles, Scrapfly, acteurs Apify) |
| Enrichissement — liens | bio_liens, linkinbio |
comptes croisés révélés via les liens de bio et les pages link-in-bio |
La couche réseau des connecteurs (_resilient.py) enchaîne Oxylabs → Scrapfly → Bright Data en cas de blocage anti-bot. L'enrichissement profond multi-plateforme passe par 13 acteurs Apify maison (actors/ka-* : instagram, tiktok, youtube, x, facebook, threads, twitch, kick, patreon, fansly, discord, onlyfans, snapchat), avec retries durcis, rotation d'IP et snapshots quotidiens d'audience.
Architecture
Pipeline (calqué sur Lou·Ka) : découverte → extraction → résolution d'identité → normalisation → déduplication → SQLite → API/UI.
- Backend Python 3.14 / FastAPI (
creaka/web.py) : API + service du frontend statique. - SQLite (mode WAL) (
creaka/db.py) : fiches canoniques, index des comptes, journal des syncs. - Résolution d'identité (
creaka/identity.py) : signaux pondérés (profil_source0.98 ·link_in_bio0.95 ·cross_link0.90 · listes/bases publiques 0.85 ·handle_match0.75). - Éthique (
creaka/ethics.py) : purge des données privées, opt-out, régime restreint des mineurs. - Frontend SPA zéro build — template HTML généré par
scripts/build_frontend.py(icônes SVG injectées), design ka-ui « éditorial sharp », footer commun (ecosystem.json) ;frontend/dist/est tracké dans ce repo (y compris le guide/doc). - 51 tests pytest (identité, homonymes, éthique, périmètre QC, link-in-bio, normalisation…).
Processus PM2 sur le nœud :
| Processus | Rôle | Commande de démarrage réelle | Cadence |
|---|---|---|---|
crea-ka-web |
API FastAPI + frontend sur le port 8160 | .venv/bin/python run.py serve 8160 |
continu |
crea-ka-sync |
watch de synchronisation : découverte + enrichissement | .venv/bin/python run.py watch 24 |
cycle de 24 h |
crea-ka-ngrok |
tunnel vers www.crea-ka.com | ngrok http --url=www.crea-ka.com 8160 |
continu |
Démarrage rapide
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
cp .env.example .env # remplir les clés (voir section suivante)
.venv/bin/python -m pytest tests/ -q # 51 tests
python3 run.py sync # découverte + enrichissement (toutes sources)
python3 run.py sync youtube instagram # …ou seulement certaines sources
python3 run.py watch 24 # sync en boucle (cycle de 24 h)
python3 run.py serve 8160 # API + frontend → http://localhost:8160
python3 scripts/build_frontend.py # regénère frontend/dist
python3 run.py optout "instagram:handle" # retrait manuel immédiatVariables d'environnement
Gabarit dans .env.example (copier vers .env — jamais commité, aucun secret dans le repo). Noms seulement :
| Variable | Rôle |
|---|---|
SCRAPFLY_KEY |
profils Instagram/TikTok (palier 4, à minimiser) |
FIRECRAWL_API_KEY |
repli pages link-in-bio / listes publiques |
YOUTUBE_API_KEY |
API officielle YouTube (privilégiée) |
TWITCH_CLIENT_ID · TWITCH_CLIENT_SECRET |
API officielle Twitch |
PODCASTINDEX_API_KEY · PODCASTINDEX_API_SECRET |
enrichissement balados (gratuit ; sans clés, le connecteur est sauté proprement) |
APIFY_TOKEN |
acteurs Apify maison (enrichissement 13 plateformes) |
APIFY_FORCE · APIFY_MAX_SHARDS · APIFY_SHARD_SIZE · APIFY_REVISIT_DAYS · APIFY_RUN_CONCURRENCY · APIFY_RUN_MEMORY_MB |
réglages fins des passes Apify (couverture forcée, sharding, fraîcheur, concurrence, mémoire) |
KA_HUB_URL · KA_SSO_SECRET · SESSION_SECRET |
SSO KA ID (hub groupe-ka.com) et sessions |
CREAKA_BASE_URL |
URL publique du site (SEO/liens absolus) |
Données & conformité
- Provenance : uniquement des profils publics et professionnels — listes et palmarès médias publics, Wikidata/Wikipédia, annuaires publics, recherche publique des plateformes, API officielles (YouTube, Twitch, Podcast Index) et pages de profil publiques. Le registre
GET /api/sourcesdocumente chaque source (mode d'accès, signal d'identité, cadence). - Cadence de resync : le processus
crea-ka-syncrelance découverte + enrichissement en cycle de 24 h (run.py watch 24) ; dernier sync exposé dans/api/stats.last_sync. - Éthique & Loi 25 : purge des données privées (
creaka/ethics.py), régime restreint des mineurs, opt-out immédiat et persistant via/retraitouPOST /api/optout(listedata/optout.json, jamais ré-agrégée). - Qualité d'identité : score de confiance par rattachement ; sous 0.50 le compte n'est jamais publié ; fusion des doublons uniquement sur compte fort partagé, jamais sur le nom (homonymes).
- Périmètre québécois : marqueurs QC obligatoires à la découverte ; purge des fiches hors-Québec (4 605 fiches retirées le 2026-08-20).
Structure du repo
crea-ka/
├── run.py # CLI : sync · watch · serve · optout
├── creaka/ # cœur Python : schema, identity, dedup, ethics, db, web, auth, stats, kaid, kapdf, seo, hubfav + connectors/ (22)
├── frontend/ # src/ (template) → dist/ (généré par build_frontend.py, tracké — incl. doc/)
├── scripts/ # build_frontend.py · deploy-m3u96b.sh · gen_connector_docs.py · screenshots.sh
├── tests/ # 51 tests pytest
├── data/ # SQLite, optout.json, sources.json, datasets locaux (gitignorés au besoin)
├── actors/ # 13 acteurs Apify maison (ka-instagram, ka-tiktok, ka-youtube, ka-x, …)
└── docs/ # screenshots/ (visite guidée 01→10 + mobile/desktop webp) · archive/ · connecteurs/Documentation
- Guide en ligne : 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.
- Guide PDF : crea-ka-documentation.pdf — la même documentation, téléchargeable.
- Les captures du guide sont versionnées dans
frontend/dist/doc/img/(etape1 → etape4) ; celles de la visite guidée ci-dessus dansdocs/screenshots/.
Historique
Jalons tirés du git log :
- 2026-08-17 — commit initial : pipeline, premiers connecteurs, design ka-ui « éditorial sharp », SSO KA ID, tableau de bord
/stats, widget KA Agent. - 2026-08-18 — vagues 2 à 4 d'expansion : balados (RSS, Podcast Index), Twitch GQL et InnerTube sans clé,
twitch/kick-decouverte(Scrapfly), 1 361 requêtes YouTube, enrichisseurregion_bio; 12 connecteurs Apify maison + couverture 13 plateformes. - 2026-08-19 — campagne mobile (socle tokens.css, champs ≥16 px), KA Agent v2 plein écran,
/statsv2 + 5 rapports PDF. - 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).
- 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.
- 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. - 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/).
Développement (remote-first)
La source de vérité est le repo git sur le nœud M3U96b (~/apps/crea-ka) — on n'édite jamais les copies laptop. Toute modification se fait sur le nœud via SSH : édition, tests, pm2 restart, puis commit/push depuis le nœud.
- Remote
origin= spbgit (git perso git.spboucher.ai, bare repos sur M3U96a). Pas GitHub. - L'agent forwarding SSH est actif : le
git push origin mainfonctionne pendant une session SSH depuis le laptop.
pm2 restart crea-ka-web # après un changement en productionDéploiement
- Nœud : M3U96b (Mac Studio, cluster MacLustr) — répertoire
~/apps/crea-ka - Port : 8160 (local, exposé uniquement via le tunnel)
- Processus PM2 :
crea-ka-web(serveur) +crea-ka-sync(synchro) +crea-ka-ngrok(tunnel) - Domaine : https://www.crea-ka.com (tunnel ngrok)
Écosystème Groupe KA
| Plateforme | Vocation |
|---|---|
| groupe-ka.com | portail du groupe et compte unique KA ID |
| lou-ka.com | logements à louer |
| immo-ka.com | propriétés à vendre |
| vrai-prix.com | estimation immobilière |
| auto-ka.com | véhicules |
| fabri-ka.com | produits québécois |
| food-ka.com | épicerie et alimentation |
| resto-ka.com | restaurants |
| sorti-ka.com | sorties et événements |
| job-ka.com | emplois |
| crea-ka.com | créateurs de contenu (ce repo) |
| trouve-ka.com | petites annonces |
| api-ka.com | API de données |
Contact
Simon-Pierre Boucher — fondateur, Groupe KA 📧 contact@spboucher.ai
© Groupe KA — Simon-Pierre Boucher · contact@spboucher.ai Ce repo vit sur spbgit (git.spboucher.ai).













