Voici le contenu de ces scripts. On doit pouvoir aller plus loin, comme afficher les rendez-vous de la journée suivante, voire même mettre tout ça dans un module et créer une petite application en Perl/GTK2 l'utilisant... Mais bon, ça sera pour plus tard, hein :-)


ocalendar.pl

#!/usr/bin/env perl
#

use strict;
use warnings;

use HTTP::Request::Common;
use LWP::UserAgent;
use Text::Iconv;

my $username = 'username';
my $password = 'password';
my $server = ''; # sans http://, avec le chemin complet jusqu'a OWA, pour le login
#my $server = 'serveur/exchange';

my $loginurl = "http://$username:$password\@$server/";

my $converter = Text::Iconv->new("UTF-8", "ISO-8859-1");

my $ua = LWP::UserAgent->new;
my $loginpage = $ua->get($loginurl);

$server = $loginpage->base;
$server =~ s|^http://|http://$username:$password\@|;
undef $loginpage;

my $calendar = $server . "Calendrier/?Cmd=contents";

my $calendarpage = $ua->get($calendar);
my $page = $calendarpage->decoded_content;

my @meetings = $page =~ /TITLE="([^"]+)"/g;

foreach my $meeting (@meetings) {
        $meeting = $converter->convert($meeting);
        # on doit le faire 2 fois, je sais pas pkoi..
        $meeting = $converter->convert($meeting);
        print $meeting, "\n";
}

ocalendar.sh

#!/bin/sh

while true ; do
        clear
        ocalendar.pl
        sleep 500

done

Lancement de aterm

aterm +sb -tr -vb -fg blue -txttype orInverted -title "Outlook Calendar" -geometry 40x5-64+0 -e "ocalendar.sh" &