Les branches des fichiers Macintosh

Résumé : Les branches dont se composent les fichiers Macintosh (branche de données, branche de ressources). Pourquoi une branche de resources ? Que faire en cas de "perte" de la branche de ressources.
 

Les deux branches des fichiers Macintosh

Sur un volume HFS (pour Hierarchical File System, Système de fichiers hiérarchisé, dont la dernière version en 32 bits, HFS+, est également appelée Mac OS Étendu), les fichiers Macintosh ne sont pas monolithiques, mais se composent de deux parties, la première appelée "branche de données" (data fork) et la seconde "branche de ressources" (resource fork). Seule l'une de ces deux branches peut être vide.
Les concepteurs du système d'exploitation du Mac ont ainsi choisi de séparer ce qui est placé dans un seul flux d'octets sur la plupart des autres ordinateurs. à noter cependant que le système de fichiers NTFS connaît lui aussi les flux multiples.

Branche de données

La branche de données contient généralement ce que l'on appelle un fichier de données sur le PC, donc le texte dans un fichier de texte, les images dans le cas d'un fichier graphique, etc. Dans les échanges de fichiers entre Macintosh et PC, il est généralement suffisant de s'intéresser au contenu de la branche de données (hormis le cas spécial des polices de caractères ainsi que des programmes [fichiers exécutables]).

Branche de ressources

La branche de ressources contient le code des programmes, les polices, etc. Elle peut également, dans le cas d'un fichier graphique, contenir une image (vignette) de prévisualisation.
Traditionnellement, les programmes (applications) sont stockés dans la branche de ressources.
Contrairement à ce qui est parfois dit (y compris par des personnes généralement compétentes et bien informées par ailleurs), la branche de ressources ne contient pas la signature des fichiers (le type de fichier et le créateur du fichier).

Pourquoi une branche de ressources ?

La branche de ressources est organisée comme une base de données et ne se présente pas sous la forme d'un flux non structuré d'octets, comme c'est le cas de la branche de données.
Cela permet un accès très rapide aux éléments qui y sont stockés, et même une mise à jour (sans recompilation) lorsque des éléments doivent être modifiés.

La redoutable « perte de la branche de ressources »

La « perte » de la branche de ressources est l'une des catastrophes mythiques qui reviennent sans cesse dans les discussions sur les transferts de fichiers Macintosh. Dans tous les cas, il convient de garder la tête froide.
Ce n'est donc pas parce qu'un fichier Macintosh est passé sur un PC et a donc (généralement) perdu sa branche de ressources qu'il devient illisible et inexploitable. C'est uniquement l'absence de signature correcte qui empêche d'ouvrir le fichier par un double clic sur son icône. Il suffit généralement d'ouvrir le fichier en passant par l'application voulue (lancer le programme capable d'ouvrir ce type de données, dérouler le menu Fichier, sélectionner la rubrique Ouvrir).
Dans le cas de programmes (applications), les choses ne sont pas si simples. Si la branche de données a été perdue, le système répond par une erreur -39 (unexpected end of file, fin prématurée du fichier). Cela est logique, dans la mesure où le Finder tente d'ouvrir la branche de ressources pour charger le programme en mémoire, mais trouve une branche vide.
Dans ce cas, en particulier, il ne sert à rien de changer la signature, ou de rechercher la « bonne » signature que le fichier aurait dû avoir.
Il faut au contraire analyser les opérations qui viennent d'être faites et recommencer en utilisant des supports de données corrects, des outils corrects et des procédures correctes. Voir en particulier notre page Installation d'applications Macintosh.

Comment ne pas dissocier les deux branches ?

Deux méthodes sont utilisées essentiellement pour conserver ensemble les deux branches des fichiers Macintosh qui doivent transiter sur des lignes de communication ou sur des serveurs. Il s'agit de la norme MacBinary et de la norme BinHex.
Apple a également publié deux spécifications pour ce même objectif : Apple Single pour mettre dans un fichier unique la branche de données, la branche de ressources et les informations du Finder, et Apple Double pour mettre dans un fichier la branche de ressources et les informations du Finder, tandis que la branche des données est mise dans un second fichier.
Voir la page que nous consacrons à ces formats.
Nos outils MacDisk et MacImage sont en mesure de gérer ces formats.
Voir encore notre page sur les Pièces jointes Macintosh et notre programme MacMail.

 
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