À propos du projet
# Psst
Psst est un client Spotify haute performance et multiplateforme doté d'une interface graphique native. Entièrement écrit en Rust, il évite la surcharge des applications basées sur Electron, offrant une expérience légère et réactive. Le logiciel est entièrement multiplateforme, prenant en charge Windows, Linux et macOS.
## Fonctionnalités clés
- **Performance native** : Conçu avec Rust pour la rapidité et l'efficacité, utilisant la bibliothèque d'interface Druid pour un aspect natif.
- **Fonctionnalités de base** : Prise en charge de la lecture de pistes Vorbis, navigation dans les albums et pistes sauvegardés, playlists suivies et playlists de genre, y compris le contenu « Pour vous ».
- **Recherche et découverte** : Permet de rechercher des artistes, albums et pistes directement dans l'application.
- **Prise en charge des podcasts** : Inclut des fonctionnalités pour parcourir et écouter des podcasts.
- **Contrôles de lecture** : Comprend le contrôle des touches multimédia, le réglage du volume audio et la normalisation du volume sonore.
- **Thèmes** : Inclut une option de thème sombre.
- **Confidentialité** : Se connecte uniquement aux serveurs officiels de Spotify ; ne communique pas avec des serveurs tiers. Les identifiants utilisateur ne sont pas stockés localement ; des jetons d'authentification réutilisables de Spotify sont utilisés à la place. Les caches sont stockés localement et peuvent être supprimés à tout moment.
## Exigences
- Un compte **Spotify Premium** est requis pour utiliser l'application.
- Depuis février 2026, en raison des changements dans les politiques d'accès développeur de Spotify, Psst exige que les utilisateurs enregistrent leur propre identifiant client développeur Spotify pour les fonctionnalités de l'API Web (telles que la recherche, l'accès à la bibliothèque et les playlists). Les utilisateurs doivent enregistrer une application sur le tableau de bord développeur Spotify et saisir l'identifiant client dans l'écran de connexion de Psst.
## Prise en charge des plateformes
- **Windows** : Disponible via un téléchargement exécutable.
- **macOS** : Disponible via un installateur DMG.
- **Linux** : Disponible pour les architectures x86_64 et aarch64, y compris les paquets Debian (.deb).
- **OpenBSD** : Travail en cours ; la prise en charge peut être instable.
Des versions non officielles sont également disponibles via l'Arch User Repository (AUR) et Homebrew.
## Installation
Les binaires préconstruits peuvent être téléchargés depuis la [page des versions GitHub](https://github.com/jpochyla/psst/releases/latest).
### Construction à partir de la source
Pour construire Psst à partir de la source, vous avez besoin de la dernière version stable de Rust (au moins 1.65.0).
#### Dépendances Linux
- **Debian/Ubuntu** : `sudo apt-get install libssl-dev libgtk-3-dev libcairo2-dev libasound2-dev`
- **RHEL/Fedora** : `sudo dnf install openssl-devel gtk3-devel cairo-devel alsa-lib-devel`
#### Commandes de construction
```shell
cargo build
# Ajoutez --release pour une version de publication.
```
Pour exécuter l'interface graphique :
```shell
cargo run --bin psst-gui
```
Pour créer un paquet d'installation (par exemple, .app macOS) :
```shell
cargo install cargo-bundle
cargo bundle --release
```
## Structure du projet
- `/psst-core` : Bibliothèque principale gérant les sessions TCP Spotify, la récupération audio, le décodage, la sortie et la file d'attente de lecture.
- `/psst-gui` : L'application graphique construite avec Druid.
- `/psst-cli` : Un outil CLI d'exemple pour jouer des pistes.
## Feuille de route
Le développement actuel se concentre sur l'amélioration de la stabilité et l'ajout de fonctionnalités manquantes telles que la gestion des playlists (suivre/ne plus suivre, ajouter/retirer des pistes), de meilleurs mécanismes de cache, la résilience aux erreurs réseau et des paquets d'application spécifiques au système d'exploitation. Les améliorations futures de l'interface incluent une mise en page à deux panneaux, la détection du thème clair/sombre du système d'exploitation et des listes virtualisées pour de meilleures performances avec de grandes bibliothèques.
## Contribution
Les contributions sont les bienvenues. Le projet repose sur les efforts de la communauté pour améliorer les fonctionnalités et corriger les bogues. Pour plus de détails sur la structure du code et les directives de contribution, consultez la section développement du dépôt.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.