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

Annotation of /trunk/services/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2127 - (hide annotations)
Mon Aug 5 12:59:05 2013 UTC (11 years, 5 months ago) by softime
File MIME type: text/plain
File size: 14172 byte(s)
- Ajout du champ duree_validite dans dossier_autorisation_type_detaille
- Modification de la taille des champs contenant le numéro de DI dans les tables instruction, donnees_techniques, demande, lien_dossier_demandeur
- Modification de la taille du dossier_libelle dans la table dossier
- Ajout de la fonction REST pour mettre à périmé les dossiers après une vérification
- Màj des traduction
- Màj HISTORY.txt

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