# `twitch-decouverte` — connecteur decouverte (palier 3) _Fiche générée automatiquement par `scripts/gen_connector_docs.py` le 2026-08-18 16:14 — ne pas éditer à la main, régénérer._ **État : actif** · Famille : decouverte (discovery) · Backend : direct · Créateurs découverts : 262 · touchés : 262 ## Description de la source Connecteur DÉCOUVERTE — streamers Twitch québécois via l'API GQL publique du site officiel (Client-ID public, sans clé) : recherche de chaînes par termes QC + répertoire des diffusions en français. Palier 3 (§9). Filtre conservateur : marqueur québécois OBLIGATOIRE dans le nom, la bio ou le titre du stream. - **Notes (registre)** : vague 4 — marqueur québécois OBLIGATOIRE dans nom/bio/titre du stream ; abonnés, avatar, partenaire/affilié, dernier direct et jeu captés à la source ; niche déduite du jeu (Just Chatting → lifestyle, Music → musique…) - **Signal d'identité** : profil_source (0.98) — la chaîne est le compte d'origine de la fiche (colonne `accounts.signal` / `confidence`) - **Module** : `creaka/connectors/twitch_decouverte.py` — classe `TwitchDecouverteConnector` (`kind = "discovery"`) ## Accès - **Accès (registre)** : API GQL publique du site officiel de Twitch (Client-ID public web, sans clé) : recherche searchFor par ~43 termes QC paginée + répertoire des diffusions EN DIRECT en français (streams languages:[FR], 20 pages) - **Type d'accès (code)** : pages HTML publiques - **Endpoint de base** : — - **Pagination** : curseur / continuation - **Backend anti-bot / rendu** : requests direct (session UA CreaKaBot, throttling poli) - **Politesse** : 1.0 s entre requêtes, timeout 30 s, UA `CreaKaBot/1.0 (+https://www.crea-ka.com/bot)` - **Authentification** : clé(s) API requise(s) — voir statut/registre ## Champs récupérés → schéma cible Source de **découverte** : produit des fiches `Creator` (tables `creators` + `accounts`). Complétude mesurée sur les 262 créateurs découverts par cette source (champ `doc.source`) ; exemple tiré d'une fiche réelle. | Champ du doc créateur | Contenu | Renseigné | Exemple réel | |---|---|---|---| | `display_name` | Nom public | 100 % | PlaqueBoyMax | | `bio` | Bio | 55 % | for business inquiries: [retiré] | | `region` | Région | 4 % | — | | `city` | Ville | 4 % | — | | `niches` | Niches (liste) | 100 % | lifestyle | | `languages` | Langues (liste) | 100 % | fr | | `creator_type` | Type de créateur | 100 % | streamer | | `primary_platform` | Plateforme principale | 100 % | twitch | | `platforms` | Comptes sociaux (liste) | 100 % | twitch:@plaqueboymax | | `avatar_url` | Avatar | 100 % | https://static-cdn.jtvnw.net/jtv_user_pictures/14f0fcfd-00d4-4004-9379-93e0c6336f5e-profi… | | `total_reach` | Portée totale (abonnés cumulés) | 74 % | 2841236 | | `link_in_bio_url` | Lien-en-bio | 0 % | — | ## Fréquence & budget - **Cadence déclarée (registre)** : quotidienne (watch) — qui est en direct change chaque jour, la couverture s'accumule - **Cadence observée** (médiane sync_log) : — - **Dernier passage** : 2026-08-18T14:33:13Z — 262 créateurs, 262 comptes, +262 / ~0, 0 erreur(s), 147 s - **Throttling** : 1.0 s entre requêtes (`request_delay`) ## Volumétrie & complétude - **Créateurs découverts par la source** (`doc.source`) : 262 · **fiches touchées** (`source_ids`) : 262 - **Complétude clé (découverts)** : niches 100 % · avatar 100 % · portée 74 % · région 4 % - **Runs journalisés (60 derniers)** : 1, dont 0 avec erreurs ## Erreurs connues & dépannage Aucune erreur ni alerte dans les 60 derniers runs journalisés. Rejouer la source seule : `python3 run.py sync twitch-decouverte` · vérifier `sync_log` (`SELECT * FROM sync_log WHERE source='twitch-decouverte' ORDER BY ts DESC LIMIT 5;`). ## Licence, attribution & conditions - **Cadre d'accès (registre)** : API GQL publique du site officiel de Twitch (Client-ID public web, sans clé) : recherche searchFor par ~43 termes QC paginée + répertoire des diffusions EN DIRECT en français (streams languages:[FR], 20 pages) - **API publique** utilisée selon ses conditions (pas de clé détournée, throttling poli) ; données limitées aux profils publics. - Retrait sur demande : contact@spboucher.ai (opt-out honoré à la prochaine ingestion). ## Historique - 2026-08-18 — plus ancien passage journalisé dans `sync_log` (fenêtre des 60 derniers). - 2026-08-18 — vague d'enrichissement : standardisation de la documentation des connecteurs (fiche générée par `scripts/gen_connector_docs.py`).