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.
o 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.
o 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.
o 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.
o 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.
o 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 :
PROBLEMES ET LIMITATIONS
o 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.
o 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