Créer un serveur Node.js pour l'hébergement

2 min de lecture07 novembre 2026

Un déploiement Node.js échoue rarement à cause du langage : il échoue parce que le fichier principal est introuvable, une dépendance manque ou le serveur écoute sur une adresse inatteignable. Partez d'un serveur minimal sans dépendance, vérifiez qu'il démarre en local, puis ajoutez votre logique. Vous saurez ainsi distinguer un problème de plateforme d'un problème de code.

Structure minimale

Deux fichiers suffisent : le point d'entrée et le manifeste.

Texte
mon-app/
  index.js
  package.json

Le serveur HTTP

Le code ci-dessous n'utilise que la bibliothèque standard. Il lit le port dans l'environnement, écoute sur toutes les interfaces et expose une route de santé.

JavaScript
const http = require("node:http");

const port = Number(process.env.PORT) || 3000;

const server = http.createServer((req, res) => {
  if (req.url === "/health") {
    res.writeHead(200, { "content-type": "application/json" });
    res.end(JSON.stringify({ status: "ok" }));
    return;
  }
  res.writeHead(200, { "content-type": "text/plain; charset=utf-8" });
  res.end("Bonjour depuis Node.js\n");
});

server.listen(port, "0.0.0.0", () => {
  console.log(`ecoute sur ${port}`);
});

process.on("SIGTERM", () => server.close(() => process.exit(0)));

0.0.0.0 est indispensable : avec 127.0.0.1, le serveur n'accepte que les connexions locales et reste injoignable depuis l'extérieur. Le repli à 3000 sert uniquement au développement local ; sur la plateforme, PORT est fourni.

Le package.json

JSON
{
  "name": "mon-app",
  "version": "1.0.0",
  "private": true,
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "engines": {
    "node": ">=20"
  }
}

main et le script start doivent pointer vers le fichier réel. Si vous renommez index.js en server.js, mettez les trois à jour : le nom du fichier, main et la commande de démarrage.

Déployer

  1. Envoyez les fichiers ou clonez le dépôt dans le service.
  2. Lancez npm install si un package.json déclare des dépendances.
  3. Vérifiez que la commande de démarrage est node index.js (ou npm start).
  4. Démarrez, puis lisez la console : la ligne ecoute sur ... doit apparaître.
  5. Appelez /health depuis l'extérieur pour confirmer que le port est bien exposé.

N'envoyez pas node_modules : la plateforme installe les dépendances déclarées. En revanche, versionnez toujours package-lock.json pour des installations reproductibles.

Erreurs courantes

Message Cause Correction
Cannot find module dépendance absente ou mauvais chemin npm install, vérifier main
EADDRINUSE deux processus sur le même port un seul processus, utiliser le port attribué
Site injoignable écoute sur 127.0.0.1 écouter sur 0.0.0.0
PORT indéfini variable mal lue lire process.env.PORT
Redémarrages en boucle exception au démarrage lire la console, corriger l'erreur

Un serveur minimal qui répond à /health est la meilleure base de diagnostic : tant qu'il fonctionne, le problème vient de votre code et non de la plateforme.

Publicité

Cet article vous a-t-il aidé ?

À lire aussi