L'Annuaire Distribué

Projet proposé par JM. LEON

  1. Lancement

> rlogin -l phung brocan

> ~/mydir/bin/start

http://www-local.essi.fr/~verrando/Application.html

L'acces est protégé par un login :

Id utilisateur : test

Password : test


  1. Fonctionnalités

L'application se décompose en quatre modes :

Il permet de visualiser les caracteristiques (nom, prénom, ...) d'une personne a partir de la liste des noms des personnes de l'annuaire. Ce mode ne permet pas de modifier les caracteristiques.

Il gere les modifications des caracteristiques d'une personne, ainsi que la suppression d'une personne de l'annuaire.

Toute modification de l'annuaire n'est possible que si aucun changement n'a ete effectue entre temps par un autre utilisateur. Sinon, il faut mettre a jour les données affichées(bouton Update).

Ce mode permet d'ajouter une nouvelle personne dans l'annuaire. Cependant, il n'est pas possible de visualiser les caracteristiques d'une personne a partir de la liste.

Il gere la recherche de personne dans l'annuaire a partir des caracteristiques entrees par l'utilisateur. Il est possible de 're-initialiser' ses caracteristiques grace au bouton Clear.


  1. Implémentation


L'annuaire distribuéétant une applet, elle est soumise a des contraintes de sécurité, c'est-a-dire, qu'elle ne peut pas modifiée/écrire un fichier.

Cette contrainte implique donc la recherche d'une solution pour contourner ce probleme, a savoir la modification et la suppression des informations de l'annuaire.

Nous avons donc decidé d'effectuer ces mises a jour a partir de CGI, executés sur le serveur HTTP depuis l'applet JAVA.

Application.java Classe gérant l'interface graphique.
Annuaire.java Classe gérant la structure interne de l'annuaire et la mise a jour sur le serveur.
Coordonnee.java Classe contenant toutes les caracteristiques d'une personne.
PhotoIdentite.java Classe gerant l'affichage de la photo d'identite.
BarreEtat.java Classe gerant l'affichage de la barre d'etat d'identite.

Les executables des CGI (consult_coord.exe, add_coord.exe, modif_coord.exe, suppr_coord.exe) se trouvent dans le répertoire : ~/mydir/ESSAI/CGI .

Ils sont appelés par un shell script : consult_coordonne.cgi, add_coordonnee.cgi, modif_coordonne.cgi, suppr_coordonnee.cgi.

Chaque CGI met en oeuvre un mécanisme de verrou. Les CGI de mise a jour gerent également les cohérences de modification, grace a un mécanisme d'estampille (stamp).

consult_coord.c Il permet d'acceder aux informations contenues dans l'annuaire (en gérant les verrous).
Parametres d'entrée aucuns
Etats de retour LOCKED,OK
add_coord.c Il permet de rajouter une personne dans l'annuaire(~/mydir/ESSAI/coordonnee.ann) et de vérifier qu'elle n'existe pas déja.

Ce CGI permet d'attributer un numéro unique a chaque nouvelle insertion et augmente l'estampille (stamp).

Parametres d'entrée nom, prénom, adresse, code postal, téléphone, email, photo
Etats de retour LOCKED, EXIST, OK
modif_coord.c Il permet de modifier les caractéristiques d'une personne (si la valeur du stamp est égale a celle passée en parametre) et incrémente la valeur du stamp (~/mydir/ESSAI/stamp.ann).
Parametres d'entrée idamodifier, nom, prenom, adresse, code postal, telephone, email, photo, stamp
Etats de retour LOCKED, UNABLE TO MODIFY, NOT FOUND, OK
suppr_coord.c Il permet de supprimer une personne de l'annuaire (si la valeur du stamp est égale a celle passée en parametre) et incrémente la valeur du stamp.
Parametres d'entrée idasupprimer, stamp
Etats de retour LOCKED, UNABLE TO SUPPRESS, NOT FOUND, OK

DOWNLOAD PROJECT SOURCE