Table des matières
Introduction
Fastify est un framework de serveur web comme ExpressJS mais avec de meilleures performances.
L’écosystème est plutôt cool, il ajoute plusieurs plugins. Mais dans ce premier test,
je n’ajoute que @fastify/static pour récupérer les fichiers .html.
Développons !
Au début, créez un dossier void et installez Fastify et @fastify/static.
npm i fastify @fastify/static
Créez un app.js, c’est votre fichier racine.
Dans le app.js
Vous pouvez écrire la base de ce fichier pour créer un nouveau serveur Fastify.
const path = require("path")
const f = require('fastify')({logger : false})
f.register(require('@fastify/static'), {
root : path.join(__dirname, 'public'),
prefix : '/public/',
})
// Dans cet exemple, lorsque vous obtenez localhost:3000, vous avez l'heure.
f.get('/', (request, reply) => {
reply.header('Content-Type', 'application/json')
reply.send({hello : new Date()})
})
f.get('/about', (request, reply) => {
reply.sendFile('about.html' )
})
const start = async () => {
try {
await f.listen(3000)
} catch (err) {
f.log.error(err)
process.exit(1)
}
}
start().then(r => r)
Pages HTML publiques
Créez un dossier /public et un fichier about.html.

Bidouiller un peu plus
Vous pouvez ajouter une page d’accueil avec un fichier index.html dans le dossier /public.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Bienvenue sur mon serveur Fastify !</h1>
<p>Voici une page d'accueil simple.</p>
</body>
</html>
Ou même ajouter une route pour récupérer un fichier JSON.
f.get('/data', (request, reply) => {
reply.header('Content-Type', 'application/json')
reply.send({message : "Voici des données JSON !"})
})
Fin
C’est un post très court, mais je démontre comment démarrer simplement un serveur avec Fastify. Comme c’est la première fois que je l’utilise, il peut y avoir quelques erreurs. N’hésitez pas à me donner votre avis dans les commentaires ! 👍🏼