SPB Git forge

spb/crea-ka

Public

Créa·Ka — annuaire public cross-plateforme des créateurs de contenu québécois (crea-ka.com)

52commits 1branches 0releases
11.3 MBsize
maindefault branch
20 days agolast push
Python 73.6% HTML 13.2% TypeScript 6% JavaScript 4.5% CSS 1.7% Dockerfile 0.6%

History of creaka/connectors/twitch.py · clear filter

  1. Tue, Aug 18, 2026 2

    1. Vague 3 : Twitch GQL public sans clé (abonnés), stats YouTube sans clé (InnerTube), découvertes wikipedia-qc + palmares-apple, fix marqueurs QC
      …
      - twitch : plus de SkipSource — API GQL publique du site (Client-ID public,
        requêtes groupées 20/POST) : abonnés, bio, avatar, partenaire/affilié,
        dernière diffusion ; voie Helix officielle conservée si clés fournies ;
        repli curl-binaire si empreinte TLS refusée. 21/26 comptes avec abonnés.
      - youtube : voie publique complète sans clé — page de chaîne + InnerTube
        browse du panneau À propos (vues totales, nb vidéos, pays) + page /videos
        (date de la dernière vidéo → dormant >12 mois) ; bannière, avatar,
        description → bio ; cap 300 chaînes/passage, rotation 14 j (yt_checked).
        Passage initial : 264 chaînes (vues+vidéos 264, last_video 261, bannières 245).
      - wikipedia-qc (découverte) : catégories fr+en de créateurs QC (API MediaWiki)
        → marqueur QC obligatoire pour les catégories pan-canadiennes → handles
        sociaux curés Wikidata (P2003/P7085/P2397/P2002/P5797/P2013 + P856) ;
        décédés exclus, is_minor via P569. 76 nouvelles fiches + 35 fusions.
      - palmares-apple (découverte) : top 100 podcasts Canada (API marketing
        officielle Apple, sans clé) + lookup groupé + attribution QC prudente
        (langue fr ET marqueur dans l en-tête du flux). Spotify charts (API morte),
        ADISQ (SPA sans liens) et Bible urbaine (prose sans handles) évalués et
        écartés — documenté dans sources.json.
      - fix _QC_MARKERS : frontières de mot (« levis » matchait teLEVISion,
        « estrie » tapESTRIEs) — faux positifs purgés de la base.
      - sources.json (16 sources), docs connecteurs régénérées, tests vague 3
        (46 verts).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +149 −23
    2. Correctifs audit : fix 500 threads, durées sync, twitch sauté proprement, onlyqueb RSC, avatars YouTube, balados enrichis, archivage §13
      …
      - web.py : connexion SQLite PAR THREAD (threading.local) — corrige le 500
        intermittent sur /api/stats (curseurs entrelacés sur connexion partagée)
      - db.py : sync_log.seconds/errors réels persistés ; log des comptes retirés
        dans _write_creator ; archive_missing() (§13 — non revu depuis 72 h →
        inactive, réversible au retour, opt-out intouchés)
      - ingest.py : durée+erreurs transmises à sync_source ; archivage en fin de
        passage complet ; SkipSource journalisé sans fausse alerte
      - twitch : clés absentes → SkipSource (« sauté : clés manquantes »), plus de
        run 0 ni d alerte « source bloquée »
      - onlyqueb : parseur du payload Next.js/RSC — displayName réel, bio+headline,
        categories→niches, mym/fansly/ofUrl→comptes, websiteUrl→compte site-web
      - normalize : plateformes mym + fansly (URL canoniques + détection)
      - dedup : le statut de l observation fraîche gagne (dormant/retour) ; un vrai
        nom public remplace un display_name pseudo-handle
      - youtube-recherche : avatar_url extrait du channelRenderer (meilleure rés.)
      - balados-itunes : feed_url/artist_id/last_episode dans le doc, genres[]
        complets → niches, dormant >12 mois → status inactive (§13)
      - wikidata-qc : échec SPARQL journalisé + compté dans sync_log.errors
      - frontend : libellés MYM/Fansly
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +5 −2
  2. Mon, Aug 17, 2026 1

    1. Simon-Pierre Boucher committed 1 mo ago · 1 file +67