nodejs in real life

Post on 24-May-2015

1.513 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

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 NodeJsDans 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 minuteEn 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 NodeJSNé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 ?

#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.

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 AmazonIl 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 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)

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, …

Minecraft Server ManagerContrôler vos serveurs Minecraft depuis une web app

https://github.com/joe-zim-javascript-blog/ButlerBoss

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

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

Pour vos objets connectésUn microcontrolleur NodeJS compatible !

https://github.com/tessel

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

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

…Alors que faisons-nous ?

Pour vous je ne sais pasMais moi, je vais concentrer mes efforts sur cette

technologie qui couvre tous mes besoins, dans la vraie vie.

Merci :)

top related