Parse l'url et utilise le router
Récupère les informations de la base de données
Traite les infos
Sauvegarde les modifications en base de données
Génère la page
Parse l'url et utilise le router
Traite les infos
Génère la page
Client 1
Client 2
Client 3
Event loop & Async I/O
crédit Jeff Kunkle
// Code bloquant
const content = readFileSync('MonFichier.txt');
console.log('Mon fichier : ', content);
// Code non bloquant
readFile('MonFichier.txt', (err, content) => {
if (err) {
throw err;
}
console.log('Mon fichier : ', content);
});
console.log('Autres opérations')
import {createServer} from 'http'
import {readFile} from 'fs'
createServer((req, res) => {
readFile('/var/www/demo/log.txt', 'utf8', (err, data) => {
if (err) {
res.writeHead(500, err.message)
res.end()
} else {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end(data)
}
})
}).listen(80)
const fs = require('fs')
const file = '/var/www/site/demo.txt'
fs.stat(file, function (err, stats) {
if (err) return
if (stats.isFile()) {
fs.readFile(file, function (err, data) {
if (err) throw err
console.log(data)
})
}
})
<?php
$file = '/var/www/site/demo.txt'
if (file_exists($file)) {
echo file_get_contents($file);
}
Ne rien faire qui demande beaucoup de calculs
Il faudra créer le serveur web au niveau de notre code
"Un Anneau pour les gouverner tous"
Vous connaissez déjà le JavaScript
Gestionnaire de paquet pour NodeJs