Abonnez-vous aux mises à jour

    Recevez les dernières nouvelles créatives de Oaliv sur l'informatique, l'intelligence artificielle, le métavers et les nouvelles technologies.

    Actualités

    Les avantages et les inconvénients de l’intelligence artificielle

    mars 12, 2023

    Comment optimiser votre site web pour les moteurs de recherche

    mars 12, 2023

    Les 10 outils incontournables pour les développeurs débutants

    mars 12, 2023
    Facebook Twitter Instagram YouTube LinkedIn TikTok
    • Lexique IT
    • TPE / PME
    • Métiers
    • Livre Blanc
    • Glossaire
    Tendance
    • Les avantages et les inconvénients de l’intelligence artificielle
    • Comment optimiser votre site web pour les moteurs de recherche
    • Les 10 outils incontournables pour les développeurs débutants
    • Comment développer votre propre application mobile
    • Le métavers : Le futur de la réalité virtuelle
    • Les secrets des meilleurs développeurs de logiciels
    • Les dernières tendances de l’intelligence artificielle pour les entreprises
    • Comment améliorer votre référencement local en 5 étapes faciles
    Facebook Twitter Instagram YouTube LinkedIn TikTok
    OalivOaliv
    S'abonner
    • Développement
      1. Débutant
      2. Voir tout

      Les 10 outils incontournables pour les développeurs débutants

      mars 12, 2023

      Bien choisir l’entreprise pour faire sa carrière de développeur

      octobre 23, 2022

      4 choses que l’on vous a cachées à propos du métier de développeur

      octobre 23, 2022

      Qu’est-ce qu’une API et pourquoi vous devez en concevoir ?

      octobre 19, 2022

      Comment optimiser votre site web pour les moteurs de recherche

      mars 12, 2023

      Les 10 outils incontournables pour les développeurs débutants

      mars 12, 2023

      Comment développer votre propre application mobile

      mars 12, 2023

      Les secrets des meilleurs développeurs de logiciels

      mars 11, 2023
    • Intelligence Artificielle
    • Métavers
    • Sécurité
    • Marketing
    • Blockchain
    • Réalité virtuelle
    • Robotique
    OalivOaliv
    NodeJS, une définition
    Lexique IT

    NodeJS, une définition

    Node ? JS ? NodeJS fait partie de l’univers JavaScript. Si la plupart des frameworks ciblent le front-end, Node (on abrège souvent NodeJS en Node), est côté back-end, donc côté serveur et non côté navigateur / client.
    Ludovic CreativePar Ludovic Creativemai 1, 2022Actualisé:mai 1, 2022Aucun commentaire4 Minutes de lecture
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Partager
    Facebook Twitter LinkedIn Pinterest Email

    NodeJS est un environnement serveur basé sur le langage JavaScript. Il a été créé en 2009 par Ryan Dahl. Il souhaitait améliorer la barre de progression de chargement de fichiers sur le site Flickr. En quelques années, Node est devenu une référence pour les développeurs JavaScript et la communauté n’a cessé de s’étendre. Node est open source et il évolue plusieurs fois par an.

    NodeJS n’est pas à proprement parlé un environnement serveur. Il s’agit avant tout d’exécuter et de traiter des projets / applications JS côté serveur et non côté client (navigateur). Le principe est le même que PHP ou un site web Ruby : le code s’exécute côté serveur. Ensuite, on utilise le classique HTTP pour accéder à son application JS.

    Node est conseillé quand vous avez besoin de traitements lourds sur des données, des applications complexes avec beaucoup de trafics réseaux ou pour des sites de type Single-Page qui peuvent exiger d’importantes ressources pour générer la page. Node est donc à privilégier dès que vous avez besoin de traitement des nombreuses données nécessitant de nombreuses interactions / échanges avec un SGBD. Et il est conçu pour supporter la montée en charge en cas de forte audience du site.

    Ecosystème

    NodeJS a construit un véritable écosystème autour de lui :

    • Frameworks dédiés : Adonis, diet.js, Ionic, Meteor, etc.
    • Outils : TestCafé, Mongoose, Gulp, Unit.js, etc.

    Ces frameworks et outils sont soit dédiés Node ou supportant Node. Vous pouvez aussi intégrer un framework JS front-end à Node. Le couple Node + Ionic est un classique.

    Architecture modulaire et composants essentiels

    Contrairement à ce que l’on pourrait penser, Node n’est pas 100 % JavaScript. En réalité, une partie du cœur de la plateforme est en C++ pour être natif et offrir de bonnes performances. Deux composants essentiels composent Node : V8 et libuv. V8 est le moteur d’exécution JavaScript de Google que l’on retrouve dans Chromium / Chrome. Il est là pour exécuter le code JS directement en back-end. V8 est écrit en C++ et est natif Linux, macOS et Windows. Sans un moteur d’exécution JS, Node serait incapable de comprendre et d’exécuter le moindre code JS.

    Libuv est une librairie multiplateforme en C. Il s’agit d’un module essentiel à Node. Elle supporte les sockets TCP, la résolution DNS, traitement fichiers côté I/O (entrée / sortie), gestion des threads. La boucle d’événements (ou event loop) est gérée par cette librairie. Il s’agit de savoir quand exécuter une opération / une action Node. Libuv doit communiquer avec le système d’exploitation sur lequel s’exécute Node. C’est un des mécanismes les plus critiques de Node et de tout serveur. Si on résume libuv, il s’occupe du réseau, des échanges avec le système, et de la gestion des fichiers.

    Bien entendu, pour les développeurs, utilisateurs et responsables réseau, ils ne voient que Node, tout est transparent.

    Fork et alternative

    Le projet fut forké au milieu des années 2010, avec assez peu de succès. Il s’agissait du projet IO.JS. Le créateur de Node a décidé de créer une alternative crédible à Node, même si le but n’était pas d’être en opposition frontale : Deno. Le projet est présenté comme un runtime moderne et sécurisé de JavaScript et de TypeScript, reposant sur le moteur V8 et le langage Rust.

    Comment fonctionne Node.js ?

    Node est un environnement d’exécution single-thread, open source et multiplateforme, qui utilise une architecture non-bloquante. Chaque fois qu’une requête arrive, elle est placée dans une file d’attente et sera ensuite récupérée par la boucle d’événement (Event Loop). Cette dernière vérifie si elle nécessite un traitement I/O (entrée/sortie) bloquante. 

    Si elle n’est pas bloquante, la boucle traite la requête et envoie une réponse. Si elle est bloquante, la boucle d’événements attribue un thread (fil d’exécution) du pool de threads internes pour cette requête. Il est important de préciser que dans le cas de Node.js, le nombre de threads internes est limité. Lorsque la tâche bloquante est terminée, elle retourne dans la file d’attente.

    Node.js et NPM

    NPM est le gestionnaire de paquets de Node.js et de tout environnement Javascript, et comprend plus d’un million de paquets disponibles gratuitement. Ce n’est pas le seul gestionnaire de paquets existants, mais il est certainement le plus populaire grâce à sa communauté grandissante de développeurs actifs.

    NPM intègre un outil en ligne de commande qui permet entre autres, d’installer et de désinstaller des paquets, de gérer les versions des modules et les dépendances à votre projet. C’est à partir de NPM que vous pouvez installer par exemple le framework web ExpressJS, la librairie Axios pour les requêtes HTTP, un préprocesseur CSS Less ou SASS, l’outil de modélisation d’objets MongoDB Mongoose et bien d’autres.

    Partager. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Ludovic Creative
    • Site Internet

    Articles Similaires

    Tout savoir sur les certifications professionnelles de Google

    mai 8, 2022

    Visioconférence, une définition

    janvier 9, 2023

    Chiffrement, une définition

    mai 7, 2022
    Commenter

    Laisser une réponse Annuler la réponse

    Choix de l'éditeur

    Les avantages et les inconvénients de l’intelligence artificielle

    mars 12, 2023

    Comment optimiser votre site web pour les moteurs de recherche

    mars 12, 2023

    Les 10 outils incontournables pour les développeurs débutants

    mars 12, 2023

    Comment développer votre propre application mobile

    mars 12, 2023
    Meilleurs avis
    Développement

    Les meilleures certifications pour les professionnels de l’IT  

    Par Ludovic Creativejanvier 10, 20235

    Les certifications technologiques peuvent lancer ou relancer votre carrière, améliorer vos références ou vous permettre d’obtenir une promotion. Voici les certifications indispensables en 2022.

    TPE / PME

    10 conseils pour améliorer votre concentration au travail

    Par Ludovic Creativeavril 18, 20224

    Rester concentré au travail n’est pas toujours chose aisée, au vu de toutes les distractions…

    Développement

    Tout savoir sur la programmation informatique

    Par Ludovic Creativeavril 18, 20222

    Notre quotidien ne pourrait tout simplement pas fonctionner sans ordinateur. Pour autant, ces mêmes ordinateurs…

    Développement

    Comment la génération Z perçoit le métier de développeur

    Par Ludovic Creativeavril 17, 20222

    Écoutez cet article Quelle est votre perception du métier de développeur logiciel ? La question…

    Sponsorisé
    Travailler avec nous

    Agence de prestations digitales pour grands comptes, PME et associations. Nous acceptons de nouveaux partenariats dès maintenant.
    Email: info@oaliv.com

    Étiquettes
    Baidu Bard Certifications Certifications Informatiques CHATGPT Digital Développement framework frameworks java frameworks php Google Guerre Russie-Ukraine IA IDE java JavaScript Microsoft OpenAI php RÉSEAUX SOCIAUX Sundar Pichai templates bootstrap thèmes Bootstrap
    Nouveaux commentaires
    • TRAORÉ dans SQL, une définition
    • Matsingang Elvis dans Les certifications informatiques les plus demandées en 2023
    • Audrey Mathé dans Quel langage de programmation choisir pour débuter ?
    • Rigobert Coffi AMEGAN dans Comment apprendre la programmation efficacement ?
    Sponsorisé

    Abonnez-vous aux mises à jour

    Recevez les dernières nouvelles créatives de Oaliv sur l'informatique, l'intelligence artificielle, le métavers et développement.

    Débutant

    Combien de temps pour apprendre la programmation ?

    Par Ludovic Creativeseptembre 9, 20220

    Si vous êtes sur cet article, c’est certainement parce que vous vous posez ces questions.…

    1 2 3 … 14 Next
    Oaliv
    Facebook Twitter Instagram YouTube LinkedIn TikTok
    • Lexique IT
    • TPE / PME
    • Livre Blanc
    • Glossaire
    • Contact
    • Politique de cookies (UE)
    • Conditions générales
    • Proposer un article
    © 2023 Fièrement propulsé par Oaliv Inc. |À propos |Proposer un article|Publicité Gratuite|

    Tapez ci-dessus et appuyez sur Enter pour rechercher. Appuyez sur Escs pour annuler.

    Gérer le consentement aux cookies
    Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
    Fonctionnel Toujours activé
    Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
    Préférences
    Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’utilisateur.
    Statistiques
    Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
    Marketing
    Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
    Gérer les options Gérer les services Gérer les fournisseurs En savoir plus sur ces finalités
    Voir les préférences
    {title} {title} {title}