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