Conventions de nommage de fichiers expliquées (et pourquoi les tiennes sont probablement mauvaises)
Les 6 règles que toute convention de nommage de fichiers devrait suivre, avec des exemples concrets d'équipes qui s'en sortent bien.
Tu as probablement une « convention de nommage de fichiers ». Elle existe probablement dans ta tête, à moitié appliquée, avec trois exceptions que tu as oubliées. C’est le cas de la plupart des gens. La bonne nouvelle : une vraie convention tient en six règles, et tu peux en adopter une cet après-midi.
Pourquoi le nommage importe plus que les dossiers
Un argument solide du monde de la pensée systémique : les noms de fichiers sont les seules métadonnées qui survivent. Déplace un fichier entre systèmes d’exploitation, synchronise-le dans un cloud, mets-le dans un ZIP, joins-le à un email — les dossiers, les tags, les permissions sont tous supprimés. Le nom de fichier reste.
Ce qui signifie que le nom de fichier fait deux travaux : c’est à la fois un label et un index. Un fichier appelé final_v2_REAL.docx échoue aux deux. Un fichier appelé 2026-04-19_proposition-lisbonne_v03.docx réussit aux deux.
Les 6 règles
1. Dates ISO 8601 au début
AAAA-MM-JJ. Toujours. Jamais 04-19-2026 (américain), jamais 19-04-2026 (européen), jamais 19 avr. 2026 (texte).
Pourquoi : quand les fichiers sont triés alphabétiquement, les dates ISO sont aussi triées chronologiquement. 2026-04-19_x.txt vient automatiquement avant 2026-04-20_y.txt. Aucun outil nécessaire.
✓ 2026-04-19_facture.pdf
✗ 19-04-2026_facture.pdf
✗ avril-19-2026_facture.pdf
2. Minuscules uniquement
La sensibilité à la casse est un vrai piège. macOS est insensible à la casse par défaut ; Linux et Git sont sensibles à la casse. Une équipe où certains commitent Logo.png et d’autres référencent logo.png finira par avoir un bug « fichier non trouvé » en production.
Avantage supplémentaire : les minuscules ont l’air plus propre et sont plus rapides à taper.
✓ tokyo-2026-001.jpg
✗ Tokyo-2026-001.JPG
3. Pas d’espaces, pas de caractères spéciaux
Utilise - (tirets) ou _ (underscores). Évite é, &, #, ?, /, \, :, *. Ils :
- Cassent les URLs (un
?dans un nom de fichier signifie « chaîne de requête » pour un navigateur) - Cassent les commandes shell (les espaces séparent les arguments)
- Cassent la complétion automatique dans les terminaux
- Sont encodés en moche
%20%C3%A9dans les URLs
✓ rapport-trimestriel_v02.pdf
✗ Rapport Trimestriel (Final)?.pdf
4. Underscore vs tiret : attribue un rôle précis à chacun
La convention utilisée par Wikipedia, GitHub Pages et la plupart des pros :
- Tiret (
-) sépare les mots au sein d’une unité logique :tokyo-2026,onboarding-client. - Underscore (
_) sépare les unités logiques :2026-04-19_tokyo-2026_001.jpg.
Ainsi, un nom de fichier se parse proprement : date_événement_compteur.ext. Tu peux diviser sur l’underscore dans n’importe quel script en 1 ligne.
5. Versionnement avec des zéros devant
v01, v02, …, v10, v11. Pas v1, v2, …, v10 (qui se trie comme v1, v10, v11, v2).
Idem pour les compteurs : 001, 002, …, 999. Même si tu ne t’attends pas à dépasser 100, tu seras content plus tard.
✓ contrat_v01.pdf, contrat_v02.pdf, contrat_v10.pdf
✗ contrat_v1.pdf, contrat_v10.pdf, contrat_v2.pdf
6. Descriptif mais compact
La règle Boucle d’Or : 30 à 60 caractères. Assez long pour être explicite, assez court pour ne pas déborder dans ton navigateur de fichiers.
✓ 2026-04-19_proposition-lisbonne_v03.pdf
✗ proposition.pdf (trop vague)
✗ 2026-04-19_proposition-complete-finale-revisee-pour-le-projet-acme-corp-lisbonne-version-3-vraie-finale.pdf (trop long)
Tout assembler
La formule générale :
[date]_[projet-ou-contexte]_[description]_[version].ext
Exemples :
| Cas d’usage | Nom de fichier |
|---|---|
| Photo de mariage | 2026-04-26_mariage-dupont_001.jpg |
| Facture | 2026-04-19_acme_facture-042.pdf |
| Brouillon design | 2026-05-02_refonte-app_accueil_v04.fig |
| Notes de réunion | 2026-05-02_planning-t2_notes.md |
| Image produit | widget-bleu_001.jpg (sans date — atemporel) |
Remarque le dernier exemple qui brise la règle de la date. C’est normal : les règles existent pour servir la clarté, pas l’inverse. Les fichiers de catalogue ou d’inventaire où la date n’a pas d’importance (une photo produit n’a pas de date d’expiration) peuvent s’en passer.
Comment appliquer ça aux fichiers existants
Tu as probablement des milliers de fichiers qui ne suivent pas ces règles. Deux options :
Option A : appliquer uniquement aux nouveaux fichiers
La démarche 80/20. Adopte la convention pour les nouveaux fichiers, laisse les anciens tranquilles sauf s’ils causent des problèmes. La plupart des fichiers de plus d’un an, tu n’y toucheras plus jamais.
Option B : renommer en lot les importants
Pour les dossiers orientés clients, les archives de projets, ou tout ce que tu vas souvent rechercher : utilise un renommeur en lot pour appliquer la convention en une passe. Dépose le dossier, configure préfixe + numérotation + minuscules + suppression des spéciaux, exporte. 312 fichiers deviennent cohérents en 30 secondes.
N’essaie pas de remettre en ordre les 20 ans de fichiers que tu accumules. Ça n’en vaut pas la peine.
Des conventions réelles de vraies équipes
Quelques exemples collectés auprès d’équipes qui s’en sortent bien :
Newsroom :
2026-04-19_byline-renault_sujet-renommage_v02.docx
Date pour le tri, byline pour la propriété, sujet pour la recherchabilité.
E-commerce (des milliers de SKUs) :
sku-12345_principale.jpg
sku-12345_dos.jpg
sku-12345_detail-01.jpg
SKU en premier (orienté catalogue), type de prise de vue en suffixe. La date n’est pas pertinente — les produits n’ont pas de « date ».
Assets de projet de code :
icone-recherche-24.svg
icone-recherche-32.svg
Nom du composant + taille. Pas de date, pas de version — Git gère l’historique.
Portfolio photo :
2026_paris_001.jpg
2026_paris_002.jpg
Année + lieu + compteur. Pas de mois/jour pour les photos d’archives.
Le schéma : adapte la formule à ton domaine, mais reste cohérent en son sein.
Et les emojis et l’Unicode ?
Tentant. Ne le fais pas.
Les emojis cassent l’affichage dans le terminal, la synchronisation de fichiers, l’extraction de ZIP et les pièces jointes d’email. Les caractères Unicode au-delà de l’ASCII cassent les anciens outils Windows. Reste dans [a-z0-9_-] et tu as une compatibilité garantie partout.
Si tu as vraiment besoin de signaler visuellement certains fichiers, utilise un nom de dossier ou un préfixe comme _prioritaire_ ou 00_.
En résumé
- Dates ISO en premier. Minuscules uniquement. Tirets dans les unités, underscores entre les unités.
- Zéros devant sur les compteurs et les versions.
- Noms de fichiers de 30 à 60 caractères. Explicites, mais pas romanesques.
- Applique aux nouveaux fichiers ; renomme les anciens avec un outil en lot si besoin.
- Adapte la formule à ton domaine — mais sois cohérent en son sein.
Choisis un dossier cette semaine. Renomme-le selon les règles. Remarque à quel point tu trouves les choses plus vite. Puis étends-le.