Dessin d'un explorateur de fichiers avec une structure de dossiers bien organisée d'un côté et mal organisé de l'autre

Nommer ses dossiers et fichiers : évitez les pièges courants

Publié le

Le nommage des dossiers et fichiers dans un projet web peut sembler anodin, mais c'est la source de nombreux bugs et problèmes de maintenance. Espaces, accents, caractères spéciaux, noms génériques... Ces mauvaises pratiques peuvent transformer votre projet en cauchemar. Découvrez les pièges à éviter et les conventions à adopter pour un projet propre et maintenable 🗂️.

⚠️ Les erreurs qui cassent tout

🚫 Les espaces dans les noms

L'erreur numéro un des débutants : mettre des espaces dans les noms de fichiers ou dossiers.

❌ Mes Images/photo de profil.jpg
❌ Scripts JS/fonction principale.js

Pourquoi c'est un problème :

  • Les URLs deviennent illisibles : photo%20de%20profil.jpg
  • Les commandes en terminal nécessitent des guillemets ou échappements
  • Certains serveurs ou outils peuvent mal interpréter les chemins
  • Les imports en JavaScript peuvent échouer
// Impossible à importer correctement
import { myFunction } from './Scripts JS/fonction principale.js';

La solution : Utilisez le kebab-case (tirets) ou le snake_case (underscores).

✅ mes-images/photo-de-profil.jpg
✅ scripts-js/fonction-principale.js
✅ my_images/profile_photo.jpg

🚫 Les accents et caractères spéciaux

Les accents, cédilles et autres caractères spéciaux sont à proscrire absolument.

❌ données/factures-février.pdf
❌ images/château.jpg
❌ scripts/validité-données.js

Pourquoi c'est un problème :

  • Problèmes d'encodage entre différents systèmes d'exploitation
  • Incompatibilités avec certains serveurs ou CDN
  • Erreurs dans les URLs et les imports
  • Difficultés de recherche et de référencement

La solution : Utilisez uniquement des caractères ASCII non accentués.

✅ donnees/factures-fevrier.pdf
✅ images/chateau.jpg
✅ scripts/validite-donnees.js

🚫 Les caractères interdits

Certains caractères sont tout simplement interdits ou déconseillés dans les noms de fichiers.

❌ data/users&groups.json
❌ images/logo(new).png
❌ docs/guide?.md
❌ files/data*backup.txt

Caractères à éviter :

  • < > : " / \ | ? * (interdits sur Windows)
  • ( ) [ ] { } (peuvent causer des problèmes dans les shells)
  • @ # $ % ^ & * (caractères spéciaux shell)
  • ; , (peuvent perturber certains outils)

La solution : Restez simple avec lettres, chiffres, tirets et underscores.

✅ data/users-and-groups.json
✅ images/logo-new.png
✅ docs/guide.md
✅ files/data-backup.txt

😵 Les noms génériques et flous

🚫 Noms trop vagues

Des noms comme data, temp, test ou utils ne vous aideront pas à vous y retrouver.

❌ Mauvaise organisation :
project/
├── data/
│   └── data/
│       └── data.json
├── temp/
├── test/
└── utils/

Pourquoi c'est un problème :

  • Impossible de savoir ce que contient le dossier sans l'ouvrir
  • Risque de redondance (data/data/data.json)
  • Difficile de retrouver des fichiers spécifiques
  • Confusion dans les imports

La solution : Soyez descriptif et spécifique.

✅ Bonne organisation :
project/
├── user-profiles/
│   └── profile-schema.json
├── cache/
│   └── api-responses/
├── tests/
│   └── integration/
└── helpers/
    └── date-formatters.js

🚫 Numérotation inutile

Évitez de numéroter vos fichiers sans raison claire.

❌ Difficile à maintenir :
├── data1.json
├── data2.json
├── data3.json
├── script1.js
├── script2.js
└── test-final-final2.js

Pourquoi c'est un problème :

  • Impossible de savoir ce que contient chaque fichier
  • Ordre arbitraire qui ne reflète pas la structure logique
  • Difficulté à insérer de nouveaux fichiers
  • Noms comme final2 montrent un manque d'organisation

La solution : Utilisez des noms descriptifs qui reflètent le contenu.

✅ Structure claire :
├── users-data.json
├── products-data.json
├── orders-data.json
├── validate-form.js
├── fetch-api.js
└── user-authentication.test.js

🎯 Les bonnes pratiques à adopter

✅ Cohérence dans tout le projet

Choisissez une convention et respectez-la partout. Le kebab-case est le plus répandu en développement web.

✅ Projet cohérent :
mon-projet/
├── src/
│   ├── components/
│   │   ├── user-card.js
│   │   └── product-list.js
│   ├── utils/
│   │   ├── api-helper.js
│   │   └── date-formatter.js
│   └── styles/
│       ├── main.css
│       └── reset.css
├── assets/
│   ├── images/
│   │   ├── logo-light.svg
│   │   └── logo-dark.svg
│   └── fonts/
└── tests/
    └── user-card.test.js

