LES CD-ROMS HYBRIDES

La conception de CDROM est l'une des activités les plus créatrices. Le fait de graver des informations sur un support est une application récente chez l'utilisateur final. Mais, il faut savoir qu'il n'existe pas qu'un seul format de CDROM. Chaque plate-forme possède sa propre extension au standard ISO et parfois même, ne respecte pas du tout ce standard.

LES FORMATS DE CDROM
Sur la base du standard ISO 9660, se sont accrochées quelques extensions destinées à obtenir des données plus lisibles suivant le système auquel elles sont destinées. En effet, le format pur ISO 9660 impose des normes trop restrictives selon les plateformes. Sous Linux, par exemple, un CDROM ISO 9660 ne vous permettra pas de conserver les noms de plus de 8+3 caractères. De la même manière, les attributs d'exécution ne seront pas conservés au gravage.

 

  • Extension RockRidge :
    Pour conserver les noms corrects et les attributs sous Linux, il faut utiliser l'extension RockRidge (RR). Celle-ci venant en supplément du format ISO, elle est principalement destinée aux systèmes compatibles UNIX.

     

  • Extension Joliet :
    Destiné à Windows 95, 98 et NT, cette extension permet, entre autres choses, de bénéficier des noms longs sous les dits systèmes.

     

  • Extension HFS :
    Comme son nom l'indique, cette extension concerne le monde Macintosh. En effet, le format HFS (Hierarchical File system) est le système de fichier des Mac. Celui-ci est très particulier dans le sens où un fichier est séparé en deux entités : les données et les ressources. Ce système permet d'associer une icône, un type, une application et un commentaire au fichier.

     

  • Format HFS :
    Attention : ne pas confondre le format HFS et le format ISO 9660 avec extension HFS. Le format HFS per met à un CDROM d'être vu par le système Mac comme une partition HFS. Ce CDROM HFS ne sera pas lisible sur une autre plate-forme (normalement), ou seulement en partie s'il s'agit d'un CDROM hybride.
LA PRATIQUE
C'est l'utilitaire mkhybrid de James Pearson qui, sous Linux, vous permettra de réaliser des CDROM hybrides. Celui-ci est une version basée sur mkisofs, il est stable et n'est plus à considérer comme une version bêta.
Le problème principal provient de la gestion du système HFS. En effet, HFS gère séparément les données des fichiers et leurs ressources. Il existe deux manières de créer un tel système de fichier. La première consiste à récupérer directement les informations depuis un système de fichiers HFS. Pour ce faire, il existe le système de fichiers AUFS (Apple-Unix Filesystem) qui est utilisé par CAP qui permet de mounter une partition Unix sur un Mac. Ce système stocke les fichiers dans les  répertoires .finderinfo, .resource et à la racine du répertoire. Grâce à AUFS, mkhybrid va récupérer directement les informations sur le type du fichier et le créateur, puis générer l'image CD sans les répertoires spécifiques à AUFS.
La seconde technique permet de se passer du système AUFS. Il est alors nécessaire de créer un fichier de mapping. Ce fichier contiendra les informations nécessaires pour associer fichier et ressource.

Exemple   :

# Fichier de mapping 
#
#EXTN XLate  CREATOR  TYPE    Comment
.tif  Raw    '8BIM'  'TIFF'  "Photoshop TIFF image"
.hqx  Ascii  'BnHq'  'TEXT'  "BinHex file"
.doc  Raw    'MSWD'  'WDBN'  "Word file"
.mov  Raw    'TVOD'  'MooV'  "QuickTime Movie" 
*     Ascii  'ttxt'  'TEXT'  "Text file"

La colonne EXTN définit l'extension du fichier. Par défaut (*), les fichiers avec une autre extension que celles mappées, seront des fichiers texte (dernière ligne).
La colonne XLate définit le type de transformation Unix/Mac. Ceci n'est pas utilisé par Mkhybrid mais assure une compatibilité avec AUFS.
Les colonnes CREATOR et TYPE doivent contenir des mots de 4 caractères.
La colonne Comment permet de placer un commentaire. Elle n'est pas utilisée par mkhybrid mais est présente pour une compatibilité AUFS.

LES OPTIONS DE MKHYBRID
Nous n'expliquerons pas ici toutes les options de l'utilitaire. Le fichier man est suffisamment clair à ce niveau. Voyons seulement les options importantes :

  • g permet de créer un CD ISO9660 avec extension Apple
  • G permet de spécifier le fichier de mapping (voir plus haut) en mode extension Apple
  • h créer un CD hybrid ISO9660/HFS
  • H pour spécifier le fichier de mapping en mode HFS
  • J créer les extensions Joliet pour Win95/NT
  • l permet d'autoriser les noms de fichiers de 32 caractères. Attention, ce CD pourra être difficile à lire sous MSDOS.
  • M spécifie le chemin pour une image ISO existante. La nouvelle image sera ajoutée à celle-ci, mais le graveur devra être capable de multi-sessions.
  • o spécifie le nom du fichier en sortie
  • R active les extensions RockRidge
  • T génère les fichiers TRANS.TBL
PROBLEMES ET LIMITATIONS
HFS
Si mkhybrid trouve un lien (non symbolique) dans le répertoire source du CDROM, il provoquera un message d'erreur. En effet, le système de fichiers HFS ne permet pas de lier plusieurs entrées de répertoires à un seul fichier. D'autre part, les liens symboliques ne sont pas pris en compte dans un volume HFS. La taille du volume HFS en sortie doit être au minimum de 800 Ko. Le système HFS, contrairement aux apparences, n'est pas sensible à la casse des caractères. Si vous avez dans le même répertoire source un fichier AbC.txt et un autre aBC.txt, mkhybrid générera un message d'erreur.

JOLIET
Certains CDROM Joliet ne sont pas lisibles sous NT4 alors qu'ils le sont sous Win95. Le support multi-sessions en Joliet n'est pas actif. L'extension Joliet permet une profondeur de répertoire de plus de 8, mais cette caractéristique n'est pas implémentée dans mkhybrid. Online