Aller au contenu principal

Intégration Spotify pour Gladys Assistant

Intégration Spotify pour Gladys Assistant

Contrôlez vos appareils Spotify Connect (lecture, pause, suivant, précédent, volume) depuis Gladys.

Cette intégration permet de contrôler vos appareils Spotify Connect depuis Gladys Assistant : lecture, pause, morceau précédent / suivant et volume.

Fonctionnalités

  • Appareils Spotify Connect : chaque enceinte, téléphone ou ordinateur connecté à votre compte Spotify apparaît comme un appareil Gladys.
  • Contrôle de la lecture : lecture, pause, précédent, suivant.
  • Volume : réglage du volume de l'appareil actif.
  • État de lecture : Gladys reflète en temps réel si un appareil est en lecture ou en pause.
  • Actions : tester la connexion et se déconnecter, directement depuis l'écran de configuration.

Prérequis

  • Un compte Spotify Premium (obligatoire : l'API Spotify ne permet pas de contrôler la lecture avec un compte gratuit).
  • Une application Spotify créée sur le tableau de bord développeur (gratuit), pour obtenir un Client ID et un Client Secret.

Créer votre application Spotify

  1. Rendez-vous sur le tableau de bord développeur Spotify et connectez-vous.
  2. Cliquez sur Create app.
  3. Donnez un nom et une description (par exemple « Gladys »).
  4. Dans Redirect URIs, saisissez https://my.gladysassistant.com/redirect/oauth (voir la section « L'adresse de redirection » ci-dessous), puis cliquez sur Add.
  5. Cochez l'API Web API, puis enregistrez (Save).
  6. Ouvrez les Settings de l'application : copiez le Client ID et affichez puis copiez le Client Secret.

L'adresse de redirection (Redirect URI)

Spotify n'accepte de vous renvoyer vers Gladys que si l'adresse de redirection est déclarée à l'avance dans votre application, et elle doit être identique caractère pour caractère à celle qu'utilise Gladys.

Depuis avril 2025, Spotify impose en plus que cette adresse soit en HTTPS (ou sur une adresse de bouclage 127.0.0.1). Une adresse du type http://192.168.1.50:1444/... est donc systématiquement refusée — ce qui concerne la majorité des installations auto-hébergées.

Gladys résout ce problème avec une page de redirection HTTPS commune à toutes les instances. L'adresse à déclarer dans Spotify est donc fixe, identique pour tout le monde :

https://my.gladysassistant.com/redirect/oauth

Copiez-la telle quelle dans le champ Redirect URIs de votre application Spotify, puis Add et Save. L'écran de configuration de l'intégration l'affiche également, avec un bouton pour la copier.

ℹ️ Cette adresse ne dépend ni de votre port, ni de votre adresse IP, ni du selector de l'intégration : la même valeur convient, que vous accédiez à Gladys en local ou via Gladys Plus. Vous n'avez plus à la mettre à jour si votre installation change.

Comment ça fonctionne

Après votre autorisation, Spotify renvoie votre navigateur vers cette page HTTPS. Celle-ci lit l'adresse de votre Gladys — transportée dans le paramètre state, le seul qu'un fournisseur OAuth restitue intact — et vous renvoie vers votre instance, quelle qu'elle soit, y compris en HTTP sur votre réseau local.

C'est la même approche que my.home-assistant.io chez Home Assistant.

Sur la confidentialité, pour être précis : la page est statique, rien ne s'exécute côté serveur et rien n'est enregistré. Le code d'autorisation figure toutefois dans l'adresse appelée sur un domaine opéré par Gladys ; ce code seul est inutilisable, car l'échange contre les jetons exige votre Client Secret, qui ne quitte jamais votre installation. Les jetons, eux, ne transitent ni par la page de redirection ni par l'interface Gladys.

ℹ️ Si vous accédez déjà à Gladys en HTTPS, l'écran de configuration propose une option avancée pour utiliser l'adresse de votre propre instance au lieu de la page de redirection. Il faut alors déclarer cette adresse-là dans Spotify.

Connexion

  1. Ouvrez l'écran de configuration de l'intégration Spotify dans Gladys.
  2. Collez votre Client ID et votre Client Secret, puis enregistrez.
  3. Cliquez sur « Se connecter avec Spotify » : vous êtes redirigé vers Spotify pour autoriser Gladys.
  4. Après validation, vous passez par la page de redirection, qui vous renvoie automatiquement vers votre Gladys.
  5. La connexion est établie et vos appareils Spotify Connect deviennent disponibles à la découverte.

Cela fonctionne quelle que soit la manière dont vous accédez à Gladys : en local par son adresse IP, depuis la machine elle-même, ou via Gladys Plus.

Les jetons d'accès sont mémorisés et rafraîchis automatiquement : vous n'avez à vous connecter qu'une seule fois.

Si le retour automatique échoue

Ce cas ne devrait plus se produire, mais l'intégration conserve une méthode de secours — par exemple si la page de redirection est inaccessible, ou sur une version de Gladys antérieure à celle qui l'a introduite.

Si, au retour de Spotify, votre navigateur affiche une page d'erreur (« impossible d'accéder à ce site », « connexion refusée »…) au lieu de revenir dans Gladys : l'autorisation a bien été accordée, le code de connexion se trouve dans l'adresse affichée.

  1. Dans la barre d'adresse de la page d'erreur, sélectionnez et copiez l'adresse complète. Elle ressemble à :

    http://192.168.1.50:1444/dashboard/integration/device/external/ext-spotify/oauth-callback?code=AQD...&state=8f2c...
  2. Revenez dans Gladys, sur l'écran de configuration de l'intégration Spotify.

  3. Collez cette adresse dans le champ Adresse de retour (section « Le navigateur n'a pas pu revenir à Gladys ? »), puis enregistrez.

  4. Cliquez sur le bouton « Terminer la connexion ».

  5. Le message de confirmation s'affiche : la connexion est établie et vos appareils deviennent disponibles à la découverte. Le champ se vide automatiquement, le code n'étant utilisable qu'une fois.

⚠️ Le code contenu dans cette adresse est à usage unique et expire au bout de quelques minutes. Si l'opération échoue, relancez simplement « Se connecter avec Spotify » et recommencez avec la nouvelle adresse.

Découverte des appareils

Seuls les appareils actuellement en ligne (application Spotify ouverte, enceinte allumée et connectée) sont renvoyés par l'API Spotify. Si un appareil n'apparaît pas, ouvrez Spotify dessus puis relancez une découverte.

Dépannage

  • Spotify affiche « redirect_uri: Not matching configuration » (ou n'affiche pas l'écran d'autorisation) : l'adresse déclarée dans votre application Spotify ne correspond pas exactement à celle utilisée par Gladys. Vérifiez que le champ Redirect URIs contient bien https://my.gladysassistant.com/redirect/oauth, sans slash final, et que vous avez cliqué sur Add puis Save. Si vous avez activé l'option « adresse de l'instance », c'est cette adresse-là qu'il faut déclarer.
  • « Connexion refusée » ou « site inaccessible » au retour de Spotify : le retour automatique n'a pas abouti. Copiez l'adresse de la page d'erreur et utilisez l'action « Terminer la connexion » (voir « Si le retour automatique échoue »).
  • « Spotify OAuth state mismatch » : l'adresse collée provient d'une demande d'autorisation antérieure. N'ouvrez qu'un seul onglet d'autorisation à la fois (chaque clic génère une nouvelle demande, seule la dernière est valable), puis recommencez.
  • « Cette adresse ne contient pas de code d'autorisation » : vous avez probablement collé l'adresse après avoir rechargé la page d'erreur, ce qui a perdu les paramètres. Relancez « Se connecter avec Spotify » et copiez l'adresse sans recharger la page.
  • Le code a expiré (erreur invalid_grant au moment de terminer la connexion) : le code n'est valable que quelques minutes et une seule fois. Relancez « Se connecter avec Spotify ».

Limitations

  • Un compte Premium est indispensable pour toute commande de lecture. Sans lui, Spotify renvoie une erreur PREMIUM_REQUIRED.
  • Seuls les appareils en ligne au moment de la découverte sont listés.
  • Le contrôle porte sur la lecture Spotify Connect ; il ne permet pas de lancer une playlist ou un titre précis (contrôle transport uniquement : lecture, pause, précédent, suivant, volume).

Paramètres de configuration

Voici les paramètres demandés par Spotify dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Connectez votre compte SpotifysectionNonCette intégration pilote vos appareils Spotify Connect via l'API Web de Spotify. Un compte Spotify Premium est nécessaire pour contrôler la lecture. Créez d'abord une application Spotify gratuite, déclarez-y l'adresse de redirection affichée plus bas, collez son Client ID et son Client Secret ici, puis cliquez sur « Se connecter avec Spotify ».
Client IDstringOui
Client SecretsecretOui
Se connecter avec Spotifyoauth2NonUne fois le Client ID et le Client Secret enregistrés, cliquez sur Se connecter pour autoriser Gladys sur votre compte Spotify.
Le navigateur n'a pas pu revenir à Gladys ?sectionNonLe retour depuis Spotify est normalement automatique. Si votre navigateur aboutit à une page blanche ou d'erreur au lieu de revenir dans Gladys, l'autorisation a tout de même réussi : copiez l'adresse complète depuis la barre d'adresse de votre navigateur, collez-la ci-dessous, enregistrez, puis cliquez sur « Terminer la connexion ».
Adresse de retourstringNon

Comment installer Spotify dans Gladys

  1. Dans Gladys, ouvrez Intégrations : Spotify apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/william-de71/gladys-spotify:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/William-De71/gladys-spotify.

Spotify nécessite Gladys >=4.84.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes

Spotify est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par William-De71, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