# `twitch` — connecteur enrichissement (palier 2) _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 : enrichissement (enrichment) · Backend : direct · Créateurs découverts : 0 · touchés : 0 ## Description de la source Connecteur ENRICHISSEMENT Twitch — profil public par créateur SANS clé via l'API GQL publique du site web officiel (Client-ID public), abonnés inclus. Voie Helix officielle conservée si des clés TWITCH_CLIENT_ID/TWITCH_CLIENT_SECRET apparaissent. Palier 2-3 (§9). - **Notes (registre)** : vague 3 — abonnés (followers.totalCount, que Helix ne donne plus sans jeton de modérateur depuis 2023), description → bio, avatar, partenaire/affilié, dernière diffusion + jeu (fraîcheur). Empreinte TLS : requests accepté (vérifié 2026-08-18), repli curl-binaire prévu - **Signal d'identité** : api_officielle (0.95) via Helix ; la voie GQL publique ne touche pas au score (colonne `accounts.signal` / `confidence`) - **Module** : `creaka/connectors/twitch.py` — classe `TwitchConnector` (`kind = "enrichment"`) ## Accès - **Accès (registre)** : API GQL publique du site web officiel (gql.twitch.tv, Client-ID public du client web — SANS clé, requêtes groupées 20 profils/POST) ; voie Helix officielle reprise si TWITCH_CLIENT_ID/SECRET fournis - **Type d'accès (code)** : API JSON - **Endpoint de base** : https://id.twitch.tv/oauth2/token - **URLs du module** : https://id.twitch.tv/oauth2/token · https://api.twitch.tv/helix/users · https://gql.twitch.tv/gql - **Pagination** : réponse unique (pas de pagination) - **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 Cible d'**enrichissement** : colonnes de la table `accounts` pour la/les plateforme(s) `twitch` (292 comptes en BD, confiance moyenne 0.97). | Colonne `accounts` | Contenu | Renseignée | Exemple réel | |---|---|---|---| | `handle` | Handle | 100 % | xqc | | `url` | URL du profil | 100 % | https://www.twitch.tv/xqc | | `followers` | Abonnés | 98 % | 12535875 | | `verified` | Badge vérifié | 96 % | 1 | | `confidence` | Confiance d'identité | 100 % | 0.85 | | `signal` | Signal d'identité | 100 % | base_publique | | `metrics` | Métriques détaillées (JSON) | 97 % | {"last_stream": "2026-08-18T08:03:23.924661Z", "game": "Just Chatting", "is_partner": tru… | | `last_checked` | Dernière vérification | 100 % | 2026-08-18T19:10:08Z | ## Fréquence & budget - **Cadence déclarée (registre)** : hebdomadaire - **Cadence observée** (médiane sync_log) : ≈ 3.9 h - **Dernier passage** : 2026-08-18T17:05:40Z — 289 créateurs, 372 comptes, +0 / ~289, 0 erreur(s), 16 s - **Throttling** : 1.0 s entre requêtes (`request_delay`) ## Volumétrie & complétude - **Créateurs découverts par la source** (`doc.source`) : 0 · **fiches touchées** (`source_ids`) : 0 - **Comptes `twitch` en BD** : 292 — abonnés 98 % · métriques 97 % · dernière vérification 2026-08-18T20:05:02Z - **Runs journalisés (60 derniers)** : 4, dont 0 avec erreurs ## Erreurs connues & dépannage | Passage | Erreurs | Alerte (sync_log) | |---|---|---| | 2026-08-18T01:06:19Z | 0 | 0 créateur retourné — source possiblement bloquée | Rejouer la source seule : `python3 run.py sync twitch` · vérifier `sync_log` (`SELECT * FROM sync_log WHERE source='twitch' ORDER BY ts DESC LIMIT 5;`). ## Licence, attribution & conditions - **Cadre d'accès (registre)** : API GQL publique du site web officiel (gql.twitch.tv, Client-ID public du client web — SANS clé, requêtes groupées 20 profils/POST) ; voie Helix officielle reprise si TWITCH_CLIENT_ID/SECRET fournis - **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 — date mentionnée au registre (voir notes/statut). - 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`).