nodejs in real life

42
NodeJS in real life ! @wleloutre

Upload: willy-leloutre

Post on 24-May-2015

1.513 views

Category:

Technology


0 download

DESCRIPTION

Dans la vraie vie, (nous) développeurs, devons maîtriser un grand nombres de langages, pour le frontend, le backend, nous devons produire parfois très rapidement, sur des infrastructures non adaptées, trop peu performantes pour accueillir nos bons vieux CMS ! Voyons comment NodeJS, peut nous aider (dans la vraie vie)

TRANSCRIPT

Page 1: NodeJs in real life

NodeJS in real life !@wleloutre

Page 2: NodeJs in real life

Qu’est-ce que la vraie vie ?concevoir des sites web ? des applications ?

Page 3: NodeJs in real life

#Intro Mon expérience avec Javascript,

comme intégrateur web

Page 4: NodeJs in real life

• 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

Et après ? NodeJs ? Tout le monde me dit que c’est LA solution ultime en JS

Page 6: NodeJs in real life

Encore un outil de dev…Il y en a vraiment trop, que faire ?

Page 7: NodeJs in real life

De quoi ai-je besoin ?Des meilleurs outils qu’il puisse exister ?

Page 8: NodeJs in real life

Pour quel type de projet ?Software, middleware, Hardware ?

Page 9: NodeJs in real life

Un peu tout ça en même temps !Comment suivre toutes ces technologies ?

Page 10: NodeJs in real life

Je suis <multitâches>Il me faut une technologie qui couvre mes besoins

dans la vraie vie !

Page 11: NodeJs in real life

Quoi ? NodeJS est LA solution ?Pour travailler en front-back, sur tout type d’architecture…

Page 12: NodeJs in real life

Moi perso mon truc…C’est les CMS ! (enfin ça dépend hein !)

Page 13: NodeJs in real life

Comment intégrer NodeJsDans mon CMS préféré ?

Page 14: NodeJs in real life

Mieux ! Et pourquoi pas un CMS Full JS propulsé par NodeJs ?

Page 15: NodeJs in real life

Google recherche CMS NodeJS…\O/

Page 16: NodeJs in real life

Go ?

Page 17: NodeJs in real life

Simple, léger, …Ok je prend ça pour mon blog perso !

Page 18: NodeJs in real life

Une minuteEn local ça va mais, NodeJs est-il compatible

avec mon hébergement mutalisé ?

Page 19: NodeJs in real life

• npm start

• # ghost running

• Exit terminal / Exit SSH

• # bye bye ghost :(

Page 20: NodeJs in real life

Un CMS full NodeJSNécessite d’être démarré en tant que service.

Page 21: NodeJs in real life

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

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

#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

Ghost, utilise une base de données SQLite, et stock ses images le répertoire principal

« content »

Page 25: NodeJs in real life

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 26: NodeJs in real life

Bon c’est bien compliqué, alors que…aws.amazon.com

Page 27: NodeJs in real life

AWS Simple Calculator !

Page 28: NodeJs in real life

Hum.. chez AmazonIl y a des instances serveur « Ghost Ready »

Page 29: NodeJs in real life

It Works ! Ok ça fonctionne, et après ?

Page 30: NodeJs in real life

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

Node + Express JS + Jade+ tous vos frameworks préférés.

Page 32: NodeJs in real life

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

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

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

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

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

OpenZwave + NodeJS + Raspberry PiLes ingrédients pour développer sa box domotique ?

https://github.com/jperkin/node-openzwave

Page 38: NodeJs in real life

Pour vos objets connectésUn microcontrolleur NodeJS compatible !

https://github.com/tessel

Page 39: NodeJs in real life

J’adoooore les robots !Du JS + des écrous = Mon NodeBot

https://github.com/rwaldron/johnny-five

Page 40: NodeJs in real life

…Alors que faisons-nous ?

Page 41: NodeJs in real life

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

Merci :)