← Tous les articles

Noms de fichiers compatibles : checklist avant envoi

Pour obtenir des noms de fichiers compatibles qui s'ouvrent correctement chez tout le monde, vérifiez cinq points avant de cliquer sur Envoyer : aucun caractère interdit par Windows (\ / : * ? " < > |), pas d'espace ni de point en début ou en fin de nom, une longueur raisonnable, une extension toujours présente, et des lettres accentuées, coréennes ou japonaises enregistrées sous forme composée (NFC) plutôt que sous la forme décomposée (NFD) que macOS écrit souvent. Les quatre premiers points se repèrent à l'œil nu. Le cinquième est invisible, c'est pourquoi il provoque le plus de confusion, et c'est celui qu'un outil gratuit comme FilenameFixer règle en quelques secondes.

Cet article est la version « checklist ». Il n'entre pas dans la théorie Unicode ; il est conçu pour être parcouru une fois, juste avant de joindre un fichier à un e-mail, de le déposer dans un formulaire web ou de zipper un dossier pour un collègue.

La checklist des noms de fichiers compatibles

Passez chaque fichier à envoyer au crible de ces cinq points. La plupart passent en quelques secondes.

  1. Uniquement des caractères ordinaires. Lettres, chiffres, espaces, tirets, tirets bas, points et parenthèses fonctionnent partout. Tout ce qui figure dans \ / : * ? " < > | ne passe pas : Windows refusera d'enregistrer le fichier ou modifiera le nom sans prévenir.
  2. Rien de bizarre aux extrémités. Pas d'espace ni de point au début ou à la fin du nom. Windows supprime les espaces et les points finaux, ce qui peut transformer rapport .pdf en un nom qui ne correspond plus à ce que vous avez annoncé au destinataire.
  3. Restez court. Windows a une limite historique de 260 caractères pour le chemin complet, noms de dossiers compris. Un nom de 150 caractères qui fonctionne sur votre bureau peut échouer dans C:\Users\Quelquun\Downloads\Documents projet 2026\....
  4. Extension intacte. Facture_mars.pdf, et non Facture_mars ou Facture_mars.pdf.txt. Si macOS masque les extensions, vérifiez via Finder > Lire les informations.
  5. Unicode composé (NFC) pour les lettres non ASCII. C'est le point que vous ne pouvez pas voir. Un fichier nommé Contrat_François.docx ou 보고서.xlsx peut être enregistré sous deux séquences d'octets différentes qui paraissent identiques sur un Mac. L'une des deux casse sous Windows et dans de nombreux formulaires de téléversement.

Si tout passe, envoyez le fichier. Si le point 5 fait douter, continuez la lecture.

Pourquoi les noms de fichiers cassent entre Mac, Windows et formulaires web

Chaque système a ses propres règles, et les fichiers franchissent ces frontières en permanence.

Caractères interdits

macOS accepte presque tout dans un nom de fichier, sauf les deux-points (si vous tapez une barre oblique dans le Finder, elle est stockée en interne sous forme de deux-points). Windows interdit neuf caractères purement et simplement, et refuse aussi des noms comme CON, PRN, AUX, NUL, COM1 et LPT1, avec ou sans extension. Un fichier nommé nul.txt ne peut tout simplement pas être créé sous Windows. C'est rare en pratique, mais Résultats T3 : brouillon ?.xlsx est exactement le genre de nom qu'un utilisateur Mac tape sans y réfléchir.

Caractères aux extrémités et longueur

Windows tronque les espaces et les points finaux à l'enregistrement. Un ZIP contenant notes .txt peut se décompresser en notes.txt, ce qui est sans conséquence, ou faire échouer l'extraction, ce qui l'est beaucoup moins. Les chemins trop longs échouent pour la même raison : la limite s'applique au chemin complet sur la machine du destinataire, pas seulement au nom que vous voyez.

L'invisible : NFD contre NFC

C'est le point qui génère le plus de demandes d'aide. Unicode autorise qu'une lettre accentuée comme é soit stockée soit comme un seul point de code (précomposé, NFC), soit comme e suivi d'un accent combinant (décomposé, NFD). Même chose pour ç, qui peut devenir c + ◌̧. Le principe s'applique aussi aux syllabes coréennes (한 peut être stocké sous forme des jamo ㅎ, ㅏ, ㄴ) et aux kana japonais avec dakuten ou handakuten (が sous forme de か plus ゛).

Historiquement, macOS écrit les noms de fichiers sous forme décomposée. Le Mac les affiche correctement, donc l'expéditeur ne remarque rien. Windows, la plupart des serveurs web et beaucoup de formulaires de téléversement attendent la forme composée. À l'arrivée, le résultat est bien connu :

  • CV_Noël.pdf s'affiche comme CV_Noe¨l.pdf ou avec un carré parasite après le e.
  • Reçu_février.pdf devient Rec¸u_fe´vrier.pdf.
  • 한글_보고서.pptx se transforme en lettres séparées du type ㅎㅏㄴㄱㅡㄹ_....
  • 資料が.xlsx montre le dakuten détaché du kana.
  • Un formulaire web rejette le téléversement, ou l'enregistre sous un nom qui ne correspond plus à l'enregistrement en base de données.

Le fichier lui-même est intact. Seul le nom est dans une forme que le système destinataire ne normalise pas.

Comment vérifier et corriger les noms de fichiers avant l'envoi

