La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004.

Présentations similaires


Présentation au sujet: "Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004."— Transcription de la présentation:

1 Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004

2 Comité Réseau des Universités 2 Pourquoi Sympa par le CRU ? Les listes de diffusions sont un service de base des universités et établissements d’enseignement supérieur. Première génération de serveur de listes de diffusion pour accompagner la migration de EARN. (Serveur de listes du CRU = 8 millions de messages diffusés en Octobre 2004) Toujours un déficit de l’offre par rapport aux besoins La logique du libre n’est pas seulement d’utiliser les réalisations des autres Notre tutelle est maintenant convaincue des retombées favorables de cet effort en particulier en terme d’image Sympa est notre matériel d’expérimentation favori (pages dynamiques, cgi/MySQL, LDAP, S/MIME, antivirus, SSO, SOAP, XML …)

3 Comité Réseau des Universités 3 Les inscrits 300 inscrits dont : –Majorité : universités –30 Recherche (CNRS, INRA, INRIA) –26 Rectorats –16 IUFM –14 xx.gouv.fr –Collectivités locales –Entreprises privées

4 Comité Réseau des Universités 4 Les utilisateurs sites connus Education : –90% des universités françaises +IUFM + Rectorats –Universités étrangères (Europe, USA, Amérique du sud, Asie du sud est) Ministères et agences gouvernementales Fournisseurs de service & SSII Associations Entreprises privées

5 Comité Réseau des Universités 5 Le support (http://www.sympa.org)http://www.sympa.org 1.Manuel de référence 2.FAQ 3.Archives des listes 4.Google site:sympa.org « mon problème » 5.Articles et présentations 6.Listes de discussion (sympa-fr, sympa-dev) 7.Support commercialSupport commercial

6 Comité Réseau des Universités 6 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

7 Comité Réseau des Universités 7 Ce qui ne sera PAS abordé aujourd’hui... Présentation exhaustive des fonctionnalités utilisateur Installation « pas à pas » de Sympa Fonctionnalités S/MIME

8 Comité Réseau des Universités 8 Evolution des versions HEAD Juillet 2000 WWSympa inclus S/MIME Octobre 2002 Include 2 AuthN LDAP Virtual robots Task manager Documents partagés Antivirus Mars 2004 SOAP Auth. CAS, Shibboleth Gestion auto. Bounces HTML Area Fin 2004/début 2005 TT2 Familles de listes Include owners Modération documents Canal RSS Upload zip

9 Comité Réseau des Universités 9 Distribution de Sympa sympa-xx.tar.gz –Préserve les personnalisations –Gestion automatique des dépendances CPAN –Maj automatique des structures de données Paquets : –Debian : sympa dans unstable –Mandrake : maintenu par le rectorat de Nantes –RedHat : pas maintenu !! CVS : ne pas installer une version « anonyme » !!

10 Comité Réseau des Universités 10 Mise à jour de votre installation Incompatibilités : –indiquées dans le fichier NEWS (lignes *****) –affiché au début du make install Installation/Maj des modules CPAN : –Géré automatiquement au make install Modification de la structure de la base : –Pour MySQL mise à jour auto, au démarrage de sympa.pl Préservation de vos personnalisations : –Seul le répertoire /home/sympa/bin/ est écrasé

11 Comité Réseau des Universités 11 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

12 Comité Réseau des Universités 12 listes.cru.fr recherche.gouv.frjres.org cru.fr super listmaster listmaster owner editor Serveur Robots virtuels Listes Familles Organisation d’un serveur Sympa

13 Comité Réseau des Universités 13 Une organisation hiérarchique Mecanisme d’héritage s’applicant aux : –Fichiers de configuration et aux paramètres –Fichiers d’authorisation (scenarios) –Templates web –Messages de service (templates) Il est souhaitable de définir les défauts au niveau le plus haut Le niveau le plus haut est la distribution de Sympa (/home/sympa/bin/etc/)

14 Comité Réseau des Universités 14 Un robot par défaut ou pas… Le robot par défaut peut : 1.Contenir les listes du service principal 2.Servir uniquement pour définir des défauts communs à tous les robots virtuel (dans ce cas il faut définir un paramètre host jamais utilisé) La solution (2) offre plus de souplesse

15 Comité Réseau des Universités 15 Les rôles dans Sympa au niveau global Listmaster du site : –défini dans sympa.conf –Gère le service au niveau système (personnalisation, création de robots virtuel, familles,…) Listmaster d’un robot virtuel : –Défini dans robot.conf –Valide les créations de listes, assure le support auprès des propriétaires de listes

16 Comité Réseau des Universités 16 Les rôles dans Sympa au niveau d’une liste Propriétaire : –Gère la population des abonnés (ajout, suppression, bounces) –Configure la liste (paramètres, templates, scenarios) Propriétaire privilégié : –Gère les propriétaires –Accès à des paramètres de configuration sensibles (send,…) Modérateur : –Gère les contenus de la liste (messages, documents partagés)

17 Comité Réseau des Universités 17 Organisation des données Des fichiers pour : –La configuration (globale, des listes) –Les templates –Les « spools » –Les archives Une base de données pour : –Les préférences utilisateurs –Les membres des listes (nombreux attributs) –Les « gérants » des listes (cache uniquement ; référence = fichier de configuration de la liste)

18 Comité Réseau des Universités 18 Organisation / les répertoires /home/sympa/bin/# Exécutables /home/sympa/bin/etc/# Configurations par défaut /home/sympa/etc/# Configurations du site /home/sympa/etc/scenari/# Scenarios d’autorisation /home/sympa/etc/mail_tt2/# Messages de service /home/sympa/etc/web_tt2/# Templates web /home/sympa/etc/family/# Répertoire des modèles de familles /home/sympa/etc/mon-robot/# Configurations robot virtuel /home/sympa/expl/# Répertoire des listes /home/sympa/expl/maliste/# Répretoire d’une liste /home/sympa/expl/X509r-certs/# Certificats utilisateurs /home/sympa/spool/# Les “spools” /home/sympa/src/# Pour stoquer vos tar.gz… /var/bounce/# Stockage des bounces /home/httpd/html/arc/# Les archives web

19 Comité Réseau des Universités 19 Organisation / les fichiers de configuration /etc/sympa.conf# Configuration du site /etc/wwsympa.conf# Configuration relative à l’interf. web /home/sympa/etc/topics.conf# Les catégories de listes /home/sympa/etc/edit_list.conf# Qui peut éditer quel paramètre /home/sympa/etc/auth.conf# Configuration de l’authentification /home/sympa/etc/mon-robot/robot.conf# Configuration d’un robot virtuel /home/sympa/etc/family/ma-famille/edit_list.conf /home/sympa/etc/family/ma-famille/param_constraint.conf # Contraintes param. listes /home/sympa/expl/maliste/config# Fichier de configuration d’une liste

20 Comité Réseau des Universités 20 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

21 Comité Réseau des Universités 21 Les démons archived.pl Internal database bounced.pl sympa.pl wwsympa.fcgi spool sympasoap.fcgi task_manager.pl config templates

22 Comité Réseau des Universités 22 List config Circuit d’un complexe mail message Sendmail root.bin msg sympa.pl uid sympa outgoing authmod message confirm valid confirmvalid message mysql

23 Comité Réseau des Universités 23 Interactions avec la messagerie exim, postfix, qmail, sendmail sendmail  sympa.pl via spool msg ma-liste: “| /etc/smrsh/queue ma-liste” -rwsr-xr-x 1 sympa sympa Oct 13 14:55 /etc/smrsh/queue* sendmail  bounced.pl : idem, bouncequeue

24 Comité Réseau des Universités 24 Interactions avec la messagerie sympa.pl et wwsympa.pl  /usr/bin/sendmail wwsympa.pl et sympa.pl  newaliases -rwxr-xr-x 1 sympa sympa 5933 Oct 15 12:24 alias_manager.pl* -rwsr-x--- 1 root sympa Oct 13 14:55 aliaswrapper* sendmail.mc : define(`ALIAS_FILE', `/etc/mail/aliases,/etc/mail/sympa_aliases')dnl maxsmtp pour contrôler la charge du serveur nrcpt pour optimser le groupage. Attention à ne pas passer pour un spammeur

25 Comité Réseau des Universités 25 Interactions avec Syslogd serveur de log unix Voir : –syslog.conf –log_socket_type dans sympa.conf –log_leve l dans sympa.conf et wwsympa.conf –option –d pour chaque démon (sauf fastcgi) Attention à la charge induite

26 Comité Réseau des Universités 26 Interaction avec le systeme MySQL ou autre SGBD pour le backend : 1.Le backend de type fichier (user_data_source file) est abandonné : perfs déplorables, manque fonctionnel, plus de support. 2.Le SGBD de référence est MySQL : versions beta testées uniquement avec MySQL Création et mise à jour automatique de la structure des tables (au lancement de sympa.pl)

27 Comité Réseau des Universités 27 Apache Un uid/gid unique pour wwsympa.fcgi, archived.pl, bounced.pl and sympa.pl. 1.wwsympa.fcgi : sympa.sympa + bit s 2.Serveur apache dédié avec uid sympa 3.Virtual host + directive User dans httpd.conf 1.attention borne sup pour uid/gid) 2.attention directive User et Goup avant FastCgiServer 4.wrapper en C

28 Comité Réseau des Universités 28 Apache fastcgi FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 2 SetHandler fastcgi-script ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi Fastcgi est requis

29 Comité Réseau des Universités 29 OpenSSL openssl : binaire de OpenSSL, cafile capath : bundle des certificats d’AC (fichier et répertoire). Partage avec la config https recommandée

30 Comité Réseau des Universités 30 OpenSSL key_password :mot de passe pour protéger les clés privées de chaque liste quand celle-ci dispose de certificat pour le chiffrement Installation d’un certificat de liste : p12topem.pl --pkcs12 cert.p12 –listname foo --robot cru.fr

31 Comité Réseau des Universités 31 Antivirus Pour ne pas traiter les bounces mailhost et listhost différents Produit supportés : uvscan, avp, fsav, sophos, clamav Sympa.conf antivirus_path /usr/local/bin/uvscan antivirus_args --summary --secure antivirus_notify nobody

32 Comité Réseau des Universités 32 MhOnarc Le moteur de conversion utilisé par archived et le module de modération par le web Archives stokées dans un répertoire séparé (partition recommandée), voir arc_path Config de liste web_archive Access private quota 10000

33 Comité Réseau des Universités 33 archived.pl MhOnarc sympa.pl wwsympa.fcgi remove rebuild mhonarc_ressources tt2 …/spool/outgoing

34 Comité Réseau des Universités 34

35 Comité Réseau des Universités 35 htmlarea Compatible IE 5.5 et + et Mozilla 1.4 et + (Gecko) Installer htmlarea quelque part sur le même host Renseigner htmlarea_url (wwsympa.conf)

36 Comité Réseau des Universités 36 Structure de la base Tables : user_table, subscriber_table, admin_table user_table _user gecos_user password_userchiffrement réversible cookie_delay_userpermanence de session lang_user attributes_usercache des attributs hérités

37 Comité Réseau des Universités 37 Structure de la base subscriber_table list_subscriberEx: sympa-fr user_subscriberEx: date_subscriber# jour depuis 1970 update_subscriberEx: visibility_subscriberEx: conceal reception_subscriberEx: digest

38 Comité Réseau des Universités 38 Structure de la base / subscriber bounce_subscriber date de premier bounce, date de dernier bounce, nombre de bounce, type du dernier bounce, ex : comment_subscriber gecos par liste subscribed_subscriber 1 si add or sub included_subscriber 1 si inclusion dynamique include_sources_subscriber id de la source d’inclusion bounce_score_subscriber euristique de désabonnement automatique, task_manager.pl

39 Comité Réseau des Universités 39 Structure de la base admin_table user_adminEx: list_adminEx: sympa-fr role_adminowner|editor profile_adminEx: privileged reception_adminEx: nomail comment_admingecos info_adminInfo privée

40 Comité Réseau des Universités 40 Structure de la base date_admindate création update_admindate update subscribed_admin1 si definition statique included_admin1 si definition par include include_sources_adminId de la source d’incl

41 Comité Réseau des Universités 41 MySQL : les droits En fonctionnement normal select_priv insert_priv update_priv delete_priv Initialisation ou mis à jour create _priv drop _priv index _priv alter _priv Créer un usager avec les droits suivants :

42 Comité Réseau des Universités 42 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

43 Comité Réseau des Universités 43 Robots virtuels Equivalent Sympa des domaines virtuels de sendmail et des hosts virtuels d’Apache Une seule installation de Sympa Les démons servent indistinctement tout les robots Pas de création en ligne du robot

44 Comité Réseau des Universités 44 Installation messagerie Créer le domaine dans le DNS Installer un domaine virtuel sendmail virtual-domains:virtual.org virtual.org-%1%3 Créer les alias virtual.org-sympa: "|../bin/queue virtual.org-listmaster: "|../bin/queue template list_alias.tt2 a perrsonnaliser selon la forme de vos alias

45 Comité Réseau des Universités 45 Installation apache FastCgiServer /home/sympa/bin/wwsympa.fcgi -processes 3 ServerAdmin DocumentRoot /var/www/virtual.org ServerName listes.virtual.org SetHandler fastcgi-script ScriptAlias /wws /home/sympa/bin/wwsympa.fcgi

46 Comité Réseau des Universités 46 Installation robot virtuel /home/sympa/etc/virtual.org/robot.conf http_host : comparé à $ENV{‘SERVER_NAME’} pour déterminer quel robot solliciter. Exemple : http_host listes.virtual.org wwsympa_url base URL Exemple wwsympa_url

47 Comité Réseau des Universités 47 Installation robot virtuel soap_url cookie_domain title default_home create_list lang log_smtp listmaster max_size dark_color, light_color, text_color, bg_color, error_color, selected_color, shaded_color Les variables suivantes peuvent être positionnée pour un virtual robot, elles remplacent les valeures par défaut spécifiées dans sympa.conf :

48 Comité Réseau des Universités 48 Exemple de robot.conf http_host demo.sympa.org wwsympa_url title A demo mailing list service listmaster create_list public_listmaster default_home lists lang us default_shared_quota 5000 soap_url

49 Comité Réseau des Universités 49 Personnaliser les robots /home/sympa/etc/virtual.org/web_tt2/, /home/sympa/etc/virtual.org/wws_templates/, /home/sympa/etc/virtual.org/mail_tt2/, /home/sympa/etc/virtual.org/templates/, /home/sympa/etc/virtual.org/scenari/ /home/sympa/etc/virtual.org/edit_list.conf /home/sympa/etc/virtual.org/topics.conf

50 Comité Réseau des Universités 50 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

51 Comité Réseau des Universités 51 Authentification Sympa doit être compatible avec la politique d’authentification de l’établisssement (LDAP, SSO, Certificats X509) Toujours des usagers exterieurs. Comment traiter les exceptions ?

52 Comité Réseau des Universités 52 Authentification Obligation de panacher les méthodes d’authentification Choix du système d’authentification en fonction de l’usager concerné. Préserver la cohérence de l’authentification à travers les différentes interfaces.

53 Comité Réseau des Universités 53 Méthodes d’authenticationInterface Challenge de confirmationmail Password (allocation par )web LDAP AuthN backendweb SSO: CAS SSO: Shibboleth Web & SOAP Web certificat utilisateurMail: S/MIME Web: HTTPS

54 Comité Réseau des Universités 54 Login X509 Authentification classique, backend LDAP ou Sympa WAYF

55 Comité Réseau des Universités 55 Auth.conf Décrit les services d’authentification Décrit comment on choisit un service d’authentification lors du login. Pour chaque service, décrit comment obtenir l’ de la personne quand celle- ci est authentifiée avec un UID.

56 Comité Réseau des Universités 56 authentification LDAP Si un service d’authentification LDAP est sélectionné : 1.Bind anonymous, recherche LDAP pour collecter le user_id à partir du (si fourniture d’un ) 2.Bind user_id+ password pour vérifier le passwd 3.Bind anonymous pour collecter le avec le user_id (si non fourni par l’utilisateur)

57 Comité Réseau des Universités 57 Authentification LDAP ldap host ldap1.cru.fr:392,ldap2.cru.fr:392 timeout 20 suffix dc=cru,dc=fr get_dn_by_uid_filter (uid=[sender]) get_dn_by_ (|(mail=[sender])(aliasmail=[sender])) alternative_ _attribute maildrop _attribute mail scope sub

58 Comité Réseau des Universités 58 Central Authentication Service Yale university web Single Sign On Usage universitaire croissant Basé sur des redirections et un ticket qui doit être validé par le serveur CAS canal Uportal pour Sympa CAS est trop centralisé, cohabitation avec d’autres systèmes d’authentification difficile.

59 Comité Réseau des Universités 59 CAS Client Sympa Redirection ticket=17429 Welcome u Who is he ? ticket=17429 ID=smith Search for ID=smith u LDAP redirection. Is that user authenticated ? Sympa interaction with one CAS server

60 Comité Réseau des Universités 60 CAS 1 CAS 2 Client Sympa Welcome WAYF ? redirection. Is that user authenticated ? User : ? Password ? yes ticket=17429 Who is he ? ticket=17429 ID=smith Interaction with a chosen CAS server

61 Comité Réseau des Universités 61 CAS 1 CAS 2 Client Sympa non blocking redirection. Is that user authenticated ? no Non blocking redirection. Is that user authenticated ? yes ticket=17429 Welcome Who is he ? ticket=17429 ID=smith Interaction with multiple CAS servers

62 Comité Réseau des Universités 62 Un serveur CAS est en panne ? Toute redirection est sans issue La configuration de Sympa permet de choisir pour chaque serveur CAS si on essaye une redirection non bloquante. Surveiller disponibilité des serveurs CAS ?

63 Comité Réseau des Universités 63 “CAS logout” ? Sympa mémorise la méthode d’authentification utilisée pour adapter le bouton logout Sympa efface son cookie de session et redirige l’utilisateur sur l’URL de logout CAS Insuffisant car CAS ne propose pas de service de logout centralisé

64 Comité Réseau des Universités 64 Generic SSO Pour tout SSO si –un module apache en frontal d’une partie des applications pour l’authentification –délivre à cette application une authentification dans une variable d’environnement. –Que cette authentification soit sous forme d’un ou d’un id permettant de trouver l’ dans un annuaire LDAP Exemple « authentification basic Apache », Shibboleth, PAPI Sympa reste utilisable en mode anonyme

65 Comité Réseau des Universités 65 Generic SSO / auth.conf Paragraphe generic_sso service_name (nom du service d’authentification pour l’utilisateur) service_id ( pour contruire l’URL avec authentification _http_header variable d’environnement contenant le http_header_prefix prefix des variables d’environnement à concerver comme attribut de la personne (mise en cache dans la base) Si _http_header n’est pas défini : tous les paramètres pour get_ _by_uid idem CAS

66 Comité Réseau des Universités 66 cas base_url https://cas.cru.fr:443 on_blocking_redirection off login_path /login service_validate_path /validate logout_path /logout auth_service_name CRU ldap_host ldap.cru.fr:392 ldap_get_ _by_uid_filter(&(uid=[uid])(objectClass=eduPerson)) ldap_timeout 10 ldap_suffix dc=cru,dc=fr ldap_scope sub ldap_ _attribute mail ldap host ldap1.univ-nancy2.fr:392,ldap2.univ-nancy2.fr:392 timeout 20 suffix dc=univ-nancy2,dc=fr get_dn_by_uid_filter (uid=[sender]) get_dn_by_ (|(mail=[sender])(aliasmail=[sender])) alternative_ _attribute maildrop _attribute mail scope user_table negative_regexp (univ\-nancy2)\.fr

67 Comité Réseau des Universités 67 TODO authentification Supprimer le chiffrement réversible des mots de passe, ne stocker que l’empreinte des mots de passe. Plus de rappel de mot de passe, seulement une réinitialisation Formulaire de login en HTTPS (chiffrement du flux contenant le mot de passe) Bouton d’identification par certificat client par config dans les templates

68 Comité Réseau des Universités 68 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

69 Comité Réseau des Universités 69 Le contrôle d’accès En général les applications implémentent 2 notions, public / privé : –Droit de s’abonner, de diffuser des messages,… Sympa permet d’exprimer des notions plus fines en testant le contexte : –L’appartenance de l’utilisateur à un groupe –Les attributs d’un message –L’origine de la requête –Le niveau d’authentification –…

70 Comité Réseau des Universités 70 Gérer le contrôle d’accès Séparation authentification/autorisation Définition de règles pour le contrôle d’accès : –aux listes (subscribe, send, review, visibility,…) –au service (création de liste, catégories de listes) Configurable pour chaque liste (+ défauts) Equivalence entre les 3 interfaces (mail, web, soap) Personnalisable grâce aux scénarios d’autorisation (100 scénarios distribués avec Sympa)

71 Comité Réseau des Universités 71 Les scénarios d’autorisation Un scénario est évalué pour accorder/refuser l’accès à un service de Sympa : –ainsi l’interface web est adapté au profil de l’utilisateur (seules les fonctions accessibles sont proposées) Un scénario est constitué d’un ensemble de règles ordonnées Une règle est composée de : –la condition –les méthodes d ’authentification –l’action (décision) Le scénario comporte un titre décrivant son fonctionnement (utilisé lors du paramétrage de la liste)

72 Comité Réseau des Universités 72 Exemples de scénarios... is_editor([list->name],[sender]) smtp,smime -> do_it is_subscriber([list->name],[sender]) smtp,smime -> do_it true() smtp,smime -> reject Contexte : –Diffusion des messages Fonctionnalité : –Liste de discussion privée

73 Comité Réseau des Universités 73 Exemples de scénarios... is_editor([list->name],[sender]) smtp,smime -> do_it is_subscriber([list->name],[sender]) smtp,smime -> do_it true() smtp -> request_auth true() md5,smime -> do_it Contexte : –Diffusion des messages Fonctionnalité : –Liste de discussion privée –Confirmation pour les non abonnés

74 Comité Réseau des Universités 74 Exemples de scénarios... is_editor([list->name],[sender]) smtp,md5,smime -> do_it match([msg_header->Content-type],/multipart/) smtp,md5,smime -> editorkey is_subscriber([list->name],[sender]) smtp,smime -> do_it true() smtp -> request_auth true() md5,smime -> do_it Contexte : –Diffusion des messages Fonctionnalité : –Liste de discussion privée –Confirmation pour les non abonnés –Modération des messages multipart

75 Comité Réseau des Universités 75 Exemples de scénarios... is_editor([list->name],[sender]) smtp,md5,smime -> do_it is_subscriber([list->name],[sender]) smtp,md5,smime -> do_it match ([remote_host],/unicaen\.fr$/) md5,smime -> do_it match([sender],/unicaen\.fr$/) md5,smime -> do_it true()md5,smime -> reject Contexte : –Accès aux archives web Fonctionnalité : –Autoriser l’accès depuis l’intranet –Autoriser l’accès pour les utilisateurs authentifiés ayant une adresse locale –Autoriser l’accès pour les abonnés, depuis n’importe où

76 Comité Réseau des Universités 76 Syntaxe des scénarios (1) Les conditions : –is_subscriber(),is_owner(),is_editor(),is_listmaster() –equal(), match(), search() –true() Les variables : –[sender], [user->attr], [subscriber->attr], [user_attributes->attr] –[list->param], [conf->param] –[remote_host], [remote_addr], [env->var] –[msg_header->field], [msg_body],[msg_part->type], [msg_part->body], [msg_encrypted], [is_bcc] |

77 Comité Réseau des Universités 77 Syntaxe des scénarios (2) Les méthodes d’authentification : –smtp –md5 –smime –pgp (bientot) Les actions : –do_it [,notify | quiet], reject( ) –request_auth, owner, editor, editorkey, listmaster

78 Comité Réseau des Universités 78 Services utilisant les scénarios Diffusion des messages Abonnement Désabonnement Ajout d’abonnés Suppression d’abonnés Accès à un document Edition d’un document Lister les abonnés Accès aux archives Visibilité d’une liste Accès aux information sur la liste Création d’une liste Visibilité d’une catégorie …

79 Comité Réseau des Universités 79 Exemple de scénario exploitant l’annuaire LDAP Contexte : –Droit de s’abonner à la liste étudiante feministe-l Fonctionnalité : –Limité l’abonnement en fonction d’un attribut LDAP de l’utilisateur # female_students.ldap hostldap.utexas.edu:389, ldap2..utexas.edu:389 suffixdc=utexas,dc=edu filter&((EduPersonAffiliation = student)(mail = [sender]) (EduPersonGender = female)) scopesub filter (‘female_students.ldap’,,[sender]) smtp,md5,smime -> do_it true()smtp,md5,smime -> owner

80 Comité Réseau des Universités 80 Les scénarios Exemple d’organisation Montrer l’organisation des fichiers /home/sympa/bin/etc/scenari/ access_web_archive.closed access_web_archive.intranet … /home/sympa/etc/scenari/ include.send.header send.intranet:ignore topics_visibility.cru … /home/sympa/etc/demo.sympa.org/scenari/ include.subscribe.header … /home/sympa/etc/family/mafamille/scenari/ … /home/sympa/expl/cru.fr/sympa-users/scenari send.private_nofrench …

81 Comité Réseau des Universités 81

82 Comité Réseau des Universités 82 Scénarios / Personnalisation Se baser sur les scénarios existants (/home/sympa/bin/scenari/) Installer le nouveau scénario au niveau du site, du robot ou de la liste Prise en compte d’une modification sur un scénario : –touch /home/sympa/expl/maliste/config Inclusion include.action.header Pour ignorer un scénario de la distribution : –touch /home/sympa/etc/scenari/send.public:ignore

83 Comité Réseau des Universités 83 Intégration avec LDAP 3 niveaux d’intégration en fonction des besoins : –Filtres LDAP : permettent de personnaliser un scénario –Définition dynamiques des membres et/ou des propriétaires d’une liste –Définition d’une famille de liste à partir de l’annuaire LDAP Authentification basée sur LDAP

84 Comité Réseau des Universités 84 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

85 Comité Réseau des Universités 85 L’architecture Shibboleth Développé par Internet2 « Colle » entre des services de Single Sign-On locaux pour permettre de partager des ressources entre Universités Les 3 composants de l’architecture Shibboleth : –Identity Provider : installé dans l’organisation d’origine de l’utilisateur ; en frontal devant le service d’authentification et la base utilisateurs –Service Provider : installé devant la ressource web à protéger ; communique avec l’Identity Provider –WAYF (Where Are You From) : le composant central de l’architecture, partagé par plusieurs institutions ; il guide l’utilisateur jusqu’à son Identity Provider

86 Comité Réseau des Universités 86 Shibboleth et Sympa Besoins / Prérequis Besoin : –Construire des listes de diffusion inter-universitaires –Donner accès à une liste en fonction d’attributs utilisateurs (gérés par son établissement) –Pas de gestion de comptes utilisateurs sur le serveur de listes Prérequis pour chaque organisme : –Avoir un service d’authentification –Installer la partie Identity Provider de Shibboleth –Partager une nomenclature commune des attributs utilisateurs (formations, catégorie de personnels,…)

87 Comité Réseau des Universités 87 Interaction entre Sympa et Shibboleth WWSympa délègue l’authentification à Shibboleth Sympa est une ressource protégée par la brique Service Provider de Shibboleth Shibboleth fournit des attributs utilisateurs à Sympa (adresse requise) Sympa exploite les attributs Shibboleth pour : –Personnaliser l’interface web –Adapter les privilèges utilisateur

88 Comité Réseau des Universités 88 Zone publique Zone à Accès restreint login Ressource Manager Attributs utilisateur Attribute Authority Handle Service Identity Provider WAYF SHARSHIRE Service Provider identité attributs ShibbolethSympa

89 Comité Réseau des Universités 89 Configuration # Sympa configuration (auth.conf) generic_sso service_name InQueue Federation service_id inqueue http_header_prefix HTTP_SHIB _http_header HTTP_SHIB_EP_AFFILIATION # Apache configuration AuthType shibboleth require affiliation ~

90 Comité Réseau des Universités 90 Contrôle d’accès basé sur des attributs Shibboleth Attributs utilisateur Shibboleth : –Hérités via des variables d’environnement –Stoqués comme des données de session dans la base de Sympa (champ user_attribute) –Accessible depuis les scenarios Scenario sample rule: # check if the user is a geology or archeology student equal([user_attributes->SHIB_STUDY_BRANCH],’geology’) md5 -> do_it equal([user_attributes->SHIB_STUDY_BRANCH],’archeology’) md5 -> do_it true()smtp,md5,smime -> reject

91 Comité Réseau des Universités 91 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

92 Comité Réseau des Universités 92 Données personelles/archives Spammers use spam harvester Googling (googliation) is a peril Sympa solution : Sympa hides s using javascript (google indexation is possible) or by a form (all automatic process blocked in archives) X-No-Archive header feld Users can delete there own posts from archives

93 Comité Réseau des Universités 93 Protection des données personelles Mise en œuvre de la tracabilité des abonnements (demande de l’afnic S.Bortzmeyer) Objectif prouver l’OPT IN ou expliquer le OPT OUT Conserver les messages et les éléments d’authentification pour chaque abonnement

94 Comité Réseau des Universités 94 1.Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

95 Comité Réseau des Universités 95 Listes de diffusion classiques ADD, DEL, SUB, UNSUBSCRIBE Taches administratives dupliquées pour maintenir la cohérence avec un référentiel Utilisation des listes comme un outil de gestion de groupes Abonnement de listes dans des listes (sous-listes)

96 Comité Réseau des Universités 96 Listes dynamiques Définition des listes d’abonnés directement via des sources de données quelconques du système d‘information : –fichiers locaux –autres listes locales –requêtes sql –filtres LDAP –autres listes d’un autre serveur diffusion (remote_lists en désuétude) –URL (cgi !)

97 Comité Réseau des Universités 97 Dynamic mailing list task_manager.pl Internal database SGBD bounced.pl sympa.pl wwsympa.fcgi TTL LDAP fichier s

98 Comité Réseau des Universités 98 Include LDAP include_ldap_query host ldap.cru.fr,replica.cru.fr:387 suffix dc=cru, dc=fr timeout 10 filter (&(student=math) (dc=fr)) attrs mail select first

99 Comité Réseau des Universités 99 Include LDAP (contrib from Dalbec ysu.edu) include_ldap_2level_query host ldap.univ.fr suffix1 ou=Groups,dc=univ,dc=fr scope1 one filter1 (&(objectClass=groupOfUniqueNames) (| (cn=cri)) attrs1 uniquemember select1 all First LDAP query to select a group For each group member fetch his adress suffix2 [attrs1] scope2 base filter2 (objectClass=n2 pers) attrs2 mail select2 first

100 Comité Réseau des Universités 100 Listes dynamiques / perf Importance de l’objectif de performances Aucune page délivrée par wwsympa.fcgi sans évaluer toutes les listes (même lists ou help) Ldap_2_level_query impose une requête LDAP par abonné (des milliers) 1.Cache en base de donnée 2.Gestion de la vie du cache : TTL 3.Mise à jour asynchrone task_manager.pl

101 Comité Réseau des Universités 101 Uniquement avec include2 Listes panachées ADD,DEL + include Include2 mode gestion par défaut Gestion des bounces Options d’abonnement (nomail très utile) Gestionnaire de groupes ? –En lecture seulement –Interrogation en SOAP (is_subscribers, review)

102 Comité Réseau des Universités 102 demo Overview of list admin page List configuration overview (data_source) review

103 Comité Réseau des Universités 103 Listes dynamiques Définition des owners et editor de listes selon la même méthode. Idée : –abonnés = étudiants de maths –editor = enseignants de math –owner = responsable de la formation math Destiné à la gestion de listes par paquets Disponible dans la version 5.0

104 Comité Réseau des Universités Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

105 Comité Réseau des Universités 105 Pourquoi le concept de famille? On observe l’usage de script maison pour la création des listes Exemple tamu.edu : listes Comment gérer les très grands nombres de listes de diffusion correspondants à des catégories de personnes ?

106 Comité Réseau des Universités 106 Pourquoi le concept de famille Dans le schéma initial, la création d’une liste on choisi un type de liste Le type de liste fait référence à un gabarit de config. ( create_list_template/config.tt2 ) Cette info n’est pas conservée. Rien ne permet de s’assurer que la liste créée restera conforme au type de liste choisi.

107 Comité Réseau des Universités 107 Pourquoi le concept des familles Dans le cas de création de liste avec des scripts, il est impossible de gérer les ensembles de listes après leur création. –Le changement d’un détail dans la config du paquet de liste oblige à régénérer toutes les listes et écrase les personnalisations éventuelles de chaque liste. –On identifie pas les listes qui doivent disparaître Il faut un outil de gestion de familles de listes.

108 Comité Réseau des Universités 108 List families ( Version 5 ) Les familles permettent la création et la gestion d’un très grand nombre de listes conformément à une politique La configuration d’une liste est complexe (une 50taine de paramètres) Les familles de listes simplifient la création en permettant de choisir un mode de fonctionnement sans entrer dans le détail du paramétrage

109 Comité Réseau des Universités 109 Family definition Lists families in Sympa …. List templateparam_constraintedit_list List a List A Family instantiation Data coming from information system. XML format skeleton of configuration file Use var that are defined in XML file required constraint for each parameter (example review is private or owner) For each parameter, defines who can edit it :(listmaster,privilegied owner or owner)

110 Comité Réseau des Universités 110 Family definition Lists families in Sympa … List templateparam_constraintedit_list List A Family instantiation Data coming from web form Sympa.pl –instantiate_family=ftest – input_file=data.xml

111 Comité Réseau des Universités 111 XML data and list template Jeu de données networking.ipv6 my_profile computer_science networking … config.tt2 subject students of [section]/[option] title all students from department [section], course [option] web_archive private include_ldap_query Host ldap.foo.edu:389,backup.foo.edu suffix dc=foo, dc=edu filter(&(section=[section])(option=[option])) attrs mail owner_include Include_ldap_query …..

112 Comité Réseau des Universités 112 Qui modifie quoi dans la config ? Roles : owner, privileged owner, listmaster Le owner de la liste a besoin de contrôler de nombreux paramètres de sa liste Le listmaster a besoin d’un contrôle sur le fonctionnement de chaque famille de liste de chaque robot : –Ex :taille max d’un message d’une newsletter –Ex :Le créateur initial de la liste ne peut en abandonner la responsabilité –….

113 Comité Réseau des Universités 113 edit_list.conf user_data_source owner,privileged_owner hidden ttl owner,privileged_owner hidden shared_doc owner,privileged_owner write review owner read review privileged_owner write footer_type owner,privileged_owner hidden owner owner read owner.profile owner,privileged_owner read owner privileged_owner write default listmaster write

114 Comité Réseau des Universités 114 param_constraint.conf Enumération des valeures autorisées pour une famille donnée # very simple example # parameter edition control send private_smime, editor_key web_archive private,owner shared_doc.d_read private,owner Shared_doc.d_edit owner

115 Comité Réseau des Universités 115 Edition en ligne de la config Formulaire d’édition auto-adaptatif : les rôles de la personne identifiée edit_list.conf param_constraint.conf (ordonné et coupé en plusieurs pages par paramètres interne au code)

116 Comité Réseau des Universités 116 Evolution d’une famille Le changement du jeu de données, du template ou de param_constraint entraîne la régénération des listes de la famille Certaines listes peuvent disparaître Sympa conserve les personnalisations faites via le web si elles sont compatibles avec param_constraint.conf

117 Comité Réseau des Universités 117 Lists families in Sympa Dispo en version 5.0 Redéfinition des familles à chaque niveau –robot –site –distribution. Familles de listes = expression technique d’une politique de listes + création de listes par paquet

118 Comité Réseau des Universités Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

119 Comité Réseau des Universités 119 Les templates Dans Sympa, les templates permettent de séparer l’interface utilisateur du code Les templates sont utilisés pour définir : –l’interface web –les messages de service –les modèles de listes –les alias de messagerie Tous les templates sont personnalisables à différents niveaux : –site / robot / famille / liste

120 Comité Réseau des Universités 120 Les templates / format Jusqu’à la version 4.1.2, les templates utilisaient un format « propriétaire » (fichiers.tpl) Les versions à venir utilisent le format TT2 (http://www.tt2.org) –format proche des.tpl –migration automatique des.tpl en.tt2 –Separation du HTML et des traductions –plus de divergence du nombre de templates (auparavant un jeu par langue)

121 Comité Réseau des Universités 121 Les templates / organisation Les messages de service (mail_tt2/) : –34 templates (message de bienvenue, fichier d’aide, compilation des messages,…) Les templates web (web_tt2/) : –67 templates : main.tt2 + bandeaux + templates d’action Multi-linguisme : –[%|loc%]Chaine à traduire[%END%] –web_tt2/fr_FR/info.tt2

122 Comité Réseau des Universités 122 Le format TT2 (voir Substitution de variables : –[% var %] ou [% struct.var %] Inclusions : –[% INSERT fichier %] ou [% PROCESS fic.tt2 %] Conditions : –[% IF var1 %]…[% ELSIF var2 %]…[%END%] Boucles : –[% FOREACH var IN liste %] …[% END %] Des filtres : –[% FILTER qencode %] Entête à encoder[%END%]

123 Comité Réseau des Universités 123 Exemple de message de service global_remind.tt2 Summary of your subscription (using the [% user. %]). If you want to unsubscribe from some list, please save this mail. Foreach list here is a mailto to use if you want to unsubscribe. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [% FOREACH l = lists %] [% l %] mailto:[% conf.sympa %]?subject=sig%20[% l %]%20[% user. %] [% END %] -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [% IF user.password %] In order to authenticate on the web interface([% conf.wwsympa %]) use your [% user. %] and your password [% user.password %] [% END %]

124 Comité Réseau des Universités 124 Exemple de template web list_menu.tt2 ………. [% IF is_editor %] [% IF mod_total == '0' %] No message to moderate [% ELSE %] Messages to moderate : [% mod_total %] [% END %] [% IF shared == 'exist' %] [% IF mod_total_shared == '0' %] No document to moderate [% ELSE %] Documents to moderate : [% mod_total_shared %] [% END %] ……….

125 Comité Réseau des Universités 125 Les templates / variables disponibles Pas (encore) de documentation exhaustive Se baser sur les templates distribués par défaut

126 Comité Réseau des Universités 126

127 Comité Réseau des Universités 127

128 Comité Réseau des Universités 128

129 Comité Réseau des Universités 129

130 Comité Réseau des Universités Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

131 Comité Réseau des Universités 131 SOAP en bref… « Web services » = SOAP SOAP = XML sur HTTP Appel procédural distant (alternative à XML-RPC, RMI) Indépendant du language de programmation Librairies disponibles : SOAP::Lite (Perl), Axis (Java), NuSOAP (PHP),…

132 Comité Réseau des Universités 132 Interface SOAP pour Sympa Permet d’utiliser les services de Sympa depuis une autre application Alternative à l’accès direct aux données de Sympa, préférable car : –Le format des données peut évoluer –L’authentification et le contrôle d’accès sont préservés L’interface est principalement utilisée pour inclure un canal Sympa dans Uportal

133 Comité Réseau des Universités 133 SOAP dans Sympa Un nouveau FastCGI : sympa_soap_server.fcgi Accédé via Apache (versus standalone) Utilise la bibliothèque SOAP::Lite Description des services au format WSDLWSDL Utilisation des cookies HTTP pour maintenir la session (pb avec PHP)

134 Comité Réseau des Universités 134 Configuration du service SOAP ## extrait de httpd.conf FastCgiServer /home/sympa/bin/sympa_soap_server.fcgi -processes 1 ScriptAlias /sympasoap /home/sympa/bin/sympa_soap_server.fcgi SetHandler fastcgi-script ## sympa.conf / robot.conf soap_url

135 Comité Réseau des Universités 135 Les services proposés Pour l’instant les fonctionnalités sont limitées :login, which, lists, subscribe, signoff, review Extensions envisagées (si utiles) : archives, création de liste, add, del,… Authentification par mot de passe ou par “ticket” (fonctionnalité “proxy” de CAS) Evolution possible vers SAML…

136 Comité Réseau des Universités 136 Exemple de client PHP ( debug_flag=true; global $soapServer; $soapServer = "http://demo.sympa.org/wws/wsdl"; $soapclient = new soapclient($soapServer,'wsdl'); … $res = $soapclient->call('authenticateAndRun',array($user ,$md5, 'subscribe', array($_GET['list']))); if (gettype($res) == 'array') { echo " Subscription failed ".$res['faultstring']." : ".$res['detail']." \n"; }else { echo " Successfully subscribed \n"; }

137 Comité Réseau des Universités 137 Un canal Sympa dans Uportal Utilisation de AXIS Génération automatique d’un squelette (stub) à partir du WSDL : –java org.apache.axis.wsdl.WSDL2Java -av Exemple de code client : SympaSOAP loc = new SympaSOAPLocator(); ((SympaSOAPLocator)loc).setMaintainSession(true); SympaPort tmp = loc.getSympaPort(); String _value = tmp.casLogin(_ticket); String _cookie = tmp.checkCookie(); String[] _abonnements = tmp.which();

138 Comité Réseau des Universités Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

139 Comité Réseau des Universités 139 Résolution de problèmes Généralités Analyser les logs de Sympa, de Apache, de Sendmail, de mysql, de OpenLDAP,… Tous les processus sont-ils lancés ? –/etc/rc.d/init.d/sympa status Démarrer sympa.pl en mode debug (-d) ou augmenter le ‘log_level’ (sympa.conf) Vérifier les droits d’accès sur les fichiers, les répertoires

140 Comité Réseau des Universités 140 Problème de réception des messages Les alias sont-ils correctement installés Utilisez-vous smrsh ? Les messages sont-ils déposés dans le spool de Sympa (spool/msg/) ? Sympa.pl est-il lancé ? Option --keepcopy

141 Comité Réseau des Universités 141 Pas de gestion automatique des alias Si vous n’utilisez pas sendmail, il faudra faire du « tuning » (voir FAQ)… Vérifiez le bit ‘SetUID’ sur aliaswrapper Le fichier sympa_aliases a-t-il les bons accès ? Le fichier sympa_aliases est-il connu de sendmail ? Les options de configure : –--with-sendmail_aliases –--with-newaliases –--with-newaliases_arg

142 Comité Réseau des Universités 142 Je n’ai pas de logs… Avez-vous paramétré /etc/syslog.conf ? Redémarrer syslogd. Modifiez le paramètre log_socket_type. "_PATH_LOG not found in syslog.ph“ Sous Solaris ‘.*' n’est pas reconnu dans syslog.conf

143 Comité Réseau des Universités 143 Robot virtuel non reconnu Vérifiez les paramètres ‘host’ et ‘http_host’ dans robot.conf Vérifiez que le paramètre passé à queue depuis les alias de messagerie est qualifié avec le bon nom de domaine

144 Comité Réseau des Universités 144 Problèmes LDAP Avez-vous installé le module perl-ldap ? Par défaut OpenLDAP limite la réponse à une requête à 500 enregistrements

145 Comité Réseau des Universités 145 Problème d’accès aux archives Vous accédez à l’interface web via un Proxy ? WWSympa doit s’exécuter sous l’identité ‘sympa’. Si le HTML est incorrect, essayez de reconstruire les archives (depuis « Admin Sympa ») Vous pouvez personnaliser le fichier mhonarc- ressources

146 Comité Réseau des Universités Disponibilité, versions 2.Architecture générale et organisation de Sympa 3.Interaction avec le système, structure de la base 4.Les robots virtuels 5.Authentification 6.Autorisation 7.Shibboleth 8.Protection des données individuelles 9.Listes dynamiques 10.Familles de listes 11.Les templates 12.Le serveur soap 13.En cas de problème 14.Perspectives

147 Comité Réseau des Universités 147 TODO Ce chapitre est conçu pour votre information et pour tester vos réactions de plus en plus copieux préparation de la 5.0 Alpha (Décembre) Objectif 5.0 stable 1er trimestre 2005

148 Comité Réseau des Universités 148 La 5.0 tt2 Shared : – modération des documents – upload.zip –vision admin / vision sans privilège Définition par include de owner et editor Include source distante via URL Familles Canaux RSS

149 Comité Réseau des Universités 149 Vers la version 6 Relooker les pages web Abonnement thématique Prise en compte complète des alt_ Composeur de messages MIME Aide à la modération Gestionnaire d’enquête Visibilité des journaux de chaque liste Editeur de topics Abonnement multiple

150 Comité Réseau des Universités 150 Vers la version 6 Le « bulk mailer » : –casser le groupage : verp / parsing du message –distribution spécifique pour les abonnés en erreur (en fin de queue, verp et spool direct) –nrcpt.conf –points de reprise multithread mailsig (technique de signatuer anti-spam) PGP et PGP / S/MIME

151 Comité Réseau des Universités 151 Vers la version 6 Une couche attribut formalisée Homonymie des listes et robot virtuel Extention des services soap Portail multi-serveur (client soap dans wwsympa.fcgi) Remonté des résultats d’un scenario Red hat Terminer le merge sympa et wwsympa


Télécharger ppt "Comité Réseau des Universités 1 Administration d’un service de listes de diffusion avec Serge Aumont & Olivier Salaün September 2004."

Présentations similaires


Annonces Google