Bloc notes sur les débuts de nodejs

I Les urls visitées pour une première prise en main

II Installation sous Linux (unbutu)

Installation sous Linux :

# Installation de node.js et du gestionnaire de modules npm
sudo apt-get install nodejs npm

Installation directement via les sources : https://github.com/nodesource/distributions/blob/master/README.md

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

III Hello World

Script de base pour faire un serveur web :

Contenu d’un fichier nomme hello.js

var http = require('http');  

var server = http.createServer(function(req, res) {
    res.writeHead(200, {"Content-Type": "text/html"});
    res.end('<p>Hello <strong>World</strong> !</p>');
});
server.listen(8080);

En ligne de commande Node.js, allez dans répertoire du fichier puis lancer la ligne de commande suivante :

node hello.js

Puis lancer un navigateur web à l’adresse 127.0.0.1:8080 pour voir le résultat.

Remarque importante : cette application ne fait que ça, et ce, quelque soit l’URL path.

III Un peu plus loin …

Pour prendre en compte l’URL path par exemple il faut le gérer à la main, comme le montre l’exemple ci-dessous :

var http    = require('http');
var url     = require('url');

var server = http.createServer(function(req, res) {
    var page = url.parse(req.url).pathname;
    console.log(page);
    res.writeHead(200, {"Content-Type": "text/plain"});
    if (page == '/') {
        res.write('Accueil de la page');
    }
    else if (page == '/telephone') {
        res.write('Gestion des téléphones');
    }
    else if (page == '/television') {
        res.write('Sommaire des televisions');
    } else {
        res.write('Page non existante');
    }
    res.end();
});
server.listen(8080);

Lorsque l’on instancie un objet server par la méthode createServer, la fonction callback en paramètre prend 2 objets :

Autre exemple qui affiche les méthodes de Response et Request, en sortie HTML et en UTF8 :

var http    = require('http');
var url     = require('url');

var server = http.createServer(function(req, res) {
    
    var page = url.parse(req.url).pathname;
    
    console.log ("page accueil")

    // prépare le header : réponse ok (code 200) et texte en UTF-8
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'})
    
    let contenu_html = ""
    contenu_html += '<!DOCTYPE html>'
    contenu_html += '<html><body>'
    contenu_html += "Bonjour à tous <br>"
    contenu_html +=  "<br><br>"
    contenu_html += "URL de la page demandée : " + req.url + "<br>"
    contenu_html += "URL path de la page demandée : " + page
    contenu_html +=  "<br><br>"
    contenu_html += "<u>Liste des méthodes de Request </u>: <br>"

    // affiche méthode de req
    for (var key in req) {
        if (!req.hasOwnProperty(key)) {
           contenu_html += key + " "  + "<br>"
        }
    }
    contenu_html  += "<br><br>"
    contenu_html  += "<u>Liste des méthodes de Response </u>: <br>"
    // affiche méthode de res
    for (var key in res) {
        if (!res.hasOwnProperty(key)) {
           contenu_html += key + " "  + "<br>"
        }
    }
    
    contenu_html += "</body></html>"
    
    // écrit une sortie
    res.write(contenu_html);

    // fin génération sortie
    res.end()
});
server.listen(8080);
Exemple de sortie HTML générée
Node.js : les premiers pas

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *