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: Steeve Gagnon <adresse@cachée>
  • To: "'adresse@cachée'" <adresse@cachée>
  • Subject: RE: [sympa-fr] Quelques questions sur les scénarios
  • Date: Tue, 15 May 2018 12:56:47 +0000

Bonjour,

 

Bizarre, ça ne marche pas. Voici le fichier que j'ai créé :

 

title.fr Connexion requise

true()     md5              -> do_it

true()     smtp,dkim,smime  -> reject

 

La liste est visible depuis l'interface WEB, que je sois authentifié ou pas. À noter que l'authentification se fait auprès d'un serveur LDAP, je ne sais pas si ça peut "jouer" compte tenu que j'inscris "md5" comme méthode d'authentification.

 

J'ai reparti SYMPA et HTTPD pour être bien certain que le fichier considéré est vraiment celui que j'ai créé.

La configuration de la liste (visibility) indique le commentaire que j'ai choisi et si je regarde le contenu du scénario, il correspond bien au contenu du fichier que j'ai créé.

 

Auriez-vous une idée de ce qui se passe ?

 

Merci

 

Steeve

 

 

_______________________________

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

 

De : adresse@cachée <adresse@cachée> De la part de David Verdin
Envoyé : 15 mai 2018 05:00
À : adresse@cachée
Objet : Re: [sympa-fr] Quelques questions sur les scénarios

 

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 :

 

  1. 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.


  1.  
  2. 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.


  1.  
  2. 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

  1.  

 

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



Archives gérées par MHonArc 2.6.19+.

Haut de le page