Système de fichiers NTFS et Services For Macintosh

Résumé : Comment fonctionne le système de fichiers de Windows NT (NTFS) avec les fichiers Macintosh. Problèmes rencontrés pour accéder à ces fichiers et les exploiter depuis une station Windows. Solutions proposées par nos outils de transfert.
 

Les flux sur les disques NTFS

Sur les disques formatés en NTFS (New Technology File System), les fichiers ne sont pas nécessairement de nature monolithique, mais peuvent être composés de plusieurs flux (streams) nommés ou innommés. Cet état de choses est utilisé pour gérer différentes fonctions de sécurité du système de fichiers, mais aussi, et c'est ce qui nous intéresse ici, pour stocker les fichiers Macintosh d'une manière compatible avec leur nature, puisque l'on sait qu'ils sont composés de plusieurs branches (appelées forks en anglais).

NTFS et les fichiers Macintosh

Le système de fichiers NTFS permet donc de stocker et de retrouver dans des flux indépendants la branche de données et la branche de ressources. Un troisième flux stocke un certain nombre d'informations appelées les informations du Finder. Enfin, un dernier flux peut stocker les commentaires.
Cela ne signifie pas que les différences entre les deux systèmes de fichiers puissent être simplement ignorées, et la liste des articles de la base de connaissance de Microsoft sur les SFM est assez longue. Précisons toutefois pour éviter toute méprise que ces articles sont essentiellement de nature historique (souvent à propos de NT 3.51 ou des premières versions de NT 4) et que les choses semblent aujourd'hui, après quelques années, à peu près stabilisées.

Mac2SFM, nouvel utilitaire

Néanmoins, tous les adminsitrateurs de réseaux qui ont à gérer un ou plusieurs serveurs STFS sous SFM sont sans cesse à la recherche d'utilitaires leur permettant de résoudre tel et tel problème recontré quotidiennement.
Nous présetons sur une autre page notre nouvel utilitaire Mac2SFM. Ce petit programme permet de convertir des fichiers BinHex, MacBinary, AppleSingle et AppleDouble en flux utilisés par NTFS/SFM pour stocker les fichiers Macintosh.

Principaux problèmes

On peut regrouper en plusieurs catégories les problèmes que l'on rencontre lorsque les fichiers Macintosh ne doivent pas seulement être sauvegardés et récupérés depuis des clients Macintosh, mais aussi depuis des clients Windows :

Caractères utilisés dans les noms de fichiers Macintosh

Dans le système de fichiers du Macintosh, le seul caractère réservé est le ':', utilisé pour la séparation entre les noms des répertoires et des sous-répertoires dans une chaîne d'accès complète (Exemple : "Disque Mac:Répertoire 1:Répertoire 2:Fichier").
De ce fait, les utilisateurs ont pris l'habitude d'utiliser tous les caractères possibles dans la désignation des fichiers. Certains de ces caractères sont des caractères réservés dans le système de fichiers du PC, notamment '/' (0x2F), '\' (0x5C), ':' (0x3A), '>' (0x3E), '<' (0x3C), '|' (0x7C), '*' (0x2A), '?' (0x3F), '"' (0x22). Le code '§' (0x15 ou 0xF5) pose quant à lui d'autres problèmes spécifiques d'orthogonalité des conversions entre les tables de code et devrait à notre sens également être évité.
Certains autres sont des caractères semigraphiques qui n'existent pas dans la table de caractères de base utilisée pour la dénomination des fichiers (puces, etc.).
Ces caractères posent naturellement des problèmes dans les transferts de fichiers. Ils sont stockés sur le volume NTFS sous la forme de caractères Unicode, en utilisant notamment une plage (OxF0xx) réservée aux caractères spéciaux, ce qui résout le problème pour les clients Macintosh. Ils doivent être décodés correctement lorsque l'on effectue des copies vers des volumes FAT. De plus, certaines fonctions de l'Explorateur, comme la compression, ne fonctionnent pas avec les noms de fichiers et de dossiers contenant ces caractères.
Nos utilitaires de transfert effectuent un travail soigneux sur ces caractères afin de donner un résultat qui ne puisse pas prêter à confusion.

Longueur des noms Macintosh