✅ Noms descriptifs et hiérarchiques

La structure de vos dossiers doit raconter une histoire logique.

✅ Structure logique :
e-commerce/
├── features/
│   ├── authentication/
│   │   ├── login-form.js
│   │   ├── register-form.js
│   │   └── password-reset.js
│   ├── cart/
│   │   ├── cart-items.js
│   │   ├── cart-total.js
│   │   └── checkout-button.js
│   └── products/
│       ├── product-card.js
│       ├── product-details.js
│       └── product-filters.js
└── shared/
    ├── components/
    │   ├── button.js
    │   └── modal.js
    └── hooks/
        └── use-fetch.js

✅ Extensions appropriées

Utilisez toujours les bonnes extensions pour vos fichiers.

✅ Extensions correctes :
├── config.json          # Configuration
├── users.csv            # Données tabulaires
├── api-client.js        # JavaScript
├── styles.css           # Feuille de style
├── component.jsx        # React avec JSX
├── types.ts             # TypeScript
├── readme.md            # Markdown
└── schema.sql           # SQL

Évitez les extensions génériques :

❌ users.txt pour du JSON
❌ script.doc pour du JavaScript
❌ data.file (extension inventée)

✅ Longueur raisonnable

Trouvez le juste milieu entre trop court et trop long.

❌ Trop court :
├── usr.js
├── prd.js
└── img.jpg

❌ Trop long :
├── user-authentication-with-email-verification-and-password-reset.js
└── product-image-with-zoom-and-lightbox-functionality.jpg

✅ Équilibré :
├── user-auth.js
├── product-card.js
└── product-image.jpg

📋 Checklist de nommage

Avant de créer un fichier ou dossier, vérifiez :

  • ✅ Pas d'espaces (utilisez - ou _)
  • ✅ Pas d'accents ni de caractères spéciaux
  • ✅ Uniquement minuscules (sauf conventions spécifiques)
  • ✅ Nom descriptif qui indique clairement le contenu
  • ✅ Extension appropriée au type de fichier
  • ✅ Cohérent avec le reste du projet
  • ✅ Longueur raisonnable (ni trop court, ni trop long)
  • ✅ Pas de numérotation arbitraire

🏗️ Exemple de structure de projet bien organisée

recipe-app/
├── public/
│   ├── favicon.ico
│   └── index.html
├── src/
│   ├── assets/
│   │   ├── images/
│   │   │   ├── recipe-placeholder.jpg
│   │   │   └── logo.svg
│   │   └── fonts/
│   │       └── roboto.woff2
│   ├── components/
│   │   ├── recipe-card.jsx
│   │   ├── ingredient-list.jsx
│   │   └── cooking-timer.jsx
│   ├── pages/
│   │   ├── home.jsx
│   │   ├── recipe-detail.jsx
│   │   └── about.jsx
│   ├── utils/
│   │   ├── api-client.js
│   │   └── format-duration.js
│   ├── styles/
│   │   ├── global.css
│   │   └── variables.css
│   └── index.js
├── tests/
│   └── recipe-card.test.js
├── package.json
├── readme.md
└── .gitignore

📌 Résumé

  • Jamais d'espaces → utilisez kebab-case ou snake_case
  • Jamais d'accents → caractères ASCII uniquement
  • Évitez les caractères spéciaux → lettres, chiffres, tirets, underscores
  • Soyez descriptif → pas de data1, data2
  • Restez cohérent → une convention pour tout le projet
  • Structure logique → vos dossiers racontent une histoire
  • Extensions appropriées.js, .css, .json, etc.

Sources

Mots clés

JavaScript HTML CSS

🚀 Structurez votre projet comme un pro !

Un projet bien organisé, c'est la clé d'un développement serein. Apprenez à structurer vos applications, à adopter les bonnes pratiques et à éviter les pièges qui ralentissent votre workflow. Bénéficiez d'un accompagnement personnalisé pour progresser efficacement.

Discutons ensemble
Dessin d'un ordinateur avec des icônes affichant HTML, CSS, PHP et JS Comment bien nommer ses éléments en HTML, CSS et JavaScript

Apprenez à bien nommer vos éléments HTML, CSS et JavaScript : camelCase, kebab-case, PascalCase, constantes, fonctions, classes…

Un homme derrière son écran d'ordinateur. L'instruction return en JavaScript

Comment utiliser le mot-clé return en JavaScript : comprendre son fonctionnement, voir des exemples concrets et éviter les erreurs courantes.

Un ordinateur portable posé sur un rebord de fenêtre, avec une vue sur l'extérieur à travers la vitre en arrière-plan. Comprendre la différence entre paramètres et arguments

Découvrez la différence entre les arguments et les paramètres dans les fonctions en JavaScript, et comment les utiliser efficacement.