Aussi disponible en : English · Español · Português · العربية
Caractères interdits dans un nom de fichier
Collez un nom, choisissez le système qui vous concerne et obtenez un nom qui s'enregistrera vraiment, chaque modification étant expliquée plutôt qu'appliquée en silence.
Qu'est-ce qui rend un nom de fichier illégal ?
Moins de choses qu'on ne croit sur certains systèmes, et bien plus qu'on ne croit sur d'autres : c'est là tout le problème. Linux interdit exactement deux choses dans un nom, l'octet nul et la barre oblique. Tout le reste passe : deux-points, points d'interrogation, points finaux, un fichier nommé NUL. macOS en ajoute un, les deux-points, hérités de HFS où ce caractère servait de séparateur de chemin ; c'est aussi pourquoi le Finder échange deux-points et barre oblique quand il affiche un nom.
Windows est le système strict. Il interdit neuf caractères imprimables — inférieur, supérieur, deux-points, guillemet droit, barre oblique, barre oblique inverse, barre verticale, point d'interrogation et astérisque — ainsi que l'octet nul et tous les caractères de contrôle de 1 à 31. Il refuse les noms qui se terminent par un point ou une espace. Et il réserve un ensemble de noms de périphérique qui ne peuvent servir de nom de fichier dans aucun répertoire.
Un nom qui fonctionne sur votre machine peut donc échouer sur celle d'un collègue, ou dans une archive zip qu'il ouvre sous Windows. Cet outil applique les règles que vous demandez et, par défaut, les applique toutes à la fois.
Comment l'utiliser
- Saisissez ou collez le nom. Le nom seul, pas le chemin entier : les règles qui comptent ici s'appliquent à un composant à la fois.
- Choisissez les règles à appliquer. « Sûr partout » est la valeur par défaut et l'option strictement la plus sévère ; les systèmes pris isolément servent lorsque vous savez exactement où le fichier va atterrir.
- Lisez ce qui a changé, pas seulement le résultat. Chaque modification est listée avec sa raison, et un encadré indique lequel des trois systèmes aurait refusé le nom que vous avez tapé.
Il y a 28 noms réservés, pas 22
Presque toutes les listes de noms réservés sous Windows donnent les mêmes 22 : CON, PRN, AUX, NUL, COM1 à COM9 et LPT1 à LPT9. La documentation de Microsoft en compte six de plus, et ce sont précisément ceux qu'il vaut la peine de connaître, car rien ne permet de les deviner.
Ces six-là sont COM et LPT écrits avec des chiffres en exposant, les caractères ¹, ² et ³ de l'ISO/IEC 8859-1. Microsoft en donne la raison dans une note de cette même page : Windows reconnaît ces caractères comme des chiffres et les considère comme des éléments valides d'un nom de périphérique COM ou LPT, si bien qu'ils sont réservés dans tous les répertoires. La documentation fournit même le test, en signalant qu'écrire dans COM suivi d'un un en exposant ne crée aucun fichier.
La réservation survit également à l'extension, et c'est ce qui piège le plus de monde. NUL.txt et NUL.tar.gz valent tous deux NUL, parce que la règle porte sur tout ce qui précède le premier point, et non sur la partie située avant le dernier. Un outil qui découpe au dernier point rate le second cas ; celui-ci découpe au premier.
Ce que cet outil ne fait pas
Il nettoie un nom, pas un chemin. La limite de 260 caractères de Windows porte sur le chemin entier, et aucun outil regardant un seul nom ne peut savoir à quelle profondeur il finira ; les 255 caractères que cette page impose sont la limite par nom que la plupart des systèmes de fichiers appliquent séparément. Ces deux nombres sont constamment confondus et ne mesurent pas la même chose.
Il ne peut pas non plus vous dire ce que votre système de fichiers acceptera précisément. Les règles présentées sont celles documentées pour Windows, pour POSIX et pour macOS, mais un partage réseau, une clé USB en FAT ou un client de synchronisation dans le nuage peuvent être plus stricts, parfois de façon non documentée. Un nom que cette page déclare sûr partout l'est au regard des règles publiées, ce qui est tout ce qu'un outil statique peut promettre.
Et il conserve délibérément le point initial. La documentation de Microsoft dit noir sur blanc qu'un point est acceptable comme premier caractère d'un nom : .gitignore et .env sont donc légaux sous Windows, seul le point final pose problème. Le supprimer, comme le font certains outils, casserait les fichiers cachés sans raison.
Pourquoi est-ce gratuit ?
Les règles tiennent en quelques centaines d'octets de tables et le renommage a lieu dans votre propre navigateur. Rien de ce que vous tapez n'est envoyé, rien n'est journalisé, et il n'y a aucun compte à créer.
Sans inscription, sans limite, et sans filigrane sur ce que vous copiez.