Aller au contenu

Joliet (système de fichiers)

Un article de Wikipédia, l'encyclopédie libre.

La norme Joliet est une extension de la norme ISO 9660 qui s'applique aux systèmes de fichiers informatiques sur CD-ROM. Définie et soutenue par Microsoft sur toutes les versions de Windows depuis Windows 95[1] et Windows NT 4.0[2], elle permet d'enregistrer des fichiers dont les noms sont composés de 64 caractères unicode au maximum. Désormais répandue et utilisée par la majorité des systèmes d'exploitation, son but principal est de s'affranchir des restrictions aux noms de fichiers nécessaires pour le support strict de la norme ISO.

Elle utilise pour cela un autre jeu de nom de fichiers encodés en UCS2 et stockés dans un en-tête supplémentaire qui est ignoré par les programmes compatibles avec la norme ISO, ce qui préserve la compatibilité ascendante[3]. Les spécifications techniques de la norme n'autorisent que des fichiers d'une longueur maximale de 64 caractères unicode, mais la documentation du logiciel libre genisoimage indique que les noms de fichiers allant jusque 103 caractères ne paraissent pas poser de problème particulier[4].

Beaucoup de systèmes d'exploitation compatibles PC sont capables de lire les médias formatés en Joliet, ce qui leur permet de s'échanger des fichiers même si ceux-ci comportent des caractères non-latins (comme l'arabe, le japonais ou le cyrillique), ce qui n'était pas possible avec le format ISO 9660 de base. Ces OS incluent :

Microsoft recommande l'utilisation de l'extension Joliet pour les développeurs qui programment pour Windows[9]. Ceci autorise des caractères unicode pour tous les champs texte de la norme, ce qui inclut les noms de fichier, et le nom de volume. Un descripteur de volume de type 2 contient les mêmes informations que le primaire (secteur 16 offset de 40 octets), mais en UCS-2 sur le secteur 17, offset de 40 octets. Le résultat est que le nom de volume est limité à 16 caractères, qui peuvent être affichés par le programme disktype[10].

Références

[modifier | modifier le code]
  1. a et b (en) « Joliet Specification for CD-ROM », Microsoft Knowledge Base, Microsoft, (consulté le ) : « Support for Joliet is included in Windows 95 ... »
  2. (en) « Windows NT Support For Long File Names Under CDFS File System », Microsoft Knowledge Base, Microsoft, (consulté le ) : « Versions of Windows NT up to 3.51 build 1057 do not read Joliet discs. Windows NT 4.0 can read Joliet discs by design. »
  3. (en) « Joliet Specification for CD-ROM », Microsoft Knowledge Base, Microsoft, (consulté le ) : « Because the Joliet specification is ISO 9660 compliant, CD-ROM disks recorded according to the Joliet specification may continue to interchange data with non-Joliet systems. »
  4. (en) « genisoimage(1) » (consulté le ) : « -joliet-long Allow Joliet filenames to be up to 103 Unicode characters, instead of 64. This breaks the Joliet specification, but appears to work. Use with caution. »
  5. (en) Jeff Tranter, « Is Microsoft's Joliet filesystem supported? », The Linux CD-ROM HOWTO, (consulté le ) : « Starting with version 2.0.34 the Linux kernel has support for the Microsoft Joliet file system extensions. »
  6. (en) « hdiutil(1) », BSD General Commands Manual, Apple, (consulté le ) : « ... Mac OS X will use the ISO9660 (or Joliet) filesystem. »
  7. (en) « FreeBSD 3.2 Release Notes », The FreeBSD Project (consulté le ) : « Support has been added for Joliet extensions on ISO 9660 filesystems. »
  8. (en) « hsfs - High Sierra & ISO 9660 CD-ROM file system », OpenSolaris Man Page Set, (consulté le ) : « This file system contains support for Rock Ridge, ISO 9660 Version 2 and Joliet extensions. »
  9. (en) « Joliet Specification for CD-ROM », Microsoft Knowledge Base, Microsoft, (consulté le ) : « Content authors who are developing Windows 95 applications on CD-ROM should develop their titles according to the Joliet specification... »
  10. (en) Christoph Pfisterer, « The Joliet Extension », disktype Documentation, (consulté le ) : « disktype prints the Unicode volume name from the Joliet volume descriptor if present. », Section 3.11.2