MilleZimU	
  
MilleZimU	
  
Créer,	
  Pousser,	
  Lancer	
  	
  
un	
  Serveur	
  RESTful	
  
Le	
  temps	
  d’un	
  Human...
MilleZimU	
  
Prérequis	
  
§  InstallaRon	
  de	
  la	
  toolbox	
  
§  GIT	
  
§  CLI	
  Heroku	
  
§  StrongLoop	
 ...
MilleZimU	
  
Contenu	
  
§  Un	
  serveur	
  RESTFul	
  
§  NodeJS	
  
§  100%	
  RESTful	
  
§  Hébergé	
  sur	
  He...
MilleZimU	
  
NodeJS	
  
MilleZimU	
  
MongoDB	
  
MilleZimU	
  
LoopBack	
  
MilleZimU	
  
Loopback.io	
  
§  CréaRon	
  de	
  l'App	
  
§  slc	
  loopback	
  
§  Une	
  App	
  
§  slc	
  loopbac...
MilleZimU	
  
Loopback	
  Explorer	
  
MilleZimU	
  
Loopback	
  Explorer	
  
§  Jouer/Tester	
  son	
  API	
  
§  npm	
  i	
  	
  -­‐-­‐save	
  loopback-­‐exp...
MilleZimU	
  
On	
  ajoute	
  un	
  Model	
  
§  Talker	
  dérivé	
  de	
  User	
  
§  slc	
  loopback:model	
  
§  Un	...
MilleZimU	
  
On	
  gére	
  les	
  Droits	
  
§  Pour	
  Talkers	
  
§  slc	
  loopback:acl	
  
§  Droit	
  en	
  Lectu...
MilleZimU	
  
§  On	
  installe	
  un	
  connecteur	
  MongoDB	
  :	
  
§  npm	
  i	
  -­‐-­‐save	
  loopback-­‐connecto...
MilleZimU	
  
Connexion	
  des	
  modèles	
  a	
  MongoDB	
  
model-­‐config.js	
  
	
  
"Talk":	
  {	
  
	
  	
  "dataSour...
MilleZimU	
  
On	
  ajoute	
  une	
  RelaRon	
  
§  slc	
  loopback:relaRon	
  
Talkers	
  HasMany	
  Talks	
  
	
  
mode...
MilleZimU	
  
Do	
  You	
  Git	
  ?	
  
§  git	
  init	
  
§  git	
  add	
  .	
  
§  git	
  rm	
  –r	
  node_modules	
 ...
MilleZimU	
  
Un	
  Heroku	
  Dyno	
  à	
  la	
  Volée	
  !!!	
  
§  On	
  se	
  logue	
  
§  heroku	
  login	
  
§  Cr...
MilleZimU	
  
Un	
  Procfile	
  pour	
  lancer	
  le	
  fichier	
  
§  Procfile	
  
§  web:	
  node	
  ./server/server	
  
...
MilleZimU	
  
Ajout	
  d’un	
  Talker	
  
{	
  
	
  "email":	
  "anthony.faucogney@millezimu.fr",	
  
	
  	
  "password":"...
MilleZimU	
  
Ajout	
  d’un	
  Talk	
  
{	
  
	
  	
  "name":	
  "RESTMD10",	
  
	
  	
  "date":	
  "2015-­‐02-­‐27",	
  
...
MilleZimU	
  
RécupéraRon	
  des	
  Talks	
  d’un	
  Talker	
  –	
  
Protégé	
  par	
  les	
  droits	
  
MilleZimU	
  
Heroku	
  
MilleZimU	
  
MongoLab	
  
MilleZimU	
  
Les	
  Sources	
  
§  NodeJS	
  htps://nodejs.org/	
  	
  
§  LoopBack	
  htp://loopback.io/	
  	
  
§  M...
Prochain SlideShare
Chargement dans…5
×

Créer, Pousser et Lancer un serveur RESTful en 10 min.

849 vues

Publié le

Avec l'aide des technologies NodeJS, du composant Loopback, je montrerai en live comment créer un serveur web simple qui fournira une API RESTful complète, fournissant :
- Des Talks
- Des Talkers
Ca veux dire des relations entre modèles mais aussi des droits d'accès.
Le tout sera hébergé sur Heroku et mis à disposition.

Meme si le travail est de taille, nous verrons que ca peut se faire en 10 min, ou presque, quand on sait ce et comment il faut faire.

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

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
849
Sur SlideShare
0
Issues des intégrations
0
Intégrations
90
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Créer, Pousser et Lancer un serveur RESTful en 10 min.

  1. 1. 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     anthony.faucogney@millezimu.fr   @afaucogney  
  2. 2. MilleZimU   Prérequis   §  InstallaRon  de  la  toolbox   §  GIT   §  CLI  Heroku   §  StrongLoop   §  CLI  Mongo  (OpRonnel)   §  Compte   §  Heroku   §  MongoLab  (base  mongo  créée)  
  3. 3. 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  
  4. 4. MilleZimU   NodeJS  
  5. 5. MilleZimU   MongoDB  
  6. 6. MilleZimU   LoopBack  
  7. 7. 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)  
  8. 8. MilleZimU   Loopback  Explorer  
  9. 9. MilleZimU   Loopback  Explorer   §  Jouer/Tester  son  API   §  npm  i    -­‐-­‐save  loopback-­‐explorer  
  10. 10. 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  
  11. 11. 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  
  12. 12. 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:xxxxx@ds037571.mongolab.com:37571/ humantalk",      "connector":  "mongodb"   }   MongoDB,  mare  de...    
  13. 13. MilleZimU   Connexion  des  modèles  a  MongoDB   model-­‐config.js     "Talk":  {      "dataSource":  "humantalk",      "public":  true   },   "Talker":  {      "dataSource":  "humantalk",      "public":  true   }  
  14. 14. MilleZimU   On  ajoute  une  RelaRon   §  slc  loopback:relaRon   Talkers  HasMany  Talks     model-­‐config.js   "talks":  {      "type":  "hasMany",      "model":  "Talk",      "foreignKey":  "talkerId"   }  
  15. 15. MilleZimU   Do  You  Git  ?   §  git  init   §  git  add  .   §  git  rm  –r  node_modules   §  git  commit  –am”ca  y  est,  on  commence”  
  16. 16. 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  
  17. 17. 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  
  18. 18. MilleZimU   Ajout  d’un  Talker   {    "email":  "anthony.faucogney@millezimu.fr",      "password":"human"   }  
  19. 19. MilleZimU   Ajout  d’un  Talk   {      "name":  "RESTMD10",      "date":  "2015-­‐02-­‐27",      "abstract":  "Blabla",      "talkerId":  “….."   }  
  20. 20. MilleZimU   RécupéraRon  des  Talks  d’un  Talker  –   Protégé  par  les  droits  
  21. 21. MilleZimU   Heroku  
  22. 22. MilleZimU   MongoLab  
  23. 23. MilleZimU   Les  Sources   §  NodeJS  htps://nodejs.org/     §  LoopBack  htp://loopback.io/     §  MongoDB  htp://www.mongodb.org/     §  MongoLab  htps://mongolab.com/     §  Heroku  htps://www.heroku.com/home    

×