Édito de mars 2011 [ Précédent | Textes | Suivant ]

Que vous soyez numérique ou argentique, …


… il vous a forcément été demandé un jour ou l'autre les fichiers de vos images. Vous avez en effet été distingué à un concours ou à une expo et les gentils organisateurs aimeraient bien publier vos œuvres.

Passons allègrement sur la manière de scanner vos épreuves papier, de construire un fichier aux bonnes dimensions, en pixels ou en cm avec les dpi demandés et puis de convertir le résultat dans le format requis et avec le profil adéquat. Laissons cela de côté pour nous pencher sur quelque chose de plus prosaïque, à savoir le nom que vous allez donner à votre fichier.

Vous pouvez bien sûr garder « DSCF31416 » mais cela ne fait pas classe n'est-ce pas ? Et puis vous vous doutez bien que votre correspondant va recevoir d'autres fichiers avec des noms similaires, alors vous sortez le grand jeu et vous écrivez « L'hameçon, la pêche /où : l'Île-Grande (Théophile Ronchoit).jpg », c'est explicite n'est-ce pas ? Mais patatras ! votre correspondant ne reçoit pas la pièce jointe ! Ou, s'il la reçoit et qu'il essaye de l'ouvrir, il obtient un bel écran bleu !

Où se cache la perfidie ? Réponse : dans le nom lui-même (pour moi il y a 18 causes potentielles d'erreur) ! En effet, tous les caractères n'ont pas le même statut : certains sont formellement interdits, d'autres simplement interdits, d'autres encore pas conseillés. À la fin de l'envoi, je vous donnerai les caractères sans danger.

Les seuls caractères vraiment interdits sous Unix (Mac Os X et Linux en sont des clones) sont : et /

Les seuls caractères vraiment interdits sous Windows sont \ / : * ? " < > | (ils sont signalés lors de la frappe dans une info-bulle, si je me souviens bien).

Le système de nommage des fichiers sous Mac est UTF-8, vous avez tous rencontré ce sigle un jour ou l'autre aux côtés de iso-latin-1 ou de DOS. UTF-8 permet de coder tout ce que vous voulez, même des caractères chinois. Mais il y a des subtilités : Linux utilise la forme C (NFC) et Mac la forme D (NFD), Windows utilise UTF-16 qui est la même chose que UTF-8 (forme C) en Occident. Tous ces détails pour bien faire sentir qu'un nom de fichier cache des profondeurs obscures. Et ne me demandez pas pourquoi c'est comme cela, je ne suis pas informaticien !

Il ne faut pas utiliser les caractères interdits sous DOS, cela évite des problèmes lorsqu'on transfère des fichiers sur clé USB ou sur un disque portable formaté FAT qui doit être compatible Mac et Windows. Lorsqu'on veut graver un CD on a le même souci. Plus précisément, si on peut lire une partition NTFS sur Mac OS X, les fichiers avec des accents créés par Windows ou Linux, ne seront pas reconnus. À l'inverse, Linux et Windows pourront lire des fichiers avec accents créés par Mac OS X mais s'ils sont copiés, ou simplement renommés, ils ne seront plus reconnus par Mac OS X. La faute aux deux formes d'UTF-8. Vous suivez toujours...?

Maintenant que nous avons la liste des caractères officiellement interdits, sommes-nous au bout de nos peines ? Que nenni ! Car ces fichiers peuvent être envoyés un jour sur un serveur et ils seront alors pris en charge par un très-très vieux programme qui s'appelle ftp (file transfer protocol) et ftp ne supporte pas, entre autres les espaces et les accents. Alors les concepteurs de logiciels de transfert de fichiers (ceux où il suffit de cliquer ici et là) rivalisent d'astuces pour contourner la limitation en utilisant des programmes spécialisés qui nous sont complètement invisibles et qui regardent le nom du fichier caractère après caractère, l'interprète et éventuellement le transforme. D'où problèmes !

Chez free le caractère ° (degré) dans un nom de fichier est interprété par une commande au serveur, si bien que tous les fichiers qui contiennent ce caractère ne peuvent plus être supprimés sauf à faire des contorsions épouvantables sous DOS. Si on ne sait pas faire, la seule solution est de téléphoner à free !

Dans le manuel de TCL (un langage de programmation si pratique que des tas d'applications l'utilisent) on lit : « Si le signe dièze (#) apparaît à un endroit où TCL attend le premier caractère du premier mot d'une commande, alors le caractère dièze et les caractères qui le suivent, jusqu'au prochain retour à la ligne, seront traités comme commentaire et ignorés ». Misère si votre fichier passe par là !

Mettre dans un nom de fichier \n ou \r provoquera de graves problèmes, comme un écran bleu. Mettre un point plante Windows qui ne reconnaît plus le type de fichier et ne sais donc pas l'ouvrir tout seul (mais si on lui dit comment faire, cela marche).

Evitez l'espace, elle est abhorrée des programmateurs (oui, en typographie l'espace est féminine) car elle provoque des phénomènes insidieux.

Concernant les majuscules il faut penser que si : MonFichier.jpg, monfichier.jpg, Monfichier.jpg et monFichier.jpg représentent pour Unix 4 noms différents de fichiers (et si on combine avec JPG au lieu de jpg, on en a 8), pour certains programmes ces noms signifient la même chose, gare alors si vous croyez sauvegarder une nouvelle version d'un fichier en le renommant de cette manière, car vous aller écraser le précédent.

En résumé les caractères à ne pas utiliser sont :
espace point +~#°%$/\\:*?"\'<>\|`&áÁâàÀæçÇÐ ...
auxquels il faut rajouter les caractères spéciaux @μΔΨ∞∫ ...

En gros, et c'est plus simple à retenir, il est préférable :
○ de n'utiliser que les caractères de a à z (majuscules et minuscules) et les chiffres de 0 à 9
○ de remplacer les espaces par un tiret [ - ] ou un tiret bas [ _ ]

Vous pouvez oublier tout cela et vivre dangereusement, c'est vous qui choisissez !

Une aspirine ?
 

Daniel Collobert
[ Précédent | Textes | Suivant ]

Toute utilisation des images et des textes de ce site est soumise à autorisation

Nous sommes le 24-11-2017 à 01h06

Cette page a été vue 885 fois.

Révision du 09/01/13 22:11