Les arcanes d’iTunes LP : mise en route

Voici un article consacré au format iTunes LP inauguré en septembre dernier sur iTunes Store.

MISE EN ROUTE

La meilleure façon de se mettre en route est certainement d’acheter un album iTunes LP sur iTunes Store. Les albums « officiels » dans ce format utilisent une librairie nommée TuneKit. Cette ressource est inestimable lorsque l’on souhaite créer ses propres iTunes LP. Vous pouvez jeter un œil aux iTunes LP gratuits téléchargeables sur iTunesLP.net mais ceux-ci, pour certaines raisons légales, n’utilisent pas TuneKit.
Dans ces exemples, nous utilisons seulement une partie des possibilités offertes et si vous vous intéressez vraiment au sujet, vous devrez vous intéresser à TuneKit et donc pénétrer plus avant les arcanes des albums LP vendus sur iTunes Store.

LA STRUCTURE

Un album iTunes LP est en fait un paquet avec l’extension .ITLP. Il s’agit d’un dossier contenant plusieurs fichiers mais reconnu par MacOS X comme un fichier unique. Si vous faîtes vos manipulations depuis Windows, par exemple, l’album iTunes LP sera reconnu comme un simple dossier.

Pour afficher le contenu d’un paquet comme un dossier, utilisez ctrl-clic sur le fichier .ITLP. Dans le menu qui s’affiche, choisissez « Afficher le contenu du paquet ». A l’intérieur de celui-ci, vous allez découvrir un certain nombre de fichiers et dossiers qui forment une sorte d’application HTML. Le contenu peut varier d’un album à l’autre. Mais, dans la plupart des cas, vous rencontrerez ceci :

• audio
Ce dossier contient les fichiers audio utilisés par l’iTunes LP pour jouer une boucle sonore dans les menus, des effets lorsque vous cliquez…

• controllers
Vous trouverez ici un ensemble de fichiers Javascript qui sont en fait le moteur de l’album en demandant à l’application d’afficher tel ou tel fichier (HTML) et quelle transition utiliser lors du passage de l’un à l’autre. Vous pourrez également trouver les données nécessaires au contrôle du visualiseur (si cela a été prévu par le développeur). L’un des fichiers les plus intéressants à se trouver ici est certainement le fichier data.js dont nous parlerons plus loin.

• css
Les feuilles de styles CSS (vous voyez, c’est comme pour un site web !) pour les pages.

• fonts
Certain albums contiennent ce dossier de fontes où l’on trouve des polices SVG ou Truetype. Chose curieuse, ces fontes ne sont actuellement pas utilisées par l’application car tous les textes affichés sont en fait des images.

• images
Un dossier qui porte bien son nom : il contient les images de l’album.

• index.html
Il s’agit du cœur de l’application HTML. Ce fichier est celui qui est lancé lors du démarrage de l’album.

• iTunes LP – XXXXXX.itlp
Un fichier qui pèse… 0 ko et qui porte le même nom que le paquet (étrange, non ?).

• iTunesArtwork
Comme les albums audio, les albums LP s’affichent dans iTunes avec une pochette, stockée ici au format PNG ou JPG.

• iTunesMetadata.plist
Ce fichier décrit les métadonnées nécessaires à l’affichage de l’iTunes LP dans iTunes. Il contient également beaucoup d’informations à propos de votre achat sur le Store et une suite d’identifiants qui sont liés à divers éléments de la boutique en ligne d’Apple. Pour finir, il existe aussi une liste des identifiants des titres musicaux qui peuvent ainsi être lus depuis l’application HTML. Cela est expliqué plus bas (section « XID, cid, pid et atom-ids ? »).

• manifest.xml
C’est dans ce fichier que se trouve la cartographie des identifiants des titres (contenus dans iTunesMetadata.plist, vous suivez ?) vers les XID utilisés par l’application HTML.

