Créer un backend en Javascript (partie 1) : Introduction à Node.js
Tags: javascript, node, express, beginners
Published: 2021-09-27 12:11:33

---
title: Créer un backend en Javascript (partie 1) : Introduction à Node.js
published: true
description: 
tags: javascript, nodejs, express, beginner
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f1qn7uw1ymkntxsgx3tu.png
series: node101
---

Voici une série d'articles qui vous permettra créer des applications backend en Javascript.

Node.js est aujourd'hui un incontournable, il est donc essentiel pour un développeur de le maitriser.

Je vais donc publier un nouvel article environ au deux jours et petit à petit vous apprendrez tout ce qu'il y a à savoir sur Node.js

Pour ne rien manquer suivez moi sur twitter : https://twitter.com/EricLeCodeur
<hr>

## Qu'est-ce que Node.js ?

C'est un outils 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.

Node.js est un environnement serveur, open source, gratuit, et qui utilise le language Javascript pour créer des applications Web côté serveur. (backend)

Node.js fonctionne sur différentes plateformes (Windows, Linux, Unix, Mac OS X, etc.) Avec Node.js, nous pouvons créer une application Web rapide et hautement évolutive. 

L'utilisation de Node.js 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.

Node.js 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 Node.js 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.

## Installation de Node.js
Node.js peut être installé directement à partir de son site Web : [https://nodejs.org/en/](https://nodejs.org/en/) 

Une documentation détaillée est également disponible sur le site Web de Node.js : [https://nodejs.org/en/docs/](https://nodejs.org/en/docs/) 

Une fois l’installation terminé, vous pouvez vérifier la version installé avec cette commande

```bash
$ node -v
# v16.9.1
```

## Hello World
Tradition oblige, le premier truc que nous allons faire est le classique 'Hello World'

La façon la plus rapide et la plus simple d'exécuter du code avec Node, c'est l'utilisation du REPL. Pour lancer le REPL, il suffit d'exécuter cette commande :

```bash
$ node
Welcome to Node.js v16.9.1
Type ".help" for more information
> 
```

```jsx
> console.log('Hello World')
Hello World
undefided
```

Le REPL permet d'exécuter du javascript mais vous l'aurez compris est très limité. Le REPL est utilisé pour exécuter de petites commandes ou pour des tests uniquement.

Si vous désirez écrire un programme complet en NodeJS, il faudra créer un fichier et l'exécuter.

Créer et ouvrez le fichier app.js, saisir la ligne suivante :

```bash
console.log('Hello World')
```

Chaque fichier  est considérer par NodeJS comme étant un module et peut donc être exécuté. 

Pour ce faire, à partir du terminal saisir:  node <suivit du nom du fichier> 

```bash
$ node app.js
Hello World
```

Voilà, bravo vous venez de créer votre première application NodeJS !

Chaque fois que vous devez exécuter du code NodeJS il faudra le faire avec cette commande.

Nous verrons, plus tard qu'il existe un façon de créer un serveur NodeJS qui permettra d'exécuter du code automatiquement.


## Javascript navigateur vs JavaScript serveur

Comme vous l'avez constaté grâce à NodeJS vous pouvez exécuter du code Javascript sans navigateur ! C'est bien mais malgré cela, tout n'est pas exactement la même chose.

Voici une liste des différences principales entre le code Javascript navigateur et NodeJS

- Une application navigateur s'exécuter sur le poste du client
- Une application NodeJS s'exécute sur le serveur
- Avec NodeJS, il n'y a pas de navigateur donc pas de DOM et pas d'object Window
- Avec NodeJS il est possible d'accéder au file system
- Avec NodeJS, le système de module appelé 'CommonJS' ne fonctionne pas avec la même syntaxe que les modules Javascript ES6
- Il existe en NodeJS des objets qui sont disponible partout dans votre code. Ces objets sont appelé les Globals.
    - Voici quelques un de ces objets. Vous apprendrez à la utiliser en temps et lieu :
        - __dirname (retourne le path du dossier en cours)
        - __filename (retourne le nom du fichier en cours d'exécution)
        - require (permet de charger des modules)
        - module (retourne info sur le module en cours)
        - process (retourne info à propos de l'environnement en cours)


## Conclusion
C'est tout pour aujourd'hui, suivez moi sur twitter : https://twitter.com/EricLeCodeur afin d'être avisé de la parution du prochain article (d'ici deux jours).