SlideShare ist ein Scribd-Unternehmen logo
1 von 16
PRÉSENTATION




Mickael Couzinet    Jeudi 15 Mars 2012
HISTOIRE
CREATION

          Ryan DAHL




Début du projet : 16 février 2009
AUJOURD’HUI
KEZAKO ?
UN SERVEUR JAVASCRIPT

- RAPIDE

- ECRIT EN C/C++

- MOTEUR V8 DE GOOGLE POUR LE JS

- GROSSE COMMUNAUTE

- ENCORE TRES JEUNE
ARCHITECTURE


     LIBRAIRIES NODE


     INTERFACE NODE

         THREAD       EVENT
V8
          POOL        LOOP
GESTION DES THREADS

   WebApp               Node       Machine

Requete      Appel#1
  #1


Requete
  #2
            Reponse#1
             Appel#2




            Reponse#1
PROGRAMMATION NON BLOQUANTE
                       ---------BLOQUANT--------------------------------------------------
On lit deux fichiers
 Le premier étant      var fichier1 = readFyle(“fichier1.txt”);
 Plus lourd que le     Console.log(“Lecture fichier1”);
            second     var fichier2 = readFyle(“fichier2.txt”);
                       Console.log(“Lecture fichier2”);

                       -> Lecture fichier1 Lecture fichier2

                       ----------NON-BLOQUANT-----------------------------------------

                       var fichier1 = readFyle(“fichier1.txt”,function(err,data){
                       Console.log(“Lecture fichier1”);
                       });
                       var fichier2 = readFyle(“fichier2.txt”,function(err,data){
                       Console.log(“Lecture fichier2”);
                       });

                       -> Lecture fichier2 Lecture fichier1
LES MODULES
NODE PACKET MANAGER




- Plus de 6000 modules disponibles
- Installation des modules faciles
- Mise à jour en une ligne de commande
EXPRESS




- Framework ‘MVC ’
- Créé un environnement de dévellopement
- Facilite le développement d’application
  var express = require(‘express’);
  var app = express.createServer();

  app.get('/', function(req, res){
  res.send('Hello World');
  });

  app.listen(3000);
SOCKET.IO




- WebSocket
- Adobe® Flash® Socket
- AJAX long polling
- AJAX multipart streaming
DÉMONSTRATION
QUESTIONS ?
QUESTIONS ?

Weitere ähnliche Inhalte

Was ist angesagt?

NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile AppHabib MAALEM
 
Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)Quentin Frémeaux
 
JavaScript dans l'usine logicielle
JavaScript dans l'usine logicielleJavaScript dans l'usine logicielle
JavaScript dans l'usine logiciellejollivetc
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Quentin Frémeaux
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Ouadie LAHDIOUI
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrêmeOVHcloud
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGWilliam Marques
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node jsHoracio Gonzalez
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.jsTelecomValley
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA Cellenza
 
PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...Romain Cambien
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...ALTER WAY
 
Optimiser WordPress
Optimiser WordPressOptimiser WordPress
Optimiser WordPressChi Nacim
 
AFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIAFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIRomain Cambien
 
Programmation concurrente en Java
Programmation concurrente en JavaProgrammation concurrente en Java
Programmation concurrente en JavaFlorian Beaufumé
 

Was ist angesagt? (20)

Livre Blanc Web temps réel - Node JS
Livre Blanc Web temps réel - Node JSLivre Blanc Web temps réel - Node JS
Livre Blanc Web temps réel - Node JS
 
NodeJS for Mobile App
NodeJS for Mobile AppNodeJS for Mobile App
NodeJS for Mobile App
 
Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)Introduction to Rust in Production - Servo Mozilla project (Slides)
Introduction to Rust in Production - Servo Mozilla project (Slides)
 
JavaScript dans l'usine logicielle
JavaScript dans l'usine logicielleJavaScript dans l'usine logicielle
JavaScript dans l'usine logicielle
 
Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)Introduction to Rust in Production - Servo Mozilla project (Talk)
Introduction to Rust in Production - Servo Mozilla project (Talk)
 
WebSocket avec Java EE 7
WebSocket avec Java EE 7WebSocket avec Java EE 7
WebSocket avec Java EE 7
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUG
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node js
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
 
03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA 03 - [ASP.NET Core] Services RESTful et SPA
03 - [ASP.NET Core] Services RESTful et SPA
 
Python + ansible = ♥
Python + ansible = ♥Python + ansible = ♥
Python + ansible = ♥
 
PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...PHP Composer : Pourquoi ? Comment ? Et plus ...
PHP Composer : Pourquoi ? Comment ? Et plus ...
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
 
NodeJs in real life
NodeJs in real lifeNodeJs in real life
NodeJs in real life
 
Optimiser WordPress
Optimiser WordPressOptimiser WordPress
Optimiser WordPress
 
Optimiser wordpress
Optimiser wordpressOptimiser wordpress
Optimiser wordpress
 
AFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIAFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open API
 
Programmation concurrente en Java
Programmation concurrente en JavaProgrammation concurrente en Java
Programmation concurrente en Java
 

Andere mochten auch (20)

A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
 
Node.js Module Resolution by visual example
Node.js Module Resolution by visual exampleNode.js Module Resolution by visual example
Node.js Module Resolution by visual example
 
Le client FTP de PHP5
Le client FTP de PHP5Le client FTP de PHP5
Le client FTP de PHP5
 
Les structures de données PHP5
Les structures de données PHP5Les structures de données PHP5
Les structures de données PHP5
 
Fichier XML et PHP5
Fichier XML et PHP5Fichier XML et PHP5
Fichier XML et PHP5
 
Configuration PHP5
Configuration PHP5Configuration PHP5
Configuration PHP5
 
Email et PHP5
Email et PHP5Email et PHP5
Email et PHP5
 
SQL et MySQL
SQL et MySQLSQL et MySQL
SQL et MySQL
 
Le client HTTP PHP5
Le client HTTP PHP5Le client HTTP PHP5
Le client HTTP PHP5
 
PHP5 et les fichiers
PHP5 et les fichiersPHP5 et les fichiers
PHP5 et les fichiers
 
Ssh cookbook
Ssh cookbookSsh cookbook
Ssh cookbook
 
Manuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur LinuxManuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur Linux
 
PHP 5 et la programmation objet
PHP 5 et la programmation objetPHP 5 et la programmation objet
PHP 5 et la programmation objet
 
Présentation de PHP
Présentation de PHPPrésentation de PHP
Présentation de PHP
 
Syntaxe du langage PHP
Syntaxe du langage PHPSyntaxe du langage PHP
Syntaxe du langage PHP
 
Sécurité et Quaité de code PHP
Sécurité et Quaité de code PHPSécurité et Quaité de code PHP
Sécurité et Quaité de code PHP
 
Cours uml
Cours umlCours uml
Cours uml
 
MVC / Frameworks PHP
MVC / Frameworks PHPMVC / Frameworks PHP
MVC / Frameworks PHP
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
Client base de données en PHP5
Client base de données en PHP5Client base de données en PHP5
Client base de données en PHP5
 

Ähnlich wie Présentation de Node.js

Gestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerGestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerMohamet Lamine DIOP
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
Reverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareNinaSAMMUT
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/HudsonSonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudsonxmacina
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOlivier DASINI
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
 
Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2tikok974
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Mdl ocsinventory 20100330
Mdl ocsinventory 20100330Mdl ocsinventory 20100330
Mdl ocsinventory 20100330robertpluss
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsPhilippeBrogi
 
Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2tikok974
 
Python application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgentsPython application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgentsNicolas Mussat
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Jérôme Petazzoni
 
Dev Drink II (Flex by Navx)
Dev Drink II (Flex by Navx)Dev Drink II (Flex by Navx)
Dev Drink II (Flex by Navx)ALTAIDE
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Patrick Guimonet
 

Ähnlich wie Présentation de Node.js (20)

Gestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzerGestion des LOGS savec syslog+loganalyzer
Gestion des LOGS savec syslog+loganalyzer
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Reverse Engineering d'un ransomware
Reverse Engineering d'un ransomwareReverse Engineering d'un ransomware
Reverse Engineering d'un ransomware
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/HudsonSonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
SonarQube Manuel Automatisation d'analyse ANT JENKINS/Hudson
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server Internals
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Mdl ocsinventory 20100330
Mdl ocsinventory 20100330Mdl ocsinventory 20100330
Mdl ocsinventory 20100330
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloads
 
Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2Mdl ocsinventory 20100330-2
Mdl ocsinventory 20100330-2
 
Python application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgentsPython application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgents
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Dev Drink II (Flex by Navx)
Dev Drink II (Flex by Navx)Dev Drink II (Flex by Navx)
Dev Drink II (Flex by Navx)
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 

Présentation de Node.js

  • 1. PRÉSENTATION Mickael Couzinet Jeudi 15 Mars 2012
  • 3. CREATION Ryan DAHL Début du projet : 16 février 2009
  • 6. UN SERVEUR JAVASCRIPT - RAPIDE - ECRIT EN C/C++ - MOTEUR V8 DE GOOGLE POUR LE JS - GROSSE COMMUNAUTE - ENCORE TRES JEUNE
  • 7. ARCHITECTURE LIBRAIRIES NODE INTERFACE NODE THREAD EVENT V8 POOL LOOP
  • 8. GESTION DES THREADS WebApp Node Machine Requete Appel#1 #1 Requete #2 Reponse#1 Appel#2 Reponse#1
  • 9. PROGRAMMATION NON BLOQUANTE ---------BLOQUANT-------------------------------------------------- On lit deux fichiers Le premier étant var fichier1 = readFyle(“fichier1.txt”); Plus lourd que le Console.log(“Lecture fichier1”); second var fichier2 = readFyle(“fichier2.txt”); Console.log(“Lecture fichier2”); -> Lecture fichier1 Lecture fichier2 ----------NON-BLOQUANT----------------------------------------- var fichier1 = readFyle(“fichier1.txt”,function(err,data){ Console.log(“Lecture fichier1”); }); var fichier2 = readFyle(“fichier2.txt”,function(err,data){ Console.log(“Lecture fichier2”); }); -> Lecture fichier2 Lecture fichier1
  • 11. NODE PACKET MANAGER - Plus de 6000 modules disponibles - Installation des modules faciles - Mise à jour en une ligne de commande
  • 12. EXPRESS - Framework ‘MVC ’ - Créé un environnement de dévellopement - Facilite le développement d’application var express = require(‘express’); var app = express.createServer(); app.get('/', function(req, res){ res.send('Hello World'); }); app.listen(3000);
  • 13. SOCKET.IO - WebSocket - Adobe® Flash® Socket - AJAX long polling - AJAX multipart streaming