697 billets et 975 commentaires jusqu'à maintenant

Les 3 règles d'or pour nommer un fichier

Quiconque travaille avec un ordinateur est appelé à créer des fichiers. Souvent pour soi-même, parfois pour l'envoyer à quelqu'un, la plupart du temps par courrier électronique.

Alors, lorsque la petite boîte Enregistrer sous… apparaît à l'écran, le créateur est souvent hésitant, ne sachant trop comment nommer le fichier.

Fenêtre “Enregistrer sous…” dans Windows XP

Je décris ici 3 règles simples à suivre, à la porté de tous, pour choisir le nom d'un fichier. Je les ai développé après plus de 10 ans d'expérience en informatique, travaillant avec la grande majorité des systèmes d'exploitation existant (dont GNU/Linux, Windows et Mac), de plusieurs langages de programmation ainsi que de plusieurs protocoles de communication.

En respectant ces 3 règles, vous faciliterez non seulement votre propre travail, mais aussi celui de toutes les générations à venir qui travaillerons à partir de vos fichiers informatiques.

Règle 1: Les caractères permis pour nommer un fichier

Les caractères permis pour nommer un fichier sont les 26 lettres de l'alphabet latin (le nôtre), les 10 chiffres arabes (0, 1, 2, …, 9), le point (.), le tiret bas (_) et le trait d'union (-). Vous avez donc un un total de 39 caractères parmi lesquels choisir pour vos noms de fichier.

Il ne faut pas utiliser les espaces, les caractères accentués (à, é, è, etc.) et les signes de ponctuations autres que les 3 mentionnés (apostrophe, barre oblique, guillemets, etc.). Un exemple de mauvais nom de fichier serait:
Jérôme et l'économie.pdf
utilisez plutôt
jerome_et_l_economie.pdf

Règle 2: Utilisation des chiffres, dont les dates, dans les noms de fichier

On utilise souvent des chiffres pour nommer un fichier, notamment lorsqu'il y a une série de fichiers (des photos par exemples) ou encore un numéro de version (documentation_v_1.00.pdf).

Dans la mesure du possible, il faut toujours utiliser un nombre constant de caractères pour les chiffres, en utilisant le '0' placé au début du nombre. Par exemple, lorsque l'on encode un CD de musique sur son ordinateur, on écrira le numéro de la piste avec deux caractères, sachant bien qu'il y a souvent plus de 9 pistes. Une fois encodés, les noms de fichiers seront comme ceci:
01_artiste_piste.ogg
02_artiste_piste.ogg

10_artiste_piste.ogg
11_artiste_piste.ogg

Suivre cette nomenclature est une bonne habitude car elle donne un ordre logique lorsqu'une liste alphabétique des fichiers est utilisée, ce qui est l'affichage par défaut le plus commun. Si un nombre de caractères exact était utilisé, cela donnerait en ordre alphabétique:
1_artiste_piste.ogg
10_artiste_piste.ogg
11_artiste_piste.ogg
...
2_artiste_piste.ogg
20_artiste_piste.ogg

ce qui est moins logique, on en conviendra.

Pour les dates, la même logique s'applique. De façon générale, il est préférable d'utiliser la nomenclature YYYYMMDDYYYY représente l'année, avec 4 chiffres, MM le mois (01 pour janvier, 02 pour février, etc.) et DD le jour.

Par exemple, si vous avez des fichiers que vous voulez utiliser pour votre baladodiffusion, vous devriez utiliser la date de publication tel que ma_balado_20080422.mp3 et ma_balado_20080429.mp3.

Cette notation respecte la règle d'or #1 et l'ordre alphabétique correspondra à l'ordre chronologique du nom de fichier. Bonheur.

Règle 3: Choisir un nom significatif qui traversera le temps

Lorsque l'on crée un fichier, il faut lui choisir un nom qui aura un sens pour les autres personnes et qui nous dira quelque chose si on le revoit dans plusieurs années.

C'est un exercice qui, souvent, n'est pas évident. Contrairement aux règles 1 et 2, on ne peut pas vérifier avec certitude si le nom choisi respecte la règle 3. Seul le temps apportera une réponse. Soyez indulgent envers vous-même et faites votre gros possible.

C'est ici que vous pouvez faire ressortir votre côté artistique. Un exemple de réussite: on m'a reparlé des mois plus tard, si ce n'est des années, d'une photo que j'avais envoyée par courrier électronique et qui se nommait miguel_trois_quart_vraiment_hot.jpg. Oui, la photo justifiait que l'on s'en souvienne, mais le nom du fichier y jouait aussi sûrement pour quelque chose.

D'autre part, il faut éviter de donner une signification aux lettres minuscules et majuscules, car les architectes originaux d'un certain système d'exploitation ont fait le choix très discutable d'ignorer la case des lettres dans les noms de fichier. Ainsi, pour eux, miguel.jpg et Miguel.JPG ont le même nom. Personnellement, je n'utilise que des lettres minuscules pour nommer des fichiers; c'est simple à suivre et ça m'évite de me poser des questions.

Finalement, certains mots sont à proscrire. Les mots nouveau et final par exemple. Un fichier, à sa création, sera toujours nouveau. Cinq ans plus tard, ça risque d'être un peu moins vrai. Quant au mot final, il est illusoire de penser qu'un fichier va un jour en être à sa version finale. Ça va éviter des contradictions du genre final2.

Conclusion

Les fichiers sont les mots pour communiquer qu'utilisent les systèmes informatiques. Le respect de ces 3 règles vous permettront d'éviter les erreurs d'interprétation par la myriade de systèmes informatiques qui existe présentement, ainsi que ceux à venir, et assurera ainsi la pérennité de vos créations.

Et vous verrez, la satisfaction est grande lorsque, 8 ans plus tard, vous affichez la liste des fichiers que contient un répertoire perdu aux confins de votre système et que les noms de ces fichiers apparaissent dans le bon ordre et que vous comprenez immédiatement de quoi il s'agit.

Ce billet est publié sous licence Creative Commons BY-SA.

