• Aucun résultat trouvé

Programmation Web Avancé JavaScript & Node.js Introduction à Node.js Attribution Partage dans les Mêmes Conditions 4.0 International (CC BY-SA 4.

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation Web Avancé JavaScript & Node.js Introduction à Node.js Attribution Partage dans les Mêmes Conditions 4.0 International (CC BY-SA 4."

Copied!
22
0
0

Texte intégral

(1)

Attribution – Partage dans les Mêmes Conditions

4.0 International (CC BY-SA 4.0)

Programmation Web – Avancé

JavaScript & Node.js Introduction à Node.js

Presentation template by SlidesCarnival

(2)

Introduction à Node.js

Créons des applications côté serveur en JavaScript…

2

(3)

Introduction à Node.js

3

◉ Environnement serveur open source

◉ Création d’outils et applications côté serveur en JS

◉ Utilisation optimale des ressources des

serveurs sans dépendance à un serveur http externe

◉ Multiplateforme (Windows, Linux, Mac…).

(4)

JS côté serveur : quel Software utiliser pour développer ?

◉ Installation de l’environnement Node.js LTS [54.]

◉ Pour écrire et exécuter vos scripts :

VS Code

N’importe quel terminal : Git Bash

◉ Pour gérer différentes versions de votre code et différentes machines : Git, Gitlab / Github et VS Code

4

(5)

JS côté serveur : quel Software utiliser pour développer ?

◉ Rapide consommation / tests de Web APIs : REST Client [77.] comme extension de VS Code

5

(6)

Exécution et déploiement

d’applications web sur le cloud : quels services ?

Heroku ou MS Azure ou AWS ou Netlify ou…

6

(7)

JS côté serveur : Où mettre votre code Node.js ?

A.

Directement via l’interpréteur de commandes de Node au sein d’un terminal : node

PRESENTATION : vérifier l’installation de Node.js &

opérations mathématiques de base

7

(8)

JS côté serveur : Où mettre votre code Node.js ?

B.

Via l’interpréteur de commandes de Node au sein d’un terminal et d’un script

externe :

Start : node script_name (.js optionnel)

Stop : CTRL + c

8

(9)

Node.js

9

DEMO : Appel d’une méthode au sein d’un script externe via Node.

(10)

Introduction aux modules sous Node.js

10

◉ Un module = librairie JS fournissant des fonctions et / ou des objets

◉ Création d’un module :

Création d’un fichier nomModule.js

Au sein du fichier nomModule.js, utilisation de module.exports ou exports pour rendre les

propriétés et méthodes disponibles en dehors du fichier module

(11)

Exporter des objets en Node.js

11

◉ Export à la fin d’un script

◉ Export à la fin d’un script : équivalent d’un default export en ES6

module.exports = router;

module.exports = {authorize, users };

(12)

Exporter des objets en Node.js

12

◉ Export « à la volée »

◉ Export « à la volée », version plus courte

module.exports.authorize = authorize;

module.exports.users = users ;

exports.authorize = authorize;

exports.users = users ;

(13)

Importer un module sous Node.js

13

◉ Inclure un module intégré ou installé :

// module integrated to the runtime environment let http = require("http");

// module following package installation let shortid = require("shortid");

(14)

Importer un module sous Node.js

14

◉ Inclure un propre module :

var pizzaRouter = require('./routes/pizzas’);

const { users, authorize } = require("../utils/auths");

(15)

Précisions

15

module.exports : référence de l’objet retournée par l’appel de required()

exports : référence vers module.exports,

exports non retourné par l’appel de required()

◉ Mauvais export

exports = { authorize, users }; /* exports has a new reference,

it is no longer linked to module.exports */

(16)

Node.js & utilisation de modules intégrés

16

DEMO : Serveur de fichiers statiques

minimaliste avec Node.js fonctionnant sur le port 7777 et mettant à disposition les fichiers présents dans le répertoire /public

« Parser » une URL dans ses parties : new

URL(request.url, `http://${request.headers.host}`);

Lecture de la propriété « chemin » données dans un objet URL (myURL) : myURL.pathname

Lecture asynchrone d’un fichier : fs.readFile()

Chemin absolu Node.js est appelé : __dirname

(17)

Introduction aux packages sous Node.js

17

◉ Tous les fichiers nécessaires pour un module sont contenus dans un package

◉ Installer un package (via terminal) : npm install package_name

◉ NPM : gestionnaire de package [55.]

(18)

Introduction aux packages sous Node.js

18

◉ Packages associés à une app : package.json

Création sur base de questions ou par défaut de package.json : npm init ou npm init -y

{ "name": "node-modules",

"dependencies": {

"mime": "^2.4.6",

"shortid": "^2.2.15"

},

"devDependencies": {},

"scripts": {

"start": "node node-modules.js"

},

"author": "e-Baron"}

(19)

Introduction aux packages sous Node.js

19

◉ Arbre exact des dépendances installées : package-lock.json

Génération automatique pour chaque opération modifiant node_modules ou package.json

{

"requires": true,

"lockfileVersion": 1,

"dependencies": {

"mime": {

"version": "2.4.6",

"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",

(20)

Introduction aux packages sous Node.js

20

◉ Localisation d’un module par Node : recherche parmis tous les chemins specifies dans

module.paths (node_modules…)

◉ Mise à jour des packages vers leur dernière version [102.]

(21)

Introduction aux packages sous Node.js

21

DEMO : Serveur de fichiers statiques

minimaliste avec Node.js, des modules et des packages

Génération aléatoire d’un ID à l’aide d’un package NPM : uuid

Gestion du MIME type à l’aide du package mime

Export & import du module ServerConfiguration

(22)

Accélérons notre développement

22

◉ Utilisation d’un framework

Références

Documents relatifs

Requests for copies of IBM publications and for technical information about the system should be made to your IBM representative or to the branch office

[r]

Partial differential equations of continuity, momentum, and energy were developed for the laminar boundary layer of a steadYt compressible flow in the entrance

jeweiligen Inhalte sehen, watchpoints setzen), wenn man sie entweder rechts oben (Zu beobachtenden Ausdruck hinzufügen) direkt eingibt oder im Quelltext mit der Maus auf eine

Semikolon: In JS wird in der Regel jede Zeile durch ein Semikolon abgeschlossen.. Nur bei funktion, if, else,

[r]

Mais le code JavaScript inclus dans la page HTML sera inclus avec une variable.. On

Ces deux questionnaires permettent d’évaluer l’apport de la formation en termes de connaissances et de compétences acquises, ainsi que votre capacité à transférer les