Explo comble un manque pour les utilisateurs de app-funkwhale, Navidrome ou app-jellyfin : l'absence d'équivalent auto-hébergé du Discover Weekly de Spotify. C'est un daemon de découverte qui récupère vos top artistes/tracks via ListenBrainz (communauté MusicBrainz), interroge l'API « fresh recommendations » pour obtenir des morceaux nouveaux, puis télécharge chaque titre via YouTube/yt-dlp avec taggage ID3 propre (artiste, album, n° de piste, cover) et range dans Artiste/Année - Album/## - Titre.ext. Les fichiers atterrissent dans un dossier surveillé par votre serveur de streaming.
Différenciation : app-lidarr gère la bibliothèque (qualité, organisation) sans algo de découverte. app-music-grabber et app-yubal sont des téléchargeurs à la demande depuis URL. Explo est le premier maillon discovery → library : l'algo choisit pour vous. Limites : qualité audio dépendante de YouTube (variable), matching titre→vidéo parfois imparfait (remaster, live). Pour du CD/master, compléter avec Qobuz/HDtracks ou Tidal HiFi.
git clone https://github.com/LumePart/Explo
cd Explo
pip install -r requirements.txt
cp .env.example .env
python -m explo
# UI sur :8090
Configuration
ListenBrainz : compte sur listenbrainz.org, récupérer un user token dans le profil. Compatible avec tout scrobbler (Maloja, app-funkwhale, Navidrome via plugin).
Cron interne : planification des runs (défaut lundi 4h, modifiable). Chaque run : recos ListenBrainz → download YouTube → tag → range.
yt-dlp comme source : sensible aux changements YouTube, peut casser temporairement.
Légalité : téléchargement YouTube contourne les CGU et potentiellement le droit d'auteur. Directive UE 2019/790 tolère la copie privée dans certains cas.
Bus factor 1 : mainteneur unique (LumePart), projet < 1 an, risque d'abandon. Forker le repo est prudent.
Token ListenBrainz : dans ./explo-config, à chiffrer, pas de commit.