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.
Créer, Pousser et Lancer un serveur RESTful en 10 min.
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. MilleZimU
Prérequis
§ InstallaRon
de
la
toolbox
§ GIT
§ CLI
Heroku
§ StrongLoop
§ CLI
Mongo
(OpRonnel)
§ Compte
§ Heroku
§ MongoLab
(base
mongo
créée)
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
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. 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. 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...
15. MilleZimU
Do
You
Git
?
§ git
init
§ git
add
.
§ git
rm
–r
node_modules
§ git
commit
–am”ca
y
est,
on
commence”
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. 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. MilleZimU
Ajout
d’un
Talker
{
"email":
"anthony.faucogney@millezimu.fr",
"password":"human"
}