1. Home
  2. Langages
  3. Gestion des applications Node.js

Gestion des applications Node.js

Introduction

Node.js est essentiellement du code roulé sur nos serveurs et permettant d’héberger, de créer et de contrôler des applications web utilisant ce type de langage.

Dans les lignes qui suivent, nous insisterons sur les renseignements pour débutants. Nous commencerons par expliquer comment accéder à Node.js dans N0C et nous fournirons un exemple détaillé de lancement et de modification d’une application au moyen de cette interface.

Par après, pour les utilisateurs plus avancés, nous expliquerons comment faire ces mêmes opérations en ligne de commande.

Note : Le glossaire de N0C contient  des explications sur de multiples sujets et peut être consulté pour clarifier certains termes.

Documentation

On peut trouver sur le Web de la documentation sur Node.js, en particulier sous : https://nodejs.org/fr/docs/guides/.

Vous pouvez vous référer à ce site pour obtenir davantage d’information : https://docs.cloudlinux.com/command-line_tools/#node-js-selector

Débogage d’une application

Lorsqu’une erreur survient, une page comme celle ci-dessous s’affiche :

Cette page n’est pas très explicative. L’activation du mode de développement permet d’investiguer. Pour davantage de détails, consultez l’article Débogage d’une application Node.js, Ruby ou Python.

Prérequis

Saisissez dans votre navigateur Web l’adresse suivante : https://mg.n0c.com/fr/.

Accès à Node.js dans N0C

  1. Cliquez sur Langages > Node.js :
  1. Les applications déjà mises en place sont affichées dans l’interface.

Mise en place d’une nouvelle application Node.js avec N0C

Pour expliquer l’approche avec davantage de clarté, nous procéderons avec un exemple. 

Admettons que vous vouliez créer l’application app2.js qui permet d’afficher les mots « Hello World! NodeJS ». Trois étapes sont nécessaires :

  1. En premier lieu, il faut créer une application dans le répertoire destiné à la contenir (nous appellerons ce répertoire « app2 » pour les besoins de l’exemple, l’usager pouvant lui-même donner au répertoire le nom voulu). Lorsqu’elle est exécutée, l’application affiche les mots « It works ! ».
  2. Il faut ensuite la programmer de manière adéquate (dans notre exemple, pour qu’elle affiche « Hello World! NodeJS ») et créer un fichier « package.json« .
  3. Enfin, il faut appeler l’environnement de l’application.

Étape 1 – Création de l’application Node.js

Assurez-vous que le répertoire app2 est créé (au besoin, consultez l’article Gestionnaire de fichiers de N0C qui explique la marche à suivre).

  1. Cliquez sur le bouton Créer :
  1. Sélectionnez la VERSION de Node.js voulue :
  1. Indiquez dans quel RÉPERTOIRE D’APPLICATION vous souhaitez que l’application soit créée (dans notre exemple, on inscrirait app2).
  2. Indiquez sous DOMAINE/URL D’APPLICATION depuis quelle URL l’application devrait être accessible (dans notre exemple, on inscrirait app2).
  3. Indiquez le nom du FICHIER DE DÉMARRAGE (optionnel).
  4. Cliquez sur le bouton SAUVEGARDER. Un message confirmant la réussite de la création est alors affiché.
  5. Confirmez la création de app2.js en ouvrant le répertoire app2 dans le Gestionnaire de fichiers :
  1. Testez l’application Node.js en tapant dans votre navigateur http://${votredomaine}/app2, où il faut remplacer ${votredomaine} par votre nom de domaine.
  2. Le résultat est (comme on s’y attendait) : « It works ! ».

Étape 2 – Programmation de l’application

Maintenant que l’application Node.js est installée dans le répertoire à utiliser et fonctionnelle, on peut la programmer à notre guise et améliorer l’environnement avec les fichiers de configuration (setting files) package.json et le gestionnaire de paquet (package manager) npm

Un «package.json» est un fichier JSON qui existe à la base d’un projet Node.js. Il contient des métadonnées liées au projet et il est utilisé pour gérer les dépendances, scripts, versions et divers autres aspects du projet. 

