Envoi d'email pour l'agent depuis wcs

Utilisation du smarthost SMTP leucas
This commit is contained in:
Paul Marillonnet 2017-02-23 14:55:58 +01:00
parent bc21da43b2
commit 6b6e06063d
2 changed files with 113 additions and 7 deletions

23
doc.md
View File

@ -800,13 +800,14 @@ Licence Apache
# Formulaires
## w.c.s.
Déploiement en local, impossible d'utiliserA
Installer modules ssl (implémentations openssl ou gnutls), scgi, rewrite
Gestion de l'authentification dans w.c.s. :
L'outil de gestion de formulaires et de workflow a été utilisé dans la mise en place du POC. L'utilisation du protocole https nécessite d'installer modules Apache ssl (l'une des implémentations openssl ou gnutls), scgi, rewrite.
La gestion de l'authentification dans w.c.s. nécessite la définition d'une méthode de signature. La méthode retenue est
```
BASE64(HMAC-HASH(query_string+'algo=HASH&timestamp=' + timestamp + '&orig=" + orig, clé))
```
BASE64 désigne l'encodage en base 64 (i.e. sur 6 octets) de la signature. Par ailleurs, HMAC-HASH est la fonction de hachage utilisée pour signer les messages. Spécifique à la génération de code d'authentification, cette méthode repose sur l'utilisation d'une clé secrète.
Retrait de l'exception enpêchant l'absence de signature dans les appels à l'API -> Commentée
@ -829,6 +830,8 @@ Par convention, à chaque méthode HTTP est associée un action :
- GET pour la lecture
- DELETE pour la suppression
TODO HATEOAS ?
### JSON
Le format de données utilisé pour la communication avec w.c.s. est JSON (JavaScript Object Notation).
@ -863,8 +866,8 @@ Prenons l'exemple de la définition d'un schéma de formulaire par w.c.s :
}
```
TODO
listes et dictionnaires
On remarque ainsi la façon dont listes et dictionnaires sont utilisées pour la description structurelles des différents champs définissant un objet.
(Champs multivalués, inclusion de sous-objets, etc).
### Plugin Passerelle
Le plugin passerelle fournit un ensemble de connecteurs permettant le dialogue entre w.c.s. et des sources de données et services de nature différentes.
@ -900,6 +903,11 @@ Une fois le formulaire rempli par l'utilisateur, le workflow est configuré pour
Le plugin Passerelle permet la communication avec l'annuaire, permettant l'ajout de l'entrée LDAP correspondant au compte nouvellement créé.
# Ecriture connecteur
Première étape :
lecture du code de Passerelle
Choix d'un connecteur à dériver pour l'écriture du connecteur LDAP
# Mise au point technique
## Python
@ -942,6 +950,7 @@ Bien que Django fournisse des décorateurs par défaut, ce framework permet aux
##### URIs
APPEND_SLASH ?
"Adding slash to: '/login'"
#### Modèles
Les modèles Django standardisent l'utilisation des objets dans l'application web.

View File

@ -0,0 +1,97 @@
Return-path: <pmarillonnet@entrouvert.com>
Envelope-to: paul@spare.entrouvert.lan
Delivery-date: Thu, 23 Feb 2017 12:23:50 +0100
Received: from localhost ([127.0.0.1] helo=spare.entrouvert.lan)
by spare with esmtp (Exim 4.88)
(envelope-from <pmarillonnet@entrouvert.com>)
id 1cgrV0-0001qo-P6
for paul@spare.entrouvert.lan; Thu, 23 Feb 2017 12:23:50 +0100
Content-Type: multipart/alternative; -charset="utf-8";
boundary="===============2178684242210032858=="
MIME-Version: 1.0
Subject: =?utf-8?q?Nouveau_formulaire_=28traitement=29?=
To: paul@spare.entrouvert.lan
From: pmarillonnet@entrouvert.com
X-Qommon-Id: wcs.example.com
Message-Id: <E1cgrV0-0001qo-P6@spare>
Date: Thu, 23 Feb 2017 12:23:50 +0100
--===============2178684242210032858==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Bonjour,
Un nouveau formulaire a =C3=A9t=C3=A9 compl=C3=A9t=C3=A9, vous pouvez le co=
nsulter
en suivant ce lien :
http://wcs.example.com/backoffice/management/traitement/15/
Pour r=C3=A9f=C3=A9rence, voici le d=C3=A9tail du formulaire :
Email=C2=A0:
toto@nowhere.null
Prenom=C2=A0:
toto
Nom=C2=A0:
t
NameID=C2=A0:
tt
Unite d'affectation=C2=A0:
hello
--===============2178684242210032858==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.=
w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8" />
<meta name=3D"generator" content=3D"Docutils 0.13.1: http://docutils.source=
forge.net/" />
<title></title>
</head>
<body>
<div class=3D"document">
<p>Bonjour,</p>
<p>Un nouveau formulaire a =C3=A9t=C3=A9 compl=C3=A9t=C3=A9, vous pouvez le=
consulter
en suivant ce lien :</p>
<blockquote>
<a class=3D"reference external" href=3D"http://wcs.example.com/backoffice/m=
anagement/traitement/15/">http://wcs.example.com/backoffice/management/trai=
tement/15/</a></blockquote>
<p>Pour r=C3=A9f=C3=A9rence, voici le d=C3=A9tail du formulaire :</p>
<dl class=3D"docutils">
<dt>Email&nbsp;:</dt>
<dd><a class=3D"reference external" href=3D"mailto:toto&#64;nowhere.null">t=
oto&#64;nowhere.null</a></dd>
<dt>Prenom&nbsp;:</dt>
<dd>toto</dd>
<dt>Nom&nbsp;:</dt>
<dd>t</dd>
<dt>NameID&nbsp;:</dt>
<dd>tt</dd>
<dt>Unite d'affectation&nbsp;:</dt>
<dd>hello</dd>
</dl>
</div>
</body>
</html>
--===============2178684242210032858==--