SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
NodeJS in real life ! 
@wleloutre
Qu’est-ce que la vraie vie ? 
concevoir des sites web ? des applications ?
#Intro 
Mon expérience avec Javascript, 
comme intégrateur web
• Premiers pas avec notre ami à tous jQuery ! 
• Basculement vers une méthode « VanillaJS » 
• Création d’apps hybrides via Cordova 
• Apprentissage & Expérimentation des API 
HTML5 web storage, Offline web application, … 
• Utilisation des Nodes Modules pour mon 
Workflow (Grunt, Bower, Yeoman, …)
Et après ? NodeJs ? 
Tout le monde me dit que c’est LA solution ultime en JS
Encore un outil de dev… 
Il y en a vraiment trop, que faire ?
De quoi ai-je besoin ? 
Des meilleurs outils qu’il puisse exister ?
Pour quel type de projet ? 
Software, middleware, Hardware ?
Un peu tout ça en même temps ! 
Comment suivre toutes ces technologies ?
Je suis <multitâches> 
Il me faut une technologie qui couvre mes besoins 
dans la vraie vie !
Quoi ? NodeJS est LA solution ? 
Pour travailler en front-back, sur tout type d’architecture…
Moi perso mon truc… 
C’est les CMS ! (enfin ça dépend hein !)
Comment intégrer NodeJs 
Dans mon CMS préféré ?
Mieux ! 
Et pourquoi pas un CMS Full JS propulsé par NodeJs ?
Google recherche CMS NodeJS… 
O/
Go ?
Simple, léger, … 
Ok je prend ça pour mon blog perso !
Une minute 
En local ça va mais, NodeJs est-il compatible 
avec mon hébergement mutalisé ?
• npm start 
• # ghost running 
• Exit terminal / Exit SSH 
• # bye bye ghost :(
Un CMS full NodeJS 
Nécessite d’être démarré en tant que service.
Ok sans serveur dédié c’est compliqué 
Et pour déclarer un domaine il faudra déclarer Nginx 
en tant que reverse proxy
Je le met où mon Node ? 
• https://www.nodejitsu.com/ 
• ttps://www.heroku.com/ 
• https://modulus.io/ 
• http://nodejs-cloud.com/fr/ 
• https://www.openshift.com/ 
• https://www.appfog.com/ 
• DTC ?
#WTF 
Beaucoup d'hébergements spécifiques à Node, tels que Nodejitsu et Heroku 
ne sont "PAS" compatibles avec Ghost. Ils fonctionneront dans un premier 
temps, mais supprimeront des fichiers et toutes les images envoyées et votre 
base de données vont disparaître. Heroku supporte MySQL et il vous est 
possible de l'utiliser, mais vous perdrez quand même les images envoyées.
Ghost, utilise une base de données SQLite, 
et stock ses images le répertoire principal 
« content »
Avec NodeJitsu, la solution est de synchroniser 
tous les fichiers du repertoire « content » vers 
MongoDB - GridFS * 
https://github.com/nodejitsu/persistent-ghost 
* Utilitaires de stockage et lecture de fichiers dans la base de données
Bon c’est bien compliqué, alors que… 
aws.amazon.com
AWS Simple Calculator !
Hum.. chez Amazon 
Il y a des instances serveur « Ghost Ready »
It Works ! 
Ok ça fonctionne, et après ?
Et après, … 
Bon ok je vous ai menti, je préfère démarrer mes projets 
« from scratch », les CMS j’en ai marre !
Node + Express JS + Jade 
+ tous vos frameworks préférés.
Mon App From Scratch 
npm install -g express 
express Express_demo 
• app.js (le coeur de votre application) 
• Deux vues Jade (le layout et la vue index) 
• Un dossier public (pour les fichiers statiques : js, 
css, et les images) 
• Un dossier node_modules (c’est dans ce dossier 
que sont installés les modules) 
• Un dossier routes (afin de pouvoir lier les requêtes 
aux vues) 
• Le package.json (qui est toujours à la racine du 
projet, il permet entres autre de connaitre les 
dépendances de l’application)
Config port, views, engine 
www & app.js 
app.set('port', process.env.PORT || 3000) 
app.set('views', __dirname + ‘/views'); 
app.set('view engine', 'jade');
Jade Kézako ? 
• Un moteur de template inspiré par HAML 
• Donc un markup simplifié 
• Un suport natif des Include, Extends et des Block 
• Des Var, statements, loops, mixin
Et après, … 
Dans la vraie vie, je joue aux jeux vidéos, j’ai un Raspberry Pi ! 
Et j’aime le middleware, le hardware, la robotique, …
https://github.com/joe-zim-javascript-blog/ButlerBoss 
Minecraft Server Manager 
Contrôler vos serveurs Minecraft depuis une web app
https://github.com/jperkin/node-openzwave 
OpenZwave + NodeJS + Raspberry Pi 
Les ingrédients pour développer sa box domotique ?
https://github.com/tessel 
Pour vos objets connectés 
Un microcontrolleur NodeJS compatible !
https://github.com/rwaldron/johnny-five 
J’adoooore les robots ! 
Du JS + des écrous = Mon NodeBot
… 
Alors que faisons-nous ?
Pour vous je ne sais pas 
Mais moi, je vais concentrer mes efforts sur cette 
technologie qui couvre tous mes besoins, dans la vraie vie.
Merci :) 
…

Contenu connexe

Tendances

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
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejsnaholyr
 
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
 
WebHookIt @parisjs #4
WebHookIt @parisjs #4WebHookIt @parisjs #4
WebHookIt @parisjs #4Eric Abouaf
 
Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Yves-Emmanuel Jutard
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ? haricot
 
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
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en JavascriptBenoit Zohar
 
Talk LyonJS FranzP - Emscripten et asm.js
Talk LyonJS FranzP - Emscripten et asm.jsTalk LyonJS FranzP - Emscripten et asm.js
Talk LyonJS FranzP - Emscripten et asm.jsFrançois Poizat
 
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.
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoosejeromegn
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Eric D.
 
JavaScript dans l'usine logicielle
JavaScript dans l'usine logicielleJavaScript dans l'usine logicielle
JavaScript dans l'usine logiciellejollivetc
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005Eric D.
 
ça marchait pourtant en dev
ça marchait pourtant en devça marchait pourtant en dev
ça marchait pourtant en devOlivier Doucet
 
2014 applications web sur Azure
2014 applications web sur Azure2014 applications web sur Azure
2014 applications web sur AzureJulien Plée
 
Electron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDElectron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDLa Cuisine du Web
 

Tendances (20)

Introduction à Node.js
Introduction à Node.js Introduction à Node.js
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
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejs
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 
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...
 
WebHookIt @parisjs #4
WebHookIt @parisjs #4WebHookIt @parisjs #4
WebHookIt @parisjs #4
 
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
 
Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014
 
Un site web rapide ?
Un site web rapide ? Un site web rapide ?
Un site web rapide ?
 
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
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en Javascript
 
Talk LyonJS FranzP - Emscripten et asm.js
Talk LyonJS FranzP - Emscripten et asm.jsTalk LyonJS FranzP - Emscripten et asm.js
Talk LyonJS FranzP - Emscripten et asm.js
 
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
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006Introduction à Rails - Paris on Rails 2006
Introduction à Rails - Paris on Rails 2006
 
JavaScript dans l'usine logicielle
JavaScript dans l'usine logicielleJavaScript dans l'usine logicielle
JavaScript dans l'usine logicielle
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
ça marchait pourtant en dev
ça marchait pourtant en devça marchait pourtant en dev
ça marchait pourtant en dev
 
2014 applications web sur Azure
2014 applications web sur Azure2014 applications web sur Azure
2014 applications web sur Azure
 
Electron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARDElectron, une alternative intéressante ? par Florent MOIGNARD
Electron, une alternative intéressante ? par Florent MOIGNARD
 

En vedette

RESTful API - Retour d'expérience
RESTful API - Retour d'expérienceRESTful API - Retour d'expérience
RESTful API - Retour d'expérienceChristophe Laprun
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?OVHcloud
 
Couleur jardin en seine et marne du 30 mai au 28 juin 2015
Couleur jardin en seine et marne du 30 mai au 28 juin 2015Couleur jardin en seine et marne du 30 mai au 28 juin 2015
Couleur jardin en seine et marne du 30 mai au 28 juin 2015Seine-et Marne Infos
 
Press book reusir ses projets
Press book reusir ses projetsPress book reusir ses projets
Press book reusir ses projetsAurélien Ferry
 
Syllabs aux rencontres du lab e-commerce
Syllabs aux rencontres du lab e-commerceSyllabs aux rencontres du lab e-commerce
Syllabs aux rencontres du lab e-commerceChristophe Tricot
 
Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...
Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...
Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...Stanleylucas
 
HAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERT
HAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERTHAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERT
HAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERTStanleylucas
 
Les animations du crips auprès de jeunes handicapés
Les animations du crips auprès de jeunes handicapésLes animations du crips auprès de jeunes handicapés
Les animations du crips auprès de jeunes handicapésCripsIDF
 
Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...
Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...
Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...valéry ridde
 
Etude CXP 2014
Etude CXP 2014Etude CXP 2014
Etude CXP 2014ESKER
 
La presse au cdi, liens vers les sites 2012 2013
La presse au cdi, liens vers les sites 2012 2013La presse au cdi, liens vers les sites 2012 2013
La presse au cdi, liens vers les sites 2012 2013guillemincolbert56
 
Impact des mutuelles de santé au Benin
Impact des mutuelles de santé au BeninImpact des mutuelles de santé au Benin
Impact des mutuelles de santé au Beninvaléry ridde
 
Vivre avec le VIH en France en 2011
Vivre avec le VIH en France en 2011Vivre avec le VIH en France en 2011
Vivre avec le VIH en France en 2011CripsIDF
 
Les carrières et l'informatique
Les carrières et l'informatiqueLes carrières et l'informatique
Les carrières et l'informatiquemonheb0278
 

En vedette (20)

Le HTML5 & les API
Le HTML5 & les APILe HTML5 & les API
Le HTML5 & les API
 
RESTful API - Retour d'expérience
RESTful API - Retour d'expérienceRESTful API - Retour d'expérience
RESTful API - Retour d'expérience
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
 
Api presentation
Api presentationApi presentation
Api presentation
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Couleur jardin en seine et marne du 30 mai au 28 juin 2015
Couleur jardin en seine et marne du 30 mai au 28 juin 2015Couleur jardin en seine et marne du 30 mai au 28 juin 2015
Couleur jardin en seine et marne du 30 mai au 28 juin 2015
 
Comment réaliser un panneau
Comment réaliser un panneauComment réaliser un panneau
Comment réaliser un panneau
 
Press book reusir ses projets
Press book reusir ses projetsPress book reusir ses projets
Press book reusir ses projets
 
Syllabs aux rencontres du lab e-commerce
Syllabs aux rencontres du lab e-commerceSyllabs aux rencontres du lab e-commerce
Syllabs aux rencontres du lab e-commerce
 
Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...
Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...
Haiti-Elections: 3332 proces verbaux manquants et impact sur les resultats de...
 
HAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERT
HAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERTHAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERT
HAITI: TEMOIGNAGE SHERLSON SANON CONTRE JOSEPH LAMBERT
 
Les animations du crips auprès de jeunes handicapés
Les animations du crips auprès de jeunes handicapésLes animations du crips auprès de jeunes handicapés
Les animations du crips auprès de jeunes handicapés
 
Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...
Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...
Recherche Action sur la pertinence d’un SVI gratuit pour améliorer la gouvern...
 
Etude CXP 2014
Etude CXP 2014Etude CXP 2014
Etude CXP 2014
 
La presse au cdi, liens vers les sites 2012 2013
La presse au cdi, liens vers les sites 2012 2013La presse au cdi, liens vers les sites 2012 2013
La presse au cdi, liens vers les sites 2012 2013
 
Tableaux peintres russes_1
Tableaux peintres russes_1Tableaux peintres russes_1
Tableaux peintres russes_1
 
Impact des mutuelles de santé au Benin
Impact des mutuelles de santé au BeninImpact des mutuelles de santé au Benin
Impact des mutuelles de santé au Benin
 
Vivre avec le VIH en France en 2011
Vivre avec le VIH en France en 2011Vivre avec le VIH en France en 2011
Vivre avec le VIH en France en 2011
 
Les carrières et l'informatique
Les carrières et l'informatiqueLes carrières et l'informatique
Les carrières et l'informatique
 
чтение Simulateur
чтение Simulateurчтение Simulateur
чтение Simulateur
 

Similaire à NodeJs in real life

Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
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
 
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
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projetjollivetc
 
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
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?Frédéric Harper
 
L'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsL'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsThomas Bassetto
 
Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Yannick Comte
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & toolsSlim Soussi
 
Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Alexandre Marie
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System SARL
 

Similaire à NodeJs in real life (20)

Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Native script
Native scriptNative script
Native script
 
Introduction à node.js
Introduction à node.js Introduction à node.js
Introduction à 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?
 
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
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
 
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
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 
MGD Html5 pres fr
MGD Html5 pres frMGD Html5 pres fr
MGD Html5 pres fr
 
HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?HTML5 et Internet Explorer 9, est-ce réellement compatible?
HTML5 et Internet Explorer 9, est-ce réellement compatible?
 
L'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsL'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objets
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
 
Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018Les nouveautés d'Unity 2018
Les nouveautés d'Unity 2018
 
Javascript & tools
Javascript & toolsJavascript & tools
Javascript & tools
 
Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 

Plus de Willy Leloutre

Il était une fois le Marketing digital
Il était une fois le Marketing digitalIl était une fois le Marketing digital
Il était une fois le Marketing digitalWilly Leloutre
 
Numérique et médiation handicap
Numérique et médiation handicapNumérique et médiation handicap
Numérique et médiation handicapWilly Leloutre
 
Le Web Offline & les APIs de contrôle Javascript
Le Web Offline & les APIs de contrôle JavascriptLe Web Offline & les APIs de contrôle Javascript
Le Web Offline & les APIs de contrôle JavascriptWilly Leloutre
 
L’accessibilité web pour les organismes publics
L’accessibilité web pour les organismes publicsL’accessibilité web pour les organismes publics
L’accessibilité web pour les organismes publicsWilly Leloutre
 
Les nouvelles perspectives SEO - E-marketing en 2013
Les nouvelles perspectives SEO - E-marketing en 2013Les nouvelles perspectives SEO - E-marketing en 2013
Les nouvelles perspectives SEO - E-marketing en 2013Willy Leloutre
 
Performances Web Mobile
Performances Web MobilePerformances Web Mobile
Performances Web MobileWilly Leloutre
 

Plus de Willy Leloutre (6)

Il était une fois le Marketing digital
Il était une fois le Marketing digitalIl était une fois le Marketing digital
Il était une fois le Marketing digital
 
Numérique et médiation handicap
Numérique et médiation handicapNumérique et médiation handicap
Numérique et médiation handicap
 
Le Web Offline & les APIs de contrôle Javascript
Le Web Offline & les APIs de contrôle JavascriptLe Web Offline & les APIs de contrôle Javascript
Le Web Offline & les APIs de contrôle Javascript
 
L’accessibilité web pour les organismes publics
L’accessibilité web pour les organismes publicsL’accessibilité web pour les organismes publics
L’accessibilité web pour les organismes publics
 
Les nouvelles perspectives SEO - E-marketing en 2013
Les nouvelles perspectives SEO - E-marketing en 2013Les nouvelles perspectives SEO - E-marketing en 2013
Les nouvelles perspectives SEO - E-marketing en 2013
 
Performances Web Mobile
Performances Web MobilePerformances Web Mobile
Performances Web Mobile
 

NodeJs in real life

  • 1. NodeJS in real life ! @wleloutre
  • 2. Qu’est-ce que la vraie vie ? concevoir des sites web ? des applications ?
  • 3. #Intro Mon expérience avec Javascript, comme intégrateur web
  • 4. • Premiers pas avec notre ami à tous jQuery ! • Basculement vers une méthode « VanillaJS » • Création d’apps hybrides via Cordova • Apprentissage & Expérimentation des API HTML5 web storage, Offline web application, … • Utilisation des Nodes Modules pour mon Workflow (Grunt, Bower, Yeoman, …)
  • 5. Et après ? NodeJs ? Tout le monde me dit que c’est LA solution ultime en JS
  • 6. Encore un outil de dev… Il y en a vraiment trop, que faire ?
  • 7. De quoi ai-je besoin ? Des meilleurs outils qu’il puisse exister ?
  • 8. Pour quel type de projet ? Software, middleware, Hardware ?
  • 9. Un peu tout ça en même temps ! Comment suivre toutes ces technologies ?
  • 10. Je suis <multitâches> Il me faut une technologie qui couvre mes besoins dans la vraie vie !
  • 11. Quoi ? NodeJS est LA solution ? Pour travailler en front-back, sur tout type d’architecture…
  • 12. Moi perso mon truc… C’est les CMS ! (enfin ça dépend hein !)
  • 13. Comment intégrer NodeJs Dans mon CMS préféré ?
  • 14. Mieux ! Et pourquoi pas un CMS Full JS propulsé par NodeJs ?
  • 15. Google recherche CMS NodeJS… O/
  • 16. Go ?
  • 17. Simple, léger, … Ok je prend ça pour mon blog perso !
  • 18. Une minute En local ça va mais, NodeJs est-il compatible avec mon hébergement mutalisé ?
  • 19. • npm start • # ghost running • Exit terminal / Exit SSH • # bye bye ghost :(
  • 20. Un CMS full NodeJS Nécessite d’être démarré en tant que service.
  • 21. Ok sans serveur dédié c’est compliqué Et pour déclarer un domaine il faudra déclarer Nginx en tant que reverse proxy
  • 22. Je le met où mon Node ? • https://www.nodejitsu.com/ • ttps://www.heroku.com/ • https://modulus.io/ • http://nodejs-cloud.com/fr/ • https://www.openshift.com/ • https://www.appfog.com/ • DTC ?
  • 23. #WTF Beaucoup d'hébergements spécifiques à Node, tels que Nodejitsu et Heroku ne sont "PAS" compatibles avec Ghost. Ils fonctionneront dans un premier temps, mais supprimeront des fichiers et toutes les images envoyées et votre base de données vont disparaître. Heroku supporte MySQL et il vous est possible de l'utiliser, mais vous perdrez quand même les images envoyées.
  • 24. Ghost, utilise une base de données SQLite, et stock ses images le répertoire principal « content »
  • 25. Avec NodeJitsu, la solution est de synchroniser tous les fichiers du repertoire « content » vers MongoDB - GridFS * https://github.com/nodejitsu/persistent-ghost * Utilitaires de stockage et lecture de fichiers dans la base de données
  • 26. Bon c’est bien compliqué, alors que… aws.amazon.com
  • 28. Hum.. chez Amazon Il y a des instances serveur « Ghost Ready »
  • 29. It Works ! Ok ça fonctionne, et après ?
  • 30. Et après, … Bon ok je vous ai menti, je préfère démarrer mes projets « from scratch », les CMS j’en ai marre !
  • 31. Node + Express JS + Jade + tous vos frameworks préférés.
  • 32. Mon App From Scratch npm install -g express express Express_demo • app.js (le coeur de votre application) • Deux vues Jade (le layout et la vue index) • Un dossier public (pour les fichiers statiques : js, css, et les images) • Un dossier node_modules (c’est dans ce dossier que sont installés les modules) • Un dossier routes (afin de pouvoir lier les requêtes aux vues) • Le package.json (qui est toujours à la racine du projet, il permet entres autre de connaitre les dépendances de l’application)
  • 33. Config port, views, engine www & app.js app.set('port', process.env.PORT || 3000) app.set('views', __dirname + ‘/views'); app.set('view engine', 'jade');
  • 34. Jade Kézako ? • Un moteur de template inspiré par HAML • Donc un markup simplifié • Un suport natif des Include, Extends et des Block • Des Var, statements, loops, mixin
  • 35. Et après, … Dans la vraie vie, je joue aux jeux vidéos, j’ai un Raspberry Pi ! Et j’aime le middleware, le hardware, la robotique, …
  • 36. https://github.com/joe-zim-javascript-blog/ButlerBoss Minecraft Server Manager Contrôler vos serveurs Minecraft depuis une web app
  • 37. https://github.com/jperkin/node-openzwave OpenZwave + NodeJS + Raspberry Pi Les ingrédients pour développer sa box domotique ?
  • 38. https://github.com/tessel Pour vos objets connectés Un microcontrolleur NodeJS compatible !
  • 39. https://github.com/rwaldron/johnny-five J’adoooore les robots ! Du JS + des écrous = Mon NodeBot
  • 40. … Alors que faisons-nous ?
  • 41. Pour vous je ne sais pas Mais moi, je vais concentrer mes efforts sur cette technologie qui couvre tous mes besoins, dans la vraie vie.