Leçon 4 / 15

Créer un dossier par ressource

20 min Node.js — API Express et code asynchrone Gratuit

Objectif : Créer les dossiers et les fichiers dédiés aux ressources commandes et produits, conformément à la structure du projet.

Lorsque les routes d’une API s’accumulent dans un seul fichier, il devient difficile de repérer où se trouve le code associé à chaque ressource. Vous allez préparer une arborescence dans laquelle commandes et produits disposent chacune de leurs fichiers dédiés, sans modifier le comportement actuel du serveur.

La leçon précédente a introduit les routes provisoires et les réponses JSON normalisées dans `serveur.js`. Vous conservez ces routes : l’objectif ici est de préparer la structure qui accueillera leur remplacement progressif, pas de déplacer ou de réécrire leur logique.

Créer l’arborescence du projet

À la racine, créez trois dossiers : `routes`, `controleurs` et `services`. Dans chacun, placez un fichier pour `commandes` et un pour `produits`. Les noms de fichiers restent au pluriel, comme les ressources de l’API ; cette convention rend leur rôle facile à identifier dans tout le projet.

Texte
projet-commandes/
├── package.json
├── serveur.js
├── routes/
│   ├── commandes.js
│   └── produits.js
├── controleurs/
│   ├── commandes.js
│   └── produits.js
├── services/
│   ├── commandes.js
│   └── produits.js
├── middlewares/
├── public/
│   ├── index.html
│   └── style.css

Les dossiers `middlewares` et `public` figurent aussi dans le projet, mais cette étape ne leur ajoute aucun fichier. Vous les complèterez lorsque le cours abordera les validations et la page de documentation ; ne créez pas encore de fichiers qui ne sont pas utiles à la structure travaillée aujourd’hui.

Préparer des modules valides

Pour l’instant, chaque fichier dédié peut contenir un module CommonJS minimal. Il est valide, peut être importé par Node.js et ne prétend pas encore fournir une route ou un traitement métier. Ce choix évite de laisser des fichiers vides tout en gardant le serveur existant intact.

JavaScript
// routes/commandes.js
module.exports = {};

// routes/produits.js
module.exports = {};

// controleurs/commandes.js
module.exports = {};

// controleurs/produits.js
module.exports = {};

// services/commandes.js
module.exports = {};

// services/produits.js
module.exports = {};
Aperçu du rendu
Chargement de l'aperçu…

Vérifier la structure sans changer le serveur

Après la création des dossiers et des fichiers, contrôlez leurs noms et leur emplacement. Les six fichiers doivent correspondre exactement aux chemins indiqués ; veillez notamment à écrire `controleurs` sans accent et à garder les extensions `.js`. Les conventions d’indentation restent fixées à deux espaces pour le code qui sera ajouté ensuite.

Aucune modification de `package.json` ou de `serveur.js` n’est nécessaire dans cette leçon. Comme le serveur conserve son état précédent, démarrez-le avec la commande déjà utilisée dans votre projet et vérifiez que la route de contrôle ainsi que les routes provisoires répondent toujours. Les nouveaux modules ne sont pas encore appelés ; leur présence ne change donc pas les réponses observées.

À retenir

  • Créez un dossier distinct pour les routes, les contrôleurs et les services.
  • Attribuez à chaque ressource ses fichiers `commandes.js` et `produits.js`.
  • Gardez les noms prévus par le contrat et une indentation de deux espaces.
  • Laissez `serveur.js` et ses routes provisoires inchangés jusqu’à leur raccordement dans les leçons suivantes.

Dans la prochaine leçon, vous remplacerez progressivement les routes provisoires en apprenant à les définir avec `express.Router` et à les monter sur l’application.

Envie d'aller plus loin ?

Les cours Enovatic sont gratuits et le resteront. Si vous cherchez un accompagnement encadré, nos formations professionnelles sont animées par les mêmes formateurs.