3 |
CONFIGURATION D'APACHE POUR UTILISER RESTLER: |
CONFIGURATION D'APACHE POUR UTILISER RESTLER: |
4 |
|
|
5 |
Pour utiliser RESTLER il faut que dans le serveur Apache module rewrite est activé. |
Pour utiliser RESTLER il faut que dans le serveur Apache module rewrite est activé. |
6 |
Pour le faire on crée un lien symbolique de dossier mond-enabled vers dossier mods-available. |
Pour le faire on crée un lien symbolique de dossier mods-enabled vers dossier mods-available. |
7 |
|
|
8 |
$ ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load |
$ ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load |
9 |
|
|
15 |
#</Directory> |
#</Directory> |
16 |
|
|
17 |
Le chemin donné dans la balise Directory doit contenir le fichier qui crée une instance de RESTLER |
Le chemin donné dans la balise Directory doit contenir le fichier qui crée une instance de RESTLER |
18 |
et ajoute les services au RESTLER. Dans notre cas ce fichier s'appele index.php. |
et ajoute les services au RESTLER. Dans notre cas ce fichier s'appele rest_entry.php. |
19 |
|
|
20 |
Pour que les changements prennent l'effet il faut redemmarer le serveur Apache : |
Pour que les changements prennent l'effet il faut redemmarer le serveur Apache : |
21 |
|
|
24 |
|
|
25 |
|
|
26 |
|
|
27 |
CONFIGURATION DE POSTGRESQL: |
UTILISATION DU SERVICES REST AVEC CURL DEPUIS DE LA LIGNE DE COMMANDE : |
28 |
|
|
29 |
Pendant l'installation de postgresql il faut changer le mot de passe d'utilisateur postgres: |
Pour envoyer une demande concernant les utilisateurs, avec curl et simple HTTP authetification, on fait : |
|
user@machine$ sudo su - postges |
|
|
postgres@machine$ psql template1 |
|
|
template1=# ALTER USER postgres with encrypted password 'postgres'; |
|
30 |
|
|
31 |
Parfois on doit aussi modifier le fichier pg_hba.conf pour que l'authentification se deroulle bien. |
- en cas de GET : |
32 |
|
$ curl --user <username> -v http://<server>/<path_to>/services/utilisateurs/<ID> |
33 |
|
|
34 |
|
Le '<ID>' doit etre remplace par l'ID d'un utilisateur, le '<server>' doit etre remplace par un server IP |
35 |
|
ou un domain name, et '<path_to>' est le chemin, dans la hierarchie des fichiers, ou se trouve openfoncier. |
36 |
|
|
37 |
|
- en cas de POST : |
38 |
|
curl --user <username> -v -H "Content-Type: application/json" -d '{"nom":"Thierry", "email":"[email protected]","login":"tehierry","pwd":"password","om_profil":"5","om_collectivite":"1","om_type":"db_type"}' -X POST http://<server>/<path_to>/services/utilisateurs |
39 |
|
|
40 |
|
- en cas de PUT: |
41 |
|
$ curl --user <username> -v -H "Content-Type: application/json" -d '{"nom":"Changed_name"}' -X PUT http://<server>/<path_to>/services/utilisateurs/<ID> |
42 |
|
|
43 |
|
- en cas de DELETE: |
44 |
|
$ curl --user <username> -v -X DELETE http://localhost/~mirna/head_openfoncier/services/utilisateurs/<ID> |
45 |
|
|
46 |
UTILISATION DU RESTLER: |
En cas d'encryptage SSL des donnes, curl doit etre utilise avec l'option E comme par exemple : |
47 |
|
$ curl -E /<path_to>/key_certificate.concat --cacert /<path_to>/self_signed_sertificate.crt -k -v -H --user <username> -v https://<server>/<path_to>/services/utilisateurs/<ID> |
|
Il faut créer fichier index.php qui crée une instance de RESTLER et met le API d'une classe PHP |
|
|
en disponibilité. Une exemple de ce fichier est donne ci-dessous : |
|
|
|
|
|
<?php |
|
|
require_once '/path/to/restler.php'; |
|
|
require_once './myservices.php'; |
|
|
$r = new Restler(); |
|
|
$r->addAPIClass('Myservices'); // class Myservices is defined inside of file myservices.php |
|
|
$r->handle(); |
|
|
?> |
|
|
|
|
|
Pour envoyer une demande au Myservices classe par RESTLER on utilise : |
|
|
|
|
|
http://127.0.0.1/index.php/myservices |
|
|
|
|
|
Dans la ligne dessus la fonction get(.) de la classe Myservices est appele. |
|
48 |
|
|
49 |
|
Le key_certificate.concat contient la cle avec le certificat colle a la fin de la cle. |