L'Annuaire DistribuéProjet proposé par JM. LEON |
- Mise en route du serveur HTTP (sur brocan.essi.fr:8080)
> rlogin -l phung brocan
> ~/mydir/bin/start
- Accés à l'annuaire distribué (à partir de Netscape)
http://www-local.essi.fr/~verrando/Application.html
L'acces est protégé par un login :
Id utilisateur : test
Password : test
L'application se décompose en quatre modes :
- Mode Consultation
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.
- Mode Modification
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).
- Mode Ajout
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.
- Mode Recherche
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.
- Schéma de l'application
![]()
![]()
- Principe
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.
- Description des fichiers JAVA (~/Internet/JAVA/PROJET)
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.
- Description des fichiers CGI (~/Internet/JAVA/PROJET/CGI)
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