Deezer étant l’une des plus grosse plateforme d’écoute et de partage de musique, il est intéressant de voir comment se servir des différents outils qu’il nous met à disposition à savoir son API de recherche de morceau et ses différents SDK pour une intégration web ou mobile.

Nous allons voir ensemble, comment les utiliser, à quelles fins et quelles en sont les limites. Pour le SDK, je ne m’intéresserai qu’à celui pour iOS.

API Explorer

L’API se propose comme une bibliothèque du contenu de Deezer et cela joue à la fois sur sa force et sa faiblesse. On peut ainsi récupérer les informations des différents albums d’un artiste, retrouver des morceaux par genre, des playlists d’utilisateurs, des commentaires et des fans, etc.

Deezer nous propose aussi une preview des chansons qui correspond à 30sec d’écoute de la musique ainsi que d’autres informations intéressantes comme le gain ou le battement par minute. Imaginons qu’on propose un portail de génération de playlist pour DJs, on pourrait se baser sur ces informations pour les résultats en les recoupant aussi avec le genre de musiques recherchées (“Electro”, etc).

Un point fort est l’API Explorer, un portail pour tester nos différentes requêtes afin de vérifier nos résultats, parfait pour le debug.

Le point faible de son API réside sur le fait qu’il est impossible d’écouter plus de 30sec d’un morceau car, contrairement à l’API de Facebook, elle n’intègre pas de connexion. Donc des utilisateurs en compte gratuit ou premium ne ne peuvent pas s’y connecter et réécouter via l’API leurs morceaux favoris. Cela s’explique simplement pour des raisons de sécurité pour l’utilisateur, le contenu (ici la chanson) et Deezer n’aurait rien à gagner en ouvrant plus largement cet aspet de son API.

Aujourd’hui, Deezer propose un SDK Javascript qui pallie au manque de son API et permet d’avoir un outil parfaitement complet.

SDK iOS

Le SDK est plus complet, la documentation propose des exemples et un projet “DeezerSample”. Il a cependant quelques pré-requis à son utilisation comme passer son compte en développeur (gratuit) et créer une application Deezer en spécifiant différentes informations (nom, site web, etc.) mais surtout le “bundle” du projet iOS, nécessaire pour utiliser la librairie dans notre projet.

Une fois la librairie intégré au projet dans XCode, la gestion de la connexion se fait avec l’utilisateur. En effet il devra accepter que votre application accède à ses informations, c’est le même fonctionnement sur Facebook et Twitter.

Afin de mieux comprendre les différents objets et leurs interactions, j’ai préféré me baser sur leur projet “DeezerSample”. J’ai pu comme ça rapidement intégrer Deezer dans une application mobile en récupérant les types d’objet dont j’avais directement besoin (User, Playlist, Track, Player ) ainsi que les délégués adéquats gérant la connexion, la bufferisation et la lecture. Ce sera à vous de voir ce dont vous avez besoin. Il nous reste à surcharger ses méthodes pour avoir complètement la main sur notre lecteur et le tour est joué.

Du coté utilisateur, cela lui permet de se connecter à son compte, mais il restera limiter au 30sec de preview par morceau (sauf pour l’espace radio de Deezer) à moins qu’il possède un compte Premium. Autrement dit, l’intégration du SDK est intéressante si vous voulez intégrer la radio “gratuite” ou si vous voulez proposer un service intégrant une musique en visant seulement les comptes Premium.

Conclusion

Sur ces deux outils qui semblent similaires, on voit deux utilisations bien différentes avec des cibles tout aussi différentes. Mais autant pour son API que pour ses SDK, Deezer nous proposent de bons outils, nous donnant un certain nombre de possibilités que nous pouvons exploiter avec des idées créatives.

Sur cet article, j’ai sciemment mis de coté l’aspect technique car les documentations de l’API et du SDK sont compréhensives et très bien faites. Cependant, n’hésitez pas à me demander des explications sur certains points inexpliqués ou qui auraient pu rester flous.