0% ont trouvé ce document utile (0 vote)
223 vues17 pages

Partie 1 de Nodejs

Le document présente un guide sur le framework Node.js, expliquant comment initialiser un projet, démarrer un serveur basique et installer des outils comme nodemon et Express. Il décrit également l'utilisation de middlewares dans une application Express et fournit des exemples de code pour illustrer chaque étape. Enfin, il aborde l'amélioration du fichier server.js pour gérer les erreurs et normaliser le port d'écoute.

Transféré par

Aymen Skiken
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)
223 vues17 pages

Partie 1 de Nodejs

Le document présente un guide sur le framework Node.js, expliquant comment initialiser un projet, démarrer un serveur basique et installer des outils comme nodemon et Express. Il décrit également l'utilisation de middlewares dans une application Express et fournit des exemples de code pour illustrer chaque étape. Enfin, il aborde l'amélioration du fichier server.js pour gérer les erreurs et normaliser le port d'écoute.

Transféré par

Aymen Skiken
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

Framework Nodejs

Sommaire

1. Introduction générale au Framework Nodejs


2. Initialisez votre projet
3. Démarrez un serveur basique
4. Installez nodemon
5. Installation du Serveur Express
6. Exécutez l'application Express sur le serveur Node
7. Ajoutez des middlewares
8. Améliorez [Link]
9. Quiz
Qu'est-ce que [Link] ?

C'est un outil pour développer des applications web backend en utilisant le


