Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Quelques questions sur les scénarios

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: David Verdin <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Quelques questions sur les scénarios
  • Date: Tue, 15 May 2018 10:59:49 +0200

Bonjour Steve,


On 14/05/2018 21:31, Steeve Gagnon wrote:

Bonjour,

 

Petites questions concernant les scénarios.

 

Je voudrais écrire un scénario du genre visibility.connRequise qui ferait apparaitre une liste dans la "liste des listes" seulement si l'usager s'est authentifié dans l'interface WEB de SYMPA.

 

Je n'ai pas trouvé de condition directe en ce sens. Alors j'ai imaginé celle-ci :

match([sender], /@/)                          md5    -> do_it

… en me disant que si l'usager est authentifié, il a une adresse courriel (le md5 semblant faire référence à l'authentification via le WEB). Ce scénario semble fonctionner.

 

J'ai donc quelques questions :

 

J'aimerais savoir si ce scénario est correct ou s'il y a une meilleure façon de s'y prendre;
Sur le fond, c'est bon.
Ceci dit, ton test n'est pas nécessaire.
Voilà comment marche un scénario. C'est une suite de lignes toutes structurées de la même manière :

<test>    <méthodes d'authentification>    ->    <action>

Le truc à comprendre, c'est que chaque ligne n'est utilisée que si l'utilisateur utilise la méthode d'authentification spécifiée.

Exemple, pour un scénario send :

is_subscriber([sender],[listname])    smtp,dkim    ->    request_auth
is_subscriber([sender],[listname])    md5,smime    ->   do_it

Si l'utilisateur envoie un mail non signé (smtp) ou signé DKIM (dkim), on lui envoie une demande d'authentification (on évalue la ligne 1, qui renvoie vrai et on arrête là).
Si l'utilisateru envoie un mail signé S/MIME (smime) ou s'est authentifié, soit par le web, soit en cliquenat sur un lien(md5), on zappe la ligne 1, on évalue a ligne 2 et, s'il est abonné, on diffuse le message.

Pour en revenir à ton cas, tu cherches à donner une autoriation si la personne est authentifiée, sans autre condition.
Authentifié par le web, c'est le niveau d'authentification md5, en effet.
Du coup, une règle plus explicite serait :

true()    md5    -> do_it.


j'aimerais savoir ce qui arrive lorsqu'aucune condition n'est vraie et ce, pour n'importe quel type de scénario (visibility, send, info, review, …). Y'a-t-il une action par défaut ? Je me dis que le but d'un scénario est de retourner une action, alors qu'elle action est retournée par défaut ?
Les scénarios doivent toujours se terminer par une action par défaut, du type :

true()    md(,smime,smtp,dkim    -> reject

Si tu n'as pas cette action par défaut, la valeur par défaut est un "return undef" dans le code, qui sera évalué comme "reject", mais de manière non explicite. Tu risques donc d'envoyer un message peu clair aux utilsiateurs.
Je viens d'ailleurs de remarquer qu'un des scénarios n'a pas de "true()" à la fin. C'est un bug.


Finalement, est-il possible de cacher l'onglet "Liste des listes" aux utilisateurs qui ne sont pas connectés ?
Oui, mais il faut modifier le template sympa_menu.tt2.
Il faut rajouter le bloc :

[% IF user.email %]
...
[% END %]

autour de la section qui génère le menu.

Bonne journée !

David

 

Merci

 

 

_______________________________

Steeve Gagnon

Analyste - Infrastructure des serveurs

Service des technologies de l’information

Université de Sherbrooke

 

Tél. : 819 821-8000, poste 62495

Courriel : adresse@cachée

 


-- 
"Mieux vaut viser la perfection et la rater que viser la médiocrité et l'atteindre."
- Francis Blanche

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature




Archives gérées par MHonArc 2.6.19+.

Haut de le page