docs: README ultra détaillé + visite guidée en 10 captures
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.