2024-07-10
Dans un article publié il y a quelques jours je vous expliquai pourquoi je quittais Spotify pour monter mon propre cloud musical. Dans cet article je vous avais notamment présenté Nextcloud Music, et j'avais fait un petit bilan après quelques semaines d'utilisation. Je n'étais par contre pas entré dans les détails techniques.
je vous expliquai pourquoi je quittais Spotify pour monter mon propre cloud musical
Aujourd'hui on va aborder le sujet de manière plus concrète : on va voir comment installer et configurer Nextcloud Music et comment y connecter des applications. Comme vous allez vite vous en apercevoir c'est extrêmement simple à faire, tout s'installe en quelques clics pour peu qu'on ait une instance Nextcloud sous la main !
Vous êtes prêts ? Alors c'est parti !
L'application se présente elle-même comme un lecteur audio et un serveur de musique pour ownCloud et Nextcloud (Nextcloud étant un fork de ownCloud).
En pratique, cette application permet effectivement de gérer et d'écouter sa musique, ses webradios et ses podcasts directement dans Nextcloud, via son navigateur Web. Mais elle fournit également des APIs compatibles avec Ampache et Subsonic, ce qui permet d'y accéder via toute une variété d'applications clientes sur ordinateur (Linux, Windows, macOS,...), sur smartphone (Android, iOS), et même sur des montres connectées (une application pour Garmin watch existe) !
Voici une petite capture d'écran de l'interface Web pour vous donner une idée de la chose :
Capture d'écran : Interface principale de l'application Nextcloud Music
Interface principale de l'application Nextcloud Music
Pour plus de détails, je vous invite à aller lire mon précédent article :
Je quitte Spotify pour mon propre cloud musical autohébergé !
Pour utiliser cette application, vous aurez besoin d'une instance Nextcloud (ou ownCloud). Si ce n'est pas le cas, il n'est jamais trop tard pour se lancer ! Je ne vais pas aborder l'installation de Nextcloud en lui-même car ce n'est pas le sujet de l'article, mais je vais tout de même vous pointer quelques ressources. 😉️
Si vous êtes un administrateur système Linux confirmé, le plus simple c'est de se référer à la documentation officielle de Nextcloud pour savoir comment l'installer et le paramétrer :
Documentation d'installation et de configuration officielle de Nextcloud
Si vous êtes un bidouilleur qui aimerait bien se lancer dans l'autohébergement de Nextcloud (ou d'autres services) mais que vous ne vous sentez pas assez à l'aise ou que tout simplement que vous ne voulez pas trop vous prendre la tête, il existe des solutions comme YunoHost qui permettent d'installer, de configurer et de maintenir tout ça en quelques clics :
Notez qu'il vous faudra également être administrateur de l'instance Nextcloud pour pouvoir y installer des applications.
L'installation se fait en quelques clics :
Et voilà, c'était pas plus compliqué que ça ! 😁️
Capture d'écran : installation de Nextcloud Music
Par défaut, l'application va chercher la musique dans l'ensemble de vos fichiers ("/"). Dans mon cas, toute ma musique est rangée dans un dossier « Music » situé à la racine de mon espace de stockage ("/Music") ; je vais donc configurer Nextcloud Music pour ne chercher que dans ce dossier-là.
Pour ce faire,
Vous pouvez ensuite changer le chemin du dossier via l'option « Chemin vers votre collection de musique » (3).
Capture d'écran : configuration de Nextcloud Music
À la première utilisation, vous vous retrouverez face à une bibliothèque complètement vide. Si vous disposez déjà de fichiers musicaux dans votre stockage Nextcloud, cliquez sur le lien « Cliquez ici pour lancer le balayage » situé en plein milieu de l'écran pour que l'application cherche et ajoute vos musiques existantes à la bibliothèque.
Capture d'écran : premier démarrage de l'application Nexcloud Music
Par la suite, Nextcloud Music détectera automatiquement les nouveaux fichiers audio et les ajoutera directement à la bibliothèque.
Comme je l'ai dit un peu plus tôt, Nextcloud Music fournit des APIs compatibles avec Ampache et Subsonic, deux solutions permettant également de créer des clouds musicaux. Ces APIs nous permettent donc d'utiliser quasiment toutes les applications développées pour ces deux solutions avec notre Nextcloud Music.
Le wiki du projet nous fournit une liste assez complète des applications qui ont été testées compatible :
Applications pour Ampache compatibles avec Nextcloud Music
Applications pour Subsonic compatibles avec Nextcloud Music
Comme vous pouvez le constater, il y a pas mal d'applications disponibles. Je vais vous présenter rapidement celles qui ont retenu mon attention et que j'ai pu tester.
Au début j'avais commencé par utiliser Subtracks sur mon téléphone Android. L'application est jolie et la navigation agréable, mais elle ne semble malheureusement plus activement développée et il lui manque une fonctionnalité essentielle sur mobile : un mode offline pour avoir accès à la musique quand le réseau est indisponible.
Captures d'écran de Subtracks sur Android
Subtracks : écran d'accueil, vue « album » et vue « lecture en cours »
L'application est disponible via F-Droid et via le Play Store. L'APK est aussi téléchargeable sur GitHub. Je vous mets quelques liens ci-dessous pour retrouver tout ça facilement :
Télécharger Subtracks sur F-Droid
Télécharger Subtracks sur le Play Store
Pour Android j'ai ensuite découvert Power Ampache 2 qui correspond exactement à mes besoins et qui a une ergonomie qui me plait beaucoup. Elle dispose de plus de quelques fonctionnalités fort pratiques, comme un gros bouton permettant de lancer de la musique plus ou moins aléatoirement sans se poser de questions.
C'est l'application que j'utilise actuellement, et si elle souffre parfois de quelques problèmes de jeunesse, ils sont rapidement corrigés car elle est très régulièrement mise à jour. C'est pour moi la meilleure app dispo sur Android pour me connecter à Nextcloud Music.
Captures d'écran de Power Ampache 2 sur Android
Power Ampache 2 : écran d'accueil, vue « artiste » et vue « lecture en cours »
L'application n'est pas encore disponible sur le Play Store, mais elle peut être installée depuis F-Droid ou via l'APK téléchargeable sur GitHub :
Télécharger Power Ampache 2 sur F-Droid
Suite à mon précédent article, on m'a également beaucoup recommandé Ultrasonic pour Android. L'application est sobre, l'interface est simple et efficace, très facile à prendre en main. En naviguant dans les titres par ordre aléatoire, elle permet également de lancer de la musique en un clic, fonctionnalité importante pour moi.
Personnellement je lui préfère Power Ampache 2, mais mon père, lui, préfère Ultrasonic dont il apprécie la simplicité. Merci à tous ceux qui me l'ont recommandé du coup, vous avez fait un heureux ! 😉️
Catures d'écran d'Ultrasonic sur Android
Ultrasonic : liste des albums, liste des titres et lecture en cours
Ultrasonic est disponible via F-Droid et via le Play Store. Il peut également être téléchargé sur GitLab :
Télécharger Ultrasonic sur F-Droid
Télécharger Ultrasonic sur le Play Store
Sur mon PC sous Ubuntu, j'utilise principalement Sonixd pour me connecter à mon cloud musical. J'aime bien son ergonomie et son look. De loin on lui donnerait même un petit air de Spotify. À noter que l'application est également disponible pour Windows et macOS.
Capture d'écran de l'application Sonixd sous Linux
Écran d'accueil de Sonixd
Le principal défaut de Sonixd est d'être une application Electron (en résumé il s'agit d'un navigateur Web affichant une interface en HTML / CSS / JavaScript), ce qui fait qu'elle est relativement lourde, tout comme Spotify, Discord, Slack, et bien d'autres applications « modernes » ; il faut faire avec... 😅️
Point important à noter : l'application n'est plus activement développée, une réécriture est en cours sous le nom de Feishin. Cette nouvelle application semble très prometteuse mais la compatibilité avec Subsonic n'a pas encore été réimplémentée, il faudra donc se montrer un peu patient avant de switcher. 😉️
Si vous souhaitez télécharger Sonixd, vous trouverez des releases pour l'ensemble des systèmes supportés sur GitHub :
Page de Feishin, le successeur de Sonixd, sur GitHub
Pour faire fonctionner Sonixd sous Ubuntu, il vous faudra installer une petite dépendance avant de commencer :
sudo apt install libfuse2
Ensuite, vous pouvez télécharger le fichier .AppImage sur GitHub, puis le rendre exécutable à l'aide de la commande suivante :
chmod +x Sonixd-*-linux-x86_64.AppImage
et enfin le lancer soit en double-cliquant dessus, soit via la commande suivante :
./Sonixd-0.15.5-linux-x86_64.AppImage --no-sandbox
Dernier client dont je voulais parler : Supersonic. Son ergonomie est moins recherchée que celle de Sonixd et va droit au but : simple et efficace. L'application reste cependant agréable à utiliser au quotidien.
Le principal avantage de Supersonic par rapport à Sonixd est sa légèreté : il tourne parfaitement sur le vieux netbook qui me sert à écouter de la musique dans le salon / la cuisine.
Capture d'écran de l'application Supersonic sous Linux
Vue « Album » de Supersonic
Cette application est disponible sur FlatHub pour Linux et des fichiers sont également téléchargeables sur GitHub pour l'ensemble des plateformes supportées :
Installer Supersonic via FlatHub
Télécharger Supersonic sur GitHub
La connexion d'applications clientes à Nextcloud Music est assez simple mais il est nécessaire de leur créer préalablement un mot de passe d'accès aux APIs. On ne va en effet pas utiliser le mot de passe de notre compte Nextcloud pour la connexion des applications.
Pour générer un mot de passe d'accès à une application,
Capture d'écran : étapes de création du mot de passe API
Une fois ceci fait, Nextcloud Music vous affichera le nom d'utilisateur et le mot de passe nouvellement créé. Notez bien le mot de passe car il ne sera jamais réaffiché par la suite.
Pour la configuration des applications clientes, vous aurez besoin des trois informations suivantes :
Capture d'écran : informations à configurer dans les applications
Une fois en possession de ces informations, vous pouvez passer à la configuration des applications de votre choix.
Histoire d'illustrer la connexion d'une application à Nextcloud Music, je vais vous expliquer comment faire en prenant Sonixd comme exemple. Lors du premier lancement, l'application vous invitera à lui fournir les informations nécessaires à la connexion au serveur :
Capture d'écran de l'écran de connexion de l'application Sonixd
Connexion de Sonixd à Nextcloud Music
Si tout s'est bien passé, vous devriez pouvoir commencer à écouter votre musique ! 😀️
Pour les autres applications la procédure sera assez similaire, il faut juste bien renseigner l'adresse de la bonne API (Subsonic ou Ampache) en fonction de ce que supporte le logiciel. Pour les clients Subsonic il faudra généralement cocher une case pour permettre la connexion à Nextcloud Music. Le nom de cette case varie d'un client à l'autre mais vous trouverez l'information sur le wiki de Nextcloud Music.
sur le wiki de Nextcloud Music
Je vais ici présenter quelques commandes pour forcer la mise à jour de la bibliothèque musicale et des métadonnées contenues dans les fichiers. Lors d'une utilisation « normale » de Nextcloud et de Nextcloud Music vous ne devriez pas en avoir besoin, les changements sont automatiquement détectés. Mais moi je suis développeur et j'ai codé (un peu à l'arrache) des scripts pour automatiser le traitement de ma musique :
Il faudrait aussi que je passe un coup de ReplayGain sur les musiques pour en normaliser le niveau sonore mais j'ai pas encore eu le temps de me pencher sur la question... 🤔️
Du fait de mon utilisation particulière j'ai donc besoin :
Nextcloud fournit une commande nommée occ permettant de lancer des tas d'actions sur Nextcloud lui-même et sur les applications installées. Cette commande est un fichier PHP situé à la racine de votre installation Nextcloud :
$ ls -l ./nextcloud/ [...] -rw-r--r-- 1 xxxxxxxxx xxxx 155 Jun 25 10:23 index.html -rw-r--r-- 1 xxxxxxxxx xxxx 4103 Jun 25 10:23 index.php drwxr-xr-x 6 xxxxxxxxx xxxx 9 Jun 28 14:06 lib -rw-r--r-- 1 xxxxxxxxx xxxx 283 Jun 25 10:23 occ <-- commande "occ" [...]
Pour la lancer vous pouvez normalement vous rendre dans le dossier et taper quelque chose dans ce genre-là :
cd my-nextcloud/ php occ --help
Pour que ça marche, il faut que php-cli soit installé sur la machine, et dans la bonne version (la même version que celle que vous utilisez pour faire tourner Nextcloud). Généralement vous pouvez l'installer avec une commande similaire à celle-ci sous Debian / Ubuntu :
sudo apt install php8.x-cli
Il faudra bien sûr remplacer "8.x" par la version de PHP à utiliser (par exemple : "php8.3-cli").
De plus, il faut faire attention aux points suivants :
Pour des raisons de lisibilité, je vais par la suite écrire "php occ [...]" dans mes exemples mais en réalité ma commande ressemble plutôt à ceci :
php8.3 --define apc.enable_cli=1 ./occ [...]
Pour demander à Nextcloud de rescanner un dossier pour y trouver les nouveaux fichiers (et ceux supprimés), il faudra utiliser la commande "files:scan" avec le paramètre "--path" suivi du chemin du dossier tel qu'il est connu de Nextcloud. Ce chemin est composé de la manière suivante :
/<USER>/files/<PATH>
Pour le dossier "/Music" de l'utilisateur "flozz" ça nous donnerait donc "/flozz/files/Music". Si on recolle tout ça ensemble ça nous donne la commande :
php occ files:scan --verbose --path /flozz/files/Music"
Une fois que les nouveaux fichiers sont connus de Nextcloud grâce à la commande précédente, on peut demander à Nextcloud Music de les indexer à l'aide de la commande "music:scan" suivie du nom de l'utilisateur à traiter, ce qui nous donne une commande similaire à :
php occ music:scan --verbose flozz
Et enfin, on peut demander à Nextcloud Music de mettre à jour les métadonnées présentes dans sa base de données pour les fichiers qui ont été modifiés depuis leur scan initial. Pour ce faire, on reprend la commande précédente, en lui ajoutant l'option "--rescan-modified" :
php occ music:scan --verbose --rescan-modified flozz
Comme vous avez pu le constater, l'installation de Nextcloud Music est très simple, tout se fait en quelques clics. Si vous avez déjà votre instance Nextcloud, ajouter le service de streaming musical ne demande presque aucun effort !
J'espère ne pas vous avoir fait peur avec la dernière partie sur la ligne de commande. Je l'ai surtout ajoutée comme un mémo pour moi-même et pour les éventuelles personnes qui auraient envie de bidouiller des trucs à la main, mais je le répète, son usage n'est pas obligatoire ! 😉️
Voilà, si cet article vous a plus, n'oubliez pas de mettre un pouce bleu et à vous abonner à la ch-... Arf oui non on est pas sur YouTube là ! Je vais donc juste me contenter de vous souhaiter une bonne journée ! 😅️
--------------------------------------------------------------------------------