/[openfoncier]/trunk/services/README.txt
ViewVC logotype

Contents of /trunk/services/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1005 - (show annotations)
Thu Dec 6 15:48:07 2012 UTC (12 years, 2 months ago) by fmichon
File MIME type: text/plain
File size: 11849 byte(s)
Merge de la branche 3.2.x pour la reprise du développement dans le trunk

1 /**
2 * Ce fichier permet de décrire l'utilisation des webservices pour l'application
3 * openFoncier.
4 *
5 * @package openfoncier
6 * @version SVN : $Id$
7 *
8 * @todo XXX Reprendre la rubrique "Utilisation des services REST avec curl en
9 * ligne de commande" et détailler la rubrique "Description des services REST
10 * openFoncier"
11 */
12
13 #############
14 Services REST
15 #############
16
17 *********************************
18 Installation, paramétrage et test
19 *********************************
20
21 ============================================
22 Configuration d'Apache pour utiliser RESTLER
23 ============================================
24
25 Activer le mod_rewrite Apache
26 -----------------------------
27
28 Le module Apache mod_rewrite est un module qui permet la réécriture des URLs.
29 Pour utiliser RESTLER il faut que ce module soit activé. Pour ce faire ::
30
31 $ a2enmod rewrite
32
33 Paramétrer le virtualhost
34 -------------------------
35
36 Ajouter les lignes suivantes dans le paramétrage du virtualhost souhaité ::
37
38 Pour n'avoir pas du besoin d'ecrire "rest_entry.php" dans l'URL appelle depuis ERP, utilisez les
39 trois lignes dessous:
40
41 RewriteEngine On
42 RewriteCond %{REQUEST_URI} ^.*/<path_to>/services/(.*[^/])
43 RewriteRule ^(.*)/services/(.*)$ /<path_to>/services/rest_entry.php/$2 [QSA,L]
44
45 Dans la configuration de votre virtualhost penser à ce que les méthodes HTTP
46 nécessaires GET, PUT, POST, DELETE soient autorisées.
47
48 Redémarrer Apache
49 -----------------
50
51 Pour que les changements prennent effet il faut redémarrer le serveur Apache ::
52
53 $ /etc/init.d/apache2 restart
54
55
56 ============================================================
57 Utilisation des services REST avec curl en ligne de commande
58 ============================================================
59
60 Pour envoyer une demande concernant les utilisateurs, avec curl et simple HTTP authetification, on fait :
61
62 - en cas de GET :
63 $ curl --user <username> -v http://<server>/<path_to>/services/utilisateurs/<ID>
64
65 Le '<ID>' doit etre remplace par l'ID d'un utilisateur, le '<server>' doit etre remplace par un server IP
66 ou un domain name, et '<path_to>' est le chemin, dans la hierarchie des fichiers, ou se trouve openfoncier.
67
68 - en cas de POST :
69 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
70
71 - en cas de PUT:
72 $ curl --user <username> -v -H "Content-Type: application/json" -d '{"nom":"Changed_name"}' -X PUT http://<server>/<path_to>/services/utilisateurs/<ID>
73
74 - en cas de DELETE:
75 $ curl --user <username> -v -X DELETE http://localhost/~mirna/head_openfoncier/services/utilisateurs/<ID>
76
77 En cas d'encryptage SSL des donnes, curl doit etre utilise avec l'option E comme par exemple :
78 $ 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>
79
80 Le key_certificate.concat contient la cle avec le certificat colle a la fin de la cle.
81
82
83 *****************************************
84 Description des services REST openFoncier
85 *****************************************
86
87 =======================
88 Ressource 'maintenance'
89 =======================
90
91 Méthode POST
92 ------------
93
94 Synchronisation des utilisateurs via LDAP
95 *****************************************
96
97 /services/maintenance
98
99 {
100 "module": "user",
101 "data": "NA"
102 }
103
104
105 Traitement des retours de consultation périmés
106 **********************************************
107
108 /services/maintenance
109
110 {
111 "module": "consultation",
112 "data": "NA"
113 }
114
115
116 =========================
117 Ressource 'consultations'
118 =========================
119
120 Méthode PUT
121 -----------
122
123 Retour d'avis d'une consultation sans fichier
124 *********************************************
125
126 /services/consultations/1
127
128 {
129 "date_retour": "14/01/2012",
130 "avis": "Favorable"
131 }
132
133 Retour d'avis d'une consultation avec fichier
134 *********************************************
135
136 /services/consultations/1
137
138 {
139 "date_retour": "14/01/2012",
140 "avis": "Favorable",
141 "fichier_base64": "JVBERi0xLjQKJcOkw7zDtsOfCjIgM",
142 "nom_fichier": "plop.pdf"
143 }
144
145 ====================
146 Ressource 'messages'
147 ====================
148
149 Méthode POST
150 ------------
151
152 Message 1
153 *********
154
155 /services/messages
156
157 {
158 "type": "Mise à jour de complétude ERP ACC",
159 "date": "16/06/2014 14:12",
160 "emetteur": "John Doe",
161 "dossier_instruction": "PD12R0001",
162 "contenu":
163 {
164 "Complétude ERP ACC": "non",
165 "Motivation Complétude ERP ACC": "Lorem ipsum dolor sit amet..."
166 }
167 }
168
169 Message 2
170 *********
171
172 /services/messages
173
174 {
175 "type": "Mise à jour de complétude ERP SECU",
176 "date": "16/06/2014 14:12",
177 "emetteur": "John Doe",
178 "dossier_instruction": "PD12R0001",
179 "contenu":
180 {
181 "Complétude ERP SECU": "oui",
182 "Motivation Complétude ERP SECU": "Lorem ipsum dolor sit amet..."
183 }
184 }
185
186 Message 3
187 *********
188
189 /services/messages
190
191 {
192 "type": "Mise à jour de qualification",
193 "date": "16/06/2014 14:12",
194 "emetteur": "John Doe",
195 "dossier_instruction": "PD12R0001",
196 "contenu":
197 {
198 "Confirmation ERP": "oui",
199 "Type de dossier ERP": "Lorem ipsum dolor sit amet...",
200 "Catégorie de dossier ERP": "Lorem ipsum dolor sit amet..."
201 }
202 }
203
204 Message 4
205 *********
206
207 /services/messages
208
209 {
210 "type": "Dossier à enjeux ERP",
211 "date": "16/06/2014 14:12",
212 "emetteur": "John Doe",
213 "dossier_instruction": "PD12R0001",
214 "contenu":
215 {
216 "Dossier à enjeux ERP" : "oui"
217 }
218 }
219
220 ================================
221 Ressource 'dossier_autorisation'
222 ================================
223
224 Méthode PUT
225 -----------
226
227 Mise à jour du dossier d'autorisation (numero_erp)
228 **************************************************
229
230 /services/dossier_autorisation/2
231
232 {
233 "numero_erp":"12345",
234 "avis":"some"
235 }
236
237
238 ERP ouvert (erp_ouvert)
239 ***********************
240
241 /services/dossier_autorisation/2
242
243 {
244 "erp_ouvert":"12345",
245 "date_arrete":"some"
246 }
247
248
249 Arrêté d'un dossier DAT effectué
250 ********************************
251
252 /services/dossier_autorisation/2
253
254 {
255 "arrete_effectue":"some",
256 "date_arrete":"04/06/2014"
257 }
258
259
260 Méthode GET
261 -----------
262
263 /services/dossier_autorisation/2
264
265
266
267 #################
268 Services RabbitMQ
269 #################
270
271 ************************************************************************
272 Description des messages sortantes d'openFoncier vers ERP et du RAbbitMQ
273 ************************************************************************
274 Pour envoyer des messages aa ERP on doit installer RabbitMQ:
275
276 ~$ sudo aptitude install rabbitmq-server
277
278 Pour envoyer des messages depuis un script PHP aa RabbitMQ (ecrit rn Python)
279 on utilise la librairie php-amqplib.
280 Pour le convenience, cette librairie est incluse dans cette distribution.
281
282 Pour que les messages partent vers le logiciel ERP il faut mettre l'URL
283 de la resource services/messages d'ERP dans la variable $ERP_URL_MESSAGES
284 qui se trouve dans le fichier dyn/services.inc.php
285
286 Les test simples s'achevent en utilisation de fichier:
287 services/outgoing/testMessageSender.php
288 On peut appeler ce script depuis de la ligne de commande en tapant:
289
290 <path_to_services>$ php services/outgoing/testMessageSender.php
291
292 En utilisant differents variables statistiques qui sont definie dans ce script
293 on peut tester l'envoi des tous les messages.
294
295 Le logging se fait dans le fichier services/tmp/log.txt. Pour que le logiciel
296 puisse enregistrer les messages dans le log.txt, le répertoire tmp doit être
297 la propriété d'utilisateur d'Apache (www-data par exemple).
298
299 Il y a 11 type de messages que on envoi d'openfoncier vers ERP.
300
301 L'envoi du message "ERP Qualifie" est declanche pour un dossier DAT quand le cas
302 "à qualifier" est décoche. Pour faire ce test il faut créer un dossier avec
303 nature "Dépôt de dossier DAT".
304 1. créer une demande pour un PC
305 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
306 avec la nature de dossier "Dépôt de dossier DAT", ou "Demande d'ouverture ERP DAT",
307 est coche le cas "à qualifier"
308 3. Appuyer sur le bouton "Valider"
309 4. Modifier le même dossier, en décochant le cas "à qualifier"
310 5. Appuyer le bouton "Valider"
311
312
313 Les messages "Demande de complétude de dossier PC pour un ERP" et "Demande de
314 qualification de dossier PC pour un ERP" sont envoyés quand le cas "à qualifier"
315 est décoché pour un dossier PC qui est libelle ERP.
316 1. créer une demande pour un PC
317 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
318 avec la nature "Permis de Construire" avec le cas "à qualifier" coche
319 3. Appuyer sur le bouton "Valider"
320 4. Modifier le même dossier, en décochant le cas "à qualifier"
321 5. Appuyer le bouton "Valider"
322
323
324 Le message "Demande d'instruction de dossier PC pour un ERP" est envoyé pour un
325 dossier PC quand la consultation d'ERP services sécurité ou accessibilité
326 est demandée sur un dossier PC libelle ERP
327 1. créer une demande pour un PC
328 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
329 avec la nature "Permis de Construire"
330 3. Appuyer sur le bouton "Valider"
331 4. "Ouvrir" l'onglet "consultation"
332 5. Créer une consultation de type "ERP Service Sécurité" ou "ERP Service Accessibilité"
333 6. Appuyer le bouton "Valider"
334
335
336 Quand on crée un événement "accepter un dossier sans réserve" sur un dossier PC libelle ERP,
337 le message "Arrête PC effectue" est envoyé.
338 1. créer une demande pour un PC
339 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
340 avec la nature "Permis de Construire"
341 3. Appuyer sur le bouton "Valider"
342 4. Créer un événement initial dans le sousform "Instruction"
343 5. Créer l'événement "accepter un dossier sans réserve"
344 6. Appuyer le bouton "Valider"
345
346
347 Le message "Consultation ERP pour conformité" est envoyée quand:
348 1. créer une demande pour un PC
349 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
350 avec la nature "Permis de Construire"
351 3. Appuyer sur le bouton "Valider"
352 4. "Ouvrir" l'onglet "consultation"
353 5. Créer une consultation de type "ERP Service Conformité"
354 6. Appuyer le bouton "Valider"
355
356
357 Le message "Dépôt de dossier DAT" est envoyé quand on crée un dossier de type
358 "Dépôt de dossier DAT".
359 1. créer une demande pour un PC
360 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
361 avec la nature "Dépôt de dossier DAT"
362 3. Appuyer sur le bouton "Valider"
363
364
365 Le message "Demande d'ouverture ERP DAT" est envoyé quand on crée un dossier de
366 type "Demande d'ouverture ERP DAT".
367 1. créer une demande pour un PC
368 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
369 avec la nature "Demande d'ouverture ERP DAT"
370 3. Appuyer sur le bouton "Valider"
371
372
373 Le message "Annulation de la demande" est envoyé quand on crée un dossier de type
374 "Annulation de la demande" en cochant le cas "erp".
375 1. créer une demande pour un PC
376 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
377 avec la nature "Annulation de la demande"
378 3. Appuyer sur le bouton "Valider"
379
380
381 Le message "Demande d'ouverture ERP PC" "rattache" au dossier DAACT est envoyé
382 quand un dossier de type "Demande PC rattache DAACT" est créé en cochant le cas
383 "erp"
384 1. créer une demande pour un PC
385 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
386 avec la nature "Demande PC rattache DAACT" avec cas "erp" coche
387 3. Appuyer sur le bouton "Valider"
388
389
390 Quand on crée un événement "refuser un dossier" sur un dossier PC libelle ERP,
391 le message "Décision de conformité effectuée" est envoyée.
392 1. créer une demande pour un PC
393 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
394 avec la nature "Permis de Construire"
395 3. Appuyer sur le bouton "Valider"
396 4. Créer un événement initial dans le sousform "Instruction"
397 5. Créer l'événement "refuser un dossier"
398 6. Appuyer le bouton "Valider"

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26