Créer, Pousser et Lancer un serveur RESTful en 10 min.
-
Upload
anthony-faucogney -
Category
Software
-
view
230 -
download
0
Transcript of Créer, Pousser et Lancer un serveur RESTful en 10 min.
MilleZimU
MilleZimU
Créer, Pousser, Lancer un Serveur RESTful
Le temps d’un Human Talk LAVAL, le 10 Mars 2015
Anthony FAUCOGNEY
Fondateur Startup MilleZimU
[email protected] @afaucogney
MilleZimU
Prérequis
§ InstallaRon de la toolbox § GIT § CLI Heroku § StrongLoop § CLI Mongo (OpRonnel)
§ Compte § Heroku § MongoLab (base mongo créée)
MilleZimU
Contenu
§ Un serveur RESTFul § NodeJS § 100% RESTful § Hébergé sur Heroku § Avec une base MongoDB sur MongoLab § De l’authenRficaRon (donc des droits d'accès) § Un Modèle
§ Talk § Talker § Des RelaRons entre modèles
§ Une interface de test pour l’API
MilleZimU
Loopback.io
§ CréaRon de l'App § slc loopback
§ Une App § slc loopback:model
§ Un modèle § Talk
§ Des propriétés § Name (R) § Date (R) § Abstract (R)
MilleZimU
On ajoute un Model
§ Talker dérivé de User § slc loopback:model
§ Un modèle § Talker
§ Pas de propriété supplémentaire § Idem User
MilleZimU
On gére les Droits
§ Pour Talkers § slc loopback:acl
§ Droit en Lecture § Tout URlisateur AuthenRfié
§ Pour User § model-‐config.js
§ Private sur l’API REST
MilleZimU
§ On installe un connecteur MongoDB : § npm i -‐-‐save loopback-‐connector-‐mongodb
§ On créer un dataSource : § slc loopback:datasource
§ On le configure : "humantalk": { "name": "humantalk", "url": "mongodb://anthony:[email protected]:37571/humantalk", "connector": "mongodb" }
MongoDB, mare de...
MilleZimU
Connexion des modèles a MongoDB
model-‐config.js
"Talk": { "dataSource": "humantalk", "public": true }, "Talker": { "dataSource": "humantalk", "public": true }
MilleZimU
On ajoute une RelaRon
§ slc loopback:relaRon
Talkers HasMany Talks model-‐config.js
"talks": { "type": "hasMany", "model": "Talk", "foreignKey": "talkerId" }
MilleZimU
Do You Git ?
§ git init
§ git add .
§ git rm –r node_modules
§ git commit –am”ca y est, on commence”
MilleZimU
Un Heroku Dyno à la Volée !!!
§ On se logue § heroku login
§ CréaRon d’un App § heroku create humantalklaval
§ On pousse fort ! § git push heroku master
§ On ajoute une unité de calcul : dyno § heroku ps § heroku ps:scale web=1
MilleZimU
Un Procfile pour lancer le fichier
§ Procfile § web: node ./server/server
§ git add Procfile § git commit –am “add procfile” § git push heroku master § heroku open
MilleZimU
Ajout d’un Talk
{ "name": "RESTMD10", "date": "2015-‐02-‐27", "abstract": "Blabla", "talkerId": “….." }