Julien Verhaeghe - API REST : Le module Services de Drupal - Drupal Meetup Rouen #3

Preview:

DESCRIPTION

Cette présentation a pour but d'étendre les fonctionnalités de Drupal en utilisant un site comme un API pouvant servir à des applications mobiles, des sites partenaires au travers du module Services. Nous verrons comment nous pouvons récupérer notre contenu et l'exploiter au travers d'un exemple avec AngularJS.

Citation preview

API RESTLe module Services de Drupal

Julien Verhaeghe - NWX Drupal Meetup #3 - 17/09/14

2 / 14

Responsable Technique Développeur Back-End chez Arcange le Groupe depuis 2008

@vulienjerhaeghe github.com/munvier

JulienVerhaeghe

3 / 14

Serveur

Desktop

État des lieuxLes Internets avant...

4 / 14

Serveur

DesktopPériphériques

mobiles

Serveur

État des lieux...et maintenant.

5 / 14

R.E.S.T. : REpresentational State Transfer

- Style d’architecture qui repose sur le procotole HTTP

- Met à disposition des ressources

- URI : identifiant de la ressource (Unique Ressource Identitifer)

- Ressource manipulée par sa représentation

- Accessible via un Endpoint

Le premier jour du REST de ta vie

6 / 14

Les verbes utilisés par REST :

- OPTIONS

- HEAD

- GET

- POST

- PUT

- DELETE

Le premier jour du REST de ta vie

7 / 14

Services (Chaos tools, Libraries)

Services views (views)

Mise en place sur Drupal 7

8 / 14

Services (Chaos tools, Libraries)

Services views (views)

CORS

Mise en place sur Drupal 7

9 / 14

drush en admin_menu ctools

libraries views services

cors services_views -y

Commande Drush

Mise en place sur Drupal 7

10 / 14

- Création d’un Endpoint

- Configuration des ressources

- Création des vues

- Tests

Mise en place sur Drupal 7

11 / 14

Tests de l’api

Firefox (add-on)

- REST Client

- Poster

Chrome (app)

- REST Console

Mise en place sur Drupal 7

12 / 14

npm install -g yo

Yeoman

npm install -g generator-angular

Générateur AngularJS

yo angular

AngularJS

Node.js

http://www.nodejs.org/

Création de l’app côté client

13 / 14

Sécurisation de l’app (permissions, token, ...)

Création de contenu via Services (POST)

Modification de contenu (PUT)

Suppression de contenu (DELETE)

Pour aller plus loin...

14 / 14

https://github.com/munvier/Test-Services-App

Annexe