language Javascript.
NodeJS permet en effet, d’exécuter du code Javascript en dehors d’un
navigateur.
[Link] est un environnement serveur, open source, gratuit, et qui utilise le
language Javascript pour créer des applications Web côté serveur. (backend)
[Link] fonctionne sur différentes plateformes (Windows, Linux, Unix, Mac OS X,
etc.) Avec [Link], nous pouvons créer une application Web rapide et hautement
évolutive.
L'utilisation de [Link] signifie également que nous pouvons utiliser Javascript
sur l'ensemble du stack c’est à dire le même language pour le frontend et le
backend. Donc un développement plus rapide et efficace.
[Link] a une énorme bibliothèque de packages prêts à l'emploi et qui vous
feront gagner beaucoup de temps. Ces bibliothèques sont gérées par NPM
(Node Package Manager)
Une particularité de [Link] est qu'il utilise la programmation asynchrone
(exécution de plusieurs tâches en même temps) vs la programmation synchrone
(exécution d'une tâche à la fois) que l'on trouve sur de nombreux langages de
programmation côté serveur comme PHP et Ruby.
Initialisez votre projet

Avant de commencer, vous pouvez initialiser un dépôt Git en exécutant git


init depuis votre dossier backend . N'oubliez pas de créer un fichier
.gitignore contenant la ligne node_modules afin de ne pas envoyer ce
dossier (qui deviendra volumineux) vers votre dépôt distant.

À partir de votre dossier backend , exécutez la commande de terminal npm


init pour initialiser votre projet. Vous pouvez utiliser les options par défaut, ou
les modifier si vous le souhaitez. Cependant, votre point d'entrée doit être
[Link] . Vous le créerez bientôt.

Ce processus génère un fichier [Link] vierge, dans lequel seront


enregistrés les détails de tous les packages npm que nous utiliserons pour ce
projet.

Créez un fichier [Link] à l'intérieur de votre dossier backend . Il contiendra


votre premier serveur Node.
Démarrez un serveur basique

Pour créer un serveur Node dans votre fichier [Link] , il vous faudra le
code suivant :
const http = require('http');

const server = [Link]((req, res) => {

[Link]('Voilà la réponse du serveur !');

});

[Link]([Link] || 3000);

Ici, vous importez le package HTTP natif de Node et l'utilisez pour créer un
serveur, en passant une fonction qui sera exécutée à chaque appel effectué vers
ce serveur. Cette fonction reçoit les objets request et response en tant
qu'arguments. Dans cet exemple, vous utilisez la méthode end de la réponse
pour renvoyer une réponse de type string à l'appelant.
Dans la dernière ligne, vous configurez le serveur pour qu'il écoute :

● soit la variable d'environnement du port grâce à [Link] : si la plateforme de


déploiement propose un port par défaut, c'est celui-ci qu'on écoutera ;
● soit le port 3000, ce qui nous servira dans le cas de notre plateforme de développement.

Démarrez le serveur en exécutant node server à partir de la ligne de commande. Pour vérifier qu'il
envoie la réponse correcte, utilisez une fenêtre de navigateur pour accéder à [Link] (en
supposant que vous ayez bien suivi les étapes ci-dessus).

Vous pouvez également utiliser un outil de test tel que Postman pour effectuer une requête GET (ou
tout autre type de requête d'ailleurs, car notre serveur ne fait actuellement aucune distinction !) vers
la même URL : [Link] (à nouveau, en supposant que vous ayez bien suivi les étapes
ci-dessus).
Node utilise le système de module CommonJS, donc pour
importer le contenu d'un module JavaScript, on utilise le mot-clé
require plutôt que le mot-clé import . Ce système est
particulièrement utile car il nous permet d'importer les modules
de base de Node très facilement (comme le module http ici)
sans spécifier le chemin exact du fichier. Node sait qu'il doit
importer un module de base quand on ne spécifie pas un
chemin relatif (qui commence par ./ ou / , par exemple).
Vous verrez dans le prochain chapitre que nous utilisons aussi
le mot-clé require pour importer nos propres fichiers en utilisant
leur chemin relatif, comme "./[Link]" ou même "./app" ,
tout simplement – require nous permet d'omettre l'extension
.js
Installez nodemon

Pour simplifier le développement Node, vous souhaiterez peut-être installer nodemon . Pour ce faire,
exécutez la commande suivante :

npm install -g nodemon


Désormais, au lieu d'utiliser node server pour démarrer votre serveur, vous pouvez utiliser
nodemon server . Il surveillera les modifications de vos fichiers et redémarrera le serveur lorsqu'il
aura besoin d'être mis à jour. Cela vous garantit d'avoir toujours la dernière version de votre serveur
dès que vous sauvegardez, sans devoir relancer manuellement le serveur ! Vous n'aurez qu'à
relancer la requête vers votre serveur. Pratique, n'est-ce pas ?

Maintenant que vous savez démarrer un serveur de développement Node, dans le chapitre suivant,
nous ajouterons Express au projet pour simplifier encore plus la création de notre API.
Installation du Serveur Express

Coder des serveurs web en Node pur est possible, mais long et laborieux. En effet, cela exige
d'analyser manuellement chaque demande entrante. L'utilisation du framework Express simplifie ces
tâches, en nous permettant de déployer nos API beaucoup plus rapidement. Installons-le maintenant

Pour ajouter Express à votre projet, exécutez la commande suivante à partir de


votre dossier backend :

npm install express


Créez un fichier [Link] , où vous placerez votre application Express :
const express = require('express');

const app = express();

[Link] = app;
Exécutez l'application Express sur le serveur Node

Revenez à votre fichier [Link] et modifiez-le comme suit :

const http = require('http');

const app = require('./app');

[Link]('port', [Link] || 3000);

const server = [Link](app);

[Link]([Link] || 3000);

Effectuer une demande vers ce serveur générera une erreur 404, car notre application n'a encore aucun moyen de
répondre. Configurons une réponse simple pour nous assurer que tout fonctionne correctement, en effectuant un ajout à
notre fichier [Link] :

const express = require('express');

const app = express();

[Link]((req, res) => {

[Link]({ message: 'Votre requête a bien été reçue !' });

});

[Link] = app;

Si vous essayez d'effectuer une requête à votre serveur, vous devez récupérer un objet JSON contenant le message que
nous avons spécifié.

Maintenant que notre serveur Node gère correctement notre application Express, voyons comment nous pouvons ajouter
des fonctionnalités à l'application.
Ajoutez des middlewares

Une application Express est fondamentalement une série de fonctions appelées middleware.
Chaque élément de middleware reçoit les objets request et response , peut les lire, les analyser et
les manipuler, le cas échéant. Le middleware Express reçoit également la méthode next , qui permet
à chaque middleware de passer l'exécution au middleware suivant. Voyons comment tout cela
fonctionne.

const express = require('express');

const app = express();

[Link]((req, res, next) => {

[Link]('Requête reçue !');

next();

});
Ajoutez des middlewares

[Link]((req, res, next) => {

[Link](201);

next();

});

[Link]((req, res, next) => {

[Link]({ message: 'Votre requête a bien été reçue !' });

next();

});

[Link]((req, res, next) => {

[Link]('Réponse envoyée avec succès !');

});

[Link] = app;
Cette application Express contient quatre éléments de middleware :

● le premier enregistre « Requête reçue ! » dans la console et passe l'exécution ;


● le deuxième ajoute un code d'état 201 à la réponse et passe l'exécution ;
● le troisième envoie la réponse JSON et passe l'exécution ;
● le dernier élément de middleware enregistre « Réponse envoyée avec succès ! » dans la
console.

Il s'agit d'un serveur très simple et qui ne fait pas grand-chose pour l'instant, mais il illustre comment
le middleware fonctionne dans une application Express.
Améliorez [Link]

const http = require('http');

const app = require('./app');

const normalizePort = val => {

const port = parseInt(val, 10);

if (isNaN(port)) {

return val;

if (port >= 0) {

return port;

return false;

};

const port = normalizePort([Link] || '3000');

[Link]('port', port);
Améliorez
[Link]
const errorHandler = error => {

if ([Link] !== 'listen') {

throw error;

const address =
[Link]();

const bind = typeof address


=== 'string' ? 'pipe ' + address :
'port: ' + port;

switch ([Link]) {

case 'EACCES':

[Link](bind + '
requires elevated privileges.');

[Link](1);

break;
Améliorez [Link]

case 'EADDRINUSE':

[Link](bind + ' is already in use.');

[Link](1);

break;

default:

throw error;

};

const server = [Link](app);

[Link]('error', errorHandler);

[Link]('listening', () => {

const address = [Link]();

const bind = typeof address === 'string' ? 'pipe ' + address : 'port ' + port;

[Link]('Listening on ' + bind);

});

[Link](port);
Aperçu rapide de ce qui se passe ici :

● la fonction normalizePort renvoie un port valide, qu'il soit fourni sous la forme d'un numéro
ou d'une chaîne ;
● la fonction errorHandler recherche les différentes erreurs et les gère de manière
appropriée. Elle est ensuite enregistrée dans le serveur ;
● un écouteur d'évènements est également enregistré, consignant le port ou le canal nommé sur
lequel le serveur s'exécute dans la console.

Notre serveur de développement Node est à présent opérationnel. Vous pouvez ainsi ajouter les
fonctionnalités appropriées à l'application Express.

Vous aimerez peut-être aussi