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

Annotation of /trunk/services/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1304 - (hide annotations)
Tue Mar 5 12:08:32 2013 UTC (11 years, 11 months ago) by nhaye
File MIME type: text/plain
File size: 13021 byte(s)
Mise à jour du readme des services

1 fmichon 753 /**
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 fmichon 755 *
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 fmichon 753 */
12 mlimic 515
13 fmichon 753 #############
14     Services REST
15     #############
16 mlimic 515
17 fmichon 755 *********************************
18     Installation, paramétrage et test
19     *********************************
20    
21     ============================================
22 fmichon 753 Configuration d'Apache pour utiliser RESTLER
23 fmichon 755 ============================================
24 mlimic 515
25 fmichon 753 Activer le mod_rewrite Apache
26 fmichon 755 -----------------------------
27 mlimic 515
28 fmichon 753 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 mlimic 515
31 fmichon 753 $ a2enmod rewrite
32 mlimic 515
33 fmichon 753 Paramétrer le virtualhost
34 fmichon 755 -------------------------
35 fmichon 753
36     Ajouter les lignes suivantes dans le paramétrage du virtualhost souhaité ::
37    
38 mlimic 797 Pour n'avoir pas du besoin d'ecrire "rest_entry.php" dans l'URL appelle depuis ERP, utilisez les
39     trois lignes dessous:
40 mlimic 515
41 mlimic 797 RewriteEngine On
42     RewriteCond %{REQUEST_URI} ^.*/<path_to>/services/(.*[^/])
43     RewriteRule ^(.*)/services/(.*)$ /<path_to>/services/rest_entry.php/$2 [QSA,L]
44    
45 fmichon 753 Dans la configuration de votre virtualhost penser à ce que les méthodes HTTP
46     nécessaires GET, PUT, POST, DELETE soient autorisées.
47 mlimic 515
48 fmichon 753 Redémarrer Apache
49 fmichon 755 -----------------
50 mlimic 515
51 fmichon 753 Pour que les changements prennent effet il faut redémarrer le serveur Apache ::
52 mlimic 515
53 fmichon 753 $ /etc/init.d/apache2 restart
54 mlimic 515
55    
56 fmichon 755 ============================================================
57 fmichon 753 Utilisation des services REST avec curl en ligne de commande
58 fmichon 755 ============================================================
59 fmichon 753
60 mlimic 522 Pour envoyer une demande concernant les utilisateurs, avec curl et simple HTTP authetification, on fait :
61 mlimic 515
62 mlimic 522 - en cas de GET :
63     $ curl --user <username> -v http://<server>/<path_to>/services/utilisateurs/<ID>
64 mlimic 515
65 mlimic 522 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 mlimic 515
68 mlimic 522 - 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 mlimic 515
71 mlimic 522 - 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 mlimic 515
74 mlimic 522 - en cas de DELETE:
75     $ curl --user <username> -v -X DELETE http://localhost/~mirna/head_openfoncier/services/utilisateurs/<ID>
76 mlimic 515
77 mlimic 522 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 mlimic 515
80 mlimic 522 Le key_certificate.concat contient la cle avec le certificat colle a la fin de la cle.
81 fmichon 753
82    
83     *****************************************
84     Description des services REST openFoncier
85     *****************************************
86    
87 fmichon 755 =======================
88 fmichon 753 Ressource 'maintenance'
89     =======================
90    
91     Méthode POST
92     ------------
93    
94 fmichon 755 Synchronisation des utilisateurs via LDAP
95     *****************************************
96    
97 fmichon 753 /services/maintenance
98    
99     {
100 fmichon 780 "module": "user",
101     "data": "NA"
102 fmichon 753 }
103    
104    
105 fmichon 755 Traitement des retours de consultation périmés
106     **********************************************
107    
108     /services/maintenance
109    
110 fmichon 753 {
111 fmichon 780 "module": "consultation",
112     "data": "NA"
113 fmichon 753 }
114    
115    
116 fmichon 755 =========================
117 fmichon 753 Ressource 'consultations'
118     =========================
119    
120     Méthode PUT
121     -----------
122    
123 fmichon 780 Retour d'avis d'une consultation sans fichier
124     *********************************************
125 fmichon 753
126 fmichon 780 /services/consultations/1
127 fmichon 753
128 fmichon 780 {
129     "date_retour": "14/01/2012",
130     "avis": "Favorable"
131     }
132 fmichon 755
133 fmichon 780 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 nhaye 1304 ===================
146     Ressource 'arretes'
147     ===================
148    
149     Méthode PUT
150     -----------
151    
152     Retour d'un numéro d'arrêté
153     ***************************
154    
155     /services/arretes
156    
157     {
158     "numero_arrete": "21321654",
159     "numero_dossier": "AZ0130551200001P0",
160     "etat_transaction": "true",
161     "detail_erreur": ""
162     }
163    
164 fmichon 755 ====================
165 fmichon 753 Ressource 'messages'
166     ====================
167    
168     Méthode POST
169     ------------
170    
171 fmichon 780 Message 1
172     *********
173    
174 fmichon 755 /services/messages
175 fmichon 753
176 fmichon 780 {
177     "type": "Mise à jour de complétude ERP ACC",
178 fmichon 874 "date": "16/06/2014 14:12",
179 fmichon 780 "emetteur": "John Doe",
180 fmichon 875 "dossier_instruction": "PD12R0001",
181 fmichon 780 "contenu":
182     {
183     "Complétude ERP ACC": "non",
184     "Motivation Complétude ERP ACC": "Lorem ipsum dolor sit amet..."
185     }
186     }
187 fmichon 753
188 fmichon 780 Message 2
189     *********
190    
191     /services/messages
192    
193     {
194     "type": "Mise à jour de complétude ERP SECU",
195 fmichon 874 "date": "16/06/2014 14:12",
196 fmichon 780 "emetteur": "John Doe",
197 fmichon 875 "dossier_instruction": "PD12R0001",
198 fmichon 780 "contenu":
199     {
200     "Complétude ERP SECU": "oui",
201     "Motivation Complétude ERP SECU": "Lorem ipsum dolor sit amet..."
202     }
203     }
204    
205     Message 3
206     *********
207    
208     /services/messages
209    
210     {
211     "type": "Mise à jour de qualification",
212 fmichon 874 "date": "16/06/2014 14:12",
213 fmichon 780 "emetteur": "John Doe",
214 fmichon 875 "dossier_instruction": "PD12R0001",
215 fmichon 780 "contenu":
216     {
217     "Confirmation ERP": "oui",
218     "Type de dossier ERP": "Lorem ipsum dolor sit amet...",
219     "Catégorie de dossier ERP": "Lorem ipsum dolor sit amet..."
220     }
221     }
222    
223     Message 4
224     *********
225    
226     /services/messages
227    
228     {
229     "type": "Dossier à enjeux ERP",
230 fmichon 874 "date": "16/06/2014 14:12",
231 fmichon 780 "emetteur": "John Doe",
232 fmichon 875 "dossier_instruction": "PD12R0001",
233 fmichon 780 "contenu":
234     {
235     "Dossier à enjeux ERP" : "oui"
236     }
237     }
238    
239 fmichon 755 ================================
240 fmichon 753 Ressource 'dossier_autorisation'
241     ================================
242    
243     Méthode PUT
244     -----------
245    
246 fmichon 914 Mise à jour du dossier d'autorisation (numero_erp)
247     **************************************************
248 fmichon 753
249 fmichon 914 /services/dossier_autorisation/2
250 fmichon 755
251 fmichon 914 {
252     "numero_erp":"12345",
253     "avis":"some"
254     }
255    
256    
257     ERP ouvert (erp_ouvert)
258     ***********************
259    
260     /services/dossier_autorisation/2
261    
262     {
263     "erp_ouvert":"12345",
264     "date_arrete":"some"
265     }
266    
267    
268     Arrêté d'un dossier DAT effectué
269     ********************************
270    
271     /services/dossier_autorisation/2
272    
273     {
274     "arrete_effectue":"some",
275     "date_arrete":"04/06/2014"
276     }
277    
278    
279 fmichon 753 Méthode GET
280     -----------
281    
282 fmichon 914 /services/dossier_autorisation/2
283 fmichon 753
284 mlimic 913
285 fmichon 914
286     #################
287     Services RabbitMQ
288     #################
289    
290 mlimic 913 ************************************************************************
291 nhaye 1290 Description des messages sortants d'openFoncier vers ERP et du RAbbitMQ
292 mlimic 913 ************************************************************************
293 nhaye 1304 Pour envoyer des messages on doit installer RabbitMQ:
294 mlimic 913
295     ~$ sudo aptitude install rabbitmq-server
296    
297 nhaye 1290 Pour envoyer des messages depuis un script PHP aa RabbitMQ (ecrit en Python)
298 mlimic 913 on utilise la librairie php-amqplib.
299 nhaye 1290 Par convenance, cette librairie est incluse dans cette distribution.
300 mlimic 913
301 nhaye 1290 Afin d'être en mesure de recevoir les messages envoyés, il faut lancer le listener.
302     Se placer dans le dossier outgoing du dossier services et lancer la commande suivante :
303    
304     ~$ ./messagereceiverlistener
305    
306 mlimic 916 Pour que les messages partent vers le logiciel ERP il faut mettre l'URL
307     de la resource services/messages d'ERP dans la variable $ERP_URL_MESSAGES
308     qui se trouve dans le fichier dyn/services.inc.php
309    
310 mlimic 913 Les test simples s'achevent en utilisation de fichier:
311 nhaye 1290 services/outgoing/testMessagesSender.php
312 mlimic 913 On peut appeler ce script depuis de la ligne de commande en tapant:
313    
314 nhaye 1290 <path_to_outgoing_folder>$ php testMessagesSender.php
315 mlimic 913
316     En utilisant differents variables statistiques qui sont definie dans ce script
317     on peut tester l'envoi des tous les messages.
318    
319 fmichon 1005 Le logging se fait dans le fichier services/tmp/log.txt. Pour que le logiciel
320     puisse enregistrer les messages dans le log.txt, le répertoire tmp doit être
321     la propriété d'utilisateur d'Apache (www-data par exemple).
322    
323 mlimic 913 Il y a 11 type de messages que on envoi d'openfoncier vers ERP.
324    
325     L'envoi du message "ERP Qualifie" est declanche pour un dossier DAT quand le cas
326 mlimic 953 "à qualifier" est décoche. Pour faire ce test il faut créer un dossier avec
327     nature "Dépôt de dossier DAT".
328     1. créer une demande pour un PC
329     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
330     avec la nature de dossier "Dépôt de dossier DAT", ou "Demande d'ouverture ERP DAT",
331     est coche le cas "à qualifier"
332     3. Appuyer sur le bouton "Valider"
333     4. Modifier le même dossier, en décochant le cas "à qualifier"
334     5. Appuyer le bouton "Valider"
335 mlimic 913
336    
337 mlimic 953 Les messages "Demande de complétude de dossier PC pour un ERP" et "Demande de
338     qualification de dossier PC pour un ERP" sont envoyés quand le cas "à qualifier"
339     est décoché pour un dossier PC qui est libelle ERP.
340     1. créer une demande pour un PC
341     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
342     avec la nature "Permis de Construire" avec le cas "à qualifier" coche
343     3. Appuyer sur le bouton "Valider"
344     4. Modifier le même dossier, en décochant le cas "à qualifier"
345     5. Appuyer le bouton "Valider"
346 mlimic 913
347    
348 mlimic 953 Le message "Demande d'instruction de dossier PC pour un ERP" est envoyé pour un
349     dossier PC quand la consultation d'ERP services sécurité ou accessibilité
350     est demandée sur un dossier PC libelle ERP
351     1. créer une demande pour un PC
352     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
353     avec la nature "Permis de Construire"
354     3. Appuyer sur le bouton "Valider"
355     4. "Ouvrir" l'onglet "consultation"
356     5. Créer une consultation de type "ERP Service Sécurité" ou "ERP Service Accessibilité"
357     6. Appuyer le bouton "Valider"
358 mlimic 913
359    
360 mlimic 953 Quand on crée un événement "accepter un dossier sans réserve" sur un dossier PC libelle ERP,
361     le message "Arrête PC effectue" est envoyé.
362     1. créer une demande pour un PC
363     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
364     avec la nature "Permis de Construire"
365     3. Appuyer sur le bouton "Valider"
366     4. Créer un événement initial dans le sousform "Instruction"
367     5. Créer l'événement "accepter un dossier sans réserve"
368     6. Appuyer le bouton "Valider"
369 mlimic 913
370    
371 mlimic 953 Le message "Consultation ERP pour conformité" est envoyée quand:
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. "Ouvrir" l'onglet "consultation"
377     5. Créer une consultation de type "ERP Service Conformité"
378     6. Appuyer le bouton "Valider"
379 mlimic 913
380    
381 mlimic 953 Le message "Dépôt de dossier DAT" est envoyé quand on crée un dossier de type
382     "Dépôt de dossier DAT".
383     1. créer une demande pour un PC
384     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
385     avec la nature "Dépôt de dossier DAT"
386     3. Appuyer sur le bouton "Valider"
387    
388    
389     Le message "Demande d'ouverture ERP DAT" est envoyé quand on crée un dossier de
390 mlimic 913 type "Demande d'ouverture ERP DAT".
391 mlimic 953 1. créer une demande pour un PC
392     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
393     avec la nature "Demande d'ouverture ERP DAT"
394     3. Appuyer sur le bouton "Valider"
395 mlimic 913
396 mlimic 916
397 mlimic 953 Le message "Annulation de la demande" est envoyé quand on crée un dossier de type
398     "Annulation de la demande" en cochant le cas "erp".
399     1. créer une demande pour un PC
400     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
401     avec la nature "Annulation de la demande"
402     3. Appuyer sur le bouton "Valider"
403 mlimic 913
404 mlimic 916
405 mlimic 953 Le message "Demande d'ouverture ERP PC" "rattache" au dossier DAACT est envoyé
406     quand un dossier de type "Demande PC rattache DAACT" est créé en cochant le cas
407     "erp"
408     1. créer une demande pour un PC
409     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
410     avec la nature "Demande PC rattache DAACT" avec cas "erp" coche
411     3. Appuyer sur le bouton "Valider"
412 mlimic 916
413 mlimic 953
414     Quand on crée un événement "refuser un dossier" sur un dossier PC libelle ERP,
415     le message "Décision de conformité effectuée" est envoyée.
416     1. créer une demande pour un PC
417     2. créer un dossier d'instruction attache au dossier d'autorisation créé dans le 1
418     avec la nature "Permis de Construire"
419     3. Appuyer sur le bouton "Valider"
420     4. Créer un événement initial dans le sousform "Instruction"
421     5. Créer l'événement "refuser un dossier"
422     6. Appuyer le bouton "Valider"
423 nhaye 1304
424     Pour que les messages SOAP partent vers le referentiel des arrêtés il faut mettre l'URL
425     du WSDL dans $ARRETE_WSDL qui se trouve dans le fichier dyn/services.inc.php
426     Les logins et mots de passes d'accès au web service seront configurés dans le
427     fichier dyn/services.inc.php.
428    
429     Les messages sont traités de la même façon que les REST, une "queue" et un "router"
430     ont été créer pour ce type de message.
431    
432     Seul un message est envoyé au referenciel des arrêtés :
433    
434     L'envoi du message contenant les informations des arrêtés est déclanché lorsque
435     l'arrêté a été signé par l'autorité compétente.
436    
437     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