21 commentaires à « Les 3 règles d'or pour nommer un fichier »

  1. Ives
    1 juillet 2008 | 5:42

    Miguel,
    Génial. Le nom d'un fichier est un petit détail qui fait beaucoup de chemin. Il va sans dire que le tout s'applique au nom des répertoires aussi. Drôlement, après quelques années de travail en Linux, je suis arrivé aux mêmes règles que toi!
    -Ives

  2. 2 juillet 2008 | 21:56

    Moi aussi, règles semblables. Avec quelques nuances: je mets souvent la date 'YYYYMMDD_' au début des noms de répertoires. Et j'ajoute '_00x' pour la version à la fin des fichiers qui sont appelés à avoir de nombreuses versions successives.

    C'est règles sont aussi importantes à respecter que difficiles à propager dans un milieu non peuplé de geeks. Les accents, espaces et virgules y pullulent malheureusement souvent! :)

  3. Stefan
    4 juillet 2008 | 8:33

    Point à rajouter, MS Windows conserve la case, donc si MIGUEL.txt est créé il restera MIGUEL.txt, et ne changera pas pour MIGUEL.TXT ou miguel.txt.

  4. B&A
    20 mars 2009 | 9:09

    Merci beaucoup pour ce texte clair. Il y a longtemps que je me posais ces questions. Surtout au sujet des majuscules et des minuscules.

  5. Huguette Savard
    7 mai 2009 | 11:05

    Très juste comme texte, très facile à lire, observations pertinentes et c'est sûr que organisé comme ça, les fichiers seront plus facilement retraçables.
    Bravo

  6. JiM
    5 août 2009 | 2:09

    Effectivement, ce sont là des règles basiques que j'appliquai lors de mes début en informatique, mais depuis que les différents systèmes d'exploitations ont assouplis ces règles, j'ai eu la faiblesse de penser que tous les programmeurs des différentes applications suivraient ces évolutions… Que néni ! Je viens d'en faire l'expérience ou après des heures de galères pour ajouter quelques photos sur un blog, il semblerai que ce soit là, la clé de mon échec. Frustrant, mais tellement vrai…! Je vais m'en souvenir, et surtout me conformer au basic, laissant les options accentuées et autres fanfreluches au placard en attendant que le monde des spécialistes en applications diverses et variées se mette au gout du jour.

  7. 1 septembre 2009 | 4:11

    […] Pour ceux et celles qui voudraient approfondir voici un excellent article sur le sujet (quoi que l’auteur ait mis un « è » dans le titre de son article !!!!) http://ptaff.ca/blogue/2008/06/29/les_3_rgles_dor_pour_nommer_un_fichier/ […]

  8. 01caro
    7 septembre 2009 | 10:23

    bonjour,

    merci pour ces infos.
    Une question svp : quelle est le nombre maxi de caractères conseillé pour nommer un fichier proposé en téléchargement sur Internet, notamment pour respecter les contraintes :
    - d'un bon référencement dans les moteurs de recherche
    - et d'accessiblité

    Merci de vos éclairages…

  9. 8 septembre 2009 | 22:20

    @01caro

    Après consultations, il y aurait 2 règles à ajouter si vous voulez proposer votre fichier en téléchargement sur internet.

    1- Séparez les mots avec des tirets bas "_" car les moteurs de recherches les considèrent comme des espaces. Ainsi, un fichier nommé "pour_la_suite_du_monde.avi" répondra à une recherche ayant comme mots-clefs "pour la suite du monde".

    2- Ne pas dépasser 256 caractères pour le nom de fichier. La très grande majorité des systèmes de fichiers des systèmes d'exploitation connues (GNU/Linux, Windows, Mac) ne supporte pas les noms de fichiers avec plus de 256 caractères. Voir la deuxième colonne de:
    http://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits

  10. Ato
    20 février 2013 | 4:11

    J'utilises la meme methode que toi depuis 13 ans, a l'exception des dates…moi je commence toujours par le mois, le jour et l'année.

    Je fais beaucoup de photo, alors quand j'ouvre mes dossier, commencant par le mois, les mets en ordres..

    01-01-13 suivi de
    01-02-13
    02-01-13
    02-02-13 etc…))) ca fonctionne pour moi, c'est le choix logique en ce qui me conscerne…)))

  11. Pilou
    18 août 2013 | 6:30

    Merci pour cette info utile et simplement expliquée. j'applique dès aujourd'hui…
    Cordialement,
    Philippe

  12. mélo
    25 février 2015 | 4:08

    bonjour, le coup du "final2" m'a fait sourire. c'est exactement l'écueil dans lequel je suis tombée lorsque j'étais étudiante! aujourd'hui, très très difficile de m'y retrouver dans les dossiers de cette époque.
    un à priori: les espaces dans les noms de fichiers n'ont ils aucun impact sur la place qu'ils prennent, à la longue, sur le disque?
    cdt, mélo

  13. Natalie
    19 mai 2015 | 14:32

    Bonjour,
    je suis tombée sur votre article,qui date un peu, mais toujours pertinent.
    La seule chose qu'il manque: la justification!

    En effet, si je désire implanter ces bonnes pratiques au sein de mon organisation, je dois pouvoir expliquer pourquoi, par exemple, je dois mettre des "séparateurs" entre les éléments du nom du fichier.
    Merci.

  14. 3 juin 2015 | 10:48

    @Natalie: pour les séparateurs, ils permettent deux choses:
    1- Lisibilité: ils permettent de mieux comprendre le nom de fichier. Le meilleur exemple porte sur les dates. Il est plus simple de lire "2015-06-03" que "20150603".
    2- Analyse syntaxique: Si je veux écrire un scripte pour traiter les fichiers, il sera plus simple d'isoler un élément s'il est séparé par un marqueur comme le tiret bas. Pour poursuvire avec mon exemple de date, il serait alors simple de faire une liste et d'isoler la date dans un élément précis.

  15. RistoBop
    29 avril 2016 | 19:17

    Bonjour, j'arrive un peu tard mais si vous pouviez éclairer ma lanterne…!
    En fait je suis ces règles depuis longtemps et tente de convaincre mon entourage.
    Néanmoins je ne sais que répondre quand on me questionne sur la raison de remplacer les espaces par des "_"
    Quelle en est la justification ?
    Ps: j'ai bien lu votre derniere réponse mais … Un espace sépare ausi bien qu'autre chose, non ?!
    Il n'empêche que dans le doute, j'ai banni les espaces ;)
    Merci pour cet article

  16. 12 juillet 2016 | 13:55

    Les analyseurs syntaxiques utilisent souvent l'espace comme séparateur entre les éléments. L'inclusion dans un nom de fichier revient alors à couper un nom en deux (ou plus). J'ajouterais que les arguments en ligne de commande sont également séparés par un espace, transformant un nom de fichier en deux arguments (ou plus) au lieu d'un seul.

    C'est certain qu'il y a toujours moyen d'inclure les espaces dans ces cas de figure, mais c'est du trouble inutile qui peut facilement être évité en utilisant le tiret bas.

  17. 3 octobre 2019 | 10:03

    Concernant les dates, voir le standard ISO 8601 : https://fr.wikipedia.org/wiki/ISO_8601

  18. Hel BG
    8 décembre 2019 | 5:17

    Bonjour, comme séparateur entre les éléments, est-ce qu'il vaut mieux utiliser le tiret du milieu "-" ou le tiret du bas aussi nommé l'underscore "_", et pour quelles raisons? J'ai lu des avis opposés sur la question, et j'aimerais être capable de donner des arguments pour conseiller l'emploi de l'un ou de l'autre, pour les dates notamment, dans mon entreprise. Merci beaucoup pour vos conseils.

  19. 11 décembre 2019 | 15:12

    @Alexandre: Le standard ISO 8601 comporte des ":" dans sa syntaxe. Or, ce caractère n'est pas supporté dans les noms de fichier par le système d'exploitation Windows, ce qui laise penser que ce n'est pas une syntaxe portable.
    https://support.microsoft.com/fr-ca/help/2462364/this-is-not-a-valid-file-name-or-application-cannot-open-this-file-whe

  20. 11 décembre 2019 | 15:16

    @Hel BG: Je dirais que c'est une question de choix personnel. Pour ma part, j'utilise le tiret bas comme séparateur de concept et le tiret bas comme séparateur de mots. Par exemple, ça donnerait « miguel-tremblay_cv.pdf ».

    Pour les dates, j'opterais pour le tiret car il supporte, en partie, la norme ISO 8601 (voir mon commentaire à propos de ":" qui empêche de respecter totalement la norme).

    Cela dit, vous voudrez peut-être toujours utiliser le même type de séparateur, car cela permet par la suite d'utiliser des scripts pour manipuler (ou renommer) les fichiers sans vous poser de questions.

  21. 12 décembre 2019 | 20:33

    Bonjour Miguel ! Merci de la rétroaction. En fait, l'article Wikipedia en anglais est plus complet et indique clairement que les ":" sont optionnels : "The basic format is [hh][mm][ss] and the extended format is [hh]:[mm]:[ss]."

    Je te confirme que le ISO8601 est tout à fait portable et convient aux noms de fichiers :-) L'exemple sur l'article en anglais pour une date et un temps : 20191213T012719Z

    Ça aide à clarifier ? À bientôt ! — Alex

Réagissez