Requiem-Projects.com

Lorsque vous développez sous NodeJs, vous pouvez tout à fait réaliser votre développement sur une plateforme (PC Linux par exemple), puis la faire fonctionner sur une autre (Raspberry).

Node JS permet le portage d'un logiciel sous différentes plateformes.

Mais parfois il peut être nécessaire de debugger votre développement sur la plateforme de destination, car vous avez besoin de l'environnement hardware pour faire fonctionner votre logiciel (je pense par exemple aux GPIOS de la Raspberry Pi).

Avec PhpStorm, il est possible de débugger à distance via une connexion SSH sur la plateforme de destination.

Voyons comment mettre en place cela.

Les copies d'écran et les explications ont été réalisées sur la version 2019.1.2 de PhpStorm, en version anglaise.

Dans un premier temps, vous devez installer le plugin permettant le debuggage à distance sous PhpStorm.

Menu "File" => "Settings"

Installer le plugin "Node.js Remote Interpreter"

Puis dans "Build, Execution, Deployment", on va paramétrer le déploiement automatique via une connexion SSH. A ce stade vous devez pouvoir accéder à votre système distant via SSH:

Avec le "+", choisissez "SFTP"

 

Remplissez les champs comme suit :

  • Host : c'est l'adresse IP de votre système distant (dans mon exemple 192.168.0.43),
  • Username : le login de connexion SSH, (dans mon exemple pi),
  • Authentication : c'est la méthode d'authentification SSH. Ici j'utilise password, mais vous pouvez choisir une authentification par clé SSH privée/publique,
  • Save password : permet de mémoriser le mot de passe de manière à ne pas le re-saisir systématiquement,
  • Test Connection : permet de verifier que les paramètres SSH sont corrects et que le système distant est accessible.

Vous pouvez maintenant cliquer sur le bouton de test de connexion.

Comme nous sommes en SSH et que c'est la première connexion, on vous demande de confirmer l'association SSH et le certificat. Répondre "YES"

 

Si tout ce passe bien, vous devriez avoir une confirmation que la connexion est réalisée.

Il faut maintenant paramétrer les destinations de déploiement.

  • Root Path: cela correspond à votre dossier utilisateur racine sur le système cible. En cliquant sur "Autodetect", via la connexion SSH, PhpStorm va le détecter et remplir le champ automatiquement,
  • Web Server URL : pas forcement d'importance, sauf si vous envisagez de développer un site web ou un API, auquel cas, il faudra le renseigner. Par défaut, PhpStorm définit une URL en http:// avec l'adresse IP de l'hôte.

 Il faut maintenant paramétrer un "mapping" : cela correspond à une association de l'emplacement local de votre projet et de l'emplacement du projet déployé sur le système hôte :

  • Local Path : c'est l'emplacement de votre projet sur la machine de développement : PhpStorm le renseigne automatiquement,
  • Deployment Path : C'est le chemin relatif de votre projet sur la machine hôte : si votre "Root path" est "/home/pi" et que vous voulez déployer votre projet dans le dossier distant "/home/pi/nodejs", vous devrez indiquer uniquement "/nodejs"

N'oubliez pas de valider votre interpréteur comme interpréteur par défaut en cliquant sur la coche, sous peine de chercher un moment avant de comprendre pourquoi vous avez une erreur de déploiement.

Une fois terminé, fermer la fenêtre.

Créez votre projet NodeJs depuis PhpStorm comme vous en avez l'habitude.

Ensuite, créez une nouvelle configuration d'exécution /debug :

Dans le champ "Node interperter", il faut spécifier que c'est l'interpréteur distant que nous allons utiliser.

Cliquer sur le bouton suivant "..." et dans la fenêtre suivante, cliquez sur le bouton "+" et choisissez "add remote"

Dans le champ "Deployment configuration", sélectionner la configuration que nous avions définie précédemment

PhpStrom vous demande de faire une création ou un déplacement de la config dans l'IDE. c'est au choix, mais je fais souvent un "move".

Faites "OK", puis à nouveau "OK" sur la fenêtre de sélection de l'interpréteur.

Lorsque nous revenez sur la fenêtre de configuration de "Run/Debug", vous devez spécifier le "Javascript file" à exécuter. C'est toujours en chemin relatif, donc dans mon cas, comme index.js est à la racine de mon projet, je vais spécifier "index.js" directement.

N'oubliez pas de donner un nom à votre config et ensuite de sauvegarder.

PhpStorm, à chaque fois qu'un fichier sera sauvegarder, va effectuer le déploiement automatiquement.

Si vous souhaitez exécuter ou debugger votre projet, il vous suffit de lancer votre logiciel via l'interface de PhpStorm et automatiquement, il lancera le remote debug. Cela sera transparent pour vous.

Bon debug à tous

Req.