- tmdb.py : recherche TMDB par title+subtitle, matching fuzzy,
cache SQLite 30 jours (table tmdb_cache dans arte_dl.db)
- arte_api.py : enrichissement concurrent (5 workers) après résolution
des IDs ; ajoute tmdb_id, tmdb_poster, tmdb_backdrop au concert
- app.js : backdrop TMDB utilisé comme thumbnail de carte quand dispo ;
subtitle affiché sous le titre de carte ; poster dans la modal ;
lien direct vers la fiche TMDB
- docker-compose.yml : passage de TMDB_API_KEY au container
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- arte_api.py : GENRE_PAGES devient une liste de (nom, url), chaque
concert reçoit un champ "categories" avec ses genres d'appartenance
- main.py : endpoint /api/categories + param ?category= sur /api/concerts
- index.html : barre de pills catégories (Tout + 10 genres)
- style.css : styles .cat-bar / .cat-pill avec pill active en or
- app.js : chargement dynamique des pills, filtre catégorie dans le state
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remplace les pages arte-concert par les pages /fr/p/ qui couvrent
toutes les catégories demandées. Passe de 97 à 208 concerts indexés.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Format yt-dlp corrigé : Arte sert l'audio en mp4 pas m4a, l'ancien
sélecteur échouait immédiatement avec ExtractorError
- Progression basée sur downloaded_bytes/total_bytes_estimate (plus
fiable pour HLS que _percent_str)
- finished_once : empêche le flux audio de remettre la progression à 0%
après que le flux vidéo soit terminé
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Quand la recherche ne trouve rien en local (ex: rock-pop chargé
côté client), interroge l'API search d'Arte, récupère les IDs
manquants et les résout via le player API en parallèle.
Permet de trouver n'importe quel concert présent sur arte-concert.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Abandon de l'approche yt-dlp playlist (URL non supportée).
Scrape les pages genre Arte Concert en RSC pour extraire les
programme IDs, puis fetch les métadonnées (titre, thumbnail,
durée, expiry) via l'API player v2 en parallèle (10 workers).
96 concerts disponibles.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>