

Je me connecte à mon PC serveur GNU/Linux (une sorte de « boîte noire » sans écran ni clavier) depuis deux PC sous Windows® 2000 en les utilisant comme serveur X-Window à l'aide de Cygwin/X (dans un avenir proche j'espère pouvoir les remplacer tous les deux par de simples discrets clients mini-itx en utilisant LTSP). Avec cette configuration, tout utilisateur lance Kontact sur la même machine, qui héberge Cyrus (localhost).
Pour faire fonctionner Kontact avec IMAP, il faut franchir les étapes suivantes :
créer un compte IMAP sur Cyrus pour l'utilisateur factice groupware (que vous aurez créé préalablement !),
créer / configurer un compte IMAP dans KMail afin de vous identifier en tant que cet utilisateur,
utiliser kresources afin de faire fonctionner les composants de Kontact avec les données issues de la source IMAP,
activer la fonctionnalité « groupware » et créer les sous-dossiers correspondant à cette INBOX IMAP (si ce n'est pas déjà fait),
profiter de Kontact et partager des données à travers Cyrus en IMAP.
Donc, identifiez-vous auprès de KDE avec le premier compte « d'utilisateur réel » auquel vous souhaitez fournir la fonctionnalité groupware.
Créons le compte IMAP dans KMail.
Lancez Kontact puis sélectionnez Message (le composant KMail). Dans le menu, sélectionnez ->+Comptes+Réception des messages (onglet), cliquez sur le bouton . Il vous sera alors demander de préciser le type de votre compte de courrier électronique et vous sélectionnerez IMAP déconnecté (et non pas IMAP seul). Ensuite, dans l'onglet Généeral, saisissez les données suivantes :
office_gwdataUn nom qui sera utilisé pour la création du dossier « local » pointant vers ce compte IMAP.
groupwareL'utilisateur Cyrus que nous avons choisi comme « propriétaire » de toutes les données.
Le mot de passe de l'utilisateur groupware.
localhostSouvenez-vous que, pour notre exemple, le client Kontact tourne sur la même machine que le serveur IMAP.
143Par défaut
Cochez la case Enregistrer le mot de passe IMAP de manière à ce qu'il ne vous soit pas demandé à chaque fois que vous lancerez Kontact. Cochez la case Activer la vérification régulière de l'arrivée de nouveaux courriers électroniques et réglez l'intervalle de temps laissé entre deux vérifications.
Notez que nous avons coché la case IMAP déconnecté pour le type de compte. Ceci a pour principale conséquence qu'une copie des données de « groupware » est stockée « localement » pour le client (dans son dossier personnel), données qui sont synchronisées à chaque fois que le client se connecte. Ceci peut paraître très inefficace étant donnée la redondance d'information que cela implique (c'est-à-dire si vous avez 10 utilisateurs qui utilisent Kontact, vous avez 10+1 exemplaires des mêmes données), mais c'est le seul moyen de faire fonctionner le tout suffisament rapidement. En effet, à chaque connexion, Kontact doit rechercher toutes les données, puis les faire interpréter par KOrganizer et KAddressBook. En utilisant « IMAP déconnecté » les données sont en cache localement, ainsi seul le « delta » est envoyé (c'est-à-dire les données qui ont changées).
D'un autre côté, si vos utilisateurs lancent KOrganizer sur la machine qui héberge le serveur IMAP, il semble raisonnable d'utiliser IMAP (également nommé « IMAP connecté ») afin d'épargner un peu d'espace disque étant donné que la vitesse de transfert ne sera pas de problème. Mais malheureusement ceci ne fonctionne pas, car Kontact ne met pas automatiquement à jour le dossier Calendar dans le mode « IMAP connecté », et donc vous n'êtes pas averti de l'ajout d'un évênement par un tiers (vous devez passer manuellement dans KMail et cliquer sur le dossier Calendar). De plus, au démarrage, comme il ne lit pas les dossiers Calendrier, vous pourriez observer un gros clignotement et une lenteur dans la mise à jour des données.
Maintenant nous devons demander à Kontact d'utiliser IMAP comme source de données pour ses différents composants. Dans le menu menu , choisissez et lancez kcmshell4 kresources. Dans la liste déroulante choisissez Contacts, puis cliquez sur le bouton et choisissez Carnet d'adresses sur serveur IMAP via KMail. Ensuite, sélectionnez cette nouvelle ligne et cliquez sur le bouton . Faites de même pour Calendar et Notes.
Voilà, nous avons activé la fonctionnalité groupware de KMail (et par conséquence tout Kontact) :
allez dans le menu ->+Divers+Travail en groupe,
cochez Activez les fonctionnalités des ressources IMAP,
choisissez Français comme Langue pour les dossiers du travail en groupe (ceci au cas où vous disposeriez déjà des dossiers sur le serveur IMAP, créés par un autre programme, dans une langue différente),
Maintenant, allez dans Les dossiers de ressources sont dans le compte et sélectionnez le sous-dossier Boîte de réception du dossier office_gwdata.
Laissez Cacher les dossiers du travail en groupe décoché pour l'instant, de manière à ce que nous puissions observer ce qui se passe. Vous pourrez revenir ici et cocher la case une fois que tout sera correctement mis en place.
Quand vous appuyez sur OK s'affiche ce qui suit : KMail va maintenant créer les dossiers requis pour la ressource IMAP, en tant que sous-dossiers de la boîte de réception
Si vous ne souhaitez pas cela, cliquez sur et la ressource IMAP sera désactivée. Cliquez sur (ceci n'est demandé que la première fois et seulement au premier « utilisateur réel »). Vous verrez immédiatement que dans l'arborescence KMail, sous la boîte de réception office_gwdata+Inbox ces dossiers sont créés :
| Calendar |
| Contacts |
| Notes |
| Tasks |
| Journal |
si maintenant vous faites un :
# ls-l /var/spool/cyrus/mail/g/user/groupware/drwx------ 2 cyrus mail 144 Oct 31 16:36 Calendar drwx------ 2 cyrus mail 144 Oct 31 16:36 Contacts drwx------ 2 cyrus mail 144 Oct 31 16:36 Journal drwx------ 2 cyrus mail 144 Oct 31 16:36 Notes drwx------ 2 cyrus mail 144 Oct 31 16:36 Tasks -rw------- 1 cyrus mail 4 Oct 31 15:28 cyrus.cache -rw------- 1 cyrus mail 155 Oct 29 20:55 cyrus.header -rw------- 1 cyrus mail 76 Oct 31 15:28 cyrus.index
Comme vous le voyez, office_gwdata Inbox n'est pas stockée localement par rapport au dossier personnel de l'utilisateur Kontact mais dans les dossiers IMAP groupware des utilisateurs.
Voilà, Kontact est prêt à fonctionner et enregistrer des données. Dans le calendrier, si le compte IMAP KMail était du type « déconnecté », la fenêtre ressource devrait afficher l'élément ressources IMAP avec trois sous-éléments qui sont les chemins vers les fichiers personnels locaux. De son côté, l'application Contacts ne montre pas les sous-éléments en dessous de resources IMAP.
Vous pouvez désormais vous identifier auprès de KDE avec l'identifiant d'un utilisateur différent et configurer son client Kontact d'une manière trèe similaire :
Ouvrez Kontact et dans le composant Mail ajoutez un compte IMAP en spécifiant comme hôte la machine sur laquelle tourne le serveur Cyrus (dans mon cas, il s'agit de : 192.168.1.3).
N'oubliez-pas de cocher la case Activer la vérification régulière de l'arrivée de nouveaux courriers électroniques et de renseigner le temps d'attente (en minutes) entre deux vérifications. Quand vous confirmez vous n'êtes pas averti de la création des sous-dossiers (tant qu'ils sont trouvés sur le serveur IMAP), mais vous les voyez dans l'arborescence.
Activez la fonctionnalité groupware de manière à pouvoir enregistrer des données sur le serveur IMAP.
Ayez bien conscience du fait que, dans le mode « disconnected IMAP », les données sont transmises d'un client à un serveur IMAP uniquement quand les clients se connectent pour vérifier l'arrivée de nouveaux courriers électroniques. Donc si vos clients KMail sont configurés pour effectuer automatiquement cette opération, disons toutes les cinq minutes, dans le pire des cas vous aurez un délai de 10 minutes entre la création d'un événement et son apparition sur les écrans des autres utilisateurs.