Voici une routine reproductible. Les étapes 1 à 3 couvrent les problèmes visibles ; les étapes 4 et 5 couvrent le NFD.

  1. Renommez les cas évidents dans le Finder. Sélectionnez le fichier, appuyez sur Entrée et supprimez tout caractère parmi \ / : * ? " < > |. Remplacez-le par un tiret ou un espace. Faites de même pour les espaces et points en début ou en fin de nom.
  2. Confirmez l'extension. Dans le Finder, sélectionnez le fichier et appuyez sur Cmd-I. Sous Nom et extension, vérifiez que l'extension est présente et que Masquer l'extension ne cache pas une erreur comme une double extension.
  3. Raccourcissez les noms longs. Si le nom plus le chemin de dossier attendu de l'autre côté approche les 200 caractères, raccourcissez-le maintenant. Des dates au format AAAA-MM-JJ et des codes projet courts gardent les noms triables sans les allonger.
  4. Testez si le nom est en NFD. Impossible de le voir à l'œil. Deux options rapides :
    • Développeurs : dans le Terminal, lancez python3 -c "import unicodedata,sys; print(unicodedata.is_normalized('NFC', sys.argv[1]))" "$(ls | head -1)" pour un seul fichier, ou bouclez sur un dossier. False signifie décomposé.
    • Tous les autres : ouvrez l'application web gratuite FilenameFixer sur https://webapp-sepia-xi.vercel.app/fr, collez le nom du fichier dans le convertisseur de texte et comparez le résultat avec ce que vous avez collé. Si l'outil modifie quelque chose, l'original était en NFD.
  5. Convertissez en NFC. Pour une poignée de fichiers, glissez-les sur la page FilenameFixer dans votre navigateur ; elle les renomme par lot en forme composée. Le traitement se fait localement dans le navigateur, les fichiers ne sont donc envoyés sur aucun serveur. Pour un dossier déjà zippé, l'outil de restauration ZIP peut réécrire les noms à l'intérieur de l'archive (archives jusqu'à 200 Mo). Si vous êtes développeur, unicodedata.normalize('NFC', nom) en Python ou str.normalize('NFC') en JavaScript fait la même chose dans vos propres scripts.

Après l'étape 5, refaites l'étape 4. Le résultat ne doit plus changer.

Les alternatives intégrées qui ne demandent aucun outil

Vous pouvez éviter totalement le problème en nommant les fichiers en ASCII pur quand le contenu le permet : Contrat_Francois.docx au lieu de Contrat_François.docx, ou rapport_kr.pptx avec le titre coréen à l'intérieur du document plutôt que dans le nom. C'est un conseil honnête qui fonctionne pour beaucoup de documents de bureau. Ce n'est pas envisageable quand le nom est lui-même la donnée : une pièce d'identité scannée, le nom d'un étudiant sur un devoir rendu, ou un jeu de données dont les noms de fichiers sont rapprochés d'une base de données.

Noms de fichiers compatibles pour e-mails, portails et collègues

Quelques situations méritent leur propre ligne sur la checklist.

Pièces jointes d'e-mail. Les clients de messagerie transmettent généralement le nom tel qu'il est stocké. Si vous joignez un fichier depuis un Mac sans vérifier, le destinataire sous Windows reçoit le nom décomposé. Renommez ou convertissez avant de joindre, pas après le retour agacé.

Formulaires web et portails. Sites de candidature, plateformes de dépôt universitaires, démarches administratives en ligne : c'est là que le NFD provoque des échecs silencieux. Le téléversement semble réussir, mais le nom enregistré est abîmé, ou le formulaire rejette le fichier avec un vague message « nom de fichier invalide ». Si vous téléversez souvent, l'extension Chrome FilenameFixer convertit les noms automatiquement au moment de l'envoi, de sorte que cette étape de la checklist se fait sans que vous ayez à y penser. Pour un envoi ponctuel, convertir le fichier avant suffit.

Fichiers reçus de collègues coréens ou japonais. Si un collègue sur Mac vous envoie des fichiers avec des noms coréens ou japonais qui arrivent cassés, la correction se fait côté réception : déposez les fichiers ou le ZIP dans l'application web, convertissez, et les noms sont restaurés. Cela vaut la peine de transmettre cette checklist à l'expéditeur pour que le prochain lot arrive propre.

Développeurs et dépôts partagés. Normalisez les noms de fichiers en NFC dans tout script qui écrit des fichiers, et validez les téléversements côté serveur. Ne comptez pas sur le client pour envoyer des noms composés ; un filtre qui rejette le NFD ou le convertit à l'arrivée évite beaucoup de débogage plus tard.

Les limites à connaître

Une checklist de noms de fichiers évite la plupart des casses, mais pas toutes. Certains systèmes ont leurs propres règles supplémentaires, comme SharePoint qui rejette # et % dans certaines configurations, ou d'anciens serveurs FTP qui s'étranglent sur tout ce qui sort de l'ASCII. Convertir en NFC corrige spécifiquement le problème de décomposition ; cela ne raccourcit pas les noms, ne retire pas les caractères interdits et ne répare pas des fichiers déjà mal renommés de l'autre côté. Et aucun outil ne peut promettre qu'un portail donné acceptera un nom, puisque chaque service décide de sa propre validation. Considérez les cinq vérifications ci-dessus comme la base, ajoutez les particularités connues du destinataire, et la plupart des e-mails « le nom du fichier est illisible » cessent d'arriver.