SlideShare uma empresa Scribd logo
1 de 11
Node.js
Contexte




23/10/2012              2
Environnement projet

      •      Contexte du projet :
              Mise en place d’un dispositif de jeu multi-joueurs en réseau
              Jeu diffusé sur tablette tactile
              Nécessité d’un serveur central de stockage pour agréger les réponses et les scores des
               participants à des fins statistiques


      •      Prérequis client :
              Nécessité de pouvoir assurer un déploiement sur tout type de tablette tactile, sans
               nécessiter un développement technique propre à chaque OS mobile
               (iOS, Android, BlackBerry, etc.)
              Choix de la technologie HTML5 vs. développements natif


      •      Problématique technique :
              Jeu lancé depuis le poste serveur, une fois tous les joueurs connectés au serveur
              Nécessité de faire communiquer les postes clients avec le serveur pour lancer le jeu une
               fois tous les participants présents

23/10/2012         © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur   3
Mise en œuvre technique




23/10/2012                             4
De PHP à node.js

      •      Idée 1 :
              Requêtes PHP, à fréquence régulière requêtes Ajax depuis chaque poste client
               vers le serveur.
              Résultats :
                engorgement de la RAM serveur (trop de requêtes lancées vers le serveur avec
                 plusieurs processus simultanés sans fin)
                Incapacité à identifier, pour tous les postes clients, si le jeu était lancé. Certains postes
                 clients ne lançaient pas le jeu
                Après plusieurs tentatives pour jouer sur les délais d’appels des requêtes, conclusion
                 sans appel de KO : mode opératoire non fonctionnel


      •      Idée 2 :
              Recours à la technologie Node.js
              Une technologie permettant de lancer de multiples requêtes serveur-client en
               Multithreading, simultanément, de manière asynchrone.



23/10/2012        © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur     5
Schéma technico-fonctionnel




23/10/2012   © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur   6
Node.js : mise en œuvre (Serveur)

      1.     Configuration du serveur Node.js
              Node.js requiert l’implémentation de scripts côté serveur.
              Ajout du module socket.io pour permettre a




23/10/2012        © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur   7
Node.js : mise en œuvre (Client)
      1.       Réalisation des scripts côté client
                Inclusion du script client Socket.io et connexion au serveur Node.js




                Script exécuté par le poste animateur



                Script exécuté sur les iPad




23/10/2012         © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur   8
Qui utilise Node.js ?




     Compilation de css, js en                                                                Fils de discussion
           temps réel




             Système de chat                                                                       API EBay
23/10/2012     © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur          9
Démonstration




23/10/2012                   10
Questions ?




23/10/2012                 11

Mais conteúdo relacionado

Destaque

publier une application Node sur heroku
publier une application Node sur herokupublier une application Node sur heroku
publier une application Node sur herokueric German
 
JavaScript dans l'usine logicielle
JavaScript dans l'usine logicielleJavaScript dans l'usine logicielle
JavaScript dans l'usine logiciellejollivetc
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)guicara
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebHarrathi Mohamed
 
Conferència Proyecto Repartir. 5 de diciembre de 2014. La política de inmigr...
Conferència Proyecto Repartir. 5 de diciembre de  2014. La política de inmigr...Conferència Proyecto Repartir. 5 de diciembre de  2014. La política de inmigr...
Conferència Proyecto Repartir. 5 de diciembre de 2014. La política de inmigr...Universidad Autónoma de Barcelona
 
Presentación1
Presentación1Presentación1
Presentación1ubaldinoal
 
Windows peruano by matute
Windows peruano by matuteWindows peruano by matute
Windows peruano by matuteMatuteTen
 
Unplugged 120911060331 Phpapp01
Unplugged 120911060331 Phpapp01Unplugged 120911060331 Phpapp01
Unplugged 120911060331 Phpapp01dubouis
 
Primer álbum de fotografías
Primer álbum de fotografíasPrimer álbum de fotografías
Primer álbum de fotografíasricardo narvaez
 
Tengo una pregunta para usted
Tengo una pregunta para ustedTengo una pregunta para usted
Tengo una pregunta para ustedLeer.es
 

Destaque (20)

Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
publier une application Node sur heroku
publier une application Node sur herokupublier une application Node sur heroku
publier une application Node sur heroku
 
Node.js
Node.jsNode.js
Node.js
 
JavaScript dans l'usine logicielle
JavaScript dans l'usine logicielleJavaScript dans l'usine logicielle
JavaScript dans l'usine logicielle
 
Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)Développement d'un site web de E-Commerce avec PHP (Première Partie)
Développement d'un site web de E-Commerce avec PHP (Première Partie)
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
Smart Taxi (Tunisie)
Smart Taxi (Tunisie)Smart Taxi (Tunisie)
Smart Taxi (Tunisie)
 
Mlearning
MlearningMlearning
Mlearning
 
Presentación youtube
Presentación youtubePresentación youtube
Presentación youtube
 
Conferència Proyecto Repartir. 5 de diciembre de 2014. La política de inmigr...
Conferència Proyecto Repartir. 5 de diciembre de  2014. La política de inmigr...Conferència Proyecto Repartir. 5 de diciembre de  2014. La política de inmigr...
Conferència Proyecto Repartir. 5 de diciembre de 2014. La política de inmigr...
 
Presentación1
Presentación1Presentación1
Presentación1
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Windows peruano by matute
Windows peruano by matuteWindows peruano by matute
Windows peruano by matute
 
Visibilité sur les rs
Visibilité sur les rsVisibilité sur les rs
Visibilité sur les rs
 
Unplugged 120911060331 Phpapp01
Unplugged 120911060331 Phpapp01Unplugged 120911060331 Phpapp01
Unplugged 120911060331 Phpapp01
 
Parapsicologia
ParapsicologiaParapsicologia
Parapsicologia
 
Primer álbum de fotografías
Primer álbum de fotografíasPrimer álbum de fotografías
Primer álbum de fotografías
 
Tengo una pregunta para usted
Tengo una pregunta para ustedTengo una pregunta para usted
Tengo una pregunta para usted
 

Semelhante a Conférence #nwx - node.js - 20121023

JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
Stage de fin d’études – dotcloud
Stage de fin d’études – dotcloudStage de fin d’études – dotcloud
Stage de fin d’études – dotcloudJoffrey Fu Hrer
 
Stage de fin d’études – dotcloud
Stage de fin d’études – dotcloudStage de fin d’études – dotcloud
Stage de fin d’études – dotcloudJoffrey Fu Hrer
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...Microsoft Technet France
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8Microsoft
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Microsoft
 
Challenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionChallenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionJonathan Le Guellec
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tousMicrosoft
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5davrous
 

Semelhante a Conférence #nwx - node.js - 20121023 (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
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Stage de fin d’études – dotcloud
Stage de fin d’études – dotcloudStage de fin d’études – dotcloud
Stage de fin d’études – dotcloud
 
Stage de fin d’études – dotcloud
Stage de fin d’études – dotcloudStage de fin d’études – dotcloud
Stage de fin d’études – dotcloud
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
[AzureCamp 24 Juin 2014] Interactions en "temps réel" pour les applications W...
 
L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8L'histoire d'HTML5 pour les développeurs Windows Phone 8
L'histoire d'HTML5 pour les développeurs Windows Phone 8
 
Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Introduction à node.js
Introduction à node.js Introduction à node.js
Introduction à node.js
 
Meteor js 1.0
Meteor js 1.0Meteor js 1.0
Meteor js 1.0
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5
 
Challenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionChallenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - Introduction
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5
 

Conférence #nwx - node.js - 20121023

  • 3. Environnement projet • Contexte du projet :  Mise en place d’un dispositif de jeu multi-joueurs en réseau  Jeu diffusé sur tablette tactile  Nécessité d’un serveur central de stockage pour agréger les réponses et les scores des participants à des fins statistiques • Prérequis client :  Nécessité de pouvoir assurer un déploiement sur tout type de tablette tactile, sans nécessiter un développement technique propre à chaque OS mobile (iOS, Android, BlackBerry, etc.)  Choix de la technologie HTML5 vs. développements natif • Problématique technique :  Jeu lancé depuis le poste serveur, une fois tous les joueurs connectés au serveur  Nécessité de faire communiquer les postes clients avec le serveur pour lancer le jeu une fois tous les participants présents 23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 3
  • 4. Mise en œuvre technique 23/10/2012 4
  • 5. De PHP à node.js • Idée 1 :  Requêtes PHP, à fréquence régulière requêtes Ajax depuis chaque poste client vers le serveur.  Résultats :  engorgement de la RAM serveur (trop de requêtes lancées vers le serveur avec plusieurs processus simultanés sans fin)  Incapacité à identifier, pour tous les postes clients, si le jeu était lancé. Certains postes clients ne lançaient pas le jeu  Après plusieurs tentatives pour jouer sur les délais d’appels des requêtes, conclusion sans appel de KO : mode opératoire non fonctionnel • Idée 2 :  Recours à la technologie Node.js  Une technologie permettant de lancer de multiples requêtes serveur-client en Multithreading, simultanément, de manière asynchrone. 23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 5
  • 6. Schéma technico-fonctionnel 23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 6
  • 7. Node.js : mise en œuvre (Serveur) 1. Configuration du serveur Node.js  Node.js requiert l’implémentation de scripts côté serveur.  Ajout du module socket.io pour permettre a 23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 7
  • 8. Node.js : mise en œuvre (Client) 1. Réalisation des scripts côté client  Inclusion du script client Socket.io et connexion au serveur Node.js  Script exécuté par le poste animateur  Script exécuté sur les iPad 23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 8
  • 9. Qui utilise Node.js ? Compilation de css, js en Fils de discussion temps réel Système de chat API EBay 23/10/2012 © 2012 Interaction Multimedia - Toute reproduction interdite sans autorisation de l’auteur 9