Déploiement
Déploiement • Chapitre 5 : Introduction aux serveurs et à l'hébergement

Installation des dépendances nécessaires

Préparez un serveur Linux vierge à accueillir des applications modernes : installation de Node.js LTS via NodeSource, Git, outils de compilation native et utilitaires réseau.

📦
Dépôts NodeSource

Permet d'obtenir la version officielle LTS la plus récente de Node.js plutôt que le paquet obsolète de l'OS.

🛠️
build-essential

Compilateurs C++ et make requis pour compiler les paquets npm natifs (bcrypt, sharp).

🐙
Git & Curl

Outils de base pour récupérer le code source et interagir avec les API de déploiement.

🧹
Nettoyage APT

Purge des fichiers d'installation temporaires pour préserver l'espace disque.

server-bootstrap.sh
# 1. Mise à jour initiale des dépôts de sécurité
$ sudo apt update && sudo apt upgrade -y

# 2. Installer les outils de compilation et utilitaires de base
$ sudo apt install -y curl wget git ufw htop build-essential

# 3. Installer Node.js 20 LTS officiel via le script NodeSource
$ curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
$ sudo apt install -y nodejs

# 4. Vérifier les versions installées
$ node -v
v20.12.2
$ npm -v
10.5.0
$ git --version
git version 2.39.2

Guide Approfondi & Architecture Système

1. Pourquoi éviter le simple 'apt install nodejs' standard ?

Les distributions Linux stables comme Debian ou Ubuntu privilégient la stabilité absolue sur plusieurs années. Si vous tapez apt install nodejs sans dépôt tiers, vous vous retrouverez souvent avec une version de Node.js vieille de 3 ans qui refusera de compiler vos frameworks modernes !

L'utilisation du dépôt officiel NodeSource garantit que vous disposez d'un moteur JavaScript à jour bénéficiant des derniers correctifs de performance et de sécurité.

2. Le Rôle Fondamental de 'build-essential'

Beaucoup de bibliothèques npm populaires (comme bcrypt pour le hachage des mots de passe ou sharp pour le traitement des images) contiennent des modules en langage C ou C++ compilés lors du npm install. Sans le paquet build-essential sur le serveur, l'installation de ces modules échouera avec une erreur node-gyp rebuild failed.

Boîte à Outils Indispensable d'un Serveur Web Moderne

Outil / PaquetUtilité en ProductionCommande de Vérification
nodejs & npmMoteur d'exécution pour les API backend et SSRnode -v
gitSynchronisation et déploiement du code sourcegit --version
curl & wgetTéléchargement d'archives et tests de routes HTTPcurl --version
htopMoniteur interactif des processus et de l'usage RAM/CPUhtop
ufwPare-feu de protection des ports réseausudo ufw status