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

Annotation of /trunk/services/README.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1005 - (hide annotations)
Thu Dec 6 15:48:07 2012 UTC (12 years, 1 month 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 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 fmichon 755 ====================
146 fmichon 753 Ressource 'messages'
147     ====================
148    
149     Méthode POST
150     ------------
151    
152 fmichon 780 Message 1
153     *********
154    
155 fmichon 755 /services/messages
156 fmichon 753
157 fmichon 780 {
158     "type": "Mise à jour de complétude ERP ACC",
159 fmichon 874 "date": "16/06/2014 14:12",
160 fmichon 780 "emetteur": "John Doe",
161 fmichon 875 "dossier_instruction": "PD12R0001",
162 fmichon 780 "contenu":
163     {
164     "Complétude ERP ACC": "non",
165     "Motivation Complétude ERP ACC": "Lorem ipsum dolor sit amet..."
166     }
167     }
168 fmichon 753
169 fmichon 780 Message 2
170     *********
171    
172     /services/messages
173    
174     {
175     "type": "Mise à jour de complétude ERP SECU",
176 fmichon 874 "date": "16/06/2014 14:12",
177 fmichon 780 "emetteur": "John Doe",
178 fmichon 875 "dossier_instruction": "PD12R0001",
179 fmichon 780 "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 fmichon 874 "date": "16/06/2014 14:12",
194 fmichon 780 "emetteur": "John Doe",
195 fmichon 875 "dossier_instruction": "PD12R0001",
196 fmichon 780 "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 fmichon 874 "date": "16/06/2014 14:12",
212 fmichon 780 "emetteur": "John Doe",
213 fmichon 875 "dossier_instruction": "PD12R0001",
214 fmichon 780 "contenu":
215     {
216     "Dossier à enjeux ERP" : "oui"
217     }
218     }
219    
220 fmichon 755 ================================
221 fmichon 753 Ressource 'dossier_autorisation'
222     ================================
223    
224     Méthode PUT
225     -----------
226    
227 fmichon 914 Mise à jour du dossier d'autorisation (numero_erp)
228     **************************************************
229 fmichon 753
230 fmichon 914 /services/dossier_autorisation/2
231 fmichon 755
232 fmichon 914 {
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 fmichon 753 Méthode GET
261     -----------
262    
263 fmichon 914 /services/dossier_autorisation/2
264 fmichon 753
265 mlimic 913
266 fmichon 914
267     #################
268     Services RabbitMQ
269     #################
270    
271 mlimic 913 ************************************************************************
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 mlimic 916 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 mlimic 913 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 fmichon 1005 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 mlimic 913 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 mlimic 953 "à 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 mlimic 913
312    
313 mlimic 953 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 mlimic 913
323    
324 mlimic 953 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 mlimic 913
335    
336 mlimic 953 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 mlimic 913
346    
347 mlimic 953 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 mlimic 913
356    
357 mlimic 953 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 mlimic 913 type "Demande d'ouverture ERP DAT".
367 mlimic 953 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 mlimic 913
372 mlimic 916
373 mlimic 953 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 mlimic 913
380 mlimic 916
381 mlimic 953 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 mlimic 916
389 mlimic 953
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