0% ont trouvé ce document utile (0 vote)
45 vues5 pages

Création d'une API REST avec Dotenv

tva

Transféré par

hassan ld
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
45 vues5 pages

Création d'une API REST avec Dotenv

tva

Transféré par

hassan ld
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail Formateur : HAFSA MHAND OUAMMI

Filière : devOFS Niveau : 2ème Année


Module : Créer une application Cloud Native Année de formation: 2023/2024

TP2 – API REST


MONGOOSE ET ENV

Objectifs d'apprentissages :
 Utilisation de la bibliothèque Mongoose
 Utilisation des variables d’environnement
 Utilisation des routes

Les bibliothèques à utiliser:


1. Dotenv
a. Définition:

Dotenv est un module sans dépendance qui charge les variables d'environnement d'un .env fichier
dans process.env.

b. Installation:

npm install dotenv --save


c. Utilisation:

Créez un .env fichier à la racine de votre projet :

HOST = localhost
DATABASE = tpDb
PORT = 5432

import and configure dotenv:

require('dotenv').config()
const host = process.env.HOST

2. Cors
a. Définition :

CORS est un package node.js permettant de fournir un middleware Connect / Express qui peut être
utilisé pour activer CORS avec diverses options.

CORS (Cross-origin resource sharing) est un mécanisme d'intégration d'applications . CORS définit un
moyen permettant aux applications Web client chargées dans un domaine d'interagir avec les
ressources d'un domaine différent.
ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail Formateur : HAFSA MHAND OUAMMI

Filière : devOFS Niveau : 2ème Année


Module : Créer une application Cloud Native Année de formation: 2023/2024

b. Installation:

npm install cors


c. Utilisation:

var app = express()


var cors = require('cors')
app.use(cors())

3. nodemon
a. Définition:

nodemon est un outil qui permet de développer des applications basées sur Node.js en redémarrant
automatiquement l'application de nœud lorsque des modifications de fichiers dans le répertoire
sont détectées.

nodemon ne nécessite aucune modification supplémentaire de votre code ou de votre méthode de


développement. nodemon est un wrapper de remplacement pour node. Pour utiliser nodemon,
remplacez le mot nodesur la ligne de commande lors de l'exécution de votre script.

b. Installation:

npm install -g nodemon

c. Utilisation:

nodemon [your node app]

Structuration du TP :
Utilisation des fichiers de routes :

Créer un dossier routes dans lequel on va déclarer les routes .

Dans le fichier technologies.js on va inclure :

- Le module Express et aussi


- La fonction express.Router() pour créer un nouvel objet router.

Et ensuite on spécifie les endpoints.

const express=require('express')
const router=express.Router()
ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail Formateur : HAFSA MHAND OUAMMI

Filière : devOFS Niveau : 2ème Année


Module : Créer une application Cloud Native Année de formation: 2023/2024

router.get("/",(req,res)=>{
res.send("Technology route is displaying data")
})

module.exports=router;

Dans le fichier app.js :

const technologiesRoute = require('./routes/technologies')

app.use("/technologies",technologiesRoute)

pour tester la route :

Travail à réaliser :
1. Créer un dossier avec le nom tp2-cloudNative
2. Lancer la commande de création de fichier package.json, en prenant en considération que le
fichier main sera nommer server.js
3. Installer les packages suivants :
 Express
 Mongoose
 Nodemon
 Cors
 Dotenv
4. Structurer le dossier de votre projet de la façon suivante :
ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail Formateur : HAFSA MHAND OUAMMI

Filière : devOFS Niveau : 2ème Année


Module : Créer une application Cloud Native Année de formation: 2023/2024

5. Dans le fichier. env, déclarer les variables d'environnement suivante :

Nom de variable Description


PORT Port de l’application
URL_MONGOOSE Chaine de connexion vers MongoDB
DBNAME Le nom de la base de données

6.Dans le fichier server.js :


 Récupérer les variables d'environnement
 Permettre l'analyse des requêtes JSON.
 Connexion à la base de données Mongodb.
 Les requêtes qui commence par /chefs seront rediriges vers le fichier chef dans le dossier routes.
 Les requêtes qui commence par /recette seront rediriges vers le fichier recette dans le dossier
routes.
 Les requêtes qui commence par /restaurant seront rediriges vers le fichier restaurant dans le
dossier routes.
 Démarrer le serveur (valeur du port déjà défini dans le fichier .env).

7. Dans le fichier ChefsModel :


 Définir le schéma qui représente un document de la collection Chefs.
 Exporter par défaut le modèle de ce schéma.

8.Dans le fichier RecettesModel :


 Définir le schéma qui représente un document de la collection Recette.
 Exporter par défaut le modèle de ce schéma.

9.Dans le fichier RestaurantsModel :


 Définir le schéma qui représente un document de la collection Restaurant.
 Exporter par défaut le modèle de ce schéma.

10.Dans le fichier chef.js, créer les routes suivantes :


Chemin Méthode Description
/all GET Retourne la liste de tous les chefs.
/names GET Retourne les noms des chefs
/recettes GET Retourne le nombre de recettes par chef (retourne le nom du
chef et le nombre de recettes)
/add POST Ajout d'un chef (passe dans le corps de la requête)
/update/:name PUT Modifie les informations d'un chef en se basant sur son nom.
/delete/:name DELETE Supprime un chef
ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail Formateur : HAFSA MHAND OUAMMI

Filière : devOFS Niveau : 2ème Année


Module : Créer une application Cloud Native Année de formation: 2023/2024

11.Dans le fichier recette.js, créer les routes suivantes :


Chemin Méthode Description
/all GET Retourne la liste de tous les recettes.
/names GET Retourne les noms des recettes
/add POST Ajout d'une recette (passe dans le corps de la requête)
/update/:name PUT Modifie les informations d'une recette en se basant sur son
nom.
/delete/:name DELETE Supprime une recette

12.Dans le fichier restaurant.js, créer les routes suivantes :


Chemin Méthode Description
/all GET Retourne la liste de tous les restaurants.
/chefs/:restaurantname GET Retourne toutes les informations sur les chefs d'un
restaurant passe en paramètre.
/recettes/:restaurantname GET Retourne toutes les informations sur les recettes d'un
restaurant passe en paramètre.
/listCategorie/:category GET Retourne la liste de tous les restaurants d'une catégorie
passe en paramètre.
/list GET
/:annee1/:annee2 GET Retourne les restaurants ouvert entre les deux
paramètres annee1 et annee2
/add POST Ajout d'un restaurant (passe dans le corps de la
requête)
/update/:name PUT Modifie les informations d'un restaurant en se basant
sur son nom.
/delete/:name DELETE Supprime un restaurant

13.Créer une application React pour consommer l'API que vous avez créé.

Vous aimerez peut-être aussi