NodeJs in real life

3 391 vues

Publié le

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)

Publié dans : Technologie
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 391
Sur SlideShare
0
Issues des intégrations
0
Intégrations
22
Actions
Partages
0
Téléchargements
25
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

NodeJs in real life

  1. 1. NodeJS in real life ! @wleloutre
  2. 2. Qu’est-ce que la vraie vie ? concevoir des sites web ? des applications ?
  3. 3. #Intro Mon expérience avec Javascript, comme intégrateur web
  4. 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. 5. Et après ? NodeJs ? Tout le monde me dit que c’est LA solution ultime en JS
  6. 6. Encore un outil de dev… Il y en a vraiment trop, que faire ?
  7. 7. De quoi ai-je besoin ? Des meilleurs outils qu’il puisse exister ?
  8. 8. Pour quel type de projet ? Software, middleware, Hardware ?
  9. 9. Un peu tout ça en même temps ! Comment suivre toutes ces technologies ?
  10. 10. Je suis <multitâches> Il me faut une technologie qui couvre mes besoins dans la vraie vie !
  11. 11. Quoi ? NodeJS est LA solution ? Pour travailler en front-back, sur tout type d’architecture…
  12. 12. Moi perso mon truc… C’est les CMS ! (enfin ça dépend hein !)
  13. 13. Comment intégrer NodeJs Dans mon CMS préféré ?
  14. 14. Mieux ! Et pourquoi pas un CMS Full JS propulsé par NodeJs ?
  15. 15. Google recherche CMS NodeJS… O/
  16. 16. Go ?
  17. 17. Simple, léger, … Ok je prend ça pour mon blog perso !
  18. 18. Une minute En local ça va mais, NodeJs est-il compatible avec mon hébergement mutalisé ?
  19. 19. • npm start • # ghost running • Exit terminal / Exit SSH • # bye bye ghost :(
  20. 20. Un CMS full NodeJS Nécessite d’être démarré en tant que service.
  21. 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. 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. 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. 24. Ghost, utilise une base de données SQLite, et stock ses images le répertoire principal « content »
  25. 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. 26. Bon c’est bien compliqué, alors que… aws.amazon.com
  27. 27. AWS Simple Calculator !
  28. 28. Hum.. chez Amazon Il y a des instances serveur « Ghost Ready »
  29. 29. It Works ! Ok ça fonctionne, et après ?
  30. 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. 31. Node + Express JS + Jade + tous vos frameworks préférés.
  32. 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. 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. 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. 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. 36. https://github.com/joe-zim-javascript-blog/ButlerBoss Minecraft Server Manager Contrôler vos serveurs Minecraft depuis une web app
  37. 37. https://github.com/jperkin/node-openzwave OpenZwave + NodeJS + Raspberry Pi Les ingrédients pour développer sa box domotique ?
  38. 38. https://github.com/tessel Pour vos objets connectés Un microcontrolleur NodeJS compatible !
  39. 39. https://github.com/rwaldron/johnny-five J’adoooore les robots ! Du JS + des écrous = Mon NodeBot
  40. 40. … Alors que faisons-nous ?
  41. 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.
  42. 42. Merci :) …

×