WebCalendar est une application qui permet de partager un agenda en réseau via une interface PHP et une base SQL (MySQL dans notre cas), elle supporte le multi-utilisateur, le multi-langage.
Cette page présente l'installation de WebCalendar 0.9.24, elle s'effectue
à partir des sources en PHP3 et donc ne devrait pas poser de problème sur
d'autres systèmes.
Un serveur Apache avec le langage PHP
et le SGBD MySQL installés et en état de fonctionner seront les seuls
pré-requis
Source :
M.Panes Frederic
On commencera par installer WebCalendar dans un répertoire accessible par le serveur web (/var/www/ ) :
tar -zxvf WebCalendar-0.9.24.tar.gz
Cela créer le répertoire WebCalendar-0.9.24,
pour des raisons de commodité je l'ai renommé webcalendar tout
simplement :
mv WebCalendar-0.9.24 webcalendar
J'ai changé les droits d'accès afin de me
faciliter la tâche :
chmod -R 755 webcalendar
Il faut ensuite se rendre dans le
répertoire webcalendar pour créer la base de données (exécutez les
commandes en super-utilisateur) :
useradd admin
/usr/bin/mysql
mysql> set password for root@localhost=password('goldorak');
mysql> create database intranet;
mysql> grant all on intranet.* to root;
mysql> grant all on intranet.* to root@localhost;
mysql> grant all on intranet.* to admin;
mysql> grant all on intranet.* to admin@localhost;
mysql> set password for
admin@localhost=password('ahmed');
mysql> exit
mysql - -user=root - -
password=rootpw intranet <
tables-mysql.sql
Ceci créer les tables et ajoute un
utilisateur admin avec password admin.
La partie installation est terminée.
Il faut maintenant configurer WebCalendar pour l'adapter à votre système et fixer les paramètres de la base de données. Il faut se rendre dans le répertoire includes et éditer le fichier config.inc :
$db_type =
"mysql";
$db_host = "mon_serveur";
$db_login = "admin";
$db_password = "ahmed";
$db_database = "intranet";
...
$WEEK_START = 1; // either 0=Sunday or 1=Monday
...
$TIME_FORMAT =
"24";
La
partie configuration est maintenant terminée.
Il semblerait qu'il manque un paramètre dans la fonction qui affiche les
évènements en attente de validation ce qui génère un message d'erreur non-bloquant,
corrigeons-le
:
Editer
le fichier list_unapproved.php à la ligne 84 :
Remplacer la ligne :
$eventinfo .= build_event_popup ( $divname, $description, $timestr );
par :
$eventinfo .= build_event_popup ( $divname, $description, $timestr ,$time );
Lancer son navigateur préféré sur la page http://mon_serveur/webcalendar/index.php et vous obtiendrez la demande de login.
Votre navigateur doit accepter les
cookies si vous voulez éviter de resaisir le mot de passe à chaque connexion.
Connectez-vous avec admin : ahmed
et créez les comptes dont vous avez besoin.
L'administrateur peut changer son mot de
passe ainsi que celui des autres utilisateurs en cliquent sur le lien
Utilisateurs.
NB : Si un autre utilisateur possède les droits
d'administrateur, il peut en faire de même. Un utilisateur lambda n'aura accès
qu'à ses informations propres.
Un utilisateur standard se connecte à partir de l'URL
http://mon_serveur/webcalendar/index.php, il doit saisir le login et le mot
de passe qui lui ont été attribués par l'administrateur préalablement. Tout
comme l'administrateur son navigateur doit être configuré pour accepter les
cookies pour ne pas avoir à saisir à chaque fois son login et mot de passe.
Une fois l'authentification effectuée l'interface suivante apparaît:
NB : Si on accepte le cookie en cochant
la case Save login..., la demande d'authenfication ne se fera plus et
l'on poura accéder directement à l'agenda en tapant
http://mon_serveur/webcalendar/week.php
On
dispose tout en base de la fenêtre d'un certain nombre de fonctions, qui
permettent notamment :
- de se loguer/déloguer
- d'accèder aux agendas d'autres personnes
- d'ajouter un rendez vous
Pour rajouter un rendez vous, on peut
soit cliquer sur la + à droite du jour en question, ou sur le lien Ajouter
un rendez-vous
Pendant la création d'un rendez-vous, on
peut spécifier la confidentialité d'un rendez-vous ou le limiter en
consultation pour certains utilisateurs (public ou confidentiel).
Lorsque l'on sélectionne un participant,
un mail lui est expédié pour le prévenir d'un rendez-vous, lorsque celui-ci se
reconnecte à l'agenda, un lien lui demande de
confirmer ou d'infirmer le rendez-vous. Dans le cas d'un rendez-vous
confidentiel, seuls les participants peuvent visualiser le contenu de la case.
On peut spécifier la répétition d'un
rendez-vous (réunion hebdomadaire, ...) avec l'option Type de répétition.
Pour accèder aux agendas des autres
utilisateurs, on clique en bas de la page sur le lien Calendrier d'un autre utilisateur.
La liste des autres utilisateurs s'affiche alors, il suffit
de cliquer sur le nom de la personne désirée.
Pour avoir une visuabilité global du
planning de chaque utilisateurs nous pouvons cliquer sur
Edit layers puis
sélectionner ou modifier les vues superposées des planning des utilisateurs
à notre planning.
La fonction Layer permet de faire
chevaucher l'agenda d'un autre utilisateur sur le votre, c'est la couleur des
rendez vous qui va différencier l'appartenance des rendez vous.