Déploiement d'une application TypeScript sur VPS : guide pas à pas de A à Z

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction : Pourquoi le VPS est l'endroit idéal pour votre projet TypeScript ?



Vous avez écrit une super application en TypeScript — que ce soit un serveur Express, un site Next.js ou une API NestJS. Localement, tout fonctionne parfaitement, mais il est temps de montrer votre projet au monde. De nombreux débutants craignent l'étape du déploiement, la jugeant complexe et confuse. En réalité, comprendre ce processus une fois pour toutes vous permettra de déployer n'importe quel projet TypeScript en 15 à 20 minutes.



Dans ce guide, nous allons détailler le cycle complet de déploiement d'une application TypeScript sur un VPS (Virtual Private Server) — de la préparation du serveur à la configuration du domaine et du HTTPS. Cet article est axé sur l'écosystème Node.js, car TypeScript est le plus souvent utilisé avec celui-ci.



Ce que vous allez apprendre :

  • Comment préparer un VPS pour le travail (Ubuntu 22.04)
  • Comment configurer Node.js, TypeScript et le gestionnaire de processus PM2
  • Comment compiler (builder) TypeScript en mode production
  • Comment configurer Nginx en tant que reverse proxy
  • Comment connecter gratuitement un certificat SSL via Let's Encrypt


1. Préparation du VPS et installation de l'environnement nécessaire



1.1 Configuration initiale du serveur



Supposons que vous ayez loué un VPS (par exemple, chez DigitalOcean, Timeweb ou Reg.ru) avec Ubuntu 22.04. Connectez-vous d'abord au serveur via SSH :



ssh root@votre-ip-serveur


Créez un utilisateur séparé (plus sûr que de travailler en tant que root) :



adduser deployerusermod -aG sudo deployersu - deployer


1.2 Installation de Node.js et npm



Pour une application TypeScript, nous aurons besoin de Node.js version 18 ou 20 (LTS). Utilisons le PPA officiel de NodeSource :



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


Vérifions l'installation :



node -vnpm -v


1.3 Installation globale de TypeScript (optionnelle)



Bien que TypeScript soit généralement une dépendance locale du projet, pour vérifier rapidement la compilation, vous pouvez l'installer globalement :



sudo npm install -g typescript


1.4 Clonage de votre projet



Copiez le dépôt depuis GitHub/GitLab sur le serveur :



git clone https://github.com/votre-utilisateur/votre-projet.gitcd votre-projet


Installez les dépendances :



npm install


2. Build TypeScript et configuration de PM2



2.1 Compilation de TypeScript en JavaScript



Votre fichier package.json doit contenir un script de build. Il ressemble généralement à ceci :



{  "scripts": {    "build": "tsc",    "start": "node dist/index.js",    "dev": "ts-node-dev src/index.ts"  }}


Lancez le build :



npm run build


Après exécution, le dossier dist contiendra le code JavaScript compilé. Si vous utilisez Next.js, la commande de build sera npm run build (Next.js compile lui-même le TypeScript).



2.2 Installation et configuration de PM2



PM2 est un gestionnaire de processus qui maintient votre application en cours d'exécution, la redémarre en cas de panne et gère les logs. Installez-le :



sudo npm install -g pm2


Lancez l'application via PM2 (indiquez le chemin vers le fichier compilé) :



pm2 start dist/index.js --name "my-typescript-app"


Si vous utilisez Next.js, la commande sera différente :



pm2 start npm --name "next-app" -- start


Configurez le démarrage automatique de PM2 au redémarrage du serveur :



pm2 startup systemdpm2 save


Maintenant, votre application fonctionne sur un port local (par exemple, 3000). Rendons-la accessible via un nom de domaine.



3. Configuration de Nginx en tant que reverse proxy



3.1 Installation de Nginx




                
                

Blogs

Book Recommendations