> Mode opératoire pour activer et configurer le module REST Drupal 7.34 1. Récupérer le core Drupal 7.34 https://www.drupal.org/drupal-7.34-release-notes 2. Installer Drupal en configuration “standard” Ici un lien concernant l’installation seule : 3. Mettre en place le vhost pour redirection (facultatif mais démo friendly, “drupal-example.com” dans mon cas) 4. Activer le module REST : 4.1. Télécharger les modules suivants : 4.1.1. CTools​ (7.x-1.2) 4.1.2. Devel​ (7.x-1.3) ​ 4.1.3. Libraries​ (7.x-2.2) ​ 4.1.4. OAuth​ (7.x-3.1)* 4.1.5. Services​ (7.x-3.3) 4.1.6. Services Views​ (7.x-1.0-beta2+10-dev) 4.1.7. Views​ (7.x-3.5) 4.2. Les extraire dans sites/all/modules 4.3. Dans l’administration, accéder à admin/modules, puis activer les modules suivants : 4.3.1. Chaos tools 4.3.2. Libraries 4.3.3. Services 4.3.4. Services Views 4.3.5. REST Server 4.3.6. Views 4.3.7. Views UI 5. Ajouter un Service dans Services UI dans l’administration en accédant à /Structure/Services/Add, renseigner les champs (cf screenshot) et sauvegarder. note : dans ma compréhension l’api REST Drupal n’est pleinement accessible que pour un utilisateur authentifié. 1er champ : jio 2nd champ : REST 3ème champ : api/jio Champ Session Authentification coché 6. Configurer les ressources accessibles en cliquant sur “edit ressources”, cocher “files” et “user” puis sauvegarder 7. Tester l’accès à l’endpoint requête GET sur ​ http://​ ​ /?q=​ ​ / 8. Ajouter le verbe “OPTIONS” Afin de permettre les requêtes sur l’api depuis les navigateurs modernes, il faut ajouter le verbe “OPTIONS” aux verbes exposés par l’API REST Drupal. En effet, les navigateurs modernes effectuent une requête discrète de type “OPTIONS” dite “pre-flight” afin de valider que la requête GET suivante est possible. Dans le .htaccess, ajouter : # Send a 200 HTTP response on OPTIONS request RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule .* / [R=200,L] dans un bloc : 9. Optionnel : activer les CORS 9.1. Méthode .htaccess Ajouter en fin de fichier : SetEnvIf Origin "^http(s)?://(.+\.)?([NOMDEDOMAINE])$" DYN_ORIGIN=$0 Header set Access-Control-Allow-Origin %{DYN_ORIGIN}e Header always set Access-Control-Allow-Methods "GET, PUT, POST, OPTIONS, DELETE" Header always set Access-Control-Allow-Credentials true Header always set Access-Control-Allow-Headers "Authorization, Origin, Content-Type, X-CSRF-Token" 9.2. méthode module CORS Télécharger le module​CORS​ ​ (7.x-1.3) Les extraire dans sites/all/modules Activer dans admin/module accéder à la configuration du module via configuration/CORS et inscrire dans la vue : *|*|GET, PUT, POST, DELETE, OPTIONS|Authorization, Accept, Origin, Content-Type, X-CSRF-Token|true