SlideShare uma empresa Scribd logo
1 de 28
Débuter avec
Rails::API et AngularJS
en 10 minutes
Sommaire
1. Architecture
2. Rails::API
– Construire son API
– Gérer le Cross-Origin Resource Sharing (CORS)

1. AngularJS
– Créer le client de l’API
– Les différentes actions (CRUD)
08/10/13

Débuter avec Rails::API et AngularJS

2
Achitecture

08/10/13

Débuter avec Rails::API et AngularJS

3
Routes

Vues / Templates

Serveur

Controllers
REST
API

Routes

Vues

Services
Controller

Client
08/10/13

Model
Débuter avec Rails::API et AngularJS

4
Rails::API

08/10/13

Débuter avec Rails::API et AngularJS

5
Rails::API
Construire son API

08/10/13

Débuter avec Rails::API et AngularJS

6
Rails::API – Créer une nouvelle API
rails-api new todo-api
--skip-action-mailer --skip-sprockets

08/10/13

Débuter avec Rails::API et AngularJS

7
Rails::API – Générer le contenu
rails g scaffold Task
title:string description:text done:boolean

08/10/13

Débuter avec Rails::API et AngularJS

8
Rails::API – Points d’entrée
rake routes

08/10/13

Débuter avec Rails::API et AngularJS

9
Rails::API – Lister les tâches
GET http://localhost:3000/tasks

08/10/13

Débuter avec Rails::API et AngularJS

10
Rails::API
Cross-Origin Resource Sharing (CORS)

08/10/13

Débuter avec Rails::API et AngularJS

11
Rails::API – Vous avez dit CORS ?
• CORS ? Quèsaco ?

08/10/13

Débuter avec Rails::API et AngularJS

12
Rails::API – Vous avez dit CORS ?
• Requête XMLHttpRequest entre A et B
Domaine A

Domaine B

XMLHttpRequest

JS
CORS

08/10/13

Débuter avec Rails::API et AngularJS

13
Rails::API – Ce qui change…
• ApplicationController

08/10/13

Débuter avec Rails::API et AngularJS

14
Rails::API – Un controller spécifique
• Routes
• CorsController

08/10/13

Débuter avec Rails::API et AngularJS

15
AngularJS

08/10/13

Débuter avec Rails::API et AngularJS

16
AngularJS
Créer le client de l’API

08/10/13

Débuter avec Rails::API et AngularJS

17
AngularJS – Posons les bases
index.html

08/10/13

application.js

Débuter avec Rails::API et AngularJS

18
AngularJS – Définir les routes

08/10/13

Débuter avec Rails::API et AngularJS

19
AngularJS – Créer le client de l’API
TasksService

@id => va chercher l’attribut id de l’objet
08/10/13

Débuter avec Rails::API et AngularJS

20
AngularJS
Les différentes actions (CRUD)

08/10/13

Débuter avec Rails::API et AngularJS

21
AngularJS – Lister les tâches
View

08/10/13

Débuter avec Rails::API et AngularJS

22
AngularJS – Lister les tâches
Controller

08/10/13

Débuter avec Rails::API et AngularJS

23
AngularJS – Créer une tâche
View

08/10/13

Débuter avec Rails::API et AngularJS

24
AngularJS – Créer une tâche
Controller

08/10/13

Débuter avec Rails::API et AngularJS

25
Ressources
• RubyOnRails
– http://rubyonrails.org/

• AngularJS
– http://angularjs.org/

• Todo-Api
https://github.com/fduperier/todo-api

• Todo-Web
https://github.com/fduperier/todo-web
08/10/13

Débuter avec Rails::API et AngularJS

26
Pour aller plus loin
• Angular UI
http://angular-ui.github.io/

• AngularJS Rails Resource
https://github.com/FineLinePrototyping/angularj
s-rails-resource

08/10/13

Débuter avec Rails::API et AngularJS

27
MERCI !
Questions ?
@fduperier
linkedin.com/in/fredericduperier
frederic-duperier.com

08/10/13

Débuter avec Rails::API et AngularJS

28

Mais conteúdo relacionado

Mais procurados

Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the futureOuadie LAHDIOUI
 
AngularJS et autres techno frontend
AngularJS et autres techno frontendAngularJS et autres techno frontend
AngularJS et autres techno frontendyllieth
 
Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Yves-Emmanuel Jutard
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptxEsokia
 
Introduction à Angularjs
Introduction à AngularjsIntroduction à Angularjs
Introduction à AngularjsRossi Oddet
 
Google : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JSGoogle : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JSPeak Ace
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 
SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)Rui Carvalho
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2Laurent Duveau
 
Angular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTAngular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTtayebbousfiha1
 
Geek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.jsGeek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.jsOLBATI
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 
Devoxx France 2015 - Développement web en 2015
Devoxx France 2015 - Développement web en 2015Devoxx France 2015 - Développement web en 2015
Devoxx France 2015 - Développement web en 2015Romain Linsolas
 

Mais procurados (20)

AngularJS
AngularJSAngularJS
AngularJS
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
 
Intro à angular
Intro à angularIntro à angular
Intro à angular
 
AngularJS et autres techno frontend
AngularJS et autres techno frontendAngularJS et autres techno frontend
AngularJS et autres techno frontend
 
Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptx
 
Introduction à Angularjs
Introduction à AngularjsIntroduction à Angularjs
Introduction à Angularjs
 
Angular 2
Angular 2Angular 2
Angular 2
 
Google : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JSGoogle : Prise en charge de l'Ajax et de l'Angular JS
Google : Prise en charge de l'Ajax et de l'Angular JS
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)
 
Présentation Angular 2
Présentation Angular 2 Présentation Angular 2
Présentation Angular 2
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Angular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHTAngular Framework présentation PPT LIGHT
Angular Framework présentation PPT LIGHT
 
Geek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.jsGeek Time Mai 2017 : Vue.js
Geek Time Mai 2017 : Vue.js
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Devoxx France 2015 - Développement web en 2015
Devoxx France 2015 - Développement web en 2015Devoxx France 2015 - Développement web en 2015
Devoxx France 2015 - Développement web en 2015
 

Destaque

Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsAntoine Rey
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application javaAntoine Rey
 
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesJavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesCorley S.r.l.
 
API et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme NumériqueAPI et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme NumériqueAlexandre Jubien
 
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logicielASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logicielCyber Security Alliance
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications WebKlee Group
 
Les 10 principales menaces de sécurité des bases de données
Les 10 principales menaces de sécurité des bases de donnéesLes 10 principales menaces de sécurité des bases de données
Les 10 principales menaces de sécurité des bases de donnéesImperva
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPyaboukir
 
Plan de reprise d’activité
Plan de reprise d’activitéPlan de reprise d’activité
Plan de reprise d’activitéExam PM
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?OVHcloud
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilCyber Security Alliance
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1Yassine Badri
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesXavier Kress
 
PRA et PCA : plans de reprise et de continuité d'activité
 PRA et PCA : plans de reprise et de continuité d'activité PRA et PCA : plans de reprise et de continuité d'activité
PRA et PCA : plans de reprise et de continuité d'activitéChristophe Casalegno
 
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture RESTFadel Chafai
 
Presentation des failles_de_securite
Presentation des failles_de_securitePresentation des failles_de_securite
Presentation des failles_de_securiteBorni Dhifi
 

Destaque (20)

Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
 
Tester unitairement une application java
Tester unitairement une application javaTester unitairement une application java
Tester unitairement une application java
 
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resourcesJavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
JavaScript & Cloud: the AWS JS SDK and how to work with cloud resources
 
API et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme NumériqueAPI et Mobile / Académies du Tourisme Numérique
API et Mobile / Académies du Tourisme Numérique
 
Apache Open SSL
Apache Open SSLApache Open SSL
Apache Open SSL
 
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logicielASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications Web
 
POO
POOPOO
POO
 
Les 10 principales menaces de sécurité des bases de données
Les 10 principales menaces de sécurité des bases de donnéesLes 10 principales menaces de sécurité des bases de données
Les 10 principales menaces de sécurité des bases de données
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
 
Plan de reprise d’activité
Plan de reprise d’activitéPlan de reprise d’activité
Plan de reprise d’activité
 
API pour les nuls
API pour les nulsAPI pour les nuls
API pour les nuls
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
 
Chap 03 poo en java partie1
Chap 03 poo en java partie1Chap 03 poo en java partie1
Chap 03 poo en java partie1
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
Angular 2 - Better or worse
Angular 2 - Better or worseAngular 2 - Better or worse
Angular 2 - Better or worse
 
PRA et PCA : plans de reprise et de continuité d'activité
 PRA et PCA : plans de reprise et de continuité d'activité PRA et PCA : plans de reprise et de continuité d'activité
PRA et PCA : plans de reprise et de continuité d'activité
 
API : l'architecture REST
API : l'architecture RESTAPI : l'architecture REST
API : l'architecture REST
 
Presentation des failles_de_securite
Presentation des failles_de_securitePresentation des failles_de_securite
Presentation des failles_de_securite
 

Semelhante a Débuter avec Rails::API & AngularJS

Presentation of framework Angular
Presentation of framework AngularPresentation of framework Angular
Presentation of framework AngularLhouceine OUHAMZA
 
Technologies sur angular.pptx
Technologies sur angular.pptxTechnologies sur angular.pptx
Technologies sur angular.pptxIdrissaDembl
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrinesrdissi60
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdfimenhamada17
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec aspNovencia Groupe
 
Angular : Un aperçu du framework de développement d’applications Web
Angular : Un aperçu du framework de développement d’applications WebAngular : Un aperçu du framework de développement d’applications Web
Angular : Un aperçu du framework de développement d’applications WebDekeltv1
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.jsTelecomValley
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Luc Juggery
 
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdflaravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdfHeartKing10
 
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon
 

Semelhante a Débuter avec Rails::API & AngularJS (14)

Cours 1 introduction
Cours 1 introductionCours 1 introduction
Cours 1 introduction
 
Intro aurelia js-typescript
Intro aurelia js-typescriptIntro aurelia js-typescript
Intro aurelia js-typescript
 
Presentation of framework Angular
Presentation of framework AngularPresentation of framework Angular
Presentation of framework Angular
 
Technologies sur angular.pptx
Technologies sur angular.pptxTechnologies sur angular.pptx
Technologies sur angular.pptx
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrr
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
ngParis - Rendu cote serveur
ngParis - Rendu cote serveurngParis - Rendu cote serveur
ngParis - Rendu cote serveur
 
Angular 11
Angular 11Angular 11
Angular 11
 
Utilisation d'une api web avec asp
Utilisation d'une api web avec aspUtilisation d'une api web avec asp
Utilisation d'une api web avec asp
 
Angular : Un aperçu du framework de développement d’applications Web
Angular : Un aperçu du framework de développement d’applications WebAngular : Un aperçu du framework de développement d’applications Web
Angular : Un aperçu du framework de développement d’applications Web
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
 
Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3Autour de Node.js - TechConf#3
Autour de Node.js - TechConf#3
 
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdflaravel.sillo.org-Cours Laravel 10  les bases  artisan et les contrôleurs_2.pdf
laravel.sillo.org-Cours Laravel 10 les bases artisan et les contrôleurs_2.pdf
 
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
 

Débuter avec Rails::API & AngularJS