Ajout d'un client stateful avec gestion automatique du cache pour les stations et métadonnées live.
Fonctionnalités principales :
- Client stateful avec cache à deux niveaux (stations 7 jours, métadonnées TTL dynamique)
- Support des playlists UPnP avec structures StationGroups et StationPlaylist
- Gestion intelligente du TTL respectant delayToRefresh de l'API
- Intégration avec pmoconfig pour le caching des stations
- Support des covers via pmocovers avec fallback sur URLs Pikapi
- Doctests compilés avec contexte async complet
- Feature playlist avec dépendance pmodidl
Corrections et améliorations :
- Ajout d'un variant Error::Config pour conversion automatique
- Gestion propre des erreurs avec conversion anyhow::Error
- Tests unitaires et d'intégration (26/26 passés)
- Optimisations : pooling de connexions HTTP, préchargement intelligent
Les stations sont organisées hiérarchiquement : standalone, groupes avec webradios, radios locales ICI (ex-France Bleu)
Les métadonnées sont mises à jour dynamiquement avec respect des intervalles de polling
Cette mise à jour implémente complètement le client Radio France avec :
- Découverte dynamique des stations (principales, webradios et locales)
- Accès aux métadonnées live via l'API publique
- Gestion des flux audio HiFi (AAC 192 kbps, HLS)
- Support du cache des stations avec TTL configurable
- Extension de configuration pour pmoconfig
- Exemples d'utilisation et tests d'intégration
Les stations découvertes incluent : France Inter, France Info, France Culture, France Musique, FIP, Mouv', France Bleu (locales), et leurs variantes webradios respectives.
Les fonctionnalités incluent :
- Récupération des métadonnées live (émission en cours, producteur, visuels)
- Accès aux flux audio HiFi
- Gestion intelligente des rafraîchissements via delayToRefresh
- Cache des listes de stations avec TTL configurable (7 jours par défaut)
Les tests d'intégration couvrent : découverte des stations, métadonnées live, flux audio, cache, et gestion des erreurs.