# `youtube` — 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 YouTube — stats de chaîne par créateur. Mode d'accès : YouTube Data API v3 (OFFICIELLE, privilégiée §10) si YOUTUBE_API_KEY est définie ; sinon voie SANS clé complète (vague 3) : page publique de la chaîne + InnerTube « browse » (l'API interne que la page elle-même appelle, clé publique embarquée). Palier 2-3 (§9). - **Notes (registre)** : abonnés, nb de vidéos, vues totales (si affichées), date de la dernière vidéo (dormant >12 mois), description → bio, bannière + avatar, pays affiché - **Signal d'identité** : api_officielle (0.95) quand confirmé par l'API ; la voie publique ne touche pas au score (colonne `accounts.signal` / `confidence`) - **Module** : `creaka/connectors/youtube.py` — classe `YouTubeConnector` (`kind = "enrichment"`) ## Accès - **Accès (registre)** : YouTube Data API v3 (officielle) si YOUTUBE_API_KEY, sinon voie publique complète SANS clé (vague 3) : page de chaîne (ytInitialData) + InnerTube browse du panneau « À propos » (clé publique embarquée) + page /videos - **Type d'accès (code)** : API JSON - **Endpoint de base** : https://www.googleapis.com/youtube/v3/channels?part=statistics,snippet&forHandle={h}&key={key} - **URLs du module** : https://www.googleapis.com/youtube/v3/channels · https://www.youtube.com/@{h} · https://www.youtube.com/channel/{h} · https://www.youtube.com/youtubei/v1/browse - **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 Cible d'**enrichissement** : colonnes de la table `accounts` pour la/les plateforme(s) `youtube` (8086 comptes en BD, confiance moyenne 0.98). | Colonne `accounts` | Contenu | Renseignée | Exemple réel | |---|---|---|---| | `handle` | Handle | 100 % | nilered | | `url` | URL du profil | 100 % | https://www.youtube.com/@nilered | | `followers` | Abonnés | 94 % | 10900000 | | `verified` | Badge vérifié | 0 % | — | | `confidence` | Confiance d'identité | 100 % | 0.9 | | `signal` | Signal d'identité | 100 % | cross_link | | `metrics` | Métriques détaillées (JSON) | 18 % | {"yt_checked": "2026-08-18T10:08:15Z", "videos": 400, "views": 4647638686, "last_video": … | | `last_checked` | Dernière vérification | 100 % | 2026-08-18T19:58:58Z | ## Fréquence & budget - **Cadence déclarée (registre)** : quotidienne (watch) — cap 300 chaînes/passage, rotation 14 j (≈4 200 comptes → convergence ~2 semaines) - **Cadence observée** (médiane sync_log) : ≈ 3.5 h - **Dernier passage** : 2026-08-18T17:21:57Z — 256 créateurs, 264 comptes, +0 / ~256, 44 erreur(s), 977 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 `youtube` en BD** : 8086 — abonnés 94 % · métriques 18 % · dernière vérification 2026-08-18T20:05:02Z - **Runs journalisés (60 derniers)** : 5, dont 3 avec erreurs ## Erreurs connues & dépannage | Passage | Erreurs | Alerte (sync_log) | |---|---|---| | 2026-08-18T17:21:57Z | 44 | — | | 2026-08-18T13:42:12Z | 38 | — | | 2026-08-18T10:24:39Z | 36 | — | Rejouer la source seule : `python3 run.py sync youtube` · vérifier `sync_log` (`SELECT * FROM sync_log WHERE source='youtube' ORDER BY ts DESC LIMIT 5;`). ## Licence, attribution & conditions - **Cadre d'accès (registre)** : YouTube Data API v3 (officielle) si YOUTUBE_API_KEY, sinon voie publique complète SANS clé (vague 3) : page de chaîne (ytInitialData) + InnerTube browse du panneau « À propos » (clé publique embarquée) + page /videos - **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`).