• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 13/03/2020

Démarrez votre serveur Node

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Qu'est-ce que Node ?

Avant de nous lancer dans l'écriture du code, qu'est-ce que Node ? Qu'est-ce qu'Express ? Y-a-t-il une différence ?

Node est le runtime qui permet d'écrire toutes nos tâches côté serveur, en JavaScript, telles que la logique métier, la persistance des données et la sécurité. Node ajoute également des fonctionnalités que le JavaScript du navigateur standard ne possède pas, comme par exemple l'accès au système de fichiers local.

Express est, pour faire court, un framework reposant sur Node qui facilite la création et la gestion des serveurs Node, comme vous le verrez à mesure que nous progresserons dans ce cours.

Initialisez votre projet

À 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 server.js . Vous le créerez bientôt.

Ce processus génère un fichier package.json vierge, dans lequel seront enregistrés les détails de tous les packages npm que nous utiliserons pour ce projet.

À ce stade, 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.

Créez un fichier server.js à 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 server.js , il vous faudra le code suivant :

const http = require('http');
const server = http.createServer((req, res) => {
res.end('Voilà la réponse du serveur !');
});
server.listen(process.env.PORT || 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 à process.env.PORT : 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 à http://localhost:3000 (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 : http://localhost:3000 (à nouveau, en supposant que vous ayez bien suivi les étapes ci-dessus).

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.

Exemple de certificat de réussite
Exemple de certificat de réussite