Files
pmomusic/pmoqobuz/README.md

55 lines
1.7 KiB
Markdown

# pmoqobuz - Client Rust pour l'API Qobuz
Client Rust pour l'API Qobuz avec intégration automatique du Spoofer pour obtenir des AppID et secrets valides.
## 🎯 Fonctionnalités
-**Authentification** automatique avec credentials
-**Spoofer intégré** - Obtention automatique d'AppID et secrets valides
-**Signatures MD5** pour les requêtes sensibles (streaming, bibliothèque)
-**Cache** en mémoire pour optimiser les performances
-**Support DIDL-Lite** pour l'export UPnP/DLNA
-**Recherche** dans le catalogue (albums, artistes, tracks, playlists)
-**Favoris** et playlists utilisateur
-**Désérialisation robuste** (gère integers et strings pour les IDs)
## 🚀 Utilisation rapide
### Configuration minimale
```yaml
# ~/.pmomusic/config.yaml
accounts:
qobuz:
username: "your_email@example.com"
password: "your_password"
# AppID et secret seront automatiquement obtenus via le Spoofer
```
### Code d'exemple
```rust
use pmoqobuz::QobuzClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Le Spoofer s'exécute automatiquement si nécessaire
let client = QobuzClient::from_config().await?;
// Rechercher des albums
let albums = client.search_albums("Miles Davis").await?;
for album in albums.iter().take(5) {
println!("{} - {}", album.artist.name, album.title);
}
Ok(())
}
```
## 📖 Documentation
- [IMPLEMENTATION_STATUS.md](IMPLEMENTATION_STATUS.md) - Statut d'implémentation complet
- [API_ANALYSIS.md](API_ANALYSIS.md) - Analyse des différences avec l'API Python
- [examples/basic_usage.rs](examples/basic_usage.rs) - Exemple complet
- [examples/spoofer.rs](examples/spoofer.rs) - Utilisation manuelle du Spoofer