feat: Implémentation complète de la source Radio France avec intégration UPnP et serveur HTTP

Ajout de la source Radio France avec :
- Implémentation du trait MusicSource pour l'intégration UPnP
- Routes HTTP API REST pour l'accès aux stations et flux AAC
- Proxy streaming avec tracking des connexions
- Génération dynamique de l'arborescence UPnP
- Cache multi-niveaux (stations, métadonnées, covers)
- Support des ~70 stations (standalone, groupes, radios ICI)

Fichiers créés :
- pmoradiofrance/src/source.rs (implémentation MusicSource)
- pmoradiofrance/src/server_ext.rs (routes HTTP et proxy streaming)
- pmoradiofrance/assets/radiofrance-logo.webp (logo placeholder)

Fichiers modifiés :
- pmoradiofrance/src/lib.rs (re-exports et modules)
- pmoradiofrance/Cargo.toml (dépendances server)
- Cargo.toml (workspace)
- pmomediaserver/Cargo.toml (feature radiofrance)
- PMOMusic/Cargo.toml (feature radiofrance)
- PMOMusic/src/main.rs (enregistrement automatique)

Tests et validation : compilation OK, pattern respecté, feature-gating cohérent
This commit is contained in:
2026-01-23 12:18:10 +01:00
parent 8adccaa2df
commit 5c5e1d534b
39 changed files with 3174 additions and 187 deletions

5
Cargo.lock generated
View File

@@ -4010,6 +4010,7 @@ dependencies = [
"pmoparadise",
"pmoplaylist",
"pmoqobuz",
"pmoradiofrance",
"pmoserver",
"pmosource",
"pmoupnp",
@@ -4147,13 +4148,17 @@ version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
"axum 0.8.7",
"chrono",
"futures",
"pmoaudiocache",
"pmoconfig",
"pmocovers",
"pmodidl",
"pmoplaylist",
"pmoserver",
"pmosource",
"pmoupnp",
"regex",
"reqwest",
"scraper",