La réception de fichiers Macintosh sur un PC depuis l'Internet (téléchargement depuis un serveur FTP ou HTTP, réception en tant que pièce jointe annexée à un courrier électronique) mérite quelques commentaires pour deux raisons.
D'abord, 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). Voyez la page que nous consacrons à cette question des branches des fichiers pour plus de précisions.
Ensuite, la nature des fichiers n'est pas exprimée sous la forme d'une extension ajoutée au nom du fichier (suffixe), mais sous la forme d'une signature (chaîne de 8 caractères exprimant le créateur du fichier et le type du fichier). Voir également la page que nous consacrons aux signatures Macintosh pour plus de précisions.
Pour ces deux raisons, les fichiers Macintosh stockés sur des serveurs
gérés sous des systèmes d'exploitation qui ne connaissent
pas les branches ou flux doivent être « conteneurisés » afin de sauvegarder leurs éléments constitutifs. Les logiciels Macintosh effectuent le plus souvent ce type de traitement sans le signaler spécifiquement
Ajoutons enfin que les normes du courrier électronique imposent de ne transmettre que des fichiers de texte, et non pas des fichiers binaires. Cela revient à dire que les fichiers doivent être codés sur 7 bits et non pas sur 8 bits. Cette opération s'effectue le plus souvent sur le conteneur mentionné ci-dessus.
Dans ces conditions, et pour que les utisisateurs Macintosh ne perdent aucun élément de leurs fichiers lorsque ceux-ci sont envoyés par le courrier électronique, l'usage est que les logiciels de courrier électronique tournant sur un Macintosh effectuent deux opérations sur les fichiers émis :
Par opposition, un logiciel de courrier sur un PC n'exécute que l'encodage.
A la réception, le programme doit d'abord décoder le flux de données, puis ouvrir le conteneur pour en récupérer les éléments.
Quatre normes sont utilisées pour effectuer ces opérations. D'abord, MacBinary et AppleSingle, qui prennent en charge la conteneurisation. Le principe de base est de mettre les deux branches l'une derrière l'autre et d'y ajouter des éléments tels que la signature. Le fichier obtenu est ensuite codé sur 7 bits. Dans le premier cas, les données précèdent les ressources, dans le second cas, c'est le contraire.
La norme AppleDouble, qui est comme AppleSingle une norme MIME (RFC1740), utilise une méthode radicalement différente, en plaçant les deux branches dans des flux différents qui peuvent être intégrés dans le message électronique par le logiciel de courrier. A la réception, le client décode ce qu'il reconnaît, généralement la seule branche de données, la branche de ressources étant alors ignorée et donc perdue.
Enfin, le cas du format Binhex est un peu spécial en ce sens que les deux opérations sont effectuées en même temps et que le fichier obtenu est un conteneur codé sur 7 bits et comprimé, donc prêt à envoyer. Si la phase d'encodage n'est pas strictement nécessaire dans le cas d'un téléchargement sur un serveur HTTP ou FTP, l'ancienneté de cette norme fait qu'elle est fréquemment utilisée aussi pour ce type d'opérations.
La difficulté essentielle est d'identifier les traitements qui ont
été exécutés sur le ou les fichiers que vous
recevez.
Notre utilitaire MacMail permet d'automatiser dans une
large mesure le traitement des pièces jointes. Nous vous invitons à consulter
sa page pour en savoir plus.
Il reste toujours possible d'ouvrir le fichier dans un traitement de textes et
de rechercher au début des éléments caractéristiques.
Les fichiers Binhex contiennent la chaîne suivante dans la
première ligne : "(This file must be converted with BinHex 4.0)".
Voyez la page que nous consacrons au format Binhex
pour un utilitaire permettant de traiter ces fichiers. Cet utilitaire présente
également l'avantage de savoir ouvrir et décoder le début
du fichier, ce qui vous permet d'être sûr de ce que vous faites.
Les fichiers MacBinary peuvent se reconnaître au fait qu'ils
contiennent au tout début (décalage 2) une chaîne de
caractères qui est le nom Macintosh original du fichier, puis un peu plus
loin (décalage 65) la signature du fichier original. Voir la page
consacrée à la norme MacBinary pour
un utilitaire qui permet de supprimer cet en-tête et de récupérer
les données.
Les fichiers AppleDouble et AppleSingle ne devraient normalement
pas se rencontrer tels quels sur votre ordinateur, puisque ces formats sont
enregistrés comme des types Mime et que tous les fichiers Mime devraient être
correctement traités par les clients de courier, qui devraient les décoder
automatiquement.
Voir la page que nous consacrons à ces formats. Voir également
l'utilitaire Mac2SFM dans le cas d'un serveur NTFS/SFM.
Si vous n'avez pas d'éditeur hexadécimal pour vous aider, vous pouvez utiliser
MacMail, qui affichera des informations sur le contenu
du conteneur AppleSingle et sur le contenu du fichier d'en-tête dans le cas d'un
fichier AppleDouble. L'autre fichier, le fichier de données, est dans ce cas la
seule chose qui vous intéresse, le plus souvent.
Si vous recevez des polices de caractères Macintosh par courrier électronique et que votre interlocuteur les a codées en AppleDouble ou en AppleSingle, vous ne pouvez rien faire, sinon constater que le fichier obtenu est de longueur nulle. Les logiciels clients de courrier qui savent en effet traiter ces formats adoptent l'attitude la plus logique, qui est de récupérer ce qui est probablement récupérable, donc la branche de données.
Même si ce n'est pas du tout ce que vous vouliez faire.
Pour pouvoir récupérer la police et l'utiliser, il faut employer un logiciel connaissant la nature des deux autres modes de codage, à savoir BinHex et MacBinary. Notre logiciel DeBinHex vous permet de transformer le fichier BinHex en MacBinary. Ensuite, recopiez-le sur un support Macintosh (physique, avec MacDisk ou encore virtuel, avec MacImage) en sélectionnant bien le mode MacBinary. Ensuite, recopiez le fichier vers le disque dur du PC. Le programme vous propose alors de convertir la police.
Notez tout de même que si l'on vous a envoyé une police d'affichage, elle ne peut servir à rien. Seules les polices True Type et les polices Type 1 contiennent du code exploitable.
Voyez également la page plus générale que nous consacrons aux Transferts de polices.
Le problème ne se pose pas seulement d'exploiter sur PC des fichiers créés sur un Macintosh et envoyés par courrier électronique. Il existe de la même manière si vous voulez envoyer un fichier en pièce jointe depuis votre PC. Plusieurs solutions sont possibles, en fonction du degré de connaissances de votre interlocuteur.
Si vous envoyez un fichier de bureautique, par exemple Word ou Excel, veillez bien à ne pas envoyer un fichier codé dans une version trop récente du programme. Nous conseillons, pour les fichiers Word, de sauvegarder au format Word 5 pour le Macintosh, ou encore au format Word 2 pour Windows, et pour les fichiers Excel, d'enregistrer au format Excel 5.
Un fichier PC simplement envoyé de cette manière en pièce jointe n'aura probablement pas de signature en arrivant sur le Macintosh. Cela signifie que l'utilisateur ne devra pas essayer de l'ouvrir en cliquant deux fois sur son icône, mais en passant par le programme voulu et par le menu Fichier, puis Ouvrir.
Il est également possible d'éviter ce détour et donc de « mâcher » le travail pour éviter que votre interlocuteur ne puisse se tromper. La plupart des logiciels de courrier tournant sur le Macintosh reconnaissent automatiquement les fichiers MacBinary qui leur sont envoyés et les décodent à la volée pour reconstituer les deux branches du fichier, ainsi que le nom d'origine du fichier.
Il est possible d'exploiter cette fonctionnalité et de produire un fichier MacBinary sur le PC. Voyez la page que nous consacrons au format MacBinary, où vous pourrez télécharger un petit utilitaire se chargeant de ces manipulations.