help: use proper apostrophes
This commit is contained in:
parent
33166c8ddc
commit
b1ffd25470
|
@ -9,7 +9,7 @@
|
|||
<name>Frédéric Péters</name>
|
||||
<email>fpeters@entrouvert.com</email>
|
||||
</credit>
|
||||
<desc>Clé d'utilisation, utilisateurs, sessions, signatures, etc.</desc>
|
||||
<desc>Clé d’utilisation, utilisateurs, sessions, signatures, etc.</desc>
|
||||
|
||||
</info>
|
||||
|
||||
|
@ -20,10 +20,10 @@
|
|||
|
||||
<p>
|
||||
Pour les appels concernant un usager particulier (tel que la récupération de la
|
||||
liste de ses formulaires en cours), l'usager est précisé en ajoutant une query
|
||||
string avec un paramètre <code>email</code> (pour trouver l'usager selon son
|
||||
liste de ses formulaires en cours), l’usager est précisé en ajoutant une query
|
||||
string avec un paramètre <code>email</code> (pour trouver l’usager selon son
|
||||
adresse électronique) ou un paramètre <code>NameID</code> (pour trouver
|
||||
l'usager selon son NameID SAML).
|
||||
l’usager selon son NameID SAML).
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
@ -34,10 +34,10 @@ l'usager selon son NameID SAML).
|
|||
<p>
|
||||
Les appels aux API doivent être signés, cela passe par une clé partagée à
|
||||
configurer des deux cotés de la liaison, la signature est du type HMAC;
|
||||
l'algorithme de hash à employer est passé en paramètre.
|
||||
l’algorithme de hash à employer est passé en paramètre.
|
||||
</p>
|
||||
|
||||
<note><p>En ce qui concerne l'algorithme de hash, il est préconisé d'utiliser
|
||||
<note><p>En ce qui concerne l’algorithme de hash, il est préconisé d’utiliser
|
||||
SHA-256 par respect du <link
|
||||
href="http://references.modernisation.gouv.fr/securite">Référentiel Général
|
||||
de Sécurité (RGS)</link>.</p></note>
|
||||
|
@ -45,7 +45,7 @@ de Sécurité (RGS)</link>.</p></note>
|
|||
<p>
|
||||
La signature est à calculer sur la query string encodée complète, en
|
||||
enlevant les paramètres terminaux <code>algo</code>, <code>timestamp</code>,
|
||||
<code>nonce</code>, <code>orig</code> et <code>signature</code> s'ils sont
|
||||
<code>nonce</code>, <code>orig</code> et <code>signature</code> s’ils sont
|
||||
présents.</p>
|
||||
|
||||
<p>La formule de calcul de la signature est la suivante :</p>
|
||||
|
@ -61,14 +61,14 @@ en se limitant à la précision des secondes (ex : 2012-04-04T12:34:00Z),
|
|||
</p></item>
|
||||
|
||||
<item><p><code>nonce</code> est un aléa, typiquement la réprésentation hexa
|
||||
d'un nombre pseudo-aléatoire de 128 bits,</p></item>
|
||||
d’un nombre pseudo-aléatoire de 128 bits,</p></item>
|
||||
|
||||
<item><p><code>orig</code> est une chaîne précisant l'émetteur de la
|
||||
<item><p><code>orig</code> est une chaîne précisant l’émetteur de la
|
||||
requête,</p></item>
|
||||
|
||||
<item><p>algo est une chaîne représentant l'algorithme de hachage utilisé, sont
|
||||
<item><p>algo est une chaîne représentant l’algorithme de hachage utilisé, sont
|
||||
définis : sha1, sha256, sha512 pour les trois algorithmes correspondant.
|
||||
L'utilisation d'une valeur différente n'est pas définie. L'algorithme sha256
|
||||
L’utilisation d’une valeur différente n’est pas définie. L’algorithme sha256
|
||||
est préconisé.</p></item>
|
||||
|
||||
</list>
|
||||
|
@ -103,7 +103,7 @@ intranet = 12345
|
|||
<title>Exemples de code de signature</title>
|
||||
|
||||
<p>
|
||||
Voici des exemples de code pour créer des URLs signées selon l'algorithme
|
||||
Voici des exemples de code pour créer des URLs signées selon l’algorithme
|
||||
expliqué ci-dessus.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -20,10 +20,10 @@ obtenir la liste des modèles de fiche et les schémas de données associés.
|
|||
</p>
|
||||
|
||||
<section id="card">
|
||||
<title>Récupération des données d'une fiches</title>
|
||||
<title>Récupération des données d’une fiches</title>
|
||||
|
||||
<p>
|
||||
L'exemple suivant récupère les données d'une fiche « Parking », dont le modèle
|
||||
L’exemple suivant récupère les données d’une fiche « Parking », dont le modèle
|
||||
de fiche a comme identifiant « parkings ».
|
||||
</p>
|
||||
|
||||
|
@ -45,7 +45,7 @@ Le contenu ainsi obtenu est le suivant :
|
|||
"last_update_time" : "2020-11-24T14:18:16",
|
||||
"receipt_time" : "2020-11-06T14:48:07",
|
||||
"fields" : {
|
||||
"adresse" : "rue de l'Opéra",
|
||||
"adresse" : "rue de l’Opéra",
|
||||
"date_ouverture" : "2020-11-12",
|
||||
"nom" : "Parking Opéra-Tolozan"
|
||||
},
|
||||
|
@ -64,8 +64,8 @@ Le contenu ainsi obtenu est le suivant :
|
|||
</code>
|
||||
|
||||
<p>
|
||||
La structure du contenu correspond à celle de l'API d
|
||||
<link xref="api-get#pull">récupération des données d'un formulaire</link>.
|
||||
La structure du contenu correspond à celle de l’API d
|
||||
<link xref="api-get#pull">récupération des données d’un formulaire</link>.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
@ -74,7 +74,7 @@ La structure du contenu correspond à celle de l'API d
|
|||
<title>Liste de fiches</title>
|
||||
|
||||
<p>
|
||||
La liste des fiches d'un modèle donné est destinée à être utilisée par
|
||||
La liste des fiches d’un modèle donné est destinée à être utilisée par
|
||||
un système de synchronisation. Elle ne retourne donc pour chaque fiche que
|
||||
son numéro (id), ses dates de création et de dernière mise à jour.
|
||||
</p>
|
||||
|
@ -109,8 +109,8 @@ effacées, puis effectuera pour chacune les actions nécessaires.
|
|||
|
||||
<p>
|
||||
Des paramètres peuvent être envoyés dans la requête pour filtrer la liste des
|
||||
fiches, ils sont similaires à ceux de l'API de <link
|
||||
xref="api-get#listing">récupération d'une liste de formulaires</link>.
|
||||
fiches, ils sont similaires à ceux de l’API de <link
|
||||
xref="api-get#listing">récupération d’une liste de formulaires</link>.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
@ -119,7 +119,7 @@ xref="api-get#listing">récupération d'une liste de formulaires</link>.
|
|||
<title>Schéma de données</title>
|
||||
|
||||
<p>
|
||||
Une API existe pour récupérer le schéma de données d'un modèle de fiches.
|
||||
Une API existe pour récupérer le schéma de données d’un modèle de fiches.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
w.c.s. peut utiliser des référentiels externes pour par exemple alimenter la
|
||||
liste des choix possibles dans un champ; pour ce faire w.c.s. utilise le
|
||||
format JSON.
|
||||
L'adresse appelée doit répondre aux exigences suivantes :
|
||||
L’adresse appelée doit répondre aux exigences suivantes :
|
||||
</p>
|
||||
|
||||
<list>
|
||||
|
@ -49,7 +49,7 @@ L'adresse appelée doit répondre aux exigences suivantes :
|
|||
|
||||
<p>
|
||||
Quand il y a besoin de filtrer dynamiquement les données
|
||||
(autocomplétion, recherche dans un champ liste), l'adresse appellée
|
||||
(autocomplétion, recherche dans un champ liste), l’adresse appellée
|
||||
doit respecter les exigences supplémentaires suivantes :
|
||||
</p>
|
||||
|
||||
|
@ -61,7 +61,7 @@ doit respecter les exigences supplémentaires suivantes :
|
|||
</list>
|
||||
|
||||
<example>
|
||||
<title>Exemple JSON d'un élément unique désigné par son identifiant</title>
|
||||
<title>Exemple JSON d’un élément unique désigné par son identifiant</title>
|
||||
<screen>
|
||||
<output style="prompt">$ </output><input>curl https://www.example.net/data/fruits?id=1</input>
|
||||
<output>{
|
||||
|
|
|
@ -12,27 +12,27 @@
|
|||
|
||||
</info>
|
||||
|
||||
<title>Complétion et modification d'un formulaire</title>
|
||||
<title>Complétion et modification d’un formulaire</title>
|
||||
|
||||
<p>
|
||||
w.c.s expose une API autorisant les logiciels tiers à transmettre des données
|
||||
structurées permettant la complétion d'un formulaire ou la modification d'un
|
||||
structurées permettant la complétion d’un formulaire ou la modification d’un
|
||||
formulaire existant.
|
||||
</p>
|
||||
|
||||
<section id="create">
|
||||
<title>Complétion d'un formulaire</title>
|
||||
<title>Complétion d’un formulaire</title>
|
||||
|
||||
<p>
|
||||
La complétion d'un formulaire se fait par une requête <code>POST</code> à
|
||||
l'adresse <code>/api/formdefs/<var>slug</var>/submit</code>, le contenu de
|
||||
La complétion d’un formulaire se fait par une requête <code>POST</code> à
|
||||
l’adresse <code>/api/formdefs/<var>slug</var>/submit</code>, le contenu de
|
||||
la requête doit être un dictionnaire contenant obligatoirement un attribut
|
||||
<code>data</code> et optionnellement un attribut <code>meta</code> et un
|
||||
attribut <code>context</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L'attribut <code>data</code> est obligatoire et contient un dictionnaire
|
||||
L’attribut <code>data</code> est obligatoire et contient un dictionnaire
|
||||
dont les clés sont les noms de variable (remplacé ici par
|
||||
<var>varname</var>) des champs du formulaire et les valeurs le contenu de
|
||||
ces champs.
|
||||
|
@ -79,7 +79,7 @@ formulaire existant.
|
|||
</list>
|
||||
|
||||
<p>
|
||||
L'attribut <code>meta</code> est optionnel et contient une série de
|
||||
L’attribut <code>meta</code> est optionnel et contient une série de
|
||||
paramètres supplémentaires concernant le formulaire.
|
||||
</p>
|
||||
|
||||
|
@ -98,14 +98,14 @@ formulaire existant.
|
|||
</table>
|
||||
|
||||
<p>
|
||||
L'attribut <code>context</code> est également optionnel et contient une
|
||||
série de renseignements supplémentaires sur le contexte de l'envoi du
|
||||
L’attribut <code>context</code> est également optionnel et contient une
|
||||
série de renseignements supplémentaires sur le contexte de l’envoi du
|
||||
formulaire. Les attributs reconnus sont <code>channel</code>,
|
||||
<code>thumbnail_url</code>, <code>user_id</code> et <code>comments</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L'exemple suivant complète un formulaire d'inscription à une newsletter, qui
|
||||
L’exemple suivant complète un formulaire d’inscription à une newsletter, qui
|
||||
demanderait trois champs : prénom (nom de variable <code>prenom</code>), nom
|
||||
(nom de variable <code>nom</code>) et adresse électronique (nom de variable
|
||||
<code>email</code>).
|
||||
|
@ -137,16 +137,16 @@ formulaire existant.
|
|||
</section>
|
||||
|
||||
<section id="edit">
|
||||
<title>Modification d'un formulaire</title>
|
||||
<title>Modification d’un formulaire</title>
|
||||
|
||||
<p>
|
||||
Un formulaire qui peut être modifié (par la présence d'une action de workflow
|
||||
de type « Permettre l'édition ») peut également être modifié via un appel à
|
||||
l'API, en faisant un <code>POST</code> sur l'adresse du formulaire.
|
||||
Un formulaire qui peut être modifié (par la présence d’une action de workflow
|
||||
de type « Permettre l’édition ») peut également être modifié via un appel à
|
||||
l’API, en faisant un <code>POST</code> sur l’adresse du formulaire.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Les données attendues sont similaires à la création d'un nouveau formulaire,
|
||||
Les données attendues sont similaires à la création d’un nouveau formulaire,
|
||||
seuls les champs présents seront pris en compte.
|
||||
</p>
|
||||
|
||||
|
@ -182,7 +182,7 @@ formulaire existant.
|
|||
|
||||
<p>
|
||||
Pour les champs de type « Liste », si le champ est configuré avec une simple
|
||||
liste d'options, la valeur doit être une chaîne tirée de la liste.
|
||||
liste d’options, la valeur doit être une chaîne tirée de la liste.
|
||||
</p>
|
||||
|
||||
<listing>
|
||||
|
@ -195,15 +195,15 @@ formulaire existant.
|
|||
|
||||
<p>
|
||||
Si le champ est configuré pour tirer ses options depuis une source de
|
||||
données, la valeur peut être l'identifiant d'une donnée structurée ou si la
|
||||
donnée structurée complète est transmise, l'identifiant de la donnée dans
|
||||
données, la valeur peut être l’identifiant d’une donnée structurée ou si la
|
||||
donnée structurée complète est transmise, l’identifiant de la donnée dans
|
||||
une clé suffixée de <code>_raw</code>, le libellé de la donnée dans la clé
|
||||
normale et éventuellement la donnée structurée complète dans une clé
|
||||
suffixée de <code>_structured</code>.
|
||||
</p>
|
||||
|
||||
<listing>
|
||||
<title>Identifiant d'une option</title>
|
||||
<title>Identifiant d’une option</title>
|
||||
<code>
|
||||
"data": {
|
||||
"<var>varname</var>": "1"
|
||||
|
@ -229,7 +229,7 @@ formulaire existant.
|
|||
|
||||
<p>
|
||||
Pour les champs de type « Liste à choix multiple », si le champ est
|
||||
configuré avec une simple liste d'options, la valeur doit être une
|
||||
configuré avec une simple liste d’options, la valeur doit être une
|
||||
liste de chaînes tirées de la liste.
|
||||
</p>
|
||||
|
||||
|
@ -243,7 +243,7 @@ formulaire existant.
|
|||
|
||||
<p>
|
||||
Si le champ est configuré pour tirer ses options depuis une source de
|
||||
données, la valeur peut être une liste d'identifiants ou,
|
||||
données, la valeur peut être une liste d’identifiants ou,
|
||||
si la donnée structurée complète est transmise, la liste des identifiants
|
||||
de la donnée dans une clé suffixée de <code>_raw</code>, la liste des
|
||||
libellés de la donnée dans la clé normale et éventuellement la liste des
|
||||
|
@ -252,7 +252,7 @@ formulaire existant.
|
|||
</p>
|
||||
|
||||
<listing>
|
||||
<title>Liste d'identifiants d'options</title>
|
||||
<title>Liste d’identifiants d’options</title>
|
||||
<code>
|
||||
"data": {
|
||||
"<var>varname</var>": ["1", "2"]
|
||||
|
|
|
@ -12,20 +12,20 @@
|
|||
|
||||
</info>
|
||||
|
||||
<title>Récupération des données d'un formulaire</title>
|
||||
<title>Récupération des données d’un formulaire</title>
|
||||
|
||||
<p>
|
||||
Il s'agit ici d'une API permettant à un logiciel tiers de récupérer les données
|
||||
Il s’agit ici d’une API permettant à un logiciel tiers de récupérer les données
|
||||
associées à un formulaire complété; cet accès peut aussi bien être initié par
|
||||
l'application tierce (mode pull) ou par w.c.s., à différents moments du
|
||||
traitement d'un formulaire (mode push).
|
||||
l’application tierce (mode pull) ou par w.c.s., à différents moments du
|
||||
traitement d’un formulaire (mode push).
|
||||
</p>
|
||||
|
||||
<section id="pull">
|
||||
<title>Mode « Pull »</title>
|
||||
|
||||
<p>
|
||||
L'exemple suivant récupère les données d'un formulaire d'inscription à une
|
||||
L’exemple suivant récupère les données d’un formulaire d’inscription à une
|
||||
newsletter.
|
||||
</p>
|
||||
|
||||
|
@ -130,9 +130,9 @@ Le contenu ainsi obtenu est le suivant :
|
|||
"parts": [
|
||||
{
|
||||
"type": "wscall-error",
|
||||
"summary": "description de l'erreur",
|
||||
"summary": "description de l’erreur",
|
||||
"label": "appel du web-service XYZ",
|
||||
"data": "données reçues jusqu'à 10000 octets..."
|
||||
"data": "données reçues jusqu’à 10000 octets..."
|
||||
},
|
||||
{
|
||||
"type": "workflow-comment",
|
||||
|
@ -149,39 +149,39 @@ Seuls les champs ayant un <em>nom de variable</em> sont exportés dans <code>fie
|
|||
</p>
|
||||
|
||||
<p>
|
||||
Les différentes géolocalisation associées au formulaire sont listées dans l'attribut
|
||||
<code>geolocations</code>. Pour l'instant il n'en existe qu'une toujours nommée <code>base</code>.
|
||||
Les différentes géolocalisation associées au formulaire sont listées dans l’attribut
|
||||
<code>geolocations</code>. Pour l’instant il n’en existe qu’une toujours nommée <code>base</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Concernant les rôles et fonctions de workflow, les différents intervenants sont
|
||||
listés dans l'attribut <code>roles</code>, en différentes séries qui vont
|
||||
listés dans l’attribut <code>roles</code>, en différentes séries qui vont
|
||||
dépendre de fonctions attachées au workflow. Deux séries sont particulières,
|
||||
la série <code>concerned</code> reprend les rôles concernés par la demande et
|
||||
la série <code>actions</code> reprend les rôles disposant d'une capacité
|
||||
d'action sur la demande.
|
||||
la série <code>actions</code> reprend les rôles disposant d’une capacité
|
||||
d’action sur la demande.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L'information sur l'origine de la demande, si la saisie a eu lieu depuis le
|
||||
backoffice et quel était le canal d'origine de la demande, est disponible
|
||||
dans l'attribut <code>submission</code>.
|
||||
L’information sur l’origine de la demande, si la saisie a eu lieu depuis le
|
||||
backoffice et quel était le canal d’origine de la demande, est disponible
|
||||
dans l’attribut <code>submission</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L'historique du formulaire, ses transitions dans différents statuts, est disponible dans l'attribut
|
||||
<code>evolution</code>. Cette liste de dictionnaires contient l'instant de la transition
|
||||
dans l'attribut <code>time</code>, le code du statut concerné dans <code>status</code> et
|
||||
une description de l'utilisateur responsable de la transition dans <code>user</code>. L'attribut
|
||||
L’historique du formulaire, ses transitions dans différents statuts, est disponible dans l’attribut
|
||||
<code>evolution</code>. Cette liste de dictionnaires contient l’instant de la transition
|
||||
dans l’attribut <code>time</code>, le code du statut concerné dans <code>status</code> et
|
||||
une description de l’utilisateur responsable de la transition dans <code>user</code>. L’attribut
|
||||
optionnel <code>parts</code> peut contenir une liste de dictionnaires liés aux actions de workflow,
|
||||
comme un commentaire ou une erreur lors de l'appel d'un <em>web service</em>.
|
||||
comme un commentaire ou une erreur lors de l’appel d’un <em>web service</em>.
|
||||
</p>
|
||||
|
||||
|
||||
<note>
|
||||
<p>
|
||||
Il est bien sûr nécessaire de disposer des autorisations nécessaires pour
|
||||
accéder ainsi aux données d'un formulaire. (cf <link
|
||||
accéder ainsi aux données d’un formulaire. (cf <link
|
||||
xref="api-auth"/> pour les explications sur le sujet)
|
||||
</p>
|
||||
</note>
|
||||
|
@ -192,15 +192,15 @@ comme un commentaire ou une erreur lors de l'appel d'un <em>web service</em>.
|
|||
<title>Mode « push »</title>
|
||||
|
||||
<p>
|
||||
Il est également possible pour un workflow d'être configuré pour transmettre
|
||||
Il est également possible pour un workflow d’être configuré pour transmettre
|
||||
les données à une URL fournie par une application tierce. Un document JSON
|
||||
(tel celui donné plus haut) est alors transmis en utilisant la méthode POST.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
En retour, l'application tierce peut fournir un objet JSON qui sera enregistré
|
||||
En retour, l’application tierce peut fournir un objet JSON qui sera enregistré
|
||||
dans les données du workflow du formulaire (voir le dictionnaire "data" dans
|
||||
l'exemple ci-dessus).
|
||||
l’exemple ci-dessus).
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
@ -210,7 +210,7 @@ l'exemple ci-dessus).
|
|||
<title>Types de données</title>
|
||||
|
||||
<p>
|
||||
Les données d'un formulaire sont placées dans le champs <code>fields</code> de
|
||||
Les données d’un formulaire sont placées dans le champs <code>fields</code> de
|
||||
la réponse. Les champs de type simple tels que « Texte », « Texte long » ou
|
||||
« Courriel » sont vus en tant que chaîne de caractères :
|
||||
</p>
|
||||
|
@ -226,7 +226,7 @@ la réponse. Les champs de type simple tels que « Texte », « Texte long
|
|||
</code>
|
||||
|
||||
<section>
|
||||
<title>Représentation d'un champ « Fichier »</title>
|
||||
<title>Représentation d’un champ « Fichier »</title>
|
||||
|
||||
<p>
|
||||
Les champs de type « Fichier » sont exportés selon le schéma suivant :
|
||||
|
@ -257,7 +257,7 @@ La valeur de <code>content</code> est le contenu du fichier, encodé en base64.
|
|||
<title>Liste de formulaires</title>
|
||||
|
||||
<note style="important"><p>
|
||||
Ce webservice n'est pas encore stabilisé, son URL peut encore changer dans les
|
||||
Ce webservice n’est pas encore stabilisé, son URL peut encore changer dans les
|
||||
futures versions de w.c.s.
|
||||
</p></note>
|
||||
|
||||
|
@ -298,7 +298,7 @@ etc.).
|
|||
|
||||
<p>
|
||||
Des paramètres peuvent être envoyés dans la requête pour filtrer le listing
|
||||
voulu. Il s'agit des mêmes paramètres que pour l'export ou le listing en backoffice, sauf
|
||||
voulu. Il s’agit des mêmes paramètres que pour l’export ou le listing en backoffice, sauf
|
||||
pour filter qui est fixé à all par défaut. Pour avoir une liste limitée aux
|
||||
demandes non terminées (pending) :
|
||||
</p>
|
||||
|
@ -322,10 +322,10 @@ possibles est « gratuit » :
|
|||
|
||||
<p>
|
||||
Afin de faciliter certains traitements <em>batch</em>, il est possible de
|
||||
demander que l'ensemble des données associées aux formulaires soient
|
||||
retourné, plutôt qu'un jeu réduit adapté aux systèmes de synchronisation.
|
||||
demander que l’ensemble des données associées aux formulaires soient
|
||||
retourné, plutôt qu’un jeu réduit adapté aux systèmes de synchronisation.
|
||||
Pour ce faire, il suffit de passer un paramètre <code>full=on</code> dans
|
||||
l'adresse.
|
||||
l’adresse.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -334,8 +334,8 @@ l'adresse.
|
|||
</screen>
|
||||
|
||||
<p>
|
||||
À noter que pour ne pas alourdir l'export en mode <code>full=on</code>, le
|
||||
contenu des champs de type « Fichier » n'est pas exporté.
|
||||
À noter que pour ne pas alourdir l’export en mode <code>full=on</code>, le
|
||||
contenu des champs de type « Fichier » n’est pas exporté.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
@ -344,10 +344,10 @@ contenu des champs de type « Fichier » n'est pas exporté.
|
|||
<title>Données anonymisées</title>
|
||||
|
||||
<p>
|
||||
Les API « Liste de formulaires » et le mode Pull de récupération d'un formulaire acceptent un
|
||||
Les API « Liste de formulaires » et le mode Pull de récupération d’un formulaire acceptent un
|
||||
paramètre supplémentaire <code>anonymise</code>. Quand celui-ci est présent des données anonymisées
|
||||
des formulaires sont renvoyées et les contrôles d'accès sont simplifiés à une signature simple, il
|
||||
n'est pas nécessaire de préciser l'identifiant d'un utilisateur.
|
||||
des formulaires sont renvoyées et les contrôles d’accès sont simplifiés à une signature simple, il
|
||||
n’est pas nécessaire de préciser l’identifiant d’un utilisateur.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -360,11 +360,11 @@ n'est pas nécessaire de préciser l'identifiant d'un utilisateur.
|
|||
</section>
|
||||
|
||||
<section id="global-data">
|
||||
<title>Données de l'ensemble des formulaires</title>
|
||||
<title>Données de l’ensemble des formulaires</title>
|
||||
|
||||
<p>
|
||||
De manière similaire à l'API de récupération de la liste des demandes d'un
|
||||
formulaire, il est possible de récupérer l'ensemble des demandes de la
|
||||
De manière similaire à l’API de récupération de la liste des demandes d’un
|
||||
formulaire, il est possible de récupérer l’ensemble des demandes de la
|
||||
plateforme, peu importe leurs types.
|
||||
</p>
|
||||
|
||||
|
@ -398,7 +398,7 @@ n'est pas nécessaire de préciser l'identifiant d'un utilisateur.
|
|||
|
||||
<p>
|
||||
Des paramètres peuvent être envoyés dans la requête pour filtrer les résultats.
|
||||
Il s'agit des mêmes paramètres que ceux du tableau global en backoffice.
|
||||
Il s’agit des mêmes paramètres que ceux du tableau global en backoffice.
|
||||
Par exemple, pour avoir une liste limitée aux demandes terminées :
|
||||
</p>
|
||||
|
||||
|
@ -408,8 +408,8 @@ Par exemple, pour avoir une liste limitée aux demandes terminées :
|
|||
</screen>
|
||||
|
||||
<note><p>
|
||||
Le paramètre <code>full</code> n'est pas pris en charge dans cette API; le
|
||||
paramètre <code>anonymise</code> non plus, les données l'étant déjà.
|
||||
Le paramètre <code>full</code> n’est pas pris en charge dans cette API; le
|
||||
paramètre <code>anonymise</code> non plus, les données l’étant déjà.
|
||||
</p></note>
|
||||
|
||||
</section>
|
||||
|
@ -448,16 +448,16 @@ webservice <code>/geojson</code>.
|
|||
</screen>
|
||||
|
||||
<p>
|
||||
De manière identique aux appels précédents, des filtres peuvent être passés dans l'URL.
|
||||
De manière identique aux appels précédents, des filtres peuvent être passés dans l’URL.
|
||||
</p>
|
||||
|
||||
<note><p>
|
||||
Les URL retournées pour les demandes pointent vers l'interface de gestion de celles-ci.
|
||||
Les URL retournées pour les demandes pointent vers l’interface de gestion de celles-ci.
|
||||
</p></note>
|
||||
|
||||
<p>
|
||||
Il est également possible d'obtenir les informations géographiques de
|
||||
l'ensemble des demandes :
|
||||
Il est également possible d’obtenir les informations géographiques de
|
||||
l’ensemble des demandes :
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -471,7 +471,7 @@ l'ensemble des demandes :
|
|||
<title>Code de suivi</title>
|
||||
|
||||
<p>
|
||||
Une API existe pour déterminer l'existence d'un code de suivi et, le cas
|
||||
Une API existe pour déterminer l’existence d’un code de suivi et, le cas
|
||||
échéant, découvrir la demande associée.
|
||||
</p>
|
||||
|
||||
|
@ -484,7 +484,7 @@ Une API existe pour déterminer l'existence d'un code de suivi et, le cas
|
|||
</screen>
|
||||
|
||||
<p>
|
||||
En cas d'inexistence du code de suivi donné, une réponse avec un code de retour
|
||||
En cas d’inexistence du code de suivi donné, une réponse avec un code de retour
|
||||
404 est retourné.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -15,31 +15,31 @@
|
|||
<title>Introduction aux API</title>
|
||||
|
||||
<p>
|
||||
Cette section de la documentation s'adresse aux développeurs
|
||||
d'applications tierces désirant interfacer celles-ci avec w.c.s.
|
||||
Cette section de la documentation s’adresse aux développeurs
|
||||
d’applications tierces désirant interfacer celles-ci avec w.c.s.
|
||||
</p>
|
||||
|
||||
<section id="tech">
|
||||
<title>Aspects techniques</title>
|
||||
|
||||
<p>
|
||||
L'API Web Services est constituée d'appels REST, qui sont idéalement effectués
|
||||
L’API Web Services est constituée d’appels REST, qui sont idéalement effectués
|
||||
en HTTPS, pour assurer la sécurité et la confidentialité des échanges. Le
|
||||
format d'échange des données est JSON. Ces deux propriétés la rendent
|
||||
format d’échange des données est JSON. Ces deux propriétés la rendent
|
||||
accessible facilement à tous les langages et environnements de programmation
|
||||
modernes.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Cette documentation se veut facile à lire, avec beaucoup de notes et
|
||||
d'exemples. Les différentes pages détaillent les points d'accès à
|
||||
d’exemples. Les différentes pages détaillent les points d’accès à
|
||||
utiliser pour réaliser les différentes opérations.
|
||||
</p>
|
||||
|
||||
<note>
|
||||
<p>
|
||||
Les exemples donnés dans ce document utilisent pour la plupart l'outil en
|
||||
ligne de commande <app>curl</app> qui permet de manière simple l'envoi de
|
||||
Les exemples donnés dans ce document utilisent pour la plupart l’outil en
|
||||
ligne de commande <app>curl</app> qui permet de manière simple l’envoi de
|
||||
requêtes HTTP à un serveur.
|
||||
</p>
|
||||
</note>
|
||||
|
|
|
@ -19,7 +19,7 @@ w.c.s expose une API permettant aux logiciels tiers de connaître les différent
|
|||
formulaires et leurs schémas de données.
|
||||
</p>
|
||||
|
||||
<note><p>Toutes ces URL sont conformes à la spécification de remontée d'information du
|
||||
<note><p>Toutes ces URL sont conformes à la spécification de remontée d’information du
|
||||
<em>Portail citoyen</em>, acceptent ainsi un paramètre <code>email</code> ou
|
||||
<code>NameID</code>, et nécessitent alors un paramètre <code>orig</code>.
|
||||
</p></note>
|
||||
|
@ -30,7 +30,7 @@ formulaires et leurs schémas de données.
|
|||
|
||||
<p>
|
||||
La liste des formulaires accessibles à un utilisateur est disponible à
|
||||
l'URL <code>/api/formdefs/</code>.
|
||||
l’URL <code>/api/formdefs/</code>.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -71,14 +71,14 @@ URL <code>/json</code> autrement.
|
|||
|
||||
<p>
|
||||
La liste des formulaires accessibles à un utilisateur dans le but de faire une
|
||||
saisie backoffice est disponible, sous le même format, via l'URL
|
||||
saisie backoffice est disponible, sous le même format, via l’URL
|
||||
<code>/api/formdefs/?backoffice-submission=on</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Il est également possible d'obtenir un nombre permettant de trier les résultats
|
||||
Il est également possible d’obtenir un nombre permettant de trier les résultats
|
||||
par « popularité » en ajoutant un paramètre <code>include-count=on</code>. Les
|
||||
différentes entrées disposeront alors d'une clé <code>count</code>.
|
||||
différentes entrées disposeront alors d’une clé <code>count</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@ -93,7 +93,7 @@ La liste retournée inclura les formulaires désactivés en ajoutant le paramèt
|
|||
<title>Catégories</title>
|
||||
|
||||
<p>
|
||||
La liste des catégories est disponible à l'URL <code>/api/categories/</code>.
|
||||
La liste des catégories est disponible à l’URL <code>/api/categories/</code>.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -115,13 +115,13 @@ La liste des catégories est disponible à l'URL <code>/api/categories/</code>.
|
|||
</screen>
|
||||
|
||||
<p>
|
||||
Il est possible de passer un paramètre <code>full=on</code> dans l'adresse pour
|
||||
obtenir pour chacune des catégories la liste des formulaires qu'elle contient,
|
||||
Il est possible de passer un paramètre <code>full=on</code> dans l’adresse pour
|
||||
obtenir pour chacune des catégories la liste des formulaires qu’elle contient,
|
||||
dans une clé supplémentaire, <code>forms</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Les formulaires d'une catégorie précise sont disponibles à l'URL
|
||||
Les formulaires d’une catégorie précise sont disponibles à l’URL
|
||||
<code>/api/categories/<var>slug</var>/formdefs/</code>.
|
||||
</p>
|
||||
|
||||
|
@ -131,8 +131,8 @@ Les formulaires d'une catégorie précise sont disponibles à l'URL
|
|||
</screen>
|
||||
|
||||
<p>
|
||||
Comme pour la liste des formulaires en général, on peut ajouter l'argument
|
||||
<code>?backoffice-submission=on</code> à cette URL, pour n'obtenir que les
|
||||
Comme pour la liste des formulaires en général, on peut ajouter l’argument
|
||||
<code>?backoffice-submission=on</code> à cette URL, pour n’obtenir que les
|
||||
formulaires de la catégorie accessibles en saisie backoffice.
|
||||
</p>
|
||||
|
||||
|
@ -144,7 +144,7 @@ formulaires de la catégorie accessibles en saisie backoffice.
|
|||
<title>Rôles</title>
|
||||
|
||||
<p>
|
||||
La liste des rôles est disponible à l'URL <code>/api/roles</code>.
|
||||
La liste des rôles est disponible à l’URL <code>/api/roles</code>.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -168,10 +168,10 @@ La liste des rôles est disponible à l'URL <code>/api/roles</code>.
|
|||
|
||||
|
||||
<section id="data-schema">
|
||||
<title>Schéma de données d'un formulaire</title>
|
||||
<title>Schéma de données d’un formulaire</title>
|
||||
|
||||
<p>
|
||||
Le schéma de données d'un formulaire est accessible à l'adresse
|
||||
Le schéma de données d’un formulaire est accessible à l’adresse
|
||||
<code>/api/formdefs/<em>slug</em>/schema</code>.
|
||||
|
||||
</p>
|
||||
|
@ -232,7 +232,7 @@ Le schéma de données d'un formulaire est accessible à l'adresse
|
|||
<note>
|
||||
<p>
|
||||
Note de compatibilité : la même information est disponible en ajoutant
|
||||
<code>/schema</code> à l'adresse publique du formulaire, par exemple
|
||||
<code>/schema</code> à l’adresse publique du formulaire, par exemple
|
||||
<code>http://www.example.net/inscriptions/newsletter<em>/schema</em></code>.
|
||||
</p>
|
||||
</note>
|
||||
|
|
|
@ -12,10 +12,10 @@
|
|||
|
||||
</info>
|
||||
|
||||
<title>Récupération des données d'un utilisateur</title>
|
||||
<title>Récupération des données d’un utilisateur</title>
|
||||
|
||||
<p>
|
||||
Il s'agit ici d'API permettant à un logiciel tiers de récupérer les données
|
||||
Il s’agit ici d’API permettant à un logiciel tiers de récupérer les données
|
||||
associées aux utilisateurs enregistrés.
|
||||
</p>
|
||||
|
||||
|
@ -23,16 +23,16 @@ associées aux utilisateurs enregistrés.
|
|||
<title>Profil</title>
|
||||
|
||||
<p>
|
||||
Ces accès doivent se faire en passant les informations d'identification
|
||||
Ces accès doivent se faire en passant les informations d’identification
|
||||
appropriées dans la <em>query string</em>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Les informations associées à un utilisateur sont accessibles à l'URL
|
||||
Les informations associées à un utilisateur sont accessibles à l’URL
|
||||
<code>/api/user/</code>, elles reprennent son nom (<code>user_display_name</code>),
|
||||
son adresse électronique (<code>user_email</code>) ainsi que ses éventuelles
|
||||
autorisations d'accès au backoffice (<code>user_backoffice_access</code>) ou
|
||||
à l'interface d'administration (<code>user_admin_access</code>).
|
||||
autorisations d’accès au backoffice (<code>user_backoffice_access</code>) ou
|
||||
à l’interface d’administration (<code>user_admin_access</code>).
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -47,7 +47,7 @@ autorisations d'accès au backoffice (<code>user_backoffice_access</code>) ou
|
|||
|
||||
<note>
|
||||
<p>Note de compatibilité : cette information est également disponible à
|
||||
l'adresse <code>/user</code>.
|
||||
l’adresse <code>/user</code>.
|
||||
</p>
|
||||
</note>
|
||||
|
||||
|
@ -57,9 +57,9 @@ l'adresse <code>/user</code>.
|
|||
<title>Formulaires</title>
|
||||
|
||||
<p>
|
||||
La liste des formulaires transmis par un utilisateur est accessible à l'URL
|
||||
La liste des formulaires transmis par un utilisateur est accessible à l’URL
|
||||
<code>/api/user/forms</code>, elle reprend un ensemble minimal
|
||||
d'informations concernant chacun de ceux-ci.
|
||||
d’informations concernant chacun de ceux-ci.
|
||||
</p>
|
||||
<screen>
|
||||
<output style="prompt">$ </output><input>curl https://www.example.net/api/user/forms<var>?signature…</var></input>
|
||||
|
@ -70,7 +70,7 @@ l'adresse <code>/user</code>.
|
|||
"category_id": "1",
|
||||
"category_name": "Divers",
|
||||
"datetime": "2014-03-28 15:36:52",
|
||||
"form_name": "Demande d'inscription",
|
||||
"form_name": "Demande d’inscription",
|
||||
"form_slug": "demande-d-inscription",
|
||||
"form_number": "123",
|
||||
"form_number_raw": "123",
|
||||
|
@ -81,9 +81,9 @@ l'adresse <code>/user</code>.
|
|||
"form_uri": "demande-d-inscription/123/",
|
||||
"form_url": "http://www.example.net/demande-d-inscription/123/",
|
||||
"form_url_backoffice": "http://www.example.net/backoffice/demande-d-inscription/123/",
|
||||
"name": "Demande d'inscription",
|
||||
"name": "Demande d’inscription",
|
||||
"status": "Nouveau",
|
||||
"title": "Demande d'inscription #123 (Nouveau)",
|
||||
"title": "Demande d’inscription #123 (Nouveau)",
|
||||
"url": "http://www.example.net/demande-d-inscription/123/",
|
||||
},
|
||||
{
|
||||
|
@ -110,7 +110,7 @@ l'adresse <code>/user</code>.
|
|||
"category_id": "3",
|
||||
"category_name": "Modification de vos coordonn\u00e9es",
|
||||
"datetime": "2014-03-17 10:42:17",
|
||||
"form_name": "Changement d'adresse",
|
||||
"form_name": "Changement d’adresse",
|
||||
"form_slug": "changement-d-adresse",
|
||||
"form_number": "424",
|
||||
"form_number_raw": "424",
|
||||
|
@ -121,9 +121,9 @@ l'adresse <code>/user</code>.
|
|||
"form_uri": "changement-d-adresse/424/",
|
||||
"form_url": "http://www.example.net/changement-d-adresse/424/",
|
||||
"form_url_backoffice": "http://www.example.net/backoffice/changement-d-adresse/424/",
|
||||
"name": "Changement d'adresse",
|
||||
"name": "Changement d’adresse",
|
||||
"status": "Traitement de la demande termin\u00e9",
|
||||
"title": "Changement d'adresse #424 (Traitement de la demande termin\u00e9)",
|
||||
"title": "Changement d’adresse #424 (Traitement de la demande termin\u00e9)",
|
||||
"url": "http://www.example.net/changement-d-adresse/424/",
|
||||
}
|
||||
]
|
||||
|
@ -131,7 +131,7 @@ l'adresse <code>/user</code>.
|
|||
|
||||
<p>
|
||||
Il est possible de recevoir un ensemble plus complet de données en passant un
|
||||
paramètre <code>full=on</code> à l'adresse. Pour inclure également les
|
||||
paramètre <code>full=on</code> à l’adresse. Pour inclure également les
|
||||
brouillons, un paramètre <code>include-drafts=true</code> peut être passé.
|
||||
</p>
|
||||
|
||||
|
@ -140,7 +140,7 @@ brouillons, un paramètre <code>include-drafts=true</code> peut être passé.
|
|||
<title>Brouillons</title>
|
||||
|
||||
<p>
|
||||
La liste des brouillons de l'utilisateur est accessible à l'adresse
|
||||
La liste des brouillons de l’utilisateur est accessible à l’adresse
|
||||
<code>/api/user/drafts</code>.
|
||||
</p>
|
||||
|
||||
|
@ -160,7 +160,7 @@ brouillons, un paramètre <code>include-drafts=true</code> peut être passé.
|
|||
|
||||
<note>
|
||||
<p>Note de compatibilité : cette information est également disponible à
|
||||
l'adresse <code>/myspace/drafts</code>.
|
||||
l’adresse <code>/myspace/drafts</code>.
|
||||
</p>
|
||||
</note>
|
||||
|
||||
|
@ -171,8 +171,8 @@ l'adresse <code>/myspace/drafts</code>.
|
|||
<title>Liste des utilisateurs</title>
|
||||
|
||||
<p>
|
||||
La liste des utilisateurs est disponible à l'URL <code>/api/users/</code>,
|
||||
il est possible de la filtrer, sur le nom ou l'adresse électronique, en
|
||||
La liste des utilisateurs est disponible à l’URL <code>/api/users/</code>,
|
||||
il est possible de la filtrer, sur le nom ou l’adresse électronique, en
|
||||
spécifiant un paramètre <code>q</code> et de limiter le nombre de
|
||||
résultats obtenus avec le paramètre <code>limit</code>.
|
||||
</p>
|
||||
|
|
|
@ -12,16 +12,16 @@
|
|||
|
||||
</info>
|
||||
|
||||
<title>Traitement d'un formulaire</title>
|
||||
<title>Traitement d’un formulaire</title>
|
||||
|
||||
<section>
|
||||
<title>Synchrone</title>
|
||||
|
||||
<p>
|
||||
Pour faire évoluer un formulaire en fonction de données extérieures, le
|
||||
workflow peut contenir une action d'<link xref="wf-wscall">appel à un
|
||||
workflow peut contenir une action d’<link xref="wf-wscall">appel à un
|
||||
webservice</link> et enchaîner sur une série de sauts automatiques,
|
||||
conditionnés par le résultat de l'appel.
|
||||
conditionnés par le résultat de l’appel.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
@ -33,16 +33,16 @@ conditionnés par le résultat de l'appel.
|
|||
<p>
|
||||
Pour des traitements asynchrones, w.c.s expose également une API autorisant
|
||||
les logiciels tiers à faire progresser le
|
||||
traitement d'un formulaire; cela passe par la définition dans le statut du
|
||||
workflow d'un élément de type « Changement de statut automatique », dans
|
||||
traitement d’un formulaire; cela passe par la définition dans le statut du
|
||||
workflow d’un élément de type « Changement de statut automatique », dans
|
||||
lequel un identifiant de déclencheur est défini.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
La demande d'un changement d'état se fait par une requête <code>POST</code> à
|
||||
l'adresse du formulaire en question, suivi de <code>jump/trigger/</code> et de
|
||||
la référence à l'identifiant de déclencheur (<code>validate</code> dans
|
||||
l'exemple qui suit).
|
||||
La demande d’un changement d’état se fait par une requête <code>POST</code> à
|
||||
l’adresse du formulaire en question, suivi de <code>jump/trigger/</code> et de
|
||||
la référence à l’identifiant de déclencheur (<code>validate</code> dans
|
||||
l’exemple qui suit).
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -52,8 +52,8 @@ l'exemple qui suit).
|
|||
</screen>
|
||||
|
||||
<p>
|
||||
Il est également possible d'accompagner le déclenchement d'un changement
|
||||
de statut d'une série de données, qui seront enregistrées dans les données de
|
||||
Il est également possible d’accompagner le déclenchement d’un changement
|
||||
de statut d’une série de données, qui seront enregistrées dans les données de
|
||||
workflow du formulaire.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<title>Scripts externes</title>
|
||||
|
||||
<p>
|
||||
Il est possible d'étendre les capacités des champs calculés et des expressions
|
||||
Il est possible d’étendre les capacités des champs calculés et des expressions
|
||||
utilisées dans les gabarits au moyen de scripts externes. Pour cela il suffit
|
||||
de déposer dans le répertoire système du site, dans un sous-répertoire
|
||||
<code>scripts</code>, un fichier Python, dont le résultat doit être posé dans
|
||||
|
@ -29,7 +29,7 @@ Par exemple <file>/var/lib/wcs/www.example.net/scripts/hello.py</file> pourrait
|
|||
|
||||
<code mime="text/python">
|
||||
"""
|
||||
Salue l'usager (quand un nom est passé en argument), ou le monde.
|
||||
Salue l’usager (quand un nom est passé en argument), ou le monde.
|
||||
"""
|
||||
if args:
|
||||
result = "Hello %s" % args[0]
|
||||
|
@ -39,7 +39,7 @@ else:
|
|||
|
||||
<p>
|
||||
Dans un champ calculé, cela serait appelé comme <code>script.hello()</code> ou
|
||||
<code>script.hello('earth')</code>; dans un gabarit, il n'y a pas de prise en
|
||||
<code>script.hello('earth')</code>; dans un gabarit, il n’y a pas de prise en
|
||||
charge des arguments, la seule utilisation possible est
|
||||
<code>{{script.hello}}</code>.
|
||||
</p>
|
||||
|
@ -48,7 +48,7 @@ charge des arguments, la seule utilisation possible est
|
|||
<p>
|
||||
Il est également possible de placer ces scripts dans un sous-répertoire
|
||||
<code>scripts</code> du répertoire général des instances, pour rendre ceux-ci
|
||||
disponibles depuis l'ensemble des instances.
|
||||
disponibles depuis l’ensemble des instances.
|
||||
</p>
|
||||
</note>
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<p>
|
||||
Configuré en mode PostgreSQL, <app>w.c.s.</app> crée une série de <em>vues</em>
|
||||
permettant un accès aux données des différents formulaires.
|
||||
L'utilisation de ces vues est recommandée, l'accès direct aux tables étant
|
||||
L’utilisation de ces vues est recommandée, l’accès direct aux tables étant
|
||||
réservé aux usages internes.
|
||||
</p>
|
||||
|
||||
|
@ -26,8 +26,8 @@ réservé aux usages internes.
|
|||
|
||||
<p>
|
||||
Une vue nommée <code>wcs_view_<var>xx</var>_<var>libellé</var></code> (avec
|
||||
<var>xx</var> étant l'identifiant du formulaire et <var>libellé</var>
|
||||
étant son nom tel qu'il appararait dans les URL) est créée par type de
|
||||
<var>xx</var> étant l’identifiant du formulaire et <var>libellé</var>
|
||||
étant son nom tel qu’il appararait dans les URL) est créée par type de
|
||||
formulaire pour donner accès aux données de ceux-ci.
|
||||
</p>
|
||||
|
||||
|
@ -38,7 +38,7 @@ réservé aux usages internes.
|
|||
<list>
|
||||
<item><p><var>id</var> : identifiant interne</p></item>
|
||||
<item><p><var>id_display</var> : identifiant externe, le cas échéant</p></item>
|
||||
<item><p><var>user_id</var> : identifiant de l'utilisateur</p></item>
|
||||
<item><p><var>user_id</var> : identifiant de l’utilisateur</p></item>
|
||||
<item><p><var>receipt_time</var> : date et heure de réception</p></item>
|
||||
<item><p><var>status</var> : statut courant</p></item>
|
||||
<item><p><var>is_at_endpoint</var> : indicateur de fin de traitement</p></item>
|
||||
|
@ -46,14 +46,14 @@ réservé aux usages internes.
|
|||
<item><p><var>formdef_id</var> : identifiant du type de formulaire</p></item>
|
||||
<item><p><var>fts</var> : indexation texte intégral</p></item>
|
||||
<item><p><var>backoffice_submission</var> : indicateur de saisie backoffice</p></item>
|
||||
<item><p><var>submission_channel</var> : canal d'entrée</p></item>
|
||||
<item><p><var>submission_channel</var> : canal d’entrée</p></item>
|
||||
</list>
|
||||
|
||||
<p>
|
||||
Les différents champs du formulaire sont ensuite présents en autant de
|
||||
colonnes, elles sont nommées selon le format
|
||||
<code>f_<var>identifiant</var></code> où identifiant est le nom de variable
|
||||
utilisé dans la définition du champ. Quand celui-ci n'est pas défini, la
|
||||
utilisé dans la définition du champ. Quand celui-ci n’est pas défini, la
|
||||
colonne est nommée
|
||||
<code>f_<var>identifiant-numérique-interne</var>_<var>libellé</var></code>.
|
||||
Pour un certain nombre de champs, différenciant la valeur présentée de la
|
||||
|
@ -63,7 +63,7 @@ réservé aux usages internes.
|
|||
|
||||
<p>
|
||||
Un dernier champ, <var>status_history</var> reprend un tableau avec
|
||||
l'historique des statuts par lesquels le formulaire est passé.
|
||||
l’historique des statuts par lesquels le formulaire est passé.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
@ -71,21 +71,21 @@ réservé aux usages internes.
|
|||
<title>Agrégation de formulaires</title>
|
||||
|
||||
<p>
|
||||
Les champs communs à l'ensemble des formulaires, c'est-à-dire ceux repris
|
||||
Les champs communs à l’ensemble des formulaires, c’est-à-dire ceux repris
|
||||
dans la première liste donnée ci-dessus (<em>id</em>,
|
||||
<em>id_display</em>…), sont également agrégés dans une vue unique,
|
||||
<code>wcs_all_forms</code>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
De la même manière, les formulaires tirés d'une même catégorie sont agrégés
|
||||
De la même manière, les formulaires tirés d’une même catégorie sont agrégés
|
||||
dans une vue nommée <code>wcs_category_<var>libellé</var></code> (ou
|
||||
<var>libellé</var> correspond au titre de la catégorie).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ces agrégations sont utiles pour permettre la réalisation d'opérations sur
|
||||
l'ensemble des formulaires.
|
||||
Ces agrégations sont utiles pour permettre la réalisation d’opérations sur
|
||||
l’ensemble des formulaires.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
|
|
@ -14,25 +14,25 @@
|
|||
<title>Géolocalisation</title>
|
||||
|
||||
<p>
|
||||
Un champ de type « Carte » permet d'afficher à l'usager une carte dans
|
||||
Un champ de type « Carte » permet d’afficher à l’usager une carte dans
|
||||
laquelle il pourra pointer une adresse.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Le paramétrage du champ permet de préciser la zone sur laquelle la carte sera
|
||||
centrée à l'ouverture du formulaire, ainsi que le niveau de zoom initial,
|
||||
parce qu'il est inutile de présenter tout un pays dans un formulaire permettant
|
||||
centrée à l’ouverture du formulaire, ainsi que le niveau de zoom initial,
|
||||
parce qu’il est inutile de présenter tout un pays dans un formulaire permettant
|
||||
de signaler un trou dans une route de la ville, et des limites aux zooms,
|
||||
parce qu'à nouveau, inutile de perdre l'usager dans un zoom affichant la terre
|
||||
entière, ou le moindre brin d'herbe.
|
||||
parce qu’à nouveau, inutile de perdre l’usager dans un zoom affichant la terre
|
||||
entière, ou le moindre brin d’herbe.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
En alternative à une zone initiale fixe, il est également possible de demander
|
||||
à l'appareil mobile de l'usager sa position (qui sera alors déterminée par
|
||||
à l’appareil mobile de l’usager sa position (qui sera alors déterminée par
|
||||
GPS, Wifi ou autre), et de centrer la carte sur celle-ci. Via les options de
|
||||
préremplissage, il peut aussi être demandé d'automatiquement sélectionner
|
||||
comme point la position courante de l'usager.
|
||||
préremplissage, il peut aussi être demandé d’automatiquement sélectionner
|
||||
comme point la position courante de l’usager.
|
||||
</p>
|
||||
|
||||
<section>
|
||||
|
@ -40,9 +40,9 @@
|
|||
|
||||
<p>
|
||||
Les autres champs du formulaire peuvent être remplis selon le point qui sera
|
||||
sélectionné par l'usager sur la carte; pour ce faire dans leurs options de
|
||||
sélectionné par l’usager sur la carte; pour ce faire dans leurs options de
|
||||
préremplissage il suffit de sélectionner « Géolocalisation » et de choisir
|
||||
l'élément d'adresse souhaité comme contenu : la rue ou le numéro, ou les
|
||||
l’élément d’adresse souhaité comme contenu : la rue ou le numéro, ou les
|
||||
deux, le code postal, la ville, la région.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@
|
|||
|
||||
<p>
|
||||
Dans bien des situations il est nécessaire de structurer un formulaire en
|
||||
plusieurs pages, pour ce faire un type de champ spécial existe, il s'agit de
|
||||
plusieurs pages, pour ce faire un type de champ spécial existe, il s’agit de
|
||||
« Page ». Il permet de définir un titre aux pages, qui sera affiché à
|
||||
l'usager dans l'indicateur de progression.
|
||||
l’usager dans l’indicateur de progression.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@ -30,9 +30,9 @@ trouvent pas à <em>flotter</em> en-dehors de la structure de pages.
|
|||
|
||||
<note>
|
||||
<p>
|
||||
Afin de rappeler l'importance de la définition d'une page comme premier
|
||||
élément de formulaire, un message d'information est affiché en haut de la
|
||||
définition des champs quand ce n'est pas le cas.
|
||||
Afin de rappeler l’importance de la définition d’une page comme premier
|
||||
élément de formulaire, un message d’information est affiché en haut de la
|
||||
définition des champs quand ce n’est pas le cas.
|
||||
</p>
|
||||
</note>
|
||||
|
||||
|
@ -40,37 +40,37 @@ trouvent pas à <em>flotter</em> en-dehors de la structure de pages.
|
|||
<title>Pages conditionnelles</title>
|
||||
|
||||
<p>
|
||||
Dans certaines situations toutes les pages d'un formulaire n'ont pas à être
|
||||
Dans certaines situations toutes les pages d’un formulaire n’ont pas à être
|
||||
présentées dans toutes les situations, inutile par exemple de présenter une
|
||||
page précisant les modalités d'accès à un parking si l'usager a noté dans
|
||||
une page précédente qu'il viendrait en tant que piéton.
|
||||
page précisant les modalités d’accès à un parking si l’usager a noté dans
|
||||
une page précédente qu’il viendrait en tant que piéton.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pour répondre à ce besoin, en plus du libellé de la page, les champs de type
|
||||
« Page » disposent d'une option permettant d'en conditionner
|
||||
l'affichage.
|
||||
« Page » disposent d’une option permettant d’en conditionner
|
||||
l’affichage.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Une condition s'exprime sous forme d'une <em>expression Python</em>, qui peut
|
||||
Une condition s’exprime sous forme d’une <em>expression Python</em>, qui peut
|
||||
faire référence à des informations concernant le formulaire en cours de
|
||||
remplissage mais aussi à l'usager occupé à le remplir.
|
||||
remplissage mais aussi à l’usager occupé à le remplir.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pour partir sur la situation du premier paragraphe, le champ « mode de
|
||||
transport » pourrait avoir comme nom de variable associé
|
||||
<code>mode_de_transport</code>, la page sur l'accès au parking ne devrait
|
||||
pas être affichée pour les personnes ayant précisés qu'elles venaient à
|
||||
pieds, le champ serait complété avec l'expression suivante :
|
||||
<code>mode_de_transport</code>, la page sur l’accès au parking ne devrait
|
||||
pas être affichée pour les personnes ayant précisés qu’elles venaient à
|
||||
pieds, le champ serait complété avec l’expression suivante :
|
||||
<code>form_var_mode_de_transport != "Piéton"</code> (où le <code>!=</code>
|
||||
correspond à la syntaxe Python signifiant « différent de »).
|
||||
</p>
|
||||
|
||||
<note>
|
||||
<p>
|
||||
D'autres exemples de condition sont présentés dans la page <link
|
||||
D’autres exemples de condition sont présentés dans la page <link
|
||||
xref="misc-conditions"/>.
|
||||
</p>
|
||||
</note>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<info>
|
||||
<revision docversion="0.1" date="2013-01-04" status="draft"/>
|
||||
<license>
|
||||
<p>Ce travail est publié à la fois sous <link href="http://creativecommons.org/licenses/by-sa/3.0/fr/">licence Creatice Commons Paternité - Partage à l'Identique 3.0</link> et sous <link href="http://www.gnu.org/licenses/gpl.html">licence GPL v3.</link></p>
|
||||
<p>Ce travail est publié à la fois sous <link href="http://creativecommons.org/licenses/by-sa/3.0/fr/">licence Creatice Commons Paternité - Partage à l’Identique 3.0</link> et sous <link href="http://www.gnu.org/licenses/gpl.html">licence GPL v3.</link></p>
|
||||
</license>
|
||||
|
||||
<credit type="author">
|
||||
|
@ -19,7 +19,7 @@
|
|||
w.c.s est un logiciel permettant de générer des formulaires et des
|
||||
consultations en ligne et de les intégrer dans un workflow. Configuré par
|
||||
défaut pour des besoins basique, il offre une personnalisation poussée
|
||||
permettant de l'adapter à de nombreux usages différents.
|
||||
permettant de l’adapter à de nombreux usages différents.
|
||||
</p>
|
||||
|
||||
<section id="form" style="2column">
|
||||
|
@ -29,7 +29,7 @@ permettant de l'adapter à de nombreux usages différents.
|
|||
<title>Atelier de formulaires</title>
|
||||
<p>
|
||||
Le cœur de métier de <app>w.c.s.</app> est la définition de formulaires, des
|
||||
plus simples aux plus complexes; une variété de possibilités et d'options
|
||||
plus simples aux plus complexes; une variété de possibilités et d’options
|
||||
existent.
|
||||
</p>
|
||||
</section>
|
||||
|
@ -41,7 +41,7 @@ permettant de l'adapter à de nombreux usages différents.
|
|||
<title>Atelier de workflows</title>
|
||||
<p>
|
||||
Pour définir des logiques de traitement complexe, w.c.s. intègre un
|
||||
mécanisme de workflow, permettant de définir une série d'états et d'actions
|
||||
mécanisme de workflow, permettant de définir une série d’états et d’actions
|
||||
associées.
|
||||
</p>
|
||||
</section>
|
||||
|
@ -52,9 +52,9 @@ permettant de l'adapter à de nombreux usages différents.
|
|||
</info>
|
||||
<title>Paramétrage système</title>
|
||||
<p>
|
||||
Pour l'administration système, <app>w.c.s.</app> dispose d'une série de
|
||||
Pour l’administration système, <app>w.c.s.</app> dispose d’une série de
|
||||
paramètres concernant son fonctionnement et son intégration dans le système
|
||||
d'information.
|
||||
d’information.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -15,10 +15,10 @@
|
|||
|
||||
<p>
|
||||
Dans la définition de pages conditionnelles et dans le paramétrage de sauts
|
||||
dans le workflow, il y a besoin d'exprimer une condition sous forme d'une
|
||||
dans le workflow, il y a besoin d’exprimer une condition sous forme d’une
|
||||
expression Python. Cette page ne se veut évidemment pas un guide complet,
|
||||
toutes les possibilités offertes par le langage Python étant possibles, mais
|
||||
une série d'exemples concrets, rencontrés dans le paramétrage.
|
||||
une série d’exemples concrets, rencontrés dans le paramétrage.
|
||||
</p>
|
||||
|
||||
<note><p>Une explication sur les variables accessibles se trouve dans la page
|
||||
|
@ -29,15 +29,15 @@ une série d'exemples concrets, rencontrés dans le paramétrage.
|
|||
<title>Expressions simples</title>
|
||||
|
||||
<p>
|
||||
Pour tester le code postal associé à l'utilisateur courant, par exemple
|
||||
pour proposer une page différente aux habitants d'une commune particulière,
|
||||
l'expression suivante pourrait être utilisée :
|
||||
Pour tester le code postal associé à l’utilisateur courant, par exemple
|
||||
pour proposer une page différente aux habitants d’une commune particulière,
|
||||
l’expression suivante pourrait être utilisée :
|
||||
</p>
|
||||
|
||||
<example><code>session_user_var_codepostal == '07530'</code></example>
|
||||
|
||||
<p>
|
||||
Dans le même ordre d'idée, pour les utilisateurs qui ne seraient <em>pas</em>
|
||||
Dans le même ordre d’idée, pour les utilisateurs qui ne seraient <em>pas</em>
|
||||
de cette commune :
|
||||
</p>
|
||||
|
||||
|
@ -45,7 +45,7 @@ une série d'exemples concrets, rencontrés dans le paramétrage.
|
|||
|
||||
<p>
|
||||
De manière générale, la négative peut également être obtenue en entourant
|
||||
l'expression d'un <code>not()</code> :
|
||||
l’expression d’un <code>not()</code> :
|
||||
</p>
|
||||
|
||||
<example><code>not(session_user_var_codepostal == '07530')</code></example>
|
||||
|
@ -74,8 +74,8 @@ une série d'exemples concrets, rencontrés dans le paramétrage.
|
|||
|
||||
<p>
|
||||
Tout autre chose, pour une réservation, on pourrait vouloir afficher une
|
||||
page supplémentaire demandant les noms des inscrits, quand l'inscription
|
||||
est faite pour plusieurs personnes. L'utilisation de <code>int()</code>
|
||||
page supplémentaire demandant les noms des inscrits, quand l’inscription
|
||||
est faite pour plusieurs personnes. L’utilisation de <code>int()</code>
|
||||
permet les comparaisons numériques :
|
||||
</p>
|
||||
|
||||
|
@ -103,7 +103,7 @@ une série d'exemples concrets, rencontrés dans le paramétrage.
|
|||
<example><code>session_user_var_codepostal in ('07510', '07520', '07530')</code></example>
|
||||
|
||||
<p>
|
||||
Sur ces exemples de codes postaux, si l'application visait plusieurs pays, on
|
||||
Sur ces exemples de codes postaux, si l’application visait plusieurs pays, on
|
||||
devrait combiner le test, pour par exemple avoir « 07530 » comme code postal
|
||||
<em>et</em> « France » comme pays. Cela se fait avec le mot-clé
|
||||
<code>and</code> :
|
||||
|
@ -117,7 +117,7 @@ une série d'exemples concrets, rencontrés dans le paramétrage.
|
|||
<title>Condition sur un âge ou un délai</title>
|
||||
|
||||
<p>
|
||||
Pour limiter une condition aux enfants dont l'âge est inférieur à 6 ans vous
|
||||
Pour limiter une condition aux enfants dont l’âge est inférieur à 6 ans vous
|
||||
pouvez utiliser la fonction <code>utils.age_in_years</code> sur une variable de
|
||||
type date.
|
||||
</p>
|
||||
|
@ -126,7 +126,7 @@ une série d'exemples concrets, rencontrés dans le paramétrage.
|
|||
|
||||
<p>
|
||||
Pour prendre en compte le nombre de mois vous disposez aussi de
|
||||
<code>utils.age_in_years_and_months</code>. Ici l'âge à ne pas dépasser sera 6 ans
|
||||
<code>utils.age_in_years_and_months</code>. Ici l’âge à ne pas dépasser sera 6 ans
|
||||
et 3 mois.
|
||||
</p>
|
||||
|
||||
|
@ -134,7 +134,7 @@ une série d'exemples concrets, rencontrés dans le paramétrage.
|
|||
|
||||
<p>
|
||||
Les délais en terme de jour se calculeront avec <code>utils.age_in_days</code>. Ici
|
||||
le délai est de 31 jours à dater de la soumission d'un formulaire.
|
||||
le délai est de 31 jours à dater de la soumission d’un formulaire.
|
||||
</p>
|
||||
|
||||
<example><code>utils.age_in_days(form_receipt_datetime) >= 31</code></example>
|
||||
|
|
|
@ -14,14 +14,14 @@
|
|||
<title>Variables de substitution</title>
|
||||
|
||||
<p>
|
||||
<app>w.c.s.</app> dispose d'un système générique appelé « variables de
|
||||
<app>w.c.s.</app> dispose d’un système générique appelé « variables de
|
||||
substitutions » qui permet de faire référence à des données internes,
|
||||
provenant du système, d'un formulaire, d'un champ, etc.
|
||||
provenant du système, d’un formulaire, d’un champ, etc.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ce système est particulièrement utile dans le paramétrage du contenu d'un
|
||||
courriel ou dans la définition d'une logique de traitement d'un formulaire,
|
||||
Ce système est particulièrement utile dans le paramétrage du contenu d’un
|
||||
courriel ou dans la définition d’une logique de traitement d’un formulaire,
|
||||
mais est également accessible depuis le thème, pour le préremplissage de
|
||||
champs, etc.
|
||||
</p>
|
||||
|
@ -40,15 +40,15 @@ champs, etc.
|
|||
</tr>
|
||||
<tr>
|
||||
<td><p><code>site_theme</code></p></td>
|
||||
<td><p>L'identifiant du thème en cours</p></td>
|
||||
<td><p>L’identifiant du thème en cours</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>site_url</code></p></td>
|
||||
<td><p>L'adresse du site</p></td>
|
||||
<td><p>L’adresse du site</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>site_url_backoffice</code></p></td>
|
||||
<td><p>L'adresse vers le backoffice du site</p></td>
|
||||
<td><p>L’adresse vers le backoffice du site</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>site_lang</code></p></td>
|
||||
|
@ -60,15 +60,15 @@ champs, etc.
|
|||
</tr>
|
||||
<tr>
|
||||
<td><p><code>now</code></p></td>
|
||||
<td><p>La date et l'heure du jour</p></td>
|
||||
<td><p>La date et l’heure du jour</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>session_user_display_name</code></p></td>
|
||||
<td><p>Le nom de l'utilisateur connecté</p></td>
|
||||
<td><p>Le nom de l’utilisateur connecté</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>session_user_email</code></p></td>
|
||||
<td><p>L'adresse électronique de l'utilisateur connecté</p></td>
|
||||
<td><p>L’adresse électronique de l’utilisateur connecté</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>is_in_backoffice</code></p></td>
|
||||
|
@ -77,14 +77,14 @@ champs, etc.
|
|||
</table>
|
||||
|
||||
<p>
|
||||
À l'intérieur d'une catégorie, les variables suivantes sont également
|
||||
À l’intérieur d’une catégorie, les variables suivantes sont également
|
||||
définies :
|
||||
</p>
|
||||
|
||||
<table shade="rows">
|
||||
<tr>
|
||||
<td><p><code>category_name</code></p></td>
|
||||
<td><p>L'intitulé de la catégorie</p></td>
|
||||
<td><p>L’intitulé de la catégorie</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>category_description</code></p></td>
|
||||
|
@ -92,14 +92,14 @@ champs, etc.
|
|||
</tr>
|
||||
<tr>
|
||||
<td><p><code>category_id</code></p></td>
|
||||
<td><p>L'identifiant de la catégorie</p></td>
|
||||
<td><p>L’identifiant de la catégorie</p></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<note><p>
|
||||
Des variables supplémentaires peuvent également être définies par
|
||||
l'administrateur système, via des variables d'environnement ou la
|
||||
configuration de l'instance de w.c.s.
|
||||
l’administrateur système, via des variables d’environnement ou la
|
||||
configuration de l’instance de w.c.s.
|
||||
</p></note>
|
||||
|
||||
</section>
|
||||
|
@ -117,7 +117,7 @@ champs, etc.
|
|||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_receipt_time</code></p></td>
|
||||
<td><p>La date et l'heure de réception du formulaire</p></td>
|
||||
<td><p>La date et l’heure de réception du formulaire</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_name</code></p></td>
|
||||
|
@ -129,19 +129,19 @@ champs, etc.
|
|||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_slug</code></p></td>
|
||||
<td><p>Le « slug » (partie d'adresse) du formulaire</p></td>
|
||||
<td><p>Le « slug » (partie d’adresse) du formulaire</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_url</code></p></td>
|
||||
<td><p>L'adresse vers la vue du formulaire</p></td>
|
||||
<td><p>L’adresse vers la vue du formulaire</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_url_backoffice</code></p></td>
|
||||
<td><p>L'adresse vers le formulaire dans le backoffice</p></td>
|
||||
<td><p>L’adresse vers le formulaire dans le backoffice</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_tracking_code</code></p></td>
|
||||
<td><p>Le code de suivi du formulaire, s'il existe</p></td>
|
||||
<td><p>Le code de suivi du formulaire, s’il existe</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_criticality_level</code></p></td>
|
||||
|
@ -151,30 +151,30 @@ champs, etc.
|
|||
</section>
|
||||
|
||||
<section id="user-info">
|
||||
<title>Informations sur l'utilisateur (demandeur)</title>
|
||||
<title>Informations sur l’utilisateur (demandeur)</title>
|
||||
|
||||
<p>
|
||||
Les données contiennent aussi des informations sur l'utilisateur ayant
|
||||
Les données contiennent aussi des informations sur l’utilisateur ayant
|
||||
complété le formulaire.
|
||||
</p>
|
||||
|
||||
<table shade="rows">
|
||||
<tr>
|
||||
<td><p><code>form_user_display_name</code></p></td>
|
||||
<td><p>Le nom de l'utilisateur</p></td>
|
||||
<td><p>Le nom de l’utilisateur</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_user_email</code></p></td>
|
||||
<td><p>L'adresse électronique de l'utilisateur</p></td>
|
||||
<td><p>L’adresse électronique de l’utilisateur</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><code>form_user_name_identifier_<var>n</var></code></p></td>
|
||||
<td><p>Identifiant SAML de l'utilisateur (NameID), pour le fournisseur
|
||||
d'identités numéro n (n commençant à 0)</p></td> </tr>
|
||||
<td><p>Identifiant SAML de l’utilisateur (NameID), pour le fournisseur
|
||||
d’identités numéro n (n commençant à 0)</p></td> </tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Si un champ utilisateur personnalisé dispose d'un nom de variable, alors
|
||||
Si un champ utilisateur personnalisé dispose d’un nom de variable, alors
|
||||
il est accessible sous la forme <code>form_user_var_<var>variable du
|
||||
champ</var></code>, par exemple <code>form_user_var_prenom</code>.
|
||||
</p>
|
||||
|
@ -187,12 +187,12 @@ champs, etc.
|
|||
<table shade="rows">
|
||||
<tr>
|
||||
<td><p><code>form_details</code></p></td>
|
||||
<td><p>L'ensemble des champs et de leur valeurs</p></td>
|
||||
<td><p>L’ensemble des champs et de leur valeurs</p></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Il est également possible au moment de la définition d'un champ, de lui
|
||||
Il est également possible au moment de la définition d’un champ, de lui
|
||||
affecter un nom de variable, cela rendra la valeur associée à ce champ
|
||||
accessible via une variable de la forme <code>form_var_<var>variable du
|
||||
champ</var></code> (par exemple : <code>form_var_courriel</code>).
|
||||
|
@ -202,7 +202,7 @@ champs, etc.
|
|||
Pour les champs de type « Liste » dont les éléments contiendraient à la
|
||||
fois un libellé et un identifiant (ce qui arrive pour les champs alimentés
|
||||
depuis une source de données), le libellé se trouvera dans <code>form_var_<var>variable
|
||||
du champ</var></code> et l'identifiant dans <code>form_var_<var>variable du
|
||||
du champ</var></code> et l’identifiant dans <code>form_var_<var>variable du
|
||||
champ</var>_raw</code>.
|
||||
</p>
|
||||
|
||||
|
@ -274,7 +274,7 @@ champs, etc.
|
|||
</table>
|
||||
|
||||
<p>
|
||||
Si d'autres informations ont été fournies sur le contexte de la saisie
|
||||
Si d’autres informations ont été fournies sur le contexte de la saisie
|
||||
elles sont disponibles dans des variables de la forme
|
||||
<code>form_submission_context_<var>foobar</var></code>.
|
||||
</p>
|
||||
|
@ -287,11 +287,11 @@ champs, etc.
|
|||
<title>Variables de session</title>
|
||||
|
||||
<p>
|
||||
La session de l'usager contient une série d'informations fixes (par exemple
|
||||
La session de l’usager contient une série d’informations fixes (par exemple
|
||||
le <code>session_user_display_name</code> décrit en haut de page), il est
|
||||
aussi possible d'y ajouter de nouvelles données par l'intermédiaire de
|
||||
liens contenant des paramètres. Cela permet par exemple d'inclure une URL
|
||||
personnalisée dans un courriel vers l'usager qui assurera le
|
||||
aussi possible d’y ajouter de nouvelles données par l’intermédiaire de
|
||||
liens contenant des paramètres. Cela permet par exemple d’inclure une URL
|
||||
personnalisée dans un courriel vers l’usager qui assurera le
|
||||
préremplissage automatique de champs.
|
||||
</p>
|
||||
|
||||
|
@ -320,7 +320,7 @@ champs, etc.
|
|||
<note style="important">
|
||||
<p>
|
||||
Ce fonctionnement doit explicitement être autorisé par
|
||||
l'administrateur système, la liste des variables permises doit être ajoutée
|
||||
l’administrateur système, la liste des variables permises doit être ajoutée
|
||||
au fichier <code>site_options.cfg</code>, dans la section
|
||||
<code>[options]</code>, par exemple :
|
||||
</p>
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
<title>Mécanique de gabarits</title>
|
||||
|
||||
<p>
|
||||
De nombreux éléments permettent l'utilisation d'un système simple permettant
|
||||
de générer du contenu variant suivant certaines données. L'exemple le plus
|
||||
simple peut être le contenu d'un courriel, dans lequel l'utilisateur se voit
|
||||
De nombreux éléments permettent l’utilisation d’un système simple permettant
|
||||
de générer du contenu variant suivant certaines données. L’exemple le plus
|
||||
simple peut être le contenu d’un courriel, dans lequel l’utilisateur se voit
|
||||
souhaiter la bienvenue.
|
||||
</p>
|
||||
|
||||
|
@ -23,13 +23,13 @@ souhaiter la bienvenue.
|
|||
<code>
|
||||
Bienvenue {{session_user_display_name}},
|
||||
|
||||
Toute l'équipe de {{site_name}} vous remercie de votre inscription
|
||||
Toute l’équipe de {{site_name}} vous remercie de votre inscription
|
||||
et vous souhaite une agréable visite.
|
||||
</code>
|
||||
</example>
|
||||
|
||||
<p>
|
||||
À l'usage, les contenus proposés entre crochets seront substitués, pour donner
|
||||
À l’usage, les contenus proposés entre crochets seront substitués, pour donner
|
||||
le résultat suivant :
|
||||
</p>
|
||||
|
||||
|
@ -37,16 +37,16 @@ le résultat suivant :
|
|||
<code>
|
||||
Bienvenue <var>Lætitia</var>,
|
||||
|
||||
Toute l'équipe de <var>Quizz du jour</var> vous remercie de votre inscription
|
||||
Toute l’équipe de <var>Quizz du jour</var> vous remercie de votre inscription
|
||||
et vous souhaite une agréable visite.
|
||||
</code>
|
||||
</example>
|
||||
|
||||
<p>
|
||||
Il est également possible d'afficher du contenu de manière conditionnelle,
|
||||
Il est également possible d’afficher du contenu de manière conditionnelle,
|
||||
en utilisant la syntaxe <code>{% if variable %}...{% endif %}</code> ou
|
||||
<code>{% if variable %}...{% else %}...{% endif %}</code> pour vérifier la présence
|
||||
d'une valeur dans <var>variable</var>.
|
||||
d’une valeur dans <var>variable</var>.
|
||||
</p>
|
||||
|
||||
<example>
|
||||
|
@ -62,27 +62,27 @@ Pour rappel, voici les renseignements que vous nous avez fournis :
|
|||
</example>
|
||||
|
||||
<p>
|
||||
Pour tester non pas la présence d'une valeur mais le contenu de celle-ci, la
|
||||
Pour tester non pas la présence d’une valeur mais le contenu de celle-ci, la
|
||||
syntaxe est <code>{% if variable == valeur %}...{% endif %}</code>, avec également la
|
||||
possibilité d'un <code>{% else %}</code>.
|
||||
possibilité d’un <code>{% else %}</code>.
|
||||
</p>
|
||||
|
||||
<example>
|
||||
<code>
|
||||
Pour toute information complémentaire, n'hésitez pas à nous contacter au
|
||||
Pour toute information complémentaire, n’hésitez pas à nous contacter au
|
||||
numéro {% if form_var_pays == "France" %}0800 123 456{% else %}+33 1 1234 5678{% endif %}.
|
||||
</code>
|
||||
</example>
|
||||
|
||||
<note><p>
|
||||
Pour plus d'informations la syntaxe utilisée est celle des gabarits Django, il en
|
||||
Pour plus d’informations la syntaxe utilisée est celle des gabarits Django, il en
|
||||
existe une <link href="https://docs.djangoproject.com/fr/1.8/ref/templates/">documentation
|
||||
détaillée</link> en ligne.
|
||||
</p></note>
|
||||
|
||||
<note style="advanced"><p>
|
||||
Précemment un autre langage de description des gabarits était utilisé (EZT),
|
||||
caractérisé par l'utilisation de crochets (ex: <code>[form_var_email]</code>), il
|
||||
caractérisé par l’utilisation de crochets (ex: <code>[form_var_email]</code>), il
|
||||
est toujours disponible mais désormais déconseillé; pour mémoire sa
|
||||
<link href="https://github.com/gstein/ezt/blob/wiki/Syntax.md#directives">référence
|
||||
détaillée</link> (en anglais) est toujours en ligne.
|
||||
|
|
|
@ -11,24 +11,24 @@
|
|||
<desc>Quelques options</desc>
|
||||
</info>
|
||||
|
||||
<title>Variables d'environnement</title>
|
||||
<title>Variables d’environnement</title>
|
||||
|
||||
<p>
|
||||
La majeure partie du paramétrage est accessible via les écrans de paramétrage
|
||||
ou via le fichier <code>site-options.cfg</code>; pour faciliter le travail de
|
||||
configuration quand il s'agit d'informations proches de l'administration
|
||||
système, il existe également la possibilité d'utiliser des variables
|
||||
d'environnement.
|
||||
configuration quand il s’agit d’informations proches de l’administration
|
||||
système, il existe également la possibilité d’utiliser des variables
|
||||
d’environnement.
|
||||
</p>
|
||||
|
||||
<section>
|
||||
<title>Redirection des emails</title>
|
||||
|
||||
<p>
|
||||
Accessible dans l'écran de paramétrage des options de debug, il est
|
||||
Accessible dans l’écran de paramétrage des options de debug, il est
|
||||
aussi possible de forcer les emails générés par la plateforme à être
|
||||
envoyés vers une adresse unique, en positionnant la variable
|
||||
d'environnement <code>QOMMON_MAIL_REDIRECTION</code>.
|
||||
d’environnement <code>QOMMON_MAIL_REDIRECTION</code>.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
@ -38,9 +38,9 @@ d'environnement.
|
|||
<p>
|
||||
Par défaut les sauts de workflow sont évalués trois fois par heure, toutes
|
||||
les vingt minutes. Il est possible de définir une autre fréquence dans la
|
||||
variable d'environnement <code>WCS_JUMP_TIMEOUT_CHECKS</code>. Cette
|
||||
variable d’environnement <code>WCS_JUMP_TIMEOUT_CHECKS</code>. Cette
|
||||
variable doit contenir le nombre de vérifications à réaliser par heure, le
|
||||
maximum est d'une vérification toutes les minutes (i.e.
|
||||
maximum est d’une vérification toutes les minutes (i.e.
|
||||
<code>WCS_JUMP_TIMEOUT_CHECKS=60</code>).
|
||||
</p>
|
||||
</section>
|
||||
|
|
|
@ -8,29 +8,29 @@
|
|||
<name>Frédéric Péters</name>
|
||||
<email>fpeters@entrouvert.com</email>
|
||||
</credit>
|
||||
<desc>Autorisations d'accès spécifiques et accès de secours</desc>
|
||||
<desc>Autorisations d’accès spécifiques et accès de secours</desc>
|
||||
</info>
|
||||
|
||||
<title>Permissions d'administration</title>
|
||||
<title>Permissions d’administration</title>
|
||||
|
||||
<p>
|
||||
Dans le fonctionnement de base un compte administrateur ouvre l'accès à
|
||||
toutes les pages de l'interface d'administration, il est néanmoins possible
|
||||
de paramétrer de manière plus fine l'accès aux différentes sections.
|
||||
Dans le fonctionnement de base un compte administrateur ouvre l’accès à
|
||||
toutes les pages de l’interface d’administration, il est néanmoins possible
|
||||
de paramétrer de manière plus fine l’accès aux différentes sections.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Dans l'espace de paramétrage, dans la section « Sécurité », suivez le lien
|
||||
« Permissions d'administration ». Pour chacune des grandes sections de
|
||||
l'administration (<gui>Formulaires</gui>, <gui>Workflows</gui>,
|
||||
<gui>Utilisateurs</gui>…) vous pouvez restreindre l'accès aux utilisateurs
|
||||
Dans l’espace de paramétrage, dans la section « Sécurité », suivez le lien
|
||||
« Permissions d’administration ». Pour chacune des grandes sections de
|
||||
l’administration (<gui>Formulaires</gui>, <gui>Workflows</gui>,
|
||||
<gui>Utilisateurs</gui>…) vous pouvez restreindre l’accès aux utilisateurs
|
||||
disposant de rôles particuliers.
|
||||
</p>
|
||||
|
||||
<note style="info">
|
||||
<p>
|
||||
Disposer du rôle n'est pas suffisant, il reste nécessaire aux utilisateurs
|
||||
concernés d'avoir « Compte administrateur » coché dans leur profil.
|
||||
Disposer du rôle n’est pas suffisant, il reste nécessaire aux utilisateurs
|
||||
concernés d’avoir « Compte administrateur » coché dans leur profil.
|
||||
</p>
|
||||
</note>
|
||||
|
||||
|
@ -38,15 +38,15 @@
|
|||
<title>Accès administrateur de secours</title>
|
||||
|
||||
<p>
|
||||
En cas de mauvaise manipulation et de perte totale de l'accès à l'interface
|
||||
d'administration, l'administrateur système dispose d'un moyen de secours
|
||||
pour temporairement désactiver la vérification des permissions d'accès.
|
||||
En cas de mauvaise manipulation et de perte totale de l’accès à l’interface
|
||||
d’administration, l’administrateur système dispose d’un moyen de secours
|
||||
pour temporairement désactiver la vérification des permissions d’accès.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Dans le répertoire de l'instance (<file>/var/lib/wcs/www.example.net/</file>
|
||||
Dans le répertoire de l’instance (<file>/var/lib/wcs/www.example.net/</file>
|
||||
par exemple), un fichier <file>ADMIN_FOR_ALL</file> doit être créé,
|
||||
contenant l'adresse IP qui sera utilisée pour la connexion.
|
||||
contenant l’adresse IP qui sera utilisée pour la connexion.
|
||||
</p>
|
||||
|
||||
<screen>
|
||||
|
@ -55,17 +55,17 @@
|
|||
</screen>
|
||||
|
||||
<p>
|
||||
L'interface d'administration devient alors accessible pour permettre la
|
||||
correction de l'éventuelle erreur. Dans ce mode elle affiche son bandeau
|
||||
L’interface d’administration devient alors accessible pour permettre la
|
||||
correction de l’éventuelle erreur. Dans ce mode elle affiche son bandeau
|
||||
en rouge vif, rappel que celui-ci est exceptionnel et dangereux. Dès
|
||||
l'accès restauré, il est important de supprimer le fichier
|
||||
l’accès restauré, il est important de supprimer le fichier
|
||||
<file>ADMIN_FOR_ALL</file>.
|
||||
</p>
|
||||
|
||||
<note style="warning">
|
||||
<p>
|
||||
Pour des raisons de compatibilité, un fichier <file>ADMIN_FOR_ALL</file>
|
||||
vide ouvre l'accès pour toutes les connexions; ce comportement
|
||||
vide ouvre l’accès pour toutes les connexions; ce comportement
|
||||
dangereux sera supprimé dans une version à venir, son utilisation est
|
||||
fortement découragée.
|
||||
</p>
|
||||
|
|
|
@ -14,18 +14,18 @@
|
|||
<title>Anonymisation</title>
|
||||
|
||||
<p>
|
||||
Dans le circuit de traitement d'une demande, après qu'elle ait été traitée,
|
||||
il peut être souhaité d'en conserver une trace à des fins statistiques, tout en
|
||||
Dans le circuit de traitement d’une demande, après qu’elle ait été traitée,
|
||||
il peut être souhaité d’en conserver une trace à des fins statistiques, tout en
|
||||
lui retirant toute information à caractère personnel.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L'élément « Anonymisation » répond à ce genre de besoin; il sera généralement
|
||||
placé dans un état du workflow atteint après l'expiration d'un délai.
|
||||
L’élément « Anonymisation » répond à ce genre de besoin; il sera généralement
|
||||
placé dans un état du workflow atteint après l’expiration d’un délai.
|
||||
</p>
|
||||
|
||||
<note style="important"><p>
|
||||
L'anonymisation des données privées est une obligation légale dans beaucoup de
|
||||
L’anonymisation des données privées est une obligation légale dans beaucoup de
|
||||
situations.
|
||||
</p></note>
|
||||
|
||||
|
|
|
@ -12,25 +12,25 @@
|
|||
|
||||
</info>
|
||||
|
||||
<title>Affichage d'un formulaire</title>
|
||||
<title>Affichage d’un formulaire</title>
|
||||
|
||||
<p>
|
||||
Lors du traitement d'une demande il peut être nécessaire de demander des
|
||||
informations supplémentaires à l'usager, ou qu'un agent complète la demande
|
||||
avec des informations internes (à l'image d'un « cadre réservé à
|
||||
l'administration » sur du papier).
|
||||
Lors du traitement d’une demande il peut être nécessaire de demander des
|
||||
informations supplémentaires à l’usager, ou qu’un agent complète la demande
|
||||
avec des informations internes (à l’image d’un « cadre réservé à
|
||||
l’administration » sur du papier).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L'élément « Afficher un formulaire » répond à ce genre de besoin, en
|
||||
permettant la définition d'un formulaire de renseignement d'informations
|
||||
L’élément « Afficher un formulaire » répond à ce genre de besoin, en
|
||||
permettant la définition d’un formulaire de renseignement d’informations
|
||||
supplémentaires.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
L'interface pour définir les champs est identique à celle utilisée pour définir
|
||||
L’interface pour définir les champs est identique à celle utilisée pour définir
|
||||
les formulaires généraux. Elle est accessible en cliquant sur le lien <gui>Éditer
|
||||
les champs</gui>. Toutes les options sont disponibles, à l'exception du
|
||||
les champs</gui>. Toutes les options sont disponibles, à l’exception du
|
||||
multipage.
|
||||
</p>
|
||||
|
||||
|
@ -42,7 +42,7 @@ que la valeur qui sera renseignée par le champ soit sauvegardée.
|
|||
<p>
|
||||
Il est nécessaire également de définir à qui sera présenté le formulaire, via
|
||||
le champ <gui>À</gui>, et de lui attribuer un <gui>Nom de variable</gui> qui
|
||||
permettra aux valeurs sauvegardées d'être accessibles au niveau des <link
|
||||
permettra aux valeurs sauvegardées d’être accessibles au niveau des <link
|
||||
xref="misc-substvars">variables de substitution</link>, sous la forme
|
||||
<code><var>variable du formulaire</var>_var_<var>variable du
|
||||
champ</var></code> (par exemple : <code>contact_interne_var_telephone</code>).
|
||||
|
@ -50,7 +50,7 @@ champ</var></code> (par exemple : <code>contact_interne_var_telephone</code>).
|
|||
|
||||
<note><p>
|
||||
Pour les champs de type fichier, la variable contiendra le nom du fichier.
|
||||
L'adresse du fichier sera présente dans la variable nommée
|
||||
L’adresse du fichier sera présente dans la variable nommée
|
||||
<code><var>variable du formulaire</var>_var_<var>variable du champ</var>_url</code>.
|
||||
</p></note>
|
||||
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
|
||||
<p>
|
||||
Une fois la géolocalisation activée pour un formulaire, le workflow associé
|
||||
peut faire appel à l'action de géolocalisation pour attacher des coordonnées
|
||||
peut faire appel à l’action de géolocalisation pour attacher des coordonnées
|
||||
géographiques à la demande.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ces coordonnées peuvent être obtenues par géocodage à partir d'une adresse ou
|
||||
en les extrayant d'un champ « Carte » ou des métadonnées attachées à une
|
||||
Ces coordonnées peuvent être obtenues par géocodage à partir d’une adresse ou
|
||||
en les extrayant d’un champ « Carte » ou des métadonnées attachées à une
|
||||
photographie qui aurait été transférée via un champ de type « Fichier ».
|
||||
</p>
|
||||
|
||||
|
@ -32,13 +32,13 @@ paramétrant pour ne pas écraser des coordonnées précédemment acquises.
|
|||
</p>
|
||||
|
||||
<p>
|
||||
Une fois le géocodage réussi, l'information est mise à disposition dans les
|
||||
Une fois le géocodage réussi, l’information est mise à disposition dans les
|
||||
variables <code>form_geoloc_base_lat</code> pour la latitude et
|
||||
<code>form_geoloc_base_lon</code> pour la longitude.
|
||||
</p>
|
||||
|
||||
<section>
|
||||
<title>Géocodage à partir d'une adresse</title>
|
||||
<title>Géocodage à partir d’une adresse</title>
|
||||
|
||||
<p>
|
||||
Le paramétrage se fait en renseignant une chaîne de caractère produisant une
|
||||
|
@ -50,10 +50,10 @@ variables <code>form_geoloc_base_lat</code> pour la latitude et
|
|||
</section>
|
||||
|
||||
<section>
|
||||
<title>Extraction d'un champ « Carte »</title>
|
||||
<title>Extraction d’un champ « Carte »</title>
|
||||
|
||||
<p>
|
||||
Le paramètre est une expression faisant référence à une variable tirée d'un
|
||||
Le paramètre est une expression faisant référence à une variable tirée d’un
|
||||
champ « Carte ».
|
||||
</p>
|
||||
|
||||
|
@ -61,10 +61,10 @@ variables <code>form_geoloc_base_lat</code> pour la latitude et
|
|||
</section>
|
||||
|
||||
<section>
|
||||
<title>Extraction d'une photographie</title>
|
||||
<title>Extraction d’une photographie</title>
|
||||
|
||||
<p>
|
||||
Le paramètre est une expression pointant une variable tirée d'un champ de
|
||||
Le paramètre est une expression pointant une variable tirée d’un champ de
|
||||
type « Fichier »; le fichier ainsi pointé doit être une image contenant des
|
||||
métadonnées EXIF, renseignant la localisation de la prise de vue.
|
||||
</p>
|
||||
|
|
|
@ -14,15 +14,15 @@
|
|||
<title>Changement de statut automatique</title>
|
||||
|
||||
<p>
|
||||
L'action de changement de statut automatique permet de passer automatiquement
|
||||
un formulaire d'un statut à un autre, avec la possibilité de définir les
|
||||
L’action de changement de statut automatique permet de passer automatiquement
|
||||
un formulaire d’un statut à un autre, avec la possibilité de définir les
|
||||
critères à rencontrer pour que la transition ait lieu.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Ces critères sont de trois ordres : une condition particulière, pouvant par
|
||||
exemple porter sur des données du formulaire, un déclencheur externe, pour
|
||||
l'interaction avec des systèmes externes, et un délai d'expiration, pour
|
||||
l’interaction avec des systèmes externes, et un délai d’expiration, pour
|
||||
assurer une transition automatique après un temps donné.
|
||||
</p>
|
||||
|
||||
|
@ -47,7 +47,7 @@ tous être remplis pour que la transition ait lieu.
|
|||
|
||||
<p>
|
||||
Ce dispositif permet à un système tiers de provoquer la transition de statut,
|
||||
il est décrit dans la documentation sur l'API, dans la page <link xref="api-workflow"/>.
|
||||
il est décrit dans la documentation sur l’API, dans la page <link xref="api-workflow"/>.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
@ -55,7 +55,7 @@ tous être remplis pour que la transition ait lieu.
|
|||
<title>Expiration</title>
|
||||
|
||||
<p>
|
||||
Le critère d'expiration permet d'avoir une transition de statut après un
|
||||
Le critère d’expiration permet d’avoir une transition de statut après un
|
||||
certain délai seulement; il est par exemple utile pour créer un système de
|
||||
relance automatique.
|
||||
</p>
|
||||
|
@ -66,8 +66,8 @@ tous être remplis pour que la transition ait lieu.
|
|||
combiner les unités de temps, par exemple : <code>1 mois 10 jours</code>.
|
||||
</p>
|
||||
<p>
|
||||
Il peut également être spécifié sous forme d'expression Python, en préfixant
|
||||
celle-ci d'un signe =, la valeur doit alors être un nombre de secondes.
|
||||
Il peut également être spécifié sous forme d’expression Python, en préfixant
|
||||
celle-ci d’un signe =, la valeur doit alors être un nombre de secondes.
|
||||
</p>
|
||||
</note>
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<title>Variables de workflow</title>
|
||||
|
||||
<p>
|
||||
Il arrive souvent qu'un même traitement doive être appliqué à différents
|
||||
Il arrive souvent qu’un même traitement doive être appliqué à différents
|
||||
formulaires, à un petit détail près, par exemple le document généré doit être
|
||||
basé sur un modèle différent, un webservice externe doit être appelé avec une
|
||||
autre donnée, etc.
|
||||
|
@ -22,16 +22,16 @@ autre donnée, etc.
|
|||
|
||||
<p>
|
||||
Dans ces situations il est bien sûr possible de dupliquer le workflow autant de
|
||||
fois qu'il existe de variations mais ça entraîne rapidement un coût d'entretien
|
||||
fois qu’il existe de variations mais ça entraîne rapidement un coût d’entretien
|
||||
trop élevé. Les variables de workflow sont une réponse à ce problème, elles
|
||||
permettent de déléguer certains éléments du paramétrage d'un workflow aux
|
||||
permettent de déléguer certains éléments du paramétrage d’un workflow aux
|
||||
formulaires associés.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Pratiquement, la définition des variables se rapproche de la définition des
|
||||
formulaires destinés aux usagers, il s'agit de définir une série de champs. Il
|
||||
y a quand même une différence, lors de la définition d'un champ celui-ci doit
|
||||
formulaires destinés aux usagers, il s’agit de définir une série de champs. Il
|
||||
y a quand même une différence, lors de la définition d’un champ celui-ci doit
|
||||
être associé soit à un nom de variable, qui pourra alors être utilisé dans le
|
||||
formulaire, soit directement à un élément du workflow, qui sera alors substitué
|
||||
automatiquement. Les deux usages sont décrits par la suite.
|
||||
|
@ -57,8 +57,8 @@ cliquer dessus ouvre une fenêtre avec la liste des paramètres à remplir.
|
|||
<p>
|
||||
Un workflow de concours pourrait ainsi avoir comme variable la
|
||||
description du prix (nommée <code>description_prix</code>), dans la
|
||||
définition d'un formulaire la variable serait remplie avec "Deux
|
||||
places de cinéma" et dans le traitement, une action d'envoi de courriel
|
||||
définition d’un formulaire la variable serait remplie avec "Deux
|
||||
places de cinéma" et dans le traitement, une action d’envoi de courriel
|
||||
pourrait décrire celui-ci ainsi :
|
||||
</p>
|
||||
|
||||
|
@ -71,8 +71,8 @@ tirage au sort.
|
|||
</example>
|
||||
|
||||
<p>
|
||||
Une autre utilisation pourrait être d'avoir une liste à choix multiple comme
|
||||
option de workflow, reprenant par exemple les types d'envoi possibles
|
||||
Une autre utilisation pourrait être d’avoir une liste à choix multiple comme
|
||||
option de workflow, reprenant par exemple les types d’envoi possibles
|
||||
(courrier standard, recommandé, recommandé avec accusé de réception…) (sous
|
||||
le nom <code>mode_envoi</code>); du coté des formulaires il pourrait y avoir
|
||||
un champ de type « Liste » qui serait rempli des éléments qui auraient été
|
||||
|
@ -86,11 +86,11 @@ tirage au sort.
|
|||
<title>Option substituant un élément de workflow</title>
|
||||
|
||||
<p>
|
||||
Dans une variation de l'exemple précédent du coucours, l'entièreté du
|
||||
contenu du courriel pourrait relever d'une option; dans cette situation,
|
||||
Dans une variation de l’exemple précédent du coucours, l’entièreté du
|
||||
contenu du courriel pourrait relever d’une option; dans cette situation,
|
||||
plutôt que définir du côté du courriel que son contenu serait
|
||||
<code>[form_option_contenu_courriel]</code>, il est possible de directement
|
||||
associer l'option de workflow à l'élément d'envoi de courriel.
|
||||
associer l’option de workflow à l’élément d’envoi de courriel.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
<title>Appel à un webservice</title>
|
||||
|
||||
<p>
|
||||
Cette action permet d'appeler un système tiers et d'éventuellement lui
|
||||
Cette action permet d’appeler un système tiers et d’éventuellement lui
|
||||
transmettre des données, dont celles du formulaire en cours.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Le champ URL est obligatoire, il doit contenir l'adresse qui sera appelée,
|
||||
Le champ URL est obligatoire, il doit contenir l’adresse qui sera appelée,
|
||||
celle-ci peut contenir des <link xref="misc-substvars">variables</link>, pour
|
||||
par exemple transmettre une information particulière.
|
||||
</p>
|
||||
|
@ -30,24 +30,24 @@ par exemple transmettre une information particulière.
|
|||
|
||||
<p>
|
||||
Le tableau « Données à envoyer en paramètre » permet de décrire des données qui
|
||||
seront transmises sous la forme de paramètres d'URL. Sur chaque ligne, la
|
||||
seront transmises sous la forme de paramètres d’URL. Sur chaque ligne, la
|
||||
colonne de gauche est le nom de la clé, celle de droite la valeur. La valeur
|
||||
peut être une expression Python, pour cela elle doit commencer par le signe
|
||||
« = ». Les paramètres d'URL ne peuvent être que des chaînes, si ce n'est pas le
|
||||
« = ». Les paramètres d’URL ne peuvent être que des chaînes, si ce n’est pas le
|
||||
cas la donnée sera transformée en chaîne de force.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
La case à cocher « Envoyer le formulaire (POST, en JSON) » indique que
|
||||
l'ensemble des données du formulaire doivent être transmises, avec un appel de
|
||||
l’ensemble des données du formulaire doivent être transmises, avec un appel de
|
||||
type <code>POST</code>, dont le contenu correspondra au formulaire encodé au
|
||||
format JSON, comme décrit dans cette <link xref="api-get#pull">page sur
|
||||
l'API</link>.
|
||||
l’API</link>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Le tableau « Données à envoyer en POST » permet de décrire des données qui
|
||||
seront transmises sous la forme d'un dictionnaire clé-valeur au format JSON.
|
||||
seront transmises sous la forme d’un dictionnaire clé-valeur au format JSON.
|
||||
Sur chaque ligne, la colonne de gauche est le nom de la clé, celle de droite la
|
||||
valeur. La valeur peut être une expression Python, pour cela elle doit
|
||||
commencer par le signe « = ».
|
||||
|
@ -84,14 +84,14 @@ commencer par le signe « = ».
|
|||
dans le JSON du formulaire, dans une clé « extra ».
|
||||
</p></item>
|
||||
<item><p>
|
||||
Si aucune donnée n'est indiquée et que le formulaire ne doit pas être transmis,
|
||||
alors la requête HTTP effectuée est un GET sur l'URL.
|
||||
Si aucune donnée n’est indiquée et que le formulaire ne doit pas être transmis,
|
||||
alors la requête HTTP effectuée est un GET sur l’URL.
|
||||
</p></item>
|
||||
</list>
|
||||
</note>
|
||||
|
||||
<p>
|
||||
Le paramètre « Nom de variable » permet d'enregistrer le résultat retourné
|
||||
Le paramètre « Nom de variable » permet d’enregistrer le résultat retourné
|
||||
par le webservice, le retour HTTP de celui-ci sera enregistré dans
|
||||
<code><var>variable</var>_status</code> (voir plus loin, le traitement des
|
||||
erreurs) et le contenu même de la réponse, si elle est au format JSON,
|
||||
|
@ -100,7 +100,7 @@ sera enregistré dans <code><var>variable</var>_response</code>.
|
|||
|
||||
<p>
|
||||
Le paramètre « Clé de signature de la requête » permet de signer la requête
|
||||
avant de l'envoyer au webservice, avec la valeur du champ comme clé de
|
||||
avant de l’envoyer au webservice, avec la valeur du champ comme clé de
|
||||
signature.
|
||||
</p>
|
||||
|
||||
|
@ -109,13 +109,13 @@ signature.
|
|||
|
||||
<p>
|
||||
En précisant un nom de variable (exemple : <code>webservice</code>), il est
|
||||
possible de placer derrière l'appel au webservice une action de <link
|
||||
possible de placer derrière l’appel au webservice une action de <link
|
||||
xref="wf-jump">changement de statut automatique</link> faisant référence
|
||||
à la variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Par exemple, pour s'assurer que le retour fait par le webservice était bien
|
||||
Par exemple, pour s’assurer que le retour fait par le webservice était bien
|
||||
un code HTTP 200 et que le contenu de la réponse contenait bien un
|
||||
dictionnaire <code>data</code> dont la clé <code>result</code> valait
|
||||
<code>OK</code> :
|
||||
|
|
Loading…
Reference in New Issue