# Comment héberger un site Node.js sur Plesk ## Ce dont vous aurez besoin Avant de commencer, assurez-vous d'avoir : - Un serveur Plesk avec l'**extension Node.js Toolkit** installée - Votre application Node.js prête à être téléchargée - Identifiants FTP/SFTP ou accès au Gestionnaire de fichiers - Connaissance de base de la structure de votre application **Note :** Ce guide suppose que votre hébergeur a déjà installé l'extension Node.js Toolkit. Si l'option Node.js n'apparaît pas dans votre panneau Plesk, contactez votre hébergeur. ## Comprendre la structure d'une application Node.js Avant de télécharger votre application, il est important de comprendre sa structure de répertoires : ### Application Root (Racine de l'application) Le répertoire principal contenant tous vos fichiers et sous-répertoires d'application. C'est là que vous trouverez : - `package.json` - Liste les dépendances et les scripts - `node_modules/` - Paquets installés (ne téléchargez pas ce dossier) - Fichiers de code de l'application - Fichiers de configuration ### Document Root (Racine du document) Un sous-répertoire dans la racine de l'application qui contient des fichiers statiques comme : - Fichiers HTML - Feuilles de style CSS - Fichiers JavaScript pour le navigateur - Images et autres ressources - Souvent appelé `public/`, `static/`, ou `dist/` ### Fichier de démarrage de l'application Le fichier principal qui démarre votre application. Noms courants : - `app.js` - `server.js` - `index.js` - `main.js` **Exemple de structure :** ``` my-nodejs-app/ ← Application Root ├── package.json ├── app.js ← Fichier de démarrage ├── node_modules/ ├── public/ ← Document Root │ ├── index.html │ ├── css/ │ └── js/ ├── routes/ └── views/ ``` ## Étape 1 : Télécharger votre application Vous avez plusieurs options pour télécharger votre application Node.js sur Plesk. ### Option A : Utiliser le Gestionnaire de fichiers Plesk (Le plus facile) 1. **Connectez-vous à Plesk** 2. Allez dans **Sites web et domaines** 3. Trouvez votre domaine et cliquez sur **Fichiers** (icône Gestionnaire de fichiers) 4. Accédez au répertoire de votre domaine (généralement `/httpdocs` ou `/`) 5. Créez un nouveau dossier pour votre application ou utilisez le répertoire existant 6. Cliquez sur **Télécharger** et sélectionnez vos fichiers d'application 7. Si vous avez un fichier `.zip` ou `.tar.gz`, téléchargez-le et extrayez-le **Important :** Ne téléchargez PAS le dossier `node_modules` - Plesk installera les dépendances automatiquement plus tard. ### Option B : Utiliser un client FTP/SFTP 1. Ouvrez votre client FTP (FileZilla, WinSCP, etc.) 2. Connectez-vous en utilisant vos identifiants FTP : - **Hôte :** Votre domaine ou IP du serveur - **Nom d'utilisateur :** Votre nom d'utilisateur FTP - **Mot de passe :** Votre mot de passe FTP - **Port :** 21 (FTP) ou 22 (SFTP) 3. Accédez au répertoire de votre domaine 4. Téléchargez tous les fichiers de l'application sauf `node_modules/` 5. Préservez la structure des répertoires ### Option C : Utiliser Git (Recommandé pour les développeurs) Si votre application est dans un dépôt Git : 1. Allez dans **Sites web et domaines** 2. Cliquez sur **Git** (nécessite l'extension Git) 3. Cliquez sur **Cloner le dépôt** 4. Entrez l'URL de votre dépôt 5. Sélectionnez le répertoire de destination 6. Cliquez sur **OK** Plesk clonera votre dépôt automatiquement. ## Étape 2 : Configurer votre application Node.js Une fois vos fichiers téléchargés, configurez l'application pour qu'elle fonctionne correctement. ### Accéder à la configuration Node.js 1. **Connectez-vous à Plesk** 2. Allez dans **Sites web et domaines** 3. Trouvez votre domaine 4. Cliquez sur **Créer un site web** > **Node.js** Ou si déjà créé : - Cliquez sur le bouton **Node.js** sur la carte de votre domaine ### Configurer les paramètres de l'application Vous verrez un écran de configuration avec plusieurs options : #### 1. Version Node.js **Ce que c'est :** La version du runtime Node.js qui exécutera votre application. **Comment choisir :** - Vérifiez le fichier `package.json` de votre application pour la version Node.js requise - Recherchez une section `"engines"` : ```json "engines": { "node": ">=18.0.0" } ``` - Si vous n'êtes pas sûr, sélectionnez la dernière version LTS (Long Term Support) - Versions courantes : 18.x, 20.x, 22.x **Exemple :** Sélectionnez **Node.js 20.x** pour les applications modernes. #### 2. Gestionnaire de paquets **Ce que c'est :** L'outil utilisé pour installer les dépendances de votre application. **Options :** - **npm** - Gestionnaire de paquets Node.js par défaut (le plus courant) - **Yarn** - Gestionnaire de paquets alternatif (plus rapide, plus fiable) **Comment choisir :** - Si votre projet a un fichier `yarn.lock` → Choisissez **Yarn** - Si votre projet a un fichier `package-lock.json` → Choisissez **npm** - Plesk détecte généralement cela automatiquement **Exemple :** La plupart des applications utilisent **npm**, c'est donc le choix sûr. #### 3. Document Root (Racine du document) **Ce que c'est :** Le répertoire contenant les fichiers statiques (HTML, CSS, images). **Comment configurer :** - Cliquez sur l'icône de dossier - Accédez à votre répertoire de fichiers statiques - Noms courants : `public/`, `static/`, `dist/`, `build/` **Exemples :** - Application Express avec dossier statique : `/httpdocs/my-app/public` - Application React : `/httpdocs/my-app/build` - Application simple : `/httpdocs/my-app` (si pas de dossier statique séparé) #### 4. Mode d'application **Ce que c'est :** Définit la variable d'environnement `NODE_ENV`. **Options :** - **Development** - Pour les tests (erreurs détaillées, rechargement à chaud) - **Production** - Pour les sites en ligne (optimisé, journalisation minimale) - **Custom** - Entrez votre propre valeur **Comment choisir :** - Utilisez **Development** pendant les tests - Passez à **Production** lors de la mise en ligne **Exemple :** Commencez avec **Development**, changez en **Production** plus tard. #### 5. Application Root (Racine de l'application) **Ce que c'est :** Le répertoire principal contenant tous vos fichiers d'application. **Comment configurer :** - Cliquez sur l'icône de dossier - Sélectionnez le répertoire où vous avez téléchargé votre application - Celui-ci devrait contenir `package.json` et votre fichier de démarrage **Exemple :** `/httpdocs/my-nodejs-app` #### 6. Fichier de démarrage de l'application **Ce que c'est :** Le fichier JavaScript qui démarre votre application. **Comment configurer :** - Entrez le nom du fichier (pas le chemin complet) - Noms courants : `app.js`, `server.js`, `index.js`, `main.js` - Vérifiez le champ `"main"` de votre fichier `package.json` pour le fichier correct **Exemple dans package.json :** ```json { "main": "server.js" } ``` Alors entrez : `server.js` #### 7. Variables d'environnement personnalisées (Optionnel) **Ce que c'est :** Variables de configuration supplémentaires dont votre application pourrait avoir besoin. **Exemples courants :** - `PORT` - Port du serveur (généralement défini automatiquement par Plesk) - `DATABASE_URL` - Chaîne de connexion à la base de données - `API_KEY` - Clés de services tiers - `SECRET_KEY` - Secret de l'application pour les sessions **Comment ajouter :** 1. Cliquez sur **Ajouter une variable** 2. Entrez **Nom de la variable** (par ex., `API_KEY`) 3. Entrez **Valeur de la variable** (par ex., `votre-cle-api-ici`) 4. Cliquez sur **OK** **Exemple :** ``` DATABASE_URL = mongodb://localhost:27017/myapp API_KEY = sk_test_123456789 ``` ### Enregistrer la configuration Après avoir rempli tous les paramètres, cliquez sur **OK** pour enregistrer votre configuration. ## Étape 3 : Installer les dépendances et démarrer l'application Maintenant que votre application est configurée, il est temps d'installer les dépendances et de la démarrer. ### Accéder au panneau de contrôle Node.js 1. Allez dans **Sites web et domaines** 2. Trouvez votre domaine 3. Cliquez sur le bouton **Node.js** ### Activer Node.js 1. Cliquez sur **Activer Node.js** - Cela active le runtime Node.js pour votre application ### Installer les dépendances 2. Cliquez sur **NPM Install** (ou **Yarn Install** si vous utilisez Yarn) - Cela installe tous les paquets listés dans `package.json` - Cette étape est requise et ne doit être effectuée qu'une seule fois - Attendez que l'installation se termine (peut prendre 1-5 minutes) - Vous verrez un message de succès une fois terminé **Ce qui se passe :** - Plesk lit votre fichier `package.json` - Télécharge et installe toutes les dépendances - Crée le dossier `node_modules` - Similaire à l'exécution de `npm install` en ligne de commande ### Exécuter les scripts de build (Si requis) Certaines applications nécessitent l'exécution de scripts de build avant de démarrer : 3. Cliquez sur **Exécuter un script** (optionnel) - Entrez le nom du script de votre `package.json` - Scripts courants : `build`, `setup`, `migrate` - Cliquez sur **OK** **Exemple de scripts package.json :** ```json { "scripts": { "start": "node app.js", "build": "webpack --mode production" } } ``` Pour exécuter le script build, entrez : `build` ### Vérifier que l'application fonctionne Après l'installation et le démarrage : - La version Node.js devrait apparaître sous le bouton Node.js sur la carte de votre domaine - Votre application est maintenant en ligne et accessible ## Étape 4 : Accéder à votre site web Votre application Node.js devrait maintenant fonctionner ! ### Tester votre application Ouvrez votre navigateur web et allez à : ``` http://votre-domaine.com ``` ou ``` https://votre-domaine.com ``` Vous devriez voir votre application Node.js en cours d'exécution. ## Résumé Pour héberger une application Node.js sur Plesk : 1. **Téléchargez** vos fichiers d'application (sans `node_modules`) 2. **Configurez** dans Plesk : - Définir la version Node.js - Choisir le gestionnaire de paquets - Définir la racine de l'application et du document - Spécifier le fichier de démarrage - Ajouter les variables d'environnement 3. **Installez** les dépendances avec NPM/Yarn Install 4. **Activez** Node.js pour démarrer l'application 5. **Accédez** à votre site web à votre domaine Votre application Node.js est maintenant en ligne sur Plesk !