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" &
