SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
@GlennGuegan@GlennGuegan
Brest JS
Hapi JS
@GlennGuegan
● Presentation
● Historique
● Hapi JS c’est quoi ?
● Hapi JS vs Express JS
● Hapi JS dans le Compte CO2
@GlennGuegan
Presentation
● Glenn Guegan
● 21 ans
● Développeur JS au Compte CO2
● glenn.guegan@gmail.com
@GlennGuegan
Historique
● NodeJS créé en 2009 par Ryan Dhal
● 2010 arrivé de Express (framework NodeJS)
● Création HapiJS en 2011 par Walmarts Labs
@GlennGuegan
Hapi JS c’est quoi ?
● Un framework Node JS
● Une philosophie différente et un ecosystème
● La configuration autour du code
@GlennGuegan
Hapi JS vs Express
● Express est simple et flexible
● Basé sur routing vers les middlewares
● Hapi va abstraire le serveur HTTP
● Il va introduire le request lifecycle
● Hapi destiné a de grosses productions
@GlennGuegan
Hapi JS vs Express
@GlennGuegan
Architecture
Express et ses middleware
Eviter d’avoir un handler monolytique
Possède 3 arguments :
res : manipuler les données de la réponses
req : accès aux informations de la requête
next : callback et passer au middleware suivant
Pile de middleware
@GlennGuegan
Architecture
@GlennGuegan
Architecture
Routage
Associé des routes à des verbes HTTP
Reflexion sur la priorité des routes
@GlennGuegan
Architecture
Hapi c’est tout à fait différent
Configuration over the code
@GlennGuegan
Architecture
Une approche très objet
● Plus robuste, performant et secure
● Multi environment
@GlennGuegan
Architecture
Plugin et modularité
Goulot d’etranglement des routes avec express API
Maintenabilité
@GlennGuegan
Architecture
Plugin et modularization
Hapi définit un cycle de vie de la requête, avec ses points d’extension associés.
Middleware Express
Basé sur l’EventEmitter de node
@GlennGuegan
API Rest
Hapi vs Express (démo)
@GlennGuegan
Qui l’utilise ?
@GlennGuegan
Hapi JS au sein du Compte CO2
Router Infinite loop
Plusieurs applications utilisent notre API
Joi, Good, Hapi mongo model, Boom
@GlennGuegan
Merci de m’avoir écouté

Más contenido relacionado

Similar a HapiJS - BrestJS - S00E01

Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Horacio Gonzalez
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3 ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3 Horacio Gonzalez
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidementHoracio Gonzalez
 
Panel de solutions javascript
Panel de solutions javascriptPanel de solutions javascript
Panel de solutions javascriptjp_mouton
 
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...SEO CAMP
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...mbrechet
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
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
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Luc Juggery
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1Horacio Gonzalez
 
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...Alexis Kinsella
 
Saas Libre
Saas LibreSaas Libre
Saas Libregrolland
 
Automatisation des gestionnaires de contenus (CMS)
Automatisation des gestionnaires de contenus (CMS)Automatisation des gestionnaires de contenus (CMS)
Automatisation des gestionnaires de contenus (CMS)Christophe Villeneuve
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBContent Square
 
Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022
Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022
Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022Adrien Russo
 
Webinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft IntelWebinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft Inteldavrous
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousjwajsberg
 

Similar a HapiJS - BrestJS - S00E01 (20)

Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !Enib   cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
Enib cours c.a.i. web - séance #5 - j’ai besoin d’une appli web rapidement !
 
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidementENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
ENIB 2013-2014 - CAI Web #3: J’ai besoin d’une appli web rapidement
 
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3 ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
 
FinistJUG - J’ai besoin d’une appli web rapidement
FinistJUG -   J’ai besoin d’une appli web rapidementFinistJUG -   J’ai besoin d’une appli web rapidement
FinistJUG - J’ai besoin d’une appli web rapidement
 
Panel de solutions javascript
Panel de solutions javascriptPanel de solutions javascript
Panel de solutions javascript
 
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
SEO & Javascript en 2021 : Challenger les acquis - Alexandre Pinat - SEO CAMP...
 
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...Gulp fiction, Builder, tester, livrer, sans tomber dans les poms  - breizhcam...
Gulp fiction, Builder, tester, livrer, sans tomber dans les poms - breizhcam...
 
HTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilitéHTML5, Spring, NoSQL et mobilité
HTML5, Spring, NoSQL et mobilité
 
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
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1
 
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
 
Saas Libre
Saas LibreSaas Libre
Saas Libre
 
Automatisation des gestionnaires de contenus (CMS)
Automatisation des gestionnaires de contenus (CMS)Automatisation des gestionnaires de contenus (CMS)
Automatisation des gestionnaires de contenus (CMS)
 
Toutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDBToutes les raisons d'adopter MongoDB
Toutes les raisons d'adopter MongoDB
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022
Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022
Maitriser le SEO d'un site JavaScript - SEO Campus Paris 2022
 
Webinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft IntelWebinar HTML5 Microsoft Intel
Webinar HTML5 Microsoft Intel
 
Les performances Web mobile
Les performances Web mobileLes performances Web mobile
Les performances Web mobile
 
Responsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tousResponsible Design ou Le web moderne à destination de tous
Responsible Design ou Le web moderne à destination de tous
 

HapiJS - BrestJS - S00E01