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 pifpaf | 

Pour la lecture à partir d'un Dac certains fabricant conseillent d'utiliser Audivarna (payant) à la place d'iTunes sur Mac ou FootBar 2000 (gratuit) sur PC. est-ce que quelqu'un à testé ces solutions ?
Par Dac j'entends Rotel, Microméga, Arcam, Rega etc ...

avatar Simeon | 

Sur ma modeste installation audiophile, la différence est tout à fait notable. Je n'aime pas du tout l'UI en revanche. À noter aussi qu'il est désormais possible d'intégrer un abonnement Qobuz directement dans l'application. Comme elle est beaucoup mieux codée que le client Qobuz, il devient difficile de revenir en arrière une fois qu'on y a goûté.

Il existe une version de démonstration qui vous permettra de vous faire votre propre jugement avant de passer à une douloureuse inhabituellement élevée pour ce type de logiciel.

avatar P'tit Suisse | 

@pifpaf :
A titre indicatif : La différence est pour moi largement perceptible avec Amarra, des fichiers Flac et un casque (Sennheiser hd 598) branché sur le mac. Audivarna ne m'avait convaincu il y a un ou deux ans.
Des versions test existent pour les deux.

http://audirvana.com/?lang=fr

http://www.sonicstudio.com/amarra/amarraproducts

avatar iAnn | 

@ pifpaf

J'utilise la sortie numérique de l'iMac (jack/optique) vers DAC MusicHall puis ampli à lampe qui drive des Cabasses Iroise...

J'avais acheté Audivarna, mais suivant les enregistrements je trouve le son trop sec, donc je le coupe souvent pour laisser le mac (iTunes) s'occuper du flux numérique... Essayer la version test et laisser ses oreilles décider : sur de bon enregistrements non compressés en 24 Bits 48KHz, 92 KHz, 192 KHz...

Si on utilise iTunes pour de bon fichiers penser à ouvrir "configuration audio et MIDI" (dans utilitaire) pour changer la fréquence d'échantillonnage en fonction des albums... (étonnant que ce ne soit pas automatique).

avatar Pieromanu | 

@iAnn :
C'est mon principal grief envers iTunes, l'impossibilité de changer la fréquence d'échantillonnage à à volée. Quand j'ai besoin de cette fonction j'utilise Vox mais il est beaucoup trop lent à charger la bibliothèque iTunes. Je pense dans un futur proche utiliser JRiver, ou Audirvana, j'ai essayé Plex mais je ne l'aime pas du tout, il est plus pensé pour les films que pour la musique. En plus Plex ne supporte que les formats audio compressés, mp3 et m4a, c'est vraiment pas bon pour la musique.

avatar marc_os | 

@pifpaf :
Oui faut absolument Audirvana et des câbles blindés spéciaux à 200€ le mètre.

Sérieux : Tout est numérique sur le Mac !
L'important c'est le DAC externe si ton ampli est analogique.

avatar elamapi | 

Pour info à propos de Plex, il n'y a plus besoin d'un plex pass payant pour acceder à ses bibliotheque a distance.

Le plex payant n'est necessaire que pour créer plusieur utilisateur, pour faire de la synchro locale, ou pour certaine application (comme celle de Windows 10).

L'appli android, celle sur Xbox ou PS sont gratuite et fonctionne super bien.

avatar fte | 

Article très intéressant ! iTunes malgré ses défauts reste un outil solide pas si évident à remplacer qu'on pourrait le souhaiter. J'ai cherché des alternatives crédibles étant quelque peu fatigué de la lourdeur d'iTunes mais j'ai abandonné. Pas assez obstiné peut-être...

Je continue à espérer une refonte d'iTunes, mais à ce stade j'ai des doutes qu'Apple nous sorte jamais une version véritablement améliorée. Ils ont perdu leur mojo côté UI.

Tant pis. Le streaming remplace peu à peu la musique locale, c'est globalement plus pratique, plus encore avec l'abo famille pour toute ma troupe. Je pense qu'iTunes Match ne sera pas renouvelé lorsqu'il arrivera à échéance dans quelques mois.

avatar minitoine | 

@fte :
Ha. Tu as Apple Music et iTunes Mach.
Je crois qu'il est temps que tu saches qu'itunes match est inclu dans Apple Music..
Alors si tu peux gagner 25€.. À ton service ! :)

avatar Fabricius | 

@minitoine : Pas tout à fait non ;-)

avatar iPop | 

2007
Date de l'avènement et gloire de l'iPhone
Mais aussi date fatidique d'iTunes MAC.

avatar marc_os | 