• src
C’est à cet endroit que se situe les librairies Javascript de TuneKit. Afin de rester dans les limites de la légalité, nous éviterons ces fichiers soumis à copyright.

• videos
Les fichiers vidéos de l’album (si il y en a) se trouvent ici.

• views
Vous trouverez dans ce dossier les différentes « vues » utilisées dans l’application. Ces vues sont essentiellement des balises HTML utilisées afin de définir à quoi doit ressembler ce qui s’affiche à l’écran.

XID, CID, PID ET ATOM-IDS ?

iTunes utilise un ensemble d’identifiants uniques sur le Store. Chaque artiste, chaque album (référence en tant que liste de lecture) et chaque piste ont un numéro d’identification unique. Chaque titre que vous achetez sur iTunes Store contient plusieurs de ces identifiants. Dans le cas qui nous occupe, ces derniers sont utilisés pour relier un album iTunes LP et les pistes de votre bibliothèque.

Mais cela ne se passe pas aussi directement. Les pistes lues et les listes de lecture sont référencées sous la forme de XID(s). Dans le fichier manifest.xml, on trouve la liste des liens entre ces XID et les numéros d’identification des pistes audio.

Il serait possible d’écrire ces identifiants dans vos propres pistes .m4a (ça n’est pas compatible avec les balises ID3 des fichiers MP3) mais cela nécessiterait une version modifiée de AtomicParsley* (outil de lignes de commande), ce qui poserait trop de souci pour des résultats insignifiants et cela pourrait même causer des conflits avec des pistes achetées sur le Store…

Cette approche est donc problématique pour toute piste musicale acquise sur iTunes Store et cela est donc à réfléchir car hors du « cadre » de développement officiel d’un iTunes LP, on risque des problèmes d’incompatibilité avec des albums proposés sur la boutique.

iTunes propose plusieurs fonctions de recherche de pistes pour sa bibliothèque musicale (sur votre Mac). L’une d’entre elles s’intitule « findTracksByXID()« . Il s’agit de la méthode par défaut utilisées par les albums LP. Une autre, nommée « findTracksByFields() » est celle utilisée dans les albums LP proposés au téléchargement par iTunesLP.net. Cette seconde méthode permet de rechercher et lire les pistes de la bibliothèque en se basant sur le nom de l’album (Albumname), le nom de la piste (Trackname) et/ou l’artiste (Artist).

De quoi avons-nous besoin ?
Lorsqu’il s’agit de créer des albums LP, il y a vraiment peu de fichiers nécessaire : un fichier index.html, un fichier iTunesMetadata.plist et un dernier fichier, iTunesArtwork. Le reste est facultatif, tout dépend du projet.

Commençons par créer un simplement un nouvel album LP en créant un simple dossier dont le nom portera l’extension .itlp. Dans celui-ci, nous allons placer la pochette de l’album avec, comme nom de fichier, iTunesArtwork. Ce fichier n’a pas d’extension à son nom, s’il en comporte tout de même (si vous travaillez sous Windows), activez l’affichage des extensions puis supprimez-la (.jpg ou .png).

A présent, il est temps de créer un fichier HTML. Celui-ci deviendra notre iTunesMetadata.plist. Ce fichier, à la structure XML, contiendra les informations relatives propriétés comme le nom de l’artiste, de l’abum… Voici un exemple de ce type de fichier :

Sur MacOS X, lorsque vous double-cliquez sur un fichier .itlp, iTunes s’ouvre automatiquement alors que sous Windows il vous faudra glisser/déposer le fichier dans la bibliothèque.

Fichiers d’exemple

Afin d’aller plus loin, vous pouvez télécharger le projet d’exemple (14 ko).

Merci de bien vouloir commenter cet article afin de avoir si vous êtes intéressé par ce genre de sujet.

*MacApper a proposé un article sur AtomicParsley en février 2008. AtomicParsley est téléchargeable depuis SourceForge.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *