# `x-profil` — connecteur enrichissement (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 : enrichissement (enrichment) · Backend : direct · Créateurs découverts : 0 · touchés : 0 ## Description de la source Connecteur ENRICHISSEMENT « x-profil » — abonnés X (Twitter) SANS clé via le service public de syndication (widgets d'intégration officiels) syndication.twitter.com/srv/timeline-profile/screen-name/{handle}, repli page publique x.com/{handle}. Palier 3 (§9). Facebook sondé aussi : page publique bloquée sans clé (HTTP 400) → aucune voie fiable, on passe (documenté dans data/sources.json). - **Notes (registre)** : abonnés + abonnements + badge + avatar X. Ancien widget followbutton MORT (vérifié 2026-08-18 : réponse vide) ; page x.com : mur de connexion après ~15-20 req/IP (constaté 2026-08-18) → repli seulement. Facebook : page publique bloquée sans clé (HTTP 400, vérifié 2026-08-18) et Scrapfly non justifié → aucune voie fiable, on passe. - **Signal d'identité** : aucun nouveau rattachement — métriques du compte déjà rattaché seulement (colonne `accounts.signal` / `confidence`) - **Module** : `creaka/connectors/x_profil.py` — classe `XProfilConnector` (`kind = "enrichment"`) ## Accès - **Accès (registre)** : requêtes directes (service public de syndication des widgets officiels : syndication.twitter.com/srv/timeline-profile — objet user complet dans __NEXT_DATA__ ; repli très limité page x.com) ; cap 150/passage, re-visite 7 j, délai 2 s - **Type d'accès (code)** : pages HTML publiques - **Endpoint de base** : https://syndication.twitter.com/srv/timeline-profile/ - **URLs du module** : https://syndication.twitter.com/srv/timeline-profile/ · https://x.com/{h} - **Pagination** : réponse unique (pas de pagination) - **Backend anti-bot / rendu** : requests direct - **Politesse** : 2.0 s entre requêtes, timeout 15 s, UA `CreaKaBot/1.0 (+https://www.crea-ka.com/bot)` - **Authentification** : aucune — contenu public / API anonyme ## Champs récupérés → schéma cible Cible d'**enrichissement** : colonnes de la table `accounts` pour la/les plateforme(s) `x` (228 comptes en BD, confiance moyenne 0.88). | Colonne `accounts` | Contenu | Renseignée | Exemple réel | |---|---|---|---| | `handle` | Handle | 100 % | xqc | | `url` | URL du profil | 100 % | https://x.com/xqc | | `followers` | Abonnés | 26 % | 1599135 | | `verified` | Badge vérifié | 13 % | 1 | | `confidence` | Confiance d'identité | 100 % | 0.9 | | `signal` | Signal d'identité | 100 % | cross_link | | `metrics` | Métriques détaillées (JSON) | 39 % | {"following": 526, "x_checked": "2026-08-18T06:14:55Z", "tweets": 4328, "location": "", "… | | `last_checked` | Dernière vérification | 100 % | 2026-08-18T19:58:58Z | ## Fréquence & budget - **Cadence déclarée (registre)** : quotidienne (watch), rotation hebdomadaire - **Cadence observée** (médiane sync_log) : ≈ 3.7 h - **Dernier passage** : 2026-08-18T17:27:39Z — 28 créateurs, 125 comptes, +0 / ~28, 122 erreur(s), 342 s - **Throttling** : 2.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 `x` en BD** : 228 — abonnés 26 % · métriques 39 % · dernière vérification 2026-08-18T19:58:58Z - **Runs journalisés (60 derniers)** : 6, dont 6 avec erreurs ## Erreurs connues & dépannage | Passage | Erreurs | Alerte (sync_log) | |---|---|---| | 2026-08-18T17:27:39Z | 122 | — | | 2026-08-18T13:47:50Z | 127 | — | | 2026-08-18T09:55:31Z | 146 | — | | 2026-08-18T06:15:49Z | 1 | — | | 2026-08-18T06:12:35Z | 171 | — | Rejouer la source seule : `python3 run.py sync x-profil` · vérifier `sync_log` (`SELECT * FROM sync_log WHERE source='x-profil' ORDER BY ts DESC LIMIT 5;`). ## Licence, attribution & conditions - **Cadre d'accès (registre)** : requêtes directes (service public de syndication des widgets officiels : syndication.twitter.com/srv/timeline-profile — objet user complet dans __NEXT_DATA__ ; repli très limité page x.com) ; cap 150/passage, re-visite 7 j, délai 2 s - **Profils publics uniquement** : UA identifiable `CreaKaBot/1.0 (+https://www.crea-ka.com/bot; contact@spboucher.ai)`, throttling poli, respect des opt-out (`data/optout.json`) et du volet éthique (`creaka/ethics.py` — mineurs exclus via `is_minor`). - 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`).