@ iPop
Oui, date fatidique, suite à laquelle j'ai commencé à voir iTunes sur des PC sous Windows de potes en soirées...

avatar minijul | 

Comme d'autres ici, je me suis globalement réconcilié avec iTunes depuis les dernières versions où il est redevenu utilisable.

avatar joneskind | 

Eh beh... Remplacer OSX par Linux et iTunes par un logiciel dans le terminal... Faut vraiment n'avoir que ça à faire ou aimer galérer...

Mais bientôt votre développeur va pouvoir développer en Swift directement sur Linux, en lignes de codes à l'ancienne. Ces interfaces user friendly à la Xcode c'est pour les noobs.

Quand on est développeur OSX/iOS et qu'on troque OSX pour Linux, je crois que c'est vraiment le moment de se poser la question de son orientation professionnelle.

avatar Nicolas R. | 

Mais puisqu'on te dit qu'être un VRAI de vrai c'est lire sa musique à travers la matrice !
Moi je dégoutais parce que je dèv depuis 22 ans et je préfère toujours les UIx au terminal :'(
J'ai raté ma vie tu crois ?

avatar Domsware | 

iTunes fais ce que je lui demande. J'ai essayé Vox mais n'ai pas été séduit.

La critique de l'utilisation de fichiers XML me semble un peu précipitée : iTunes est en effet intégré à un écosystème plus vaste, ce qui peut expliquer certains choix techniques.

Je comprends le plaisir de faire son système à sa sauce lorsque l'on aime bidouiller. Personnellement je passe suffisamment de temps à développer pour en consacrer encore plus pour jouer de la musique.

avatar Fabricius | 

J'ai la chance de traîner la même bibliothèque musicale depuis au moins 2005, et cela sans jamais avoir connu la moindre bibliothèque corrompue ai-je de la chance ?

Je reconnais qu'avec le temps iTunes est devenu une usine à gaz, pour autant il fait toujours le job est le fait correctement et même très bien, il est peut-être lourd mais je connais pas de ralentissement, certes l'interface est peut-être un poil moins limpide, mais avec autant de fonction ce n'est pas étonnant.

Comme plus haut, j'aimerai qu'Apple se préoccupe plus du système de fichier, c'est tellement plus important, car en attendant je me vois pas utiliser le terminal pour indexer ma bibliothèque musicale.

Cet article c'est montrer comment remplacer une usine à gaz par justement une nouvelle usine à gaz.

Fabricius

avatar alohabobo | 

En plus il me semble que le format interne de la bibliothèque iTunes n'est pas du XML mais un format binaire optimisé (fichiers .itl je crois)
Le XML n'est là que pour causer avec le reste du monde et s'active via une option. D'ailleurs modifier ce XML n'a aucun impact sur la bibliothèque.
Bref autant je suis d'accord iTunes est devenu lourd (les milliards de choix dans les menus), autant je le trouve plus réactif qu'avant et cette histoire de base de données me semble réservée à une minorité (c'est vrai j'ai essayé un jour de jouer en AppleScript avec la base iTunes, l'horreur ...)

avatar Phoenixxu | 

En fait, je ne comprends pas...
Qu'est-ce qu'on demande à iTunes ?
Moi c'est gérer ma musique. Il le fait très bien !
J'ai désactivé  Music, et autres joyeusetés connectées comme le store pour les Films et applications car je n'ai pas besoin de ça.
iTunes est fondamentalement resté le même, et encore heureux.

avatar Navareus | 

@tekikou
Allez ! Par gourmandise !

avatar bradepitre | 

Je déteste iTunes et plus ça va moins je m'y retrouve. iTunes mérite une simplification fondamentale, aussi bien quant à la transparence de ce qu'il offre comme services que quant à la clarté de son interface.
Il y a trop de choses dans iTunes, de par le fait que c'est peut-être un logiciel de gestion de musique, d' apps, de synchronisation avec les Devices ... mais aussi une plateforme de vente. Malheureusement, je ne vois pas comment m'en passer.

avatar Moonwalker | 

Merci pour cet article.

J'ai bien rigolé.

Ce qui par les temps qui courent n'est pas rien.

Bon. Un peu de sérieux maintenant. Je lance iTunes.

Ah! Ah! Ah! Sacrés pingouins ! :D

avatar Jacti | 

Les pochettes dans iTunes ne servent qu'à encombrer le disque dur. Je ne mets pas de pochettes dans iTunes, ni de mp3. Quant àla solution préconisée dans l'article elle est risible, en plus basée sur Python qui est tout ce qu'on peut imaginer de pire au niveau des langages de programmation.

avatar mrfish84 | 

C'est quoi iTunes ?

Pages

CONNEXION UTILISATEUR