Node.js

Node.js est l'outil qui fait tourner JavaScript sur un serveur, si bien qu'un seul langage anime l'écran que voit le client et le système qui se trouve derrière.

Également appelé Node JavaScript côté serveur NodeJS

Définition

Node.js fait tourner JavaScript sur un serveur, et on comprend mieux ce changement en se rappelant où JavaScript vivait avant. Pendant des années, il ne travaillait que dans le navigateur, où il animait les menus et vérifiait votre formulaire avant l'envoi. Node a pris le même langage et l'a posé sur la machine qui se trouve derrière le site, celle qui garde les prix, les commandes et la liste des clients. Un seul langage anime donc désormais les deux côtés.

La première conséquence concerne les gens plutôt que les machines, car une équipe qui connaît JavaScript peut travailler des deux côtés. Une petite modification cesse alors d'exiger deux spécialistes et deux réunions, et c'est ainsi qu'une petite équipe tient un grand système.

La deuxième conséquence concerne l'attente, et l'attente occupe la plus grande part de la vie d'un serveur. Il attend la base de données, il attend la société de paiement, il attend un autre service qui doit répondre. Les anciens systèmes donnaient à chaque visiteur en attente un ouvrier à lui, et chacun restait immobile jusqu'à l'arrivée de la réponse. Node garde un seul ouvrier et lui fait commencer la tâche suivante pendant que la précédente attend. C'est pourquoi des milliers de connexions ouvertes lui coûtent très peu, et pourquoi le chat et le suivi de commande en direct lui vont si bien.

Ce même choix est aussi son point faible, et il trompe beaucoup de monde parce que rien n'a l'air cassé pendant que cela se produit. Une seule tâche lourde sur cet unique ouvrier bloque tous les autres. Un employé exporte les ventes du mois vers un tableur, et pendant ces huit secondes chaque client du site attend lui aussi. On croit que le serveur lâche, alors qu'il va parfaitement bien. Le remède est banal, car le travail lourd peut partir dans un processus séparé, mais il doit être prévu à l'avance. L'autre surprise, c'est la liste des courses, car un projet Node ordinaire emprunte discrètement des centaines de petits morceaux de code gratuit écrits par des inconnus. N'importe lequel d'entre eux peut devenir une porte d'entrée.

Linkysoft pose les deux questions avant de chiffrer une application web, parce que les réponses changent le plan et le prix. Quelle est la tâche la plus lourde qu'on demandera un jour à ce système, et qui vérifie le code emprunté chaque mois ? La seconde relève de notre travail en cybersécurité et n'a jamais rien d'une option, car un morceau emprunté que personne ne surveille est la porte d'entrée la moins chère. Node convient aussi très bien lorsqu'une application mobile et un site partagent le même système en dessous. C'est ainsi que Linkysoft construit la plupart des projets qui ont besoin des deux.

Questions sur Node.js

Qu'est-ce que Node.js, simplement ?
C'est une façon d'exécuter JavaScript sur un serveur plutôt que dans un navigateur, pour que le même langage construise l'écran du client et le système qui garde les données.
Node.js est-il un langage de programmation ?
Non. Le langage, c'est JavaScript. Node est le programme qui permet à JavaScript de tourner hors d'un navigateur, sur un serveur ordinaire.
À quoi Node.js convient-il ?
Tout ce qui réunit beaucoup de monde en même temps avec des informations qui doivent se mettre à jour en direct : chat, suivi de livraison, tableaux de bord en direct, notifications, écrans de réservation partagés.
Node.js est-il plus rapide que PHP ?
Pour beaucoup de petites requêtes qui attendent surtout autre chose, en général oui. Pour un gros calcul unique, souvent non. La réponse honnête dépend de ce que votre système passe son temps à faire.
Node.js est-il sûr pour un système d'entreprise ?
Oui, à condition que quelqu'un surveille les paquets gratuits qu'il emprunte et les mette à jour régulièrement. Ce suivi est le vrai coût, et il a sa place dans le contrat de maintenance.

Vous ne voyez toujours pas comment cela s'applique à votre projet ?

Dites-nous ce que vous construisez et nous vous répondrons simplement.