La longueur des noms de fichiers Macintosh est limitée à 31 caractères. A noter que cette limite a très longtemps été considérée comme un espace de liberté considérable, du temps où les noms des fichiers sur les PC devaient respecter la norme "8+3". Aujourd'hui que les noms de fichiers PC peuvent allègrement atteindre 256 caractères (en comptant le chemin d'accès, tout de même), la longueur des noms de fichiers Macintosh devient un problème en ce sens qu'un nom de fichier de 30 caractères auquel on ajoute une extension de type "DOC" est parfaitement géré du côté Windows mais ne peut plus être vu correctement depuis un client Macintosh.

Une solution automatique  ?

Des administrateurs malins avaient imaginé de faire tourner en tâche de fond un service qui analyserait les noms de tous les fichiers Macintosh, supprimerait les caractères réservés et ajouterait une extension exploitable côté PC.
A notre sens, le traitement automatique de ce genre de situation n'est pas souhaitable, d'autant plus que les utilisateurs de stations Macintosh, dans ce cas, ne retrouvent plus les fichiers qu'ils ont créé et doivent, par exemple dans des fichiers de PAO, recréer tous les liens entre les maquettes et les images.
Toutefois, cela peut être utile et nécessaire pour traiter un fichier, un répertoire, ou une branche de l'arborescence. La version 7.5 de notre programme MacDisk offre donc une fonctionnalité en ce sens.

Compréhension des signatures Macintosh

La nature des fichiers, dans le système de fichiers du Macintosh, n'est pas exprimée par l'extension ou suffixe du fichier, mais par une signature. Cette signature est stockée avec les informations du Finder dans l'un des flux du fichier. Tout cela est parfait tant qu'il n'est pas nécessaire d'accéder au fichier depuis une station sous Windows. Dans ce cas, le fichier ne peut pas être ouvert d'un clic de la souris.
Il existe une méthode pour spécifier dans le registre les correspondances entre les signatures et les applications, mais elle est lourde et il apparaît que les administrateurs ne gèrent pas ces fonctions au jour le jour dans la plupart des cas.
De toute manière, elle ne résout pas le problème d'un fichier importé sur une station Windows depuis un volume partagé avec des utilisateurs Macintosh.
Nos programmes peuvent être utilisé pour cela, puisqu'ils établissent une correspondance entre les signatures et les extensions ajoutées aux noms de fichiers créés sur le volume PC.

Exploitation de la branche de ressources des fichiers Macintosh

La branche des ressources est traditionnellement utilisée pour stocker des éléments comme des ressources graphiques, du code, etc. Du point de vue de l'utilisateur d'une station sous Windows, le fait de ne pas pouvoir facilement accéder à cette branche des fichiers Macintosh est sans importance dans le cas des programmes exécutables, qui de toute manière ne pourraient pas être exécutés sur un processeur autre que Motorola.
Cela n'est pas vrai, par contre, pour les polices de caractères. Sans parler du cas où vous avez téléchargé un utilitaire Macintosh depuis l'Internet et où vous voulez l'installer sur le serveur pour le mettre à la disposition de tous les clients Macintosh.

Transfert de polices de caractères

Une police de caractères True Type ou Type 1 (PostScript) stockée sur un volume Macintosh est vue par un client sous Windows comme un fichier de longueur nulle, ce qui est normal puisque la branche de données est vide et que le contenu réel du fichier est placé dans la branche de ressources.
Accéder à la branche de ressources du fichier Macintosh est difficile avec les fonctions classiques de gestion des fichiers, et suppose une programmation spécifique. Par ailleurs, les fichiers doivent subir certaines transformations pour être exploitables. Nos utilitaires comprennent ces fonctions et rendent la tâche aussi transparente que possible (voir notre page sur les transferts de polices).

Gestion de la norme MacBinary

La question des fichiers à la norme MacBinary est une extension du cas précédent, puisqu'il s'agit dans ce cas de copier en une seule opération la branche de données, la branche de ressources et les informations du Finder.
Il peut être intéressant d'utiliser ce protocole pour extraire des éléments d'un volume Macintosh géré par SFM pour le placer sur un support Macintosh local, mais aussi pour implanter sur le volume partagé des fichiers provenant de l'Internet.
Nos programmes gèrent la norme MacBinary (qui constitue l'un des modes de copie que l'utilisateur peut sélectionner).

Copies d'écran

Nous vous présentons quelques copies d'écran afin de montrer la différence entre la manière dont les fichiers Macintosh sont présentés sous NT et sous MacDisk. A notre sens, ces images se passent de commentaires.

 
Pierre Duhem (ex-Logiciels & Services Duhem)
3, rue Pierre Haret - F-75009 Paris (France) - Tél. (+33) [0]149 700 455
web : http://www.macdisk.com