Voici les étapes pour programmer :

  1. Cliquez sur Fichiers Gestionnaire de fichiers
  1. Ouvrez le répertoire (dans notre exemple, app2) :
  1. Pour éditer le code, faites un clic droit sur app2.js et cliquez sur Edit :
  1. Cela ouvre une fenêtre de programmation.
  2. Ajouter la configuration de l’application au fichier app.js. Dans notre exemple, copiez le code suivant, de sorte que les mots « Hello World! NodeJS » soient affichés lorsque l’usager exécutera app2 sur votre domaine.
const http = require('http')
const hostname = '127.0.0.1';
const port = 'passenger';

const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World! NodeJS n');
});

server.listen(port, hostname, () => {
    console.log(`Server running at http://${votredomaine}/`);
});
  1. Dans le code, remplacez ${votredomaine} par le nom de votre domaine.
  1. Cliquez sur le bouton Save pour sauvegarder le code.
  2. Cliquez sur le bouton Close pour quitter.

À ce point, veillez à redémarrer l’application, comme expliqué au paragraphe Redémarrage d’une application Node.js.

  1. Testez l’application en tapant dans votre navigateur via http://${votredomaine}/app2. Le résultat devrait maintenant être « Hello World! NodeJS » :

Installation des dépendances du projet dans le fichier « package.json »

Afin d’installer les dépendances de votre projet, assurez-vous que votre package.json soit bien à la racine du projet. Ensuite :

  1. Identifiez l’application (app2 dans notre exemple) et cliquez sur l’icône Modifier :
  1. Installez le module NPM en cliquant sur le bouton Installer :

Étape 3 – Appel de l’environnement de l’application 

Avant d’effectuer toute autre commande (par exemple,npm ou node), vous devez appeler l’environnement de l’application en lançant à la racine de votre application la commande suivante :

La commande doit être copiée dans le shell du compte en question. Il est possible de se connecter en SSH.

Donc, dans notre exemple, la commande copiée est :

source /home/fbkfdayw/nodevenv/app2/11/bin/activate

Où :

  • « fbkfdayw » doit être remplacé par votre Nom d’utilisateur;
  • « app2 » doit être remplacé par le nom de votre application; et
  • « 11 » doit être remplacé par le numéro de version Node.js de l’application.

Note

Vous pouvez consulter la documentation disponible sur https://nodejs.org/en/docs/ si vous avez besoin d’éliminer les bogues que vous pourriez avoir dans votre code.

Exécution d’actions sur l’application avec N0C

Modification des paramètres d’une application Node.js

  1. Identifiez l’application à modifier et cliquez sur l’icône Modifier :
  1. Modifiez les paramètres souhaités :
  1. Installez le module npm en cliquant sur le bouton Installer.
  2. Exécutez la commande pour saisir l’environnement de l’application.
  3. Cliquez sur le bouton SAUVEGARDER pour enregistrer vos changements.

Arrêt et démarrage d’une application

On peut arrêter ou démarrer une application en cliquant sur les icônes suivantes:

Redémarrage d’une application Node.js

Parfois, il est nécessaire de redémarrer une application comme, par exemple, lorsque vous modifiez le code.

  1. Cliquez sur l’icône Redémarrer vis-à-vis de l’application :
  1. Un message doit être affiché pour confirmer le succès de l’exécution de la commande.

Suppression d’une application Node.js

  1. Identifiez l’application et cliquez sur l’icône Supprimer :
  1. À l’invite de commande, confirmez la suppression.

Mise en place d’une nouvelle application Node.js en ligne de commande

Pour les usagers plus avancés, l’approche par ligne de commande peut être employée. 

Les étapes suivantes doivent être suivies dans l’ordre :

  1. se connecter en SSH;
  2. retrouver les versions de Node.js disponibles;
  3. créer l’application de base fonctionnelle au niveau de CloudLinux;
  4. mettre en place l’application.

Note

Le format json est supporté seulement comme retour de commande. Il est donc possible de formater le retour en redirigeant le stdout vers python -m json.tool. Exemple :

/usr/sbin/cloudlinux-selector get --json --interpreter=nodejs | python -m json.tool

Étape 1 – Connection en SSH

