Skip to content
✨ Les cours suivant sont disponible : Html, Css, React, Algorithme ✨
cours
✨ React Js
2.0 Fondamentaux de ReactJS
2.6 Organisation du code avec les fichiers et dossiers

Organisation du code avec les fichiers et dossiers

L'organisation du code est essentielle pour maintenir un projet React bien structuré et facile à comprendre. Une structure de fichiers et de dossiers cohérente permet une collaboration efficace, une maintenance aisée et une évolutivité optimale. Dans cette section, nous allons explorer en détail les bonnes pratiques pour organiser votre code dans un projet React, en utilisant des dossiers et des fichiers pour séparer les différentes parties du code.

Structure de base du projet

Lorsque vous démarrez un projet React, il est courant d'utiliser Create React App pour générer une structure de base. Cette structure de base peut servir de point de départ pour organiser votre code.

Voici un exemple de structure de base typique pour un projet React :

my-react-app/
  ├── public/
  │   ├── index.html
  │   └── ...
  ├── src/
  │   ├── components/
  │   │   ├── Header/
  │   │   │   ├── Header.js
  │   │   │   └── Header.css
  │   │   ├── Sidebar/
  │   │   │   ├── Sidebar.js
  │   │   │   └── Sidebar.css
  │   │   └── ...
  │   ├── pages/
  │   │   ├── Home/
  │   │   │   ├── Home.js
  │   │   │   └── Home.css
  │   │   ├── About/
  │   │   │   ├── About.js
  │   │   │   └── About.css
  │   │   └── ...
  │   ├── styles/
  │   │   ├── main.css
  │   │   └── ...
  │   ├── utils/
  │   │   ├── api.js
  │   │   └── ...
  │   ├── App.js
  │   ├── index.js
  │   └── ...
  ├── .gitignore
  ├── package.json
  └── ...

Dans cet exemple, nous avons un dossier src qui contient tous les fichiers source de notre application. Les composants sont organisés dans le dossier components, les pages dans le dossier pages, les styles dans le dossier styles, et les utilitaires dans le dossier utils. Le fichier principal de l'application est App.js, et le point d'entrée est index.js.

Séparation des composants

La séparation des composants est un aspect essentiel de l'organisation du code dans React. Il est recommandé d'organiser vos composants en fonction de leur fonctionnalité ou de leur emplacement dans l'interface utilisateur.

Voici une version plus détaillée de la structure du projet, avec des sous-dossiers supplémentaires pour certains dossiers existants :

my-react-app/
  ├── public/
  │   ├── index.html
  │   └── ...
  ├── src/
  │   ├── assets/
  │   │   ├── images/
  │   │   │   ├── logo.png
  │   │   │   └── ...
  │   │   ├── icons/
  │   │   │   ├── home.svg
  │   │   │   └── ...
  │   │   └── ...
  │   ├── components/
  │   │   ├── Header/
  │   │   │   ├── Header.js
  │   │   │   ├── Header.css
  │   │   │   └── Header.test.js
  │   │   ├── Sidebar/
  │   │   │   ├── Sidebar.js
  │   │   │   ├── Sidebar.css
  │   │   │   └── Sidebar.test.js
  │   │   └── ...
  │   ├── hooks/
  │   │   ├── useLocalStorage/
  │   │   │   ├── useLocalStorage.js
  │   │   │   └── useLocalStorage.test.js
  │   │   ├── useFetch/
  │   │   │   ├── useFetch.js
  │   │   │   └── useFetch.test.js
  │   │   └── ...
  │   ├── data/
  │   │   ├── todos.json
  │   │   ├── users.json
  │   │   └── ...
  │   ├── layout/
  │   │   ├── Header/
  │   │   │   ├── Header.js
  │   │   │   ├── Header.css
  │   │   │   └── Header.test.js
  │   │   ├── Sidebar/
  │   │   │   ├── Sidebar.js
  │   │   │   ├── Sidebar.css
  │   │   │   └── Sidebar.test.js
  │   │   └── ...
  │   ├── utils/
  │   │   ├── api/
  │   │   │   ├── api.js
  │   │   │   └── api.test.js
  │   │   ├── helpers/
  │   │   │   ├── helpers.js
  │   │   │   └── helpers.test.js
  │   │   └── ...
  │   ├── styles/
  │   │   ├── main.scss
  │   │   ├── variables.scss
  │   │   └── ...
  │   ├── App.js
  │   ├── index.js
  │   └── ...
  ├── .gitignore
  ├── package.json
  └── ...

Dans cette version plus détaillée, des sous-dossiers ont été ajoutés pour certains dossiers existants :

  • assets/images : Ce dossier contient les images utilisées dans le projet, telles que le logo de l'application.
  • assets/icons : Ce dossier contient les icônes utilisées dans le projet, telles que des icônes SVG.
  • components/ComponentName : Ce schéma de sous-dossier est utilisé pour les composants plus complexes nécessitant des fichiers supplémentaires, tels que les tests.
  • hooks/hookName : Ce schéma de sous-dossier est utilisé pour les hooks personnalisés nécessitant des fichiers supplémentaires, tels que les tests.
  • layout/ComponentName : Ce schéma de sous-dossier est utilisé pour les composants de mise en page nécessitant des fichiers supplémentaires, tels que les styles et les tests.
  • utils/utilName : Ce schéma de sous-dossier est utilisé pour les fichiers utilitaires nécessitant des fichiers supplémentaires, tels que les tests.
  • styles/variables.scss : Ce fichier contient les variables Sass pour les styles réutilisables dans tout le projet.

Cette structure plus détaillée permet une organisation plus fine du code en regroupant les fichiers associés dans des sous-dossiers spécifiques. Cela facilite la recherche des fichiers pertinents et améliore la lisibilité du projet. N'oubliez pas d'adapter cette structure en fonction des besoins spécifiques de votre projet.