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

Contents of /trunk/services/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1661 - (show annotations)
Fri Apr 12 16:41:57 2013 UTC (11 years, 9 months ago) by nhaye
File MIME type: text/plain
File size: 13314 byte(s)
Maj du readme

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 Traitement des événements suivant tacite
116 ****************************************
117
118 /services/maintenance
119
120 {
121 "module": "instruction",
122 "data": "NA"
123 }
124
125
126 =========================
127 Ressource 'consultations'
128 =========================
129
130 Méthode PUT
131 -----------
132
133 Retour d'avis d'une consultation sans fichier
134 *********************************************
135
136 /services/consultations/1
137
138 {
139 "date_retour": "14/01/2012",
140 "avis": "Favorable"
141 }
142
143 Retour d'avis d'une consultation avec fichier
144 *********************************************
145
146 /services/consultations/1
147
148 {
149 "date_retour": "14/01/2012",
150 "avis": "Favorable",
151 "fichier_base64": "JVBERi0xLjQKJcOkw7zDtsOfCjIgM",
152 "nom_fichier": "plop.pdf"
153 }
154
155 ===================
156 Ressource 'arretes'
157 ===================
158
159 Méthode PUT
160 -----------
161
162 Retour d'un numéro d'arrêté
163 ***************************
164
165 /services/arretes
166
167 {
168 "numero_arrete": "21321654",
169 "numero_dossier": "AZ0130551200001P0",
170 "etat_transaction": "true",
171 "detail_erreur": ""
172 }
173
174 ====================
175 Ressource 'messages'
176 ====================
177
178 Méthode POST
179 ------------
180
181 Message 1
182 *********
183
184 /services/messages
185
186 {
187 "type": "Mise à jour de complétude ERP ACC",
188 "date": "16/06/2014 14:12",
189 "emetteur": "John Doe",
190 "dossier_instruction": "PD12R0001",
191 "contenu":
192 {
193 "Complétude ERP ACC": "non",
194 "Motivation Complétude ERP ACC": "Lorem ipsum dolor sit amet..."
195 }
196 }
197
198 Message 2
199 *********
200
201 /services/messages
202
203 {
204 "type": "Mise à jour de complétude ERP SECU",
205 "date": "16/06/2014 14:12",
206 "emetteur": "John Doe",
207 "dossier_instruction": "PD12R0001",
208 "contenu":
209 {
210 "Complétude ERP SECU": "oui",
211 "Motivation Complétude ERP SECU": "Lorem ipsum dolor sit amet..."
212 }
213 }
214
215 Message 3
216 *********
217
218 /services/messages
219
220 {
221 "type": "Mise à jour de qualification",
222 "date": "16/06/2014 14:12",
223 "emetteur": "John Doe",
224 "dossier_instruction": "PD12R0001",
225 "contenu":
226 {
227 "Confirmation ERP": "oui",
228 "Type de dossier ERP": "Lorem ipsum dolor sit amet...",
229 "Catégorie de dossier ERP": "Lorem ipsum dolor sit amet..."
230 }
231 }
232
233 Message 4
234 *********
235
236 /services/messages
237
238 {
239 "type": "Dossier à enjeux ERP",
240 "date": "16/06/2014 14:12",
241 "emetteur": "John Doe",
242 "dossier_instruction": "PD12R0001",
243 "contenu":
244 {
245 "Dossier à enjeux ERP" : "oui"
246 }
247 }
248
249 ================================
250 Ressource 'dossier_autorisation'
251 ================================
252
253 Méthode PUT
254 -----------
255
256 Mise à jour du dossier d'autorisation (numero_erp)
257 **************************************************
258
259 /services/dossier_autorisation/2
260
261 {
262 "numero_erp":"12345",
263 "avis":"some"
264 }
265
266
267 ERP ouvert (erp_ouvert)
268 ***********************
269
270 /services/dossier_autorisation/2
271
272 {
273 "erp_ouvert":"12345",
274 "date_arrete":"some"
275 }
276
277
278 Arrêté d'un dossier DAT effectué
279 ********************************
280
281 /services/dossier_autorisation/2
282
283 {
284 "arrete_effectue":"some",
285 "date_arrete":"04/06/2014"
286 }
287
288
289 Méthode GET
290 -----------
291
292 /services/dossier_autorisation/2
293
294
295
296 #################
297 Services RabbitMQ
298 #################
299
300 ************************************************************************
301 Description des messages sortants d'openFoncier vers ERP et du RAbbitMQ
302 ************************************************************************
303 Pour envoyer des messages on doit installer RabbitMQ:
304
305 ~$ sudo aptitude install rabbitmq-server
306
307 Pour envoyer des messages depuis un script PHP aa RabbitMQ (ecrit en Python)
308 on utilise la librairie php-amqplib.
309 Par convenance, cette librairie est incluse dans cette distribution.
310
311 Afin d'être en mesure de recevoir les messages envoyés, il faut lancer le listener.
312 Se placer dans le dossier outgoing du dossier services et lancer la commande suivante :
313
314 ~$ ./messagereceiverlistener
315
316 Pour que les messages partent vers le logiciel ERP il faut mettre l'URL
317 de la resource services/messages d'ERP dans la variable $ERP_URL_MESSAGES
318 qui se trouve dans le fichier dyn/services.inc.php
319
320 Les test simples s'achevent en utilisation de fichier:
321 services/outgoing/testMessagesSender.php
322 On peut appeler ce script depuis de la ligne de commande en tapant:
323
324 <path_to_outgoing_folder>$ php testMessagesSender.php
325
326 En utilisant differents variables statistiques qui sont definie dans ce script
327 on peut tester l'envoi des tous les messages.
328
329 Le logging se fait dans le fichier services/tmp/log.txt. Pour que le logiciel
330 puisse enregistrer les messages dans le log.txt, le répertoire tmp doit être
331 la propriété d'utilisateur d'Apache (www-data par exemple).
332
333 Il y a 11 type de messages que on envoi d'openfoncier vers ERP.
334
335 L'envoi du message "ERP Qualifie" est declanche pour un dossier DAT quand le cas
336 "à qualifier" est décoche. Pour faire ce test il faut créer un dossier avec
337 nature "Dépôt de dossier DAT".
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 de dossier "Dépôt de dossier DAT", ou "Demande d'ouverture ERP DAT",
341 est coche le cas "à qualifier"
342 3. Appuyer sur le bouton "Valider"
343 4. Modifier le même dossier, en décochant le cas "à qualifier"
344 5. Appuyer le bouton "Valider"
345
346
347 Les messages "Demande de complétude de dossier PC pour un ERP" et "Demande de
348 qualification de dossier PC pour un ERP" sont envoyés quand le cas "à qualifier"
349 est décoché pour un dossier PC qui est libelle ERP.
350 1. créer une demande pour un PC
351 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
352 avec la nature "Permis de Construire" avec le cas "à qualifier" coche
353 3. Appuyer sur le bouton "Valider"
354 4. Modifier le même dossier, en décochant le cas "à qualifier"
355 5. Appuyer le bouton "Valider"
356
357
358 Le message "Demande d'instruction de dossier PC pour un ERP" est envoyé pour un
359 dossier PC quand la consultation d'ERP services sécurité ou accessibilité
360 est demandée sur un dossier PC libelle ERP
361 1. créer une demande pour un PC
362 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
363 avec la nature "Permis de Construire"
364 3. Appuyer sur le bouton "Valider"
365 4. "Ouvrir" l'onglet "consultation"
366 5. Créer une consultation de type "ERP Service Sécurité" ou "ERP Service Accessibilité"
367 6. Appuyer le bouton "Valider"
368
369
370 Quand on crée un événement "accepter un dossier sans réserve" sur un dossier PC libelle ERP,
371 le message "Arrête PC effectue" est envoyé.
372 1. créer une demande pour un PC
373 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
374 avec la nature "Permis de Construire"
375 3. Appuyer sur le bouton "Valider"
376 4. Créer un événement initial dans le sousform "Instruction"
377 5. Créer l'événement "accepter un dossier sans réserve"
378 6. Appuyer le bouton "Valider"
379
380
381 Le message "Consultation ERP pour conformité" est envoyée quand:
382 1. créer une demande pour un PC
383 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
384 avec la nature "Permis de Construire"
385 3. Appuyer sur le bouton "Valider"
386 4. "Ouvrir" l'onglet "consultation"
387 5. Créer une consultation de type "ERP Service Conformité"
388 6. Appuyer le bouton "Valider"
389
390
391 Le message "Dépôt de dossier DAT" est envoyé quand on crée un dossier de type
392 "Dépôt de dossier DAT".
393 1. créer une demande pour un PC
394 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
395 avec la nature "Dépôt de dossier DAT"
396 3. Appuyer sur le bouton "Valider"
397
398
399 Le message "Demande d'ouverture ERP DAT" est envoyé quand on crée un dossier de
400 type "Demande d'ouverture ERP DAT".
401 1. créer une demande pour un PC
402 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
403 avec la nature "Demande d'ouverture ERP DAT"
404 3. Appuyer sur le bouton "Valider"
405
406
407 Le message "Annulation de la demande" est envoyé quand on crée un dossier de type
408 "Annulation de la demande" en cochant le cas "erp".
409 1. créer une demande pour un PC
410 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
411 avec la nature "Annulation de la demande"
412 3. Appuyer sur le bouton "Valider"
413
414
415 Le message "Demande d'ouverture ERP PC" "rattache" au dossier DAACT est envoyé
416 quand un dossier de type "Demande PC rattache DAACT" est créé en cochant le cas
417 "erp"
418 1. créer une demande pour un PC
419 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
420 avec la nature "Demande PC rattache DAACT" avec cas "erp" coche
421 3. Appuyer sur le bouton "Valider"
422
423
424 Quand on crée un événement "refuser un dossier" sur un dossier PC libelle ERP,
425 le message "Décision de conformité effectuée" est envoyée.
426 1. créer une demande pour un PC
427 2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
428 avec la nature "Permis de Construire"
429 3. Appuyer sur le bouton "Valider"
430 4. Créer un événement initial dans le sousform "Instruction"
431 5. Créer l'événement "refuser un dossier"
432 6. Appuyer le bouton "Valider"
433
434 Pour que les messages SOAP partent vers le referentiel des arrêtés il faut mettre l'URL
435 du WSDL dans $ARRETE_WSDL qui se trouve dans le fichier dyn/services.inc.php
436 Les logins et mots de passes d'accès au web service seront configurés dans le
437 fichier dyn/services.inc.php.
438 Il est possible d'ajouter un couple login/mdp pour authentification hhtp/https,
439 puis un autre couple pour l'authentification au web services.
440
441 Les messages sont traités de la même façon que les REST, une "queue" et un "router"
442 ont été créer pour ce type de message.
443
444 Seul un message est envoyé au referenciel des arrêtés :
445
446 L'envoi du message contenant les informations des arrêtés est déclanché lorsque
447 l'arrêté a été signé par l'autorité compétente.
448
449 Lors de la modification de la date de retour de signature du maire l'envoi est déclanché

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26