SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Historique
Javascript au début est utilisé coté client
Historique
Maintenant javascript est exécuté coté serveur aussi
Qu’est-ce que c’est ?
Plateforme de développement Javascript
Basé sur moteur chrome V8
Event driven, non-blocking I/O
Ce n’est pas un serveur, ni un framework
C’est juste le langage Javascript avec des bibliothèque
Qu’est-ce que c’est ?
JS
JS
JS
Front & Back avec javascript
Structure projet
Fichier pachage.json
Package Manager (NPM)
Modules list
Documentation
Tendance
Package Manager (NPM)
Ajout d’une dependance
1. Telechargement lodash et l’ajout dans le dossier node_modules
2. - - save pour mettre à jour le fichier package.json
3. .gitignore pour le dossier node_modules
Package Manager (NPM)
Lodash est prêt à utiliser
Programmation Asynchrone
Programmation Synchrone (traditionnel)
Exemple: Lecture d’un fichier en Java
Thread principale se bloque jusqu’a le fichier sera lu
Programmation Asynchrone
Le modèle non bloquant du Node.JS
Programmation Asynchrone
Lecture Synchrone en NodeJS
Problème: Tout traitement sera bloqué jusqu'à ce que l'opération est terminée
Programmation Asynchrone
Lecture asynchrone en NodeJS Output :
Start reading a file…
end of the file
error happened during reading the file
Programmation Asynchrone
A éviter se qu’on appelle Callback-Hell (code illisible)
Programmation Asynchrone
Alternatives :
Async.js
Programmation Asynchrone
Alternatives :
Promises
“The event Loop”
Responsable de traitement des opérations asynchrones.
“Best practices”
Organize your Files Around Features, Not Roles
Don’t
“Best practices”
Organize your Files Around Features, Not Roles
Do
“Best practices”
Don’t put all logic in index.js file
“Best practices”
Use a config directory to place configuration files

Contenu connexe

Tendances

Mkframework: 01 installation
Mkframework: 01 installationMkframework: 01 installation
Mkframework: 01 installationMichael Bertocchi
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
 
Djangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmppDjangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmppJean-Michel ARMAND
 
Automatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSAutomatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSMongoDB
 
05 2014-varnish
05 2014-varnish05 2014-varnish
05 2014-varnishthomaslc
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Eric D.
 
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
 
Retour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de logRetour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de logJulien Maitrehenry
 
Maltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoMaltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoFrederic Leger
 
Meetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceMeetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceFrederic Leger
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleJean-Pierre Vincent
 

Tendances (18)

Mkframework: 01 installation
Mkframework: 01 installationMkframework: 01 installation
Mkframework: 01 installation
 
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007Utiliser pleinement le navigateur et les nouveaux clients web  - AFUP 2007
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007
 
Djangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmppDjangocong 2010 django-et_xmpp
Djangocong 2010 django-et_xmpp
 
Automatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMSAutomatisez votre gestion de MongoDB avec MMS
Automatisez votre gestion de MongoDB avec MMS
 
05 2014-varnish
05 2014-varnish05 2014-varnish
05 2014-varnish
 
Cours PHP 1
Cours PHP 1Cours PHP 1
Cours PHP 1
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006
 
Numergy vs Cloudwatt
Numergy vs CloudwattNumergy vs Cloudwatt
Numergy vs Cloudwatt
 
Django compressor
Django compressorDjango compressor
Django compressor
 
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
 
Retour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de logRetour d'expérience sur notre stack de log
Retour d'expérience sur notre stack de log
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
Ocs
OcsOcs
Ocs
 
Maltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falcoMaltacademy: securing your k8s cluster with CNCF falco
Maltacademy: securing your k8s cluster with CNCF falco
 
Meetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a ServiceMeetup vault - ScaaS Secrets as a Service
Meetup vault - ScaaS Secrets as a Service
 
Accélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exempleAccélération des pages Web : les bases en exemple
Accélération des pages Web : les bases en exemple
 
01 installation
01 installation01 installation
01 installation
 
Un navigateur, comment ça marche
Un navigateur, comment ça marche  Un navigateur, comment ça marche
Un navigateur, comment ça marche
 

En vedette

Geek Time Juin 2016 : React
Geek Time Juin 2016 : ReactGeek Time Juin 2016 : React
Geek Time Juin 2016 : ReactOLBATI
 
Geek Time September 2016 : Coding Dojo - Working on Legacy Code
Geek Time September 2016 : Coding Dojo - Working on Legacy CodeGeek Time September 2016 : Coding Dojo - Working on Legacy Code
Geek Time September 2016 : Coding Dojo - Working on Legacy CodeOLBATI
 
Common mistakes at pet 2
Common mistakes at pet 2Common mistakes at pet 2
Common mistakes at pet 2Dani V
 
4 les grans potències i l'imperialisme
4 les grans potències i l'imperialisme4 les grans potències i l'imperialisme
4 les grans potències i l'imperialismekikolokiko
 

En vedette (7)

Geek Time Juin 2016 : React
Geek Time Juin 2016 : ReactGeek Time Juin 2016 : React
Geek Time Juin 2016 : React
 
Geek Time September 2016 : Coding Dojo - Working on Legacy Code
Geek Time September 2016 : Coding Dojo - Working on Legacy CodeGeek Time September 2016 : Coding Dojo - Working on Legacy Code
Geek Time September 2016 : Coding Dojo - Working on Legacy Code
 
Common mistakes at pet 2
Common mistakes at pet 2Common mistakes at pet 2
Common mistakes at pet 2
 
4 les grans potències i l'imperialisme
4 les grans potències i l'imperialisme4 les grans potències i l'imperialisme
4 les grans potències i l'imperialisme
 
Vatsal 41
Vatsal 41Vatsal 41
Vatsal 41
 
resume updated
resume updatedresume updated
resume updated
 
Atomic design
Atomic designAtomic design
Atomic design
 

Similaire à Geek Time Juin 2016 : Node.js

Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Luc Juggery
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGWilliam Marques
 
Memcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMehdi Mehni
 
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
 
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?Microsoft
 
Webserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas docWebserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas docWinslo Nwan
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & TechniquesRachid NID SAID
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur webNoël
 
Installation de PHP
Installation de PHPInstallation de PHP
Installation de PHPMoncef Essid
 
Aperçu de RequireJS
Aperçu de RequireJSAperçu de RequireJS
Aperçu de RequireJSVISEO
 
Cours du soir_gwt
Cours du soir_gwtCours du soir_gwt
Cours du soir_gwtSaid Talibi
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Boiteaweb
 
Ajax et Accessibilite
Ajax et AccessibiliteAjax et Accessibilite
Ajax et Accessibilitemikeh
 

Similaire à Geek Time Juin 2016 : Node.js (20)

Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3
 
Angular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUGAngular + JHipster @ Paris JUG
Angular + JHipster @ Paris JUG
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
nodejs.pdf
nodejs.pdfnodejs.pdf
nodejs.pdf
 
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
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Outils front-end
Outils front-endOutils front-end
Outils front-end
 
Présentation1
Présentation1Présentation1
Présentation1
 
Memcached, une solution de cache par excellence
Memcached, une solution de cache par excellenceMemcached, une solution de cache par excellence
Memcached, une solution de cache par excellence
 
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?
 
Webserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas docWebserver tomcat-jboss-jrun-jonas doc
Webserver tomcat-jboss-jrun-jonas doc
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & Techniques
 
08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web08 01 mise en place d'un serveur web
08 01 mise en place d'un serveur web
 
Installation de PHP
Installation de PHPInstallation de PHP
Installation de PHP
 
Aperçu de RequireJS
Aperçu de RequireJSAperçu de RequireJS
Aperçu de RequireJS
 
Cours du soir_gwt
Cours du soir_gwtCours du soir_gwt
Cours du soir_gwt
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.
 
Ajax et Accessibilite
Ajax et AccessibiliteAjax et Accessibilite
Ajax et Accessibilite
 

Plus de OLBATI

Geek Time Juillet 2017 : TDD coté Front/JS
Geek Time Juillet 2017 : TDD coté Front/JSGeek Time Juillet 2017 : TDD coté Front/JS
Geek Time Juillet 2017 : TDD coté Front/JSOLBATI
 
Geek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.jsGeek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.jsOLBATI
 
Geek Time Juin 2017 : Microservices Tracing
Geek Time Juin 2017 : Microservices TracingGeek Time Juin 2017 : Microservices Tracing
Geek Time Juin 2017 : Microservices TracingOLBATI
 
Geek Time Juin 2017 : GraphQL
Geek Time Juin 2017 : GraphQLGeek Time Juin 2017 : GraphQL
Geek Time Juin 2017 : GraphQLOLBATI
 
Geek Time Mars 2017 : Les microservices
Geek Time Mars 2017 : Les microservicesGeek Time Mars 2017 : Les microservices
Geek Time Mars 2017 : Les microservicesOLBATI
 
Geek Time Janvier 2017 : Quiz Java
Geek Time Janvier 2017 : Quiz JavaGeek Time Janvier 2017 : Quiz Java
Geek Time Janvier 2017 : Quiz JavaOLBATI
 
Geek Time Janvier 2017 : Java 8
Geek Time Janvier 2017 : Java 8Geek Time Janvier 2017 : Java 8
Geek Time Janvier 2017 : Java 8OLBATI
 
Geek Time Janvier 2017 : Angular 2
Geek Time Janvier 2017 : Angular 2Geek Time Janvier 2017 : Angular 2
Geek Time Janvier 2017 : Angular 2OLBATI
 
Geek Time December 2016 : Bitcoin/Blockchain
Geek Time December 2016 : Bitcoin/BlockchainGeek Time December 2016 : Bitcoin/Blockchain
Geek Time December 2016 : Bitcoin/BlockchainOLBATI
 
Geek Time December 2016 : Quiz Java 8
Geek Time December 2016 : Quiz Java 8Geek Time December 2016 : Quiz Java 8
Geek Time December 2016 : Quiz Java 8OLBATI
 
Geek Time December 2016 : Swagger II
Geek Time December 2016 : Swagger IIGeek Time December 2016 : Swagger II
Geek Time December 2016 : Swagger IIOLBATI
 
Geek Time Novembre 2016 : Quiz
Geek Time Novembre 2016 : QuizGeek Time Novembre 2016 : Quiz
Geek Time Novembre 2016 : QuizOLBATI
 
Geek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4jGeek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4jOLBATI
 
Geek Time Novembre 2016 : Cucumber
Geek Time Novembre 2016 : CucumberGeek Time Novembre 2016 : Cucumber
Geek Time Novembre 2016 : CucumberOLBATI
 
Geek Time October 2016 : Coding Dojo - Calisthenics Objects
Geek Time October 2016 : Coding Dojo - Calisthenics ObjectsGeek Time October 2016 : Coding Dojo - Calisthenics Objects
Geek Time October 2016 : Coding Dojo - Calisthenics ObjectsOLBATI
 
Geek Time September 2016 : JavaScript Linting Tools
Geek Time September 2016 : JavaScript Linting ToolsGeek Time September 2016 : JavaScript Linting Tools
Geek Time September 2016 : JavaScript Linting ToolsOLBATI
 
Geek Time Août 2016 : Docker
Geek Time Août 2016 : DockerGeek Time Août 2016 : Docker
Geek Time Août 2016 : DockerOLBATI
 

Plus de OLBATI (17)

Geek Time Juillet 2017 : TDD coté Front/JS
Geek Time Juillet 2017 : TDD coté Front/JSGeek Time Juillet 2017 : TDD coté Front/JS
Geek Time Juillet 2017 : TDD coté Front/JS
 
Geek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.jsGeek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.js
 
Geek Time Juin 2017 : Microservices Tracing
Geek Time Juin 2017 : Microservices TracingGeek Time Juin 2017 : Microservices Tracing
Geek Time Juin 2017 : Microservices Tracing
 
Geek Time Juin 2017 : GraphQL
Geek Time Juin 2017 : GraphQLGeek Time Juin 2017 : GraphQL
Geek Time Juin 2017 : GraphQL
 
Geek Time Mars 2017 : Les microservices
Geek Time Mars 2017 : Les microservicesGeek Time Mars 2017 : Les microservices
Geek Time Mars 2017 : Les microservices
 
Geek Time Janvier 2017 : Quiz Java
Geek Time Janvier 2017 : Quiz JavaGeek Time Janvier 2017 : Quiz Java
Geek Time Janvier 2017 : Quiz Java
 
Geek Time Janvier 2017 : Java 8
Geek Time Janvier 2017 : Java 8Geek Time Janvier 2017 : Java 8
Geek Time Janvier 2017 : Java 8
 
Geek Time Janvier 2017 : Angular 2
Geek Time Janvier 2017 : Angular 2Geek Time Janvier 2017 : Angular 2
Geek Time Janvier 2017 : Angular 2
 
Geek Time December 2016 : Bitcoin/Blockchain
Geek Time December 2016 : Bitcoin/BlockchainGeek Time December 2016 : Bitcoin/Blockchain
Geek Time December 2016 : Bitcoin/Blockchain
 
Geek Time December 2016 : Quiz Java 8
Geek Time December 2016 : Quiz Java 8Geek Time December 2016 : Quiz Java 8
Geek Time December 2016 : Quiz Java 8
 
Geek Time December 2016 : Swagger II
Geek Time December 2016 : Swagger IIGeek Time December 2016 : Swagger II
Geek Time December 2016 : Swagger II
 
Geek Time Novembre 2016 : Quiz
Geek Time Novembre 2016 : QuizGeek Time Novembre 2016 : Quiz
Geek Time Novembre 2016 : Quiz
 
Geek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4jGeek Time Novembre 2016 : Neo4j
Geek Time Novembre 2016 : Neo4j
 
Geek Time Novembre 2016 : Cucumber
Geek Time Novembre 2016 : CucumberGeek Time Novembre 2016 : Cucumber
Geek Time Novembre 2016 : Cucumber
 
Geek Time October 2016 : Coding Dojo - Calisthenics Objects
Geek Time October 2016 : Coding Dojo - Calisthenics ObjectsGeek Time October 2016 : Coding Dojo - Calisthenics Objects
Geek Time October 2016 : Coding Dojo - Calisthenics Objects
 
Geek Time September 2016 : JavaScript Linting Tools
Geek Time September 2016 : JavaScript Linting ToolsGeek Time September 2016 : JavaScript Linting Tools
Geek Time September 2016 : JavaScript Linting Tools
 
Geek Time Août 2016 : Docker
Geek Time Août 2016 : DockerGeek Time Août 2016 : Docker
Geek Time Août 2016 : Docker
 

Geek Time Juin 2016 : Node.js