Si nécessaire, consultez l’article Créer une clé SSH et se connecter à un compte.

Par exemple, si vous utilisez l’environnement MacOSX de Apple, vous pouvez entrer :

ssh < USAGER >@ < DOMAINE > -p PORT

Où :

  • USAGER :  Votre nom d’utilisateur World.
  • DOMAINE : Le nom du domaine (assurez-vous qu’il pointe sur l’hébergement).
  • PORT : Port à utiliser pour les hébergements World (indiquez 5022; utilisez 2908 pour les hébergements de type VPS/HybridCloud).

À l’invite de commande, fournissez votre mot de passe.

Étape 2 – Recherche des versions de Node.js disponibles

Cette commande retournera les versions de Node.js disponibles sur le serveur :

$~ /usr/sbin/cloudlinux-selector get --json --interpreter=nodejs

Étape 3 – Création de l’application Node.js de base fonctionnelle au niveau de CloudLinux

La commande suivante permet de créer une base fonctionnelle :

$~ /usr/sbin/cloudlinux-selector create --interpreter=nodejs --json --app-root=<APP_ROOT> --app-uri=<APP_URI> --app-mode=production --version=<VERSION> --domain=<DOMAIN> <STARTUP_FILE>

Où :

  • APP_ROOT : Le répertoire dans lequel vous voulez installez votre application (conservez cette variable pour les commandes suivantes). Exemple : /home/user/applicationnode1
  • APP_URI : Le chemin de votre application après votre domaine. Exemple : /applicationnode1 qui deviendrait l’url suivante : domaine.com/applicationode1.
  • VERSION : Une version disponible (d’après le retour de la commande que nous avons vue auparavant). Par exemple : 9.11.
  • DOMAIN : Le nom du domaine sur lequel vous voulez rouler votre application. Par exemple : domaine.com.
  • STARTUP_FILE : Le nom du fichier « d’entrée » de votre application. Par défaut: app.js. Exemple : index.js

Le retour escompté est :

{"result": "success", "timestamp": 1596731243.1282492}

Vous avez maintenant une application Node.js de base fonctionnelle si « status=Ok » est affiché.

Sinon, il faut voir le message d’erreur et corriger la commande en conséquence.

Étape 4 – Mise en place de votre application

Téléversez votre application dans le répertoire dans lequel vous avez installé votre application (<APP_ROOT>) incluant votre package.json.

Une fois vos fichiers en place, vous pouvez installer les packages NodeJS à l’aide de la commande suivante:

$~ /usr/sbin/cloudlinux-selector  install-modules --json --interpreter=nodejs --app-root=<APP_ROOT>

Où la variable APP_ROOT est le répertoire dans lequel vous voulez installez votre application. Exemple : /home/user/applicationnode1.

Exécution d’actions sur l’application en ligne de commande

Il est possible de stopper ou redémarrer une application, et encore plus. Il suffit d’entrer la commande appropriée, selon le cas. 

– Démarrer :

$~ /usr/sbin/cloudlinux-selector (start) --json --interpreter=nodejs --app-root=<APP_ROOT>

– Stopper :

$~ /usr/sbin/cloudlinux-selector (stop | destroy) --json --interpreter=nodejs --app-root=<APP_ROOT>

– Démarrer de nouveau :

$~ /usr/sbin/cloudlinux-selector (restart) --json --interpreter=nodejs --app-root=<APP_ROOT>

– Détruire :

$~ /usr/sbin/cloudlinux-selector (destroy) --json --interpreter=nodejs --app-root=<APP_ROOT>

Il est aussi possible d’exécuter les scripts inscrits au niveau du package.json :

$~ /usr/sbin/cloudlinux-selector run-script --json --interpreter=nodejs --app-root=<APP_ROOT> --script name=<SCRIPT_NAME> -- --<OPTION_1> <ARG1> <ARG2>

Où les variables suivantes sont utilisées :

SCRIPT_NAME : Le nom du script inscrit dans votre package.json

OPTION_1, ARG1 et ARG2 : Arguments du script

Déconnexion en ligne de commande

Pour se déconnecter, il suffit d’entrer la commande suivante :

exit
Updated on avril 6, 2022

Related Articles