Download - NodeJs in real life
![Page 1: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/1.jpg)
NodeJS in real life !@wleloutre
![Page 2: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/2.jpg)
Qu’est-ce que la vraie vie ?concevoir des sites web ? des applications ?
![Page 3: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/3.jpg)
#Intro Mon expérience avec Javascript,
comme intégrateur web
![Page 4: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/4.jpg)
• 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, …)
![Page 5: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/5.jpg)
Et après ? NodeJs ? Tout le monde me dit que c’est LA solution ultime en JS
![Page 6: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/6.jpg)
Encore un outil de dev…Il y en a vraiment trop, que faire ?
![Page 7: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/7.jpg)
De quoi ai-je besoin ?Des meilleurs outils qu’il puisse exister ?
![Page 8: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/8.jpg)
Pour quel type de projet ?Software, middleware, Hardware ?
![Page 9: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/9.jpg)
Un peu tout ça en même temps !Comment suivre toutes ces technologies ?
![Page 10: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/10.jpg)
Je suis <multitâches>Il me faut une technologie qui couvre mes besoins
dans la vraie vie !
![Page 11: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/11.jpg)
Quoi ? NodeJS est LA solution ?Pour travailler en front-back, sur tout type d’architecture…
![Page 12: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/12.jpg)
Moi perso mon truc…C’est les CMS ! (enfin ça dépend hein !)
![Page 13: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/13.jpg)
Comment intégrer NodeJsDans mon CMS préféré ?
![Page 14: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/14.jpg)
Mieux ! Et pourquoi pas un CMS Full JS propulsé par NodeJs ?
![Page 15: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/15.jpg)
Google recherche CMS NodeJS…\O/
![Page 16: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/16.jpg)
Go ?
![Page 17: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/17.jpg)
Simple, léger, …Ok je prend ça pour mon blog perso !
![Page 18: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/18.jpg)
Une minuteEn local ça va mais, NodeJs est-il compatible
avec mon hébergement mutalisé ?
![Page 19: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/19.jpg)
• npm start
• # ghost running
• Exit terminal / Exit SSH
• # bye bye ghost :(
![Page 20: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/20.jpg)
Un CMS full NodeJSNécessite d’être démarré en tant que service.
![Page 21: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/21.jpg)
Ok sans serveur dédié c’est compliquéEt pour déclarer un domaine il faudra déclarer Nginx
en tant que reverse proxy
![Page 22: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/22.jpg)
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 ?
![Page 23: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/23.jpg)
#WTFBeaucoup 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.
![Page 24: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/24.jpg)
Ghost, utilise une base de données SQLite, et stock ses images le répertoire principal
« content »
![Page 25: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/25.jpg)
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
![Page 28: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/28.jpg)
Hum.. chez AmazonIl y a des instances serveur « Ghost Ready »
![Page 29: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/29.jpg)
It Works ! Ok ça fonctionne, et après ?
![Page 30: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/30.jpg)
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 !
![Page 31: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/31.jpg)
Node + Express JS + Jade+ tous vos frameworks préférés.
![Page 32: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/32.jpg)
Mon App From Scratchnpm 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)
![Page 33: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/33.jpg)
Config port, views, engine www & app.js
app.set('port', process.env.PORT || 3000) app.set('views', __dirname + ‘/views');
app.set('view engine', 'jade');
![Page 34: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/34.jpg)
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
![Page 35: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/35.jpg)
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, …
![Page 36: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/36.jpg)
Minecraft Server ManagerContrôler vos serveurs Minecraft depuis une web app
https://github.com/joe-zim-javascript-blog/ButlerBoss
![Page 37: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/37.jpg)
OpenZwave + NodeJS + Raspberry PiLes ingrédients pour développer sa box domotique ?
https://github.com/jperkin/node-openzwave
![Page 38: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/38.jpg)
Pour vos objets connectésUn microcontrolleur NodeJS compatible !
https://github.com/tessel
![Page 39: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/39.jpg)
J’adoooore les robots !Du JS + des écrous = Mon NodeBot
https://github.com/rwaldron/johnny-five
![Page 40: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/40.jpg)
…Alors que faisons-nous ?
![Page 41: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/41.jpg)
Pour vous je ne sais pasMais moi, je vais concentrer mes efforts sur cette
technologie qui couvre tous mes besoins, dans la vraie vie.
![Page 42: NodeJs in real life](https://reader031.vdocuments.net/reader031/viewer/2022020101/55617e93d8b42a98268b5239/html5/thumbnails/42.jpg)
…
Merci :)