Notre annonce du support de nouveaux langages a suscité de l’enthousiasme et plusieurs clients font déjà tourner des applications Node.js. Nous continuons donc sur notre lancée avec ce billet qui se concentre, justement, sur Node.js.

Un langage majeur

Comme promis la semaine dernière, nous avons une surprise : Node.js devient le quatrième langage majeur supporté chez alwaysdata, après PHP, Python et Ruby. Qu’est-ce que cela veut dire ?

D’une certaine manière, on pourrait dire que Node.js est supporté depuis longtemps chez alwaysdata : il « suffisait » de télécharger sur son compte l’interpréteur depuis le site officiel pour faire tourner du Node.js. Côté web, il fallait toutefois ruser pour faire tourner son application, par exemple en utilisant PHP en reverse proxy. Faisable… mais complexe.

Devenir un langage majeur, cela implique :

  • que nous avons préinstallé l’interpréteur, et qu’il est même possible de choisir parmi plusieurs versions de l’interpréteur (via le menu Environnement de l’administration alwaysdata). Aujourd’hui, Node.js est disponible en versions 6.x (6.11.2) et 8.x (8.4.0) ;
  • que de nouvelles versions de l’interpréteur seront installées régulièrement, pas uniquement des mises à jour de sécurité ;
  • qu’il est facile de déployer une application web dans ce langage ;
  • qu’il est facile d’installer des dépendances externes, en utilisant le gestionnaire de paquets officiel en SSH. Pour Node.js, c’est npm, qui est également préinstallé.

Nous avons donc rajouté un nouveau type de site, Node.js. Il est similaire au type Programme utilisateur — car les applications Node.js intègrent leur propre serveur HTTP et n’ont pas besoin de couche intermédiaire — à une différence près : il est possible de spécifier une version de Node.js explicite pour ce site. Et donc d’avoir plusieurs sites distincts utilisant des versions de Node.js différentes.

Exemple : déployer une application Express

Express est l’un des frameworks Node.js les plus connus. Voyons comme héberger une application développée avec.

  • Tout d’abord, nous devons installer Express. Suivons la documentation officielle, en exécutant les commandes en SSH (et en acceptant tout par défaut) :

  • Créons ensuite le fichier app.js, toujours en suivant la documentation d’Express. On modifie légèrement le code pour que l’application écoute sur l’IP et le port qui seront donnés en variables d’environnement :

  • Enfin, dans l’administration alwaysdata, créons un site de type Node.js, en indiquant comme commande :

Le tour est joué : notre petite application Express est bien joignable !

Prochain langage au programme, pour le second billet de notre série : Lua.