Développement du module Deezer

#1

Bonjour à tous,

Je démarre ce thread à la suite d’un autre : Un Module pour Deezer?

Je suis actuellement en train de réfléchir à ce fameux module Deezer. Pour cela je me suis inspiré de plusieurs sources :

Ainsi, j’ai pu commencer une petite base pour un module Deezer, trouvable sur mon dépot Git :

Gladys Deezer.

Je fais alors appel à vous pour me donner vos avis sur ce module (les erreurs éventuelles, les améliorations à rajouter, les manières d’optimiser le code).

Pour le moment je suis en pleine phase d’analyse de l’API Deezer et du code déjà en place. Il est fort probable que vous trouviez des similitudes avec le code du module Spotify, je suis loin d’avoir fini le travail d’adaptation.

Je vous demande quand-même de faire preuve d’indulgence… :pray: Coder en JS n’est pas dans mes habitudes, je m’y suis mis récemment et je dois avouer que certaines notions sont encore un peu mystérieuses à mes yeux ! :sweat_smile:

J’espère avoir la possibilité de rajouter ma petite pierre à l’édifice avec ce petit module qui pourrait en aider plus d’un :smile:

Merci d’avance pour vos retours :slight_smile:

2 Likes
#2

Bien joué pour ce module, il va faire des heureux! :slight_smile:

Je n’ai pas testé le module (je n’ai pas Deezer), mais j’ai regardé ton code et ça me semble bien. Tu as repris l’excellent Gladys Spotify de toute façon donc tu es parti d’une bonne base :wink:

Où en est ce module? Est-il fonctionnel? Il tourne chez toi sans soucis?

Si oui, n’hésite pas à poster le module sur le store développeur Gladys, ça permettra à tout le monde de l’installer en un clic dans Gladys. Tu peux te créer un compte ici =>

1 Like
#3

Bonjour @pierre-gilles !

Merci pour ton message, ça fait toujours plaisir de voir qu’on est soutenu :smile:

Pour faire un petit retour sur le module :

Il n’est pas encore fonctionnel à 100% ! Pour l’instant, j’ai réussi à avoir une base à peu près correct qui permet d’obtenir l’access token fourni par Deezer pour effectuer des requêtes vers l’API.

Malheureusement, contrairement à l’API Spotify, l’API Deezer ne permet pas de créer directement un player vers lequel envoyer les requêtes de lecture de la musique.

Pour faire cela, il faudrait passer par le SDK JS de Deezer, qui permet de générer un Web Player. Mais voila un autre souci : le Web Player est un élément qui s’affichera côté client. Or ce qu’on veut, c’est l’ouvrir sur le Raspberry, pour que le son sorte directement du Raspberry…

Et c’est là que ça bloque de mon côté, je ne vois pas du tout comment implémenter leur SDK de manière à pouvoir contrôler un player directement avec le module…

Aurais-tu des pistes à me fournir pour débloquer ce problème ?

Merci pour le lien, dès que le module sera fonctionnel de mon côté je n’hésiterai pas à le publier sur le Gladys Store pour en faire profiter tout le monde :wink:

#4

En cherchant sur Google, j’ai l’impression que l’API de Deezer ne permette plus de faire ce genre de chose… :confused:

Ils avaient écrit cet article en 2017 =>

Et le premier commentaire, c’est “Hi deezer , where is the native sdk gone ?”

J’ai l’impression que ce n’est plus possible malheureusement…

#5

Mince…

Je suis tombé sur ce projet “Deezzy” qui se basait sur le native SDK, et effectivement son README confirme que Deezer ne supporte plus le native SDK…

Néanmoins son projet est toujours disponible, et un lien vers un zip du native SDK est disponible dans son README, ne serait-il pas possible d’utiliser ces ressources ?

#6

A mon avis si ils ne supportent plus le SDK, l’API est/sera fermée, et surtout cela veut dire que ce n’est plus autorisée…

C’est dommage!

#7

Voilà un projet qui tombe à l’eau pour le moment dans ce cas…

C’est dommage, ça pénalise les gens qui favorisent Deezer à Spotify ! Tant pis, je surveillerai les news de Deezer dans les prochaines semaines, on aura peut-être plus d’informations d’ici-là.

En tout cas merci beaucoup d’avoir pris le temps de me répondre, et continue dans ta lancée, Gladys a un énorme potentiel, et j’ai hâte de voir toutes les possibilités que le projet peut apporter :smile:

1 Like
#8

Hello,

Moi ça m’intéresse pas mal un module deezer :slight_smile:
De mon côté j’avais regardé il y a quelques temps.
Sur le package node-deezer et l’exemple en express il me semble que c’est le browser qui doit jouer la musique, me trompé-je? Donc c’est Ko comme tu l’as constaté.

Perso, je me suis tourné vers l’exemple le package en python qui wrap les fonction du native sdk de deezer en python.
Il a l’avantage de tourner en ligne de commande et puis j’ai fait du python quand j’étais petit …

Pour éviter d’aller chercher le token d’authentification, j’ai collé le tout dans une application Flask, je voulais en faire un webservice.

Par contre j’ai clairement perdu en dev, j’arrive pas à faire ce que je veux, du coup par manque de temps j’ai laissé un peu tombé.
Mais je peux te partager mes sources, je suis passé en Python3 et ça fonctionne sur une debian avec pulseaudio.

Sinon tu peux te baser là dessus :

Good luck ++

1 Like
#9

Salut @ProtZ

Effectivement, le web player fourni est côté client… Une méthode qui aurait donc sans doute marché aurait été de trouver un moyen de lancer un client au niveau du raspberry (pour profiter de l’audio sur les sorties du rasp) et de contrôler le player “à distance” via Gladys ! Mais honnêtement au niveau du code j’ai aucune idée de comment réaliser ça, d’autant plus que même si théoriquement ça fonctionnerait, ce ne serait pas très propre…

Oui @pierre-gilles m’a déjà fourni ce lien vers l’article de démonstration, mais merci pour tes sources, toute aide est bonne à prendre dans ce genre de travaux :smile:

En revanche, comme dit plus haut, le SDK n’est plus supporté par Deezer, du coup je ne sais pas si le wrapper python fonctionnera toujours… Si tu as des fichiers ou des ressources que tu accepterais de me partager ce serait vraiment sympathique, d’autant plus que Deezer a supprimé certains de ses dépots Git, ce qui nous met des bâtons dans les roues !

Je rentre de vacances demain, du coup je regarderai d’ici-là s’il y a moyen d’utiliser tout ça pour réussir une première base pour un module ! :wink:

#10

Salut !
Je ne sais pas vraiment si cela peut t’aider ou te donner des pistes, mais voici un projet open source (je te l’accorde, pas très catholique puisqu’il s’agit d’obtenir gratuitement du contenu payant, mais passons sur cet aspect) qui fonctionne toujours avec Deezer :
https://notabug.org/RemixDevs/DeezloaderRemix

Je ne sais absolument pas comment c’est fait, mais eux, ont toujours un accès sur l’API Deezer ce qui permet de récupérer les titres et de les télécharger. Je suppose donc qu’il est possible de les lire en streaming également, sachant que ce projet est en JavaScript.

Voila, qu’en penses-tu ? :slight_smile:

PS : Si mon poste dérange, merci de le supprimer ce n’est pas grave !