Témoignage : abandonner iTunes après 15 ans de service

Nicolas Furno |

Benjamin, notre développeur iOS, avait déjà partiellement abandonné OS X en faveur de Linux, mais il restait encore un élément de son quotidien qui l’empêchait de couper les ponts : iTunes. C’est désormais chose faite, comme il l’explique sur son blog. Après quinze ans de plus ou moins bons loyaux services, il a réussi à se passer totalement du jukebox d’Apple. Comment a-t-il fait ? C’est ce que nous allons voir !

Crédits : fdecomite CC BY

Avertissement en préambule : la solution mise en place ici n’est pas du tout « user-friendly », elle implique de manipuler un minimum le Terminal et des lignes de commande.

Pourquoi abandonner iTunes ?

Il est indéniable qu’iTunes a connu son heure de gloire, pendant un moment c’était peut-être même mon logiciel favori, mais force est de constater qu’aujourd’hui il n’est plus que l’ombre de lui-même.

Qu’est-ce qui pousse un utilisateur de Mac à abandonner iTunes ? La question mérite d’être posée, surtout lorsque la personne en question gère sa musique avec cet outil depuis des années, accumulant quelques dizaines de milliers de titres. D’ailleurs, notre développeur l’exploite depuis la toute première version, sortie il y a exactement quinze ans.

À l’époque, en 2001, Apple venait tout juste d’acheter SoundJam MP. Un lecteur audio devenu très populaire sur Mac, qui servait à gérer sa musique numérique et à la synchroniser avec les baladeurs MP3 Rio. Le constructeur était en train de préparer l’iPod et il lui fallait rapidement une application pour l'accompagner.

SoundJam MP, le logiciel acheté par Apple et transformé en iTunes (via)
SoundJam MP, le logiciel acheté par Apple et transformé en iTunes (via)

Il n’y avait pas de films ni d’applications, il n’y avait pas même d’iTunes Store et encore moins de nuage ou de streaming. En ces temps reculés, iTunes ne servait qu’à une chose : gérer, écouter et synchroniser sa musique. Comme tant d’autres, Benjamin regrette la simplicité de cette époque, qui s’accompagnait aussi d’une certaine fiabilité que l’on a peut-être perdue aujourd’hui.

Mais sa critique ne concerne pas que les ajouts apportés au logiciel. Le principal problème d’iTunes, c’est qu'il n’a jamais fondamentalement changé en 15 ans. Certes, l’interface a bien évolué, perdant le métal brossé des débuts au profit des aplats de couleurs et des effets de translucidité qui ont maintenant la cote. Mais le moteur, lui, est resté ancré dans les années 2000 et cela commence à devenir un vrai problème.

La toute première version d’iTunes (via)
La toute première version d’iTunes (via)

Notre développeur n’a pas besoin d’argumenter longtemps pour démontrer qu’iTunes aurait besoin d’un gros travail de fond. Le problème, ce n’est pas tant l’interface que le stockage des données associées aux fichiers. Rappelons que le logiciel liste tous les morceaux présents dans un dossier, puis génère un fichier XML contenant toutes les métadonnées.

On y trouve la liste de tous les artistes et de tous les albums en sa possession. Mais aussi des informations associées à chaque titre : l’année, le compositeur ou encore le genre. Le logiciel collecte également des données produites par l’utilisateur : les notes étoilées ou encore le compteur du nombre de lectures d'un morceau. De quoi organiser sa bibliothèque musicale différemment, en créant par exemple des listes de lecture intelligentes basées autour de multiples critères de tris.

La dernière version d’iTunes
La dernière version d’iTunes

Pour stocker toutes ces informations, le choix logique serait d’utiliser une base de données, mais iTunes s'appuie toujours sur un fichier XML. Évidemment, cela fonctionne, mais ce choix technique pose de nombreux problèmes. Pour commencer, toutes les données reposent uniquement sur un seul fichier qui peut se corrompre relativement facilement. Lorsque cela arrive, il n’y a aucun recours possible, alors qu’une base de données intègre des mécanismes pour limiter la casse.

Ensuite, ce fichier XML n’est pas fait pour être régulièrement interrogé et mis à jour. À l'inverse, ce sont les deux points forts d’une base de données traditionnelle. Quand on cherche un album, iTunes doit analyser ce document, chose qu'il ferait beaucoup plus rapidement dans une base dédiée. Mais il y a pire : la mise à jour des données. Si vous utilisez iTunes, vous l’avez sûrement remarqué, changer le nom d’un artiste sur une poignée d’albums prend quelques secondes. Et dans l’intervalle, l’interface est totalement bloquée… ce qui n’est franchement pas génial en 2016, comme le note Benjamin.

Chaque fichier stocké dans iTunes est enregistré dans un long document XML qui devient vite un goulot d’étranglement pour le logiciel. — Cliquer pour agrandir
Chaque fichier stocké dans iTunes est enregistré dans un long document XML qui devient vite un goulot d’étranglement pour le logiciel. Cliquer pour agrandir

Notre développeur a d’autres griefs à faire valoir, comme la conversion obligatoire du FLAC en ALAC, ou bien encore la méthode utilisée par iTunes pour enregistrer les pochettes. Au lieu d’associer la même image à chaque morceau d’un album, le logiciel d’Apple duplique le fichier pour le sauvegarder avec chaque morceau. Avec des pochettes de bonne qualité, on peut facilement se retrouver avec des centaines de méga-octets inutiles car redondants…

Pour Benjamin, abandonner iTunes lui a permis de gagner environ 11 % de place rien qu’avec cette seule histoire de pochettes d’albums. Après migration en dehors d'iTunes, le dossier contenant toute sa musique est passé de 1 To à 890 Go… un progrès indéniable, pour un résultat identique.

Gérer sa collection musicale : beets

Par quoi remplacer iTunes alors ? Benjamin voulant s’éloigner des ordinateurs d’Apple, il a cherché une solution multi-plateforme, capable de fonctionner aussi bien sur OS X que sur Linux. Et son choix s’est porté sur beets, un outil libre disponible depuis quelques années, qui a la particularité de ne pas reposer sur une interface graphique.

En effet, pour indexer son contenu, on utilise uniquement le terminal. Voilà qui aura de quoi rebuter un grand nombre d’utilisateurs, et pourtant cette solution a un avantage indéniable : elle est légère et surtout extrêmement souple. En tapant beet import dans le terminal, puis en glissant un dossier, beets peut analyser chaque fichier pour trouver et corriger les bonnes informations (il se base sur MusicBrainz) puis déplacer les morceaux à l’emplacement défini auparavant (éventuellement en les convertissant au passage si vous le souhaitez).

Import d’un album avec beets
Import d’un album avec beets

Pour parvenir à un tel résultat, il ne faut pas le cacher, beets nécessite plus d’efforts qu’avec un logiciel comme iTunes. Pour commencer, l’installation de l’outil doit se faire via le terminal, et il faut d’abord installer quelques dépendances. L’utilitaire repose sur Python, un langage de programmation qui est livré par défaut avec OS X comme avec Linux. Malheureusement, la version fournie par Apple est ancienne et mieux vaut la mettre à jour.

Pour cela, le plus simple sur Mac est de passer par Homebrew, un gestionnaire de paquets que l’on installe avec cette première commande :

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Puis il faut installer Python avec cette deuxième commande :

brew install python

On peut enfin installer beets, avec cette dernière commande :

pip install beets

Si tout va bien, beets sera alors installé sur votre Mac… ce qui ne veut pas dire que vous pouvez l’utiliser dès à présent. Il faut encore le configurer, ne serait-ce que pour lui indiquer où stocker les fichiers musicaux. Pour cela, vous pouvez taper cette ligne de commande dans le terminal et le fichier de configuration s’ouvrira dans l’éditeur par défaut :

beet config -e 

Au départ, le fichier de configuration est totalement vide. Pour le remplir, il faut se référer à la documentation et trouver les bonnes commandes. Par exemple, l’emplacement où sera stocké la musique est défini par directory: puis le chemin d'accès. Avec paths:, on peut changer l’organisation des fichiers à l’intérieur de ce dossier.

Extrait de la configuration beets de Benjamin — Cliquer pour agrandir
Extrait de la configuration beets de Benjamin — Cliquer pour agrandir

C’est une contrainte, c’est vrai, mais cette solution est beaucoup plus souple et puissante qu’un logiciel comme iTunes, où tout est fait en fonction d’une méthode imposée. En changeant un seul paramètre, beets peut organiser différemment la bibliothèque. Et puis on peut très bien stocker les fichiers d’un côté et la base de données ailleurs : dans le cas de Benjamin, elle est stockée sur sa Dropbox, et ainsi synchronisée facilement avec d’autres appareils.

Cet outil offre aussi bien plus d’options que son concurrent graphique. On pourrait consacrer plusieurs articles uniquement à la configuration de beets, mais ce n’est pas l’objet de celui-ci. Indiquons simplement qu’en plus de ses fonctions de base, l’outil repose sur un système d’extensions qui permettent d’aller très loin dans la personnalisation. On peut ainsi convertir les fichiers lors de l’import, créer des listes de lecture intelligentes comme avec iTunes, ou bien encore chercher les paroles des morceaux.

Extrait de la collection musicale, organisée par beets. L’organisation des fichiers est ici identique à celle d’iTunes, mais vous pouvez choisir une toute autre organisation si vous le souhaitez.
Extrait de la collection musicale organisée par beets. Il n'y a pas de différence avec celle d'iTunes mais vous pouvez choisir une toute autre organisation si vous le souhaitez.

Benjamin a ainsi configuré très précisément beets pour qu’il fonctionne comme lui le souhaite. Prenons un exemple : pour tous les morceaux d’un artiste ou d’un groupe qui font intervenir un invité (un « featuring »), notre développeur exploite cette extension pour insérer les noms de ces artistes dans le nom du titre, plutôt que de les garder dans le champ dédié au nom de l’artiste. Par l'entremise de cet outil, tout se fait automatiquement à l’import et Benjamin n’a pas à gérer cet aspect manuellement, comme cela aurait été le cas avec iTunes.

C’est bien la force de beets : l’installation et la configuration peuvent effrayer, mais une fois que c’est fait, son utilisation peut devenir (presque) aussi simple qu’avec iTunes. Il faut toujours en passer par le terminal, c’est vrai (même si on peut le masquer en utilisant un peu d’AppleScript et les dossiers surveillés d’OS X), mais en contrepartie, on a un outil bien plus puissant, capable d’importer et de gérer la musique plus rapidement et plus efficacement.

L’intégration de MusicBrainz est un allié solide pour tous les fichiers mal (ou pas) renseignés, la recherche automatisée de pochettes est un avantage tout aussi indéniable… Avec un petit effort au départ, on peut avoir un système très efficace et les données sont stockées dans une base de données SQLite, bien plus rapide quand il s’agit de chercher une information.

Écouter sa musique : Swinsian, Clementine et Volumio

Ce que beets ne fait pas très bien en revanche, c’est lire la musique. On peut utiliser une extension dédiée à la lecture et choisir un logiciel capable de jouer les fichiers musicaux — sur Mac, Vox est un excellent choix —, mais il faut utiliser le terminal pour choisir un album, ce qui n’est pas forcément le plus agréable. Même Benjamin, qui n’a jamais reculé devant une ligne de commande, préfère se tourner vers une interface graphique pour écouter sa musique.

La bibliothèque gérée par beets peut très bien fonctionner avec un logiciel alternatif, ici Swinsian. — Cliquer pour agrandir
La bibliothèque gérée par beets peut très bien fonctionner avec un logiciel alternatif, ici Swinsian. — Cliquer pour agrandir

Et cela tombe bien, ce ne sont pas les alternatives à iTunes qui manquent, sur OS X, comme sur Linux. Sur sa machine de travail, un Mac donc, notre développeur utilise Swinsian (18,7 €) qu’il pointe simplement sur le dossier (géré par beets) contenant toute sa musique. Côté Linux, il utilise Clementine, un gestionnaire de musique libre et gratuit, disponible sur toutes les plateformes.

Ça, c’est quand il écoute de la musique devant un ordinateur. Mais la force de beets, c’est qu'il peut servir de base pour écouter aussi sa musique dans le salon. Benjamin avait un Raspberry Pi qui ne servait à rien, il a mis dessus Volumio, une distribution allégée spécialisée dans la musique et conçue pour être installée très facilement sur ces mini-ordinateurs ARM. On peut l’utiliser avec un disque dur local, ou connecter un volume réseau, ce que fait Benjamin à partir de son serveur musical, un ancien Mac Pro. Précisons qu’il a connecté un DAC en USB qui transfère ensuite la musique sur les enceintes.

Volumio peut se contrôler depuis une interface web assez simple.
Volumio peut se contrôler depuis une interface web assez simple.

Volumio propose une interface de contrôle depuis un navigateur, mais on peut aussi utiliser une application iOS. C’est ce que fait notre développeur, avec MPoD sur iPhone et MPaD sur iPad. N’importe quel contrôleur compatible avec Music Player Daemon, l’application sur laquelle se base Volumio, pourra faire l’affaire.

Au passage, Volumio est compatible avec les accessoires AirPlay, vous ne perdrez pas cette fonction si vous en avez besoin. Par ailleurs, on peut très bien imaginer un accès à distance à cette bibliothèque. Sans avoir un équivalent parfait à une fonction comme iTunes Match, il y a moyen d'ouvrir le serveur musical chez soi et y accéder depuis internet.

Une alternative plus grand public : Plex

Pour finir, un mot rapide sur une alternative moins geek et plus accessible à la iTunes. Plex est un logiciel de media-center chargé à l’origine uniquement d’indexer films et séries, mais il est aussi capable de gérer la musique et il le fait plutôt bien. Il suffit d’indiquer le dossier où les fichiers sont stockés, il analysera le tout et construira une base de données aussi complète qu’on peut l’espérer.

L’interface web de Plex, affichant la fiche d’un artiste.
L’interface web de Plex, affichant la fiche d’un artiste.

La grande force de Plex, c’est précisément l’accès à distance. Vous installerez le module serveur sur l’ordinateur qui contient la musique, chez vous par exemple, et vous y aurez accès depuis n’importe quel appareil sur le réseau local. On peut écouter de la musique dans le navigateur, ou en utilisant l’une des applications sur un appareil mobile ou même sur la télévision.

Mieux, si vous payez l’abonnement Plex Pass, vous pourrez même accéder à ce contenu à distance, depuis n’importe quel ordinateur connecté à internet. Dans le cas de la musique vous aurez d’autres avantages, comme la recherche automatisée des clips vidéo associés à vos morceaux préférés. C’est une solution pour remplacer iTunes qui est assez complète, même si elle n’a pas la souplesse de beets. La transition est aussi plus douce, puisqu'on peut commencer par indexer simplement la bibliothèque iTunes et aller plus loin dans un second temps.

avatar BeePotato | 

« Quand on cherche un album, iTunes doit analyser ce document »

Évidemment que non !
Le fichier XML, il est lu et analysé au démarrage, histoire de mettre son contenu en mémoire (où la vitesse de recherche dépend des structures de données choisies par les développeurs, sans que ça ait un rapport quelconque avec le format d’encodage utilisé sur disque).

avatar cdeat | 

iTunes a beaucoup perdu en simplicité au fil du temps. Aujourd'hui l'interface est devenu trop complexe. Quel galère pour échanger avec son iPhone. Apple devrait corriger très sérieusement son logiciel pour le rendre beaucoup plus agréable à l'utilisation car à vouloir trop en faire, on finit par ne plus rien faire avec. Car à chaque utilisation c'est toujours la galère et les problèmes avec. Alors oui il n'a jamais été aussi facile de faire simple. Pourtant ce fut toujours la philosophie d'Apple, faire simple mais force est de constater qu'aujourd'hui iTunes est un vrai casse tête pour l'utilisateur.

avatar Espcustom | 

J'ai essayé vox prenant qq semaines il y a quelques années. Pas mal, mais le retour à iTunes a fait du bien. Pour moi il n'a pas de réel remplaçant. Meme s'il me gonfle souvent faut avouer..

Par contre dire que vox sonne mieux qu'itunes...comment le dire..

avatar legallou | 

@jeserkrugger Pour te répondre globalement je suis content de Audirvana. Rapidité de lancement et toutes les fonctions habituelles pour cataloguer et créer des listes de lecture. Pour le son il y a une amélioration, plus ou moins importante liée à la qualité de ta chaîne hi-fi. Il y a aussi une connexion directe avec Qobuz qui diffuse en haute qualité. C'est un plus certain qu’iTunes n'aura jamais. Le mieux c'est de t'en faire une idée il y a une version de démonstration pour Audirvana.

avatar DouceProp | 

Pour ce qui est de son boulot de lecteur de musique, je n'ai pas grand chose à lui reprocher... Autrefois (sur Windows), je glissais des albums d'un dossier à Winamp et puis j'ai eu un iPod et donc iTunes. Depuis je n'ai pas utilisé d'autre lecteur. Ma musique est en grande majorité en mp3 320 et Alac pour la musique classique. C'est vrai que c'est embêtant quand on change les informations d'un album, on est obligé d'attendre avant de pouvoir faire une autre opération sur le logiciel, ne serait-ce que passer à un morceau suivant en utilisant les touches du clavier... Mes fichiers sont stockées sur un Nas, je n'achète pas de musique sur iTunes Store, je suis simplement abonné à iTunes Match et je trouve ça très sympa de retrouver mes playlists sur mon téléphone et sur mon ordi au boulot.

Par contre, j'aimerais vraiment que l'Apple TV prenne sont indépendance vis-à-vis d'iTunes à la maison. Comme tout passe par iTunes, on est obligé d'avoir l'ordi allumé pour que l'Apple TV comprenne que les photos sont sur le Nas et que la musique aussi. Si j’éteins l'ordi alors l'Apple TV lit ma musique iTunes Match et seulement mes photos iCloud. Pourquoi ne pas rendre l'Apple TV indépendante d'iTunes et permettre d'indiquer un chemin local vers la musique, les photos, et vidéos stockées sur mon Nas tout en gardant l'esthétique, le classement et les playlists ? Pour nous obliger à avoir un Mac, je sais. Et des abonnements iChoses, je sais.

avatar Joël Pierre (non vérifié) | 

Comment fait-on pour gérer le contenu de son iPod sans iTunes (musique, photos, vidéos, podcasts, applications, mises à jour, etc.) ?

avatar jlovama | 

Bon, j'ai pas lu ente!rement les 4 pages de commentaires, pas trop le temps 8-o

Mon résumé:

- Passer d'iTunes au Terminal, un truc de geek qui adore se faire "ch.." à taper des lignes de code là où quelques clics font la même chose :-p

- iTunes fonctionnent assez bien, du moins pour gérer sa bibliothèque musicale. Il rame un peu quand on atteint le To de données, c'est sûr… mais avec quelques scripts gratuits (ou pas), on peut faire pratiquement ce qu'on veut avec !

-> http://dougscripts.com/itunes/index.php

iTunify, vieux shareware basé aussi sur des scripts et toujours fonctionnel est assez génialement simple pour gérer les metadonnées dans tous les sens.

- Pour l'écoute, iTunes est assez pourri. M'enfin, pas lui directement, mais il passe par les codecs du système qui altèrent beaucoup le son au passage !

Audivarna Plus 2 (mais sans doute aussi Amarra que je vais tester, merci pour l'info !), non seulement gère la bibliothèque d'iTunes, mais balance le son directement vers la prise de sortie sans utiliser le système, la différence est flagrante, même sur les HPs d'un iMac ou d'un MacBook ! Et en plus, il peut gérer sa propre bibliothèque en récupérant celle d'iTunes.

Si on est un peu audiophile, je pense que ces deux applications (Audivarna ou Amarra) sont INDISPENSABLES. Même sans DAC derrière le Mac.

Apple = simplicité d'utilisation # Terminal !!!

avatar jlovama | 

Sans vouloir faire spécialement de pub pour Audivarna, voilà une page qui explique très clairement et en détail pourquoi le son fourni en standard par Apple via iTunes est pourri et comment on peut faire beaucoup mieux !

http://www.cuk.ch/articles/13598

avatar Orus | 

"En effet, pour indexer son contenu, on utilise uniquement le terminal. Voilà qui aura de quoi rebuter un grand nombre d’utilisateurs,"
Non, mais au-secours là ! Si on est sur Mac ce n'est pas pour revenir 30 ans en arrière avec le Terminal.
Cette news c'est de l'humour, non ?

avatar Nicolas R. | 

Alors cette justification des pochettes d'album.... honnêtement elles sont stockés dans le média ou à coté... ça ne change rien...
Sur mes 40 Go de musique, le dossier Musique/iTunes fait 9,5Mo (6,9Mo de bddfile)... wow iTunes me blinde mon DD... je vais passer par le terminal pour avoir accès à ma musique parce qu'iTunes c'est trop mainstream...

avatar iYoung | 

Alors ça s'il faut faire tout ce boulot pour simplement écouter de la musique ça sera sans moi de plus iTunes j'adore.

avatar Leadlike | 

Article très intéressant : j'arrive à la conclusion que iTunes est la meilleure solution car l'objectif du commun des mortels est de "jeter" sa musique dans le Cloud et d'y accéder quand on veut, moi je veux surtout pas 1 To de musique mais Zero !

avatar jlovama | 

En fait tu mets ton To de musique sur le Cloud ?!! A quel prix ? 8-o

Je taquine...

avatar Iounmoutef | 

Audivarna ? Intéressé, j’ai voulu tester.

À moins que je ne sois aveugle, je n’ai pas réussi à transférer la musique vers une des différentes très bonnes paires d’enceintes (connectées à des dispositifs) Airplay de la maison.

Impossibilité de bénéficier d’enceintes qui ne soient pas connectées directement à mon Macintosh et obligation de faire sortir sur le même haut-parleur la musique et les sons d’alerte du système ?

Sans compter une reprise minable des listes de lecture d’iTunes (plus aucun classement en dossiers et sous-dossiers).

Poubelle directe.

avatar Onizuka | 

Je ne comprend pas comment on peut recommander Vox, c'est une usine à Gas qui bouffe plus de resources qu'iTunes. Je l'ai essayé plusieurs fois , je suis revenu à iTunes.

Plex je l'utilise pour certains concert en 5.1 mais je ne me vois pas l'utiliser dans d'autres cas… vous avez vu la taille du lecteur plex par rapport à iTunes?

avatar Bil | 

Rappelons que le logiciel liste tous les morceaux présents dans un dossier, puis génère un fichier XML contenant toutes les métadonnées.

Pour stocker toutes ces informations, le choix logique serait d’utiliser une base de données, mais iTunes s'appuie toujours sur un fichier XML.

C'est pourtant ce qu'iTunes fait depuis… bien 3 - 4 versions !
Le fichier XML n'est la que pour lecture pour d'autres applications et il est très facile de désactiver sa génération dans iTunes > Préférences > onglet Avancées

Mais il y a pire : la mise à jour des données. Si vous utilisez iTunes, vous l’avez sûrement remarqué, changer le nom d’un artiste sur une poignée d’albums prend quelques secondes. Et dans l’intervalle, l’interface est totalement bloquée…

Cela n'a donc rien avoir avec la gestion des métadatas par iTunes mais du fait que ces données sont encodées directement dans le fichier (en plus de remplir la BDD d'iTunes). De fait, les MP3 (a causes des tags ID3) et les fichiers looseless sont long a traiter car ils doivent être réécrit sur le disque intégralement. Les fichiers m4a sont bcp plus rapide car il est possible de changer seulement les métadonnées sans réécrire tout le fichier.

Au lieu d’associer la même image à chaque morceau d’un album, le logiciel d’Apple duplique le fichier pour le sauvegarder avec chaque morceau.

Encore heureux qu'iTunes fait ça avec les pochettes perso (car il associe bien une image avec plusieurs morceaux pour les pochettes téléchargées depuis l'iTS) 0_° Sinon cela implique une dépendance au logiciel utilisé pour avoir la pochette. Là, avec cette méthode, je peux lire mes morceaux sur un linux/windows/autre mac, j'aurais toujours mes pochettes.

Et sinon il ne parle pas de la gestion de ses morceaux sur iPhone. Etant développeur iOS c'est dommage !

Pages

CONNEXION UTILISATEUR