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

942 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
942
Sur SlideShare
0
Issues des intégrations
0
Intégrations
107
Actions
Partages
0
Téléchargements
15
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    

×