[ Accueil ] [ Introduction ] [ Le protocole ] [ Serveurs IMAP ] [ Plus avec Cyrus ]
Cyrus sait faire plus de choses qu'un simple accès IMAP à une boîte aux lettres.
Nous savons déjà que Cyrus :
utilise le format "Maildir", plus souple et plus sûr que "Mailbox"
peut utiliser divers moyens pour l'authentification des utilisateurs, dont SASL, ce qui évite de devoir créer des comptes d'utilisateurs UNIX juste pour une boîte aux lettres,
permet de gérer une arborescence de répertoires multi niveaux,
permet, depuis les versions 2.x, de gérer des noms d'utilisateurs contenant des points "." en remplaçant le séparateur de hiérarchie d'origine (le point, justement) par le séparateur standard d'UNIX (le "slash" /).
Nous ne l'avons pas vu et ne le verrons pas ici, mais cyrus sait aussi :
placer des filtres pour rejeter des messages considérés comme indésirables,
permettre l'accès aux BAL des utilisateurs de façon très souple, lorsqu'il y a plusieurs serveurs dans le même domaine.
Dans un tel cas, il doit être possible d'accéder depuis n'importe quel serveur à une BAL située sur n'importe quel autre serveur. Je n'ai pas testé cette possibilité. J'ai beau avoir des moyens, il ne faut tout de même pas exagérer.
Cyrus est aussi capable de proposer une structure permettant d'exposer des groupes usenet (nntp).
Enfin, et ça, nous allons le tester, Cyrus sait proposer des dossiers partagés.
Un dossier partagé peut rendre bien des services dans un intranet, voire sur l'internet.
Il s'agit d'un dossier en tous points comparable à une boîte aux lettres, à part que ce dossier sera au moins visible en lecture par l'ensemble des usagers du serveur. Pour que ce soit intéressant, il faut qu'au moins un usager puisse y déposer des messages. Nous allons voir ce que l'on peut faire avec ça.
Un dossier partagé va apparaître à la racine de l'arborescence de Cyrus. Alors que les dossiers "Inbox" des utilisateurs sont créés dans cyradm avec la commande :
cm user/<nom de l'utilisateur>
un dossier partagé sera créé avec la commande :
cm <nom du dossier partagé>
Pour réaliser cette manipulation, nous revenons à cyclope.maison.mrs, avec quelques comptes d'utilisateurs déjà créés :
cyclope:~# cyradm --user cyrus localhost IMAP Password: cyclope> cm partage cyclope> lm INBOX (\HasChildren) INBOX/Sent (\HasNoChildren) INBOX/Trash (\HasNoChildren) partage (\HasChildren) user/chris (\HasChildren) user/chris/Drafts (\HasNoChildren) user/chris/Sent (\HasNoChildren) user/chris/Templates (\HasNoChildren) user/chris/Trash (\HasNoChildren) user/testimap (\HasChildren) user/testimap/Drafts (\HasNoChildren) user/testimap/Sent (\HasNoChildren) user/testimap/Templates (\HasNoChildren) user/testimap/Trash (\HasNoChildren) cyclope>
Nous retrouvons :
testimap, le compte utilisé par les tests précédents
chris, un nouveau compte d'utilisateur
partage, le répertoire partagé que l'on vient de créer
INBOX, qui est le compte de celui qui manipule cyradm, à savoir dans notre cas, l'administrateur de cyrus.
Si, dans Thunderbird, nous créons ces trois comptes et que nous souscrivons à tous les dossiers accessibles pour chaque compte, nous obtenons ceci :
Le répertoire "partage" est accessible depuis tous les comptes, et se situe au même niveau que les "Inbox". Mais que pouvons-nous faire avec ce dossier partagé ?
Voyons les droits avec cyradm :
cyclope> lam partage anyone lrs cyclope>
Il faudrait peut-être regarder de plus près la nomenclature des droits dans la documentation...
l |
lookup |
The user may see that the mailbox exists. |
r |
read |
The user may read the mailbox. The user may select the mailbox, fetch data, perform searches, and copy messages from the mailbox. |
s |
seen |
Keep per-user seen state. The "Seen" and "Recent" flags are preserved for the user. |
w |
write |
The user may modify flags and keywords other than "Seen" and "Deleted" (which are controlled by other sets of rights). |
i |
insert |
The user may insert new messages into the mailbox. |
p |
post |
The user may send mail to the submission address for the mailbox. This right differs from the "i" right in that the delivery system inserts trace information into submitted messages. |
c |
create |
The user may create new sub-mailboxes of the mailbox, or delete or rename the current mailbox. |
d |
delete |
The user may store the "Deleted" flag, and perform expunges. |
a |
administer |
The user may change the ACL on the mailbox. |
Donc, dans le cas présent, tout le monde (anyone) peut :
l : voir que ce répertoire existe,
r : accéder au contenu en lecture et copier les messages dans d'autres dossiers,
s : les flags "seen" et "recent" sont préservés pour l'utilisateur.
Donc, personne ne peut écrire dedans ?
Non. Ce n'est pas réellement une boîte aux lettres, on ne peut donc y poster un message. Comme personne n'a le droit d'e copier un message dedans, ça veut dire que ça ne sert à rien.
Nous allons maintenant donner à l'utilisateur Cyrus tous les droits sur ce dossier :
cyclope> lam partage anyone lrs cyclope> sam partage cyrus lrswipcda cyclope> lam partage cyrus lrswipcda anyone lrs cyclope>
Maintenant que l'utilisateur cyrus a tous les droits sur ce répertoire, il va pouvoir copier des messages dedans.
Nous envoyons un message à cyrus@cyclope.maison.mrs :
il le reçoit :
Il le déplace alors dans partage par un "glisser-déposer" :
Et tout le monde pourra en profiter :
Mieux, ce n'est pas parce que testimap l'aura lu, qu'il apparaîtra comme lu pour tous les autres :
Bien entendu, testimap comme chris pourront copier (et non déplacer) ce message ailleurs, mais ne pourront pas le détruire. Seul cyrus le peut. Cyrus peut également, puisqu'il a tous les droits, créer des sous dossiers, les détruire, supprimer le message qu'il y a mis, ou le déplacer dans un sous-dossier...
Et tous ceux qui auront souscrit aux modifications de structure la verront :
Je vous laisse imaginer les multiples possibilités de ces dossiers, en jouant sur les droits en fonction des utilisateurs. Cette technique peut être très utile pour faire circuler de l'information entre plusieurs personnes.
Nous n'avons pas vu tout ce qu'il serait possible de voir, mais vous l'avez compris, IMAP est incomparablement plus puissant que POP3, intéressant surtout pour :
ceux qui lisent leur messagerie depuis plusieurs machines,
ceux qui ont une connexion plutôt lente.
Il est nécessaire de changer un peu ses habitudes pour exploiter au mieux ce protocole, et de choisir un outil de messagerie qui gère bien IMAP (Outlook Express n'en est pas un).
De nombreux fournisseurs de services proposent désormais ce moyen d'accès à la messagerie. Par exemple : Free, laposte.net, les sites hébergés par OVH, et probablement beaucoup d'autres, mais toujours pas Wanadoo, à l'heure où ce chapitre est rédigé.