AGENDA RMI ========== Guillaume Libersat (M1) = Fonctionnalités = =================== L'implantation gère tout ce qui était demandé, à l'exception de la question7, facultative. -> Voici les commandes utilisables : afficher : Affiche l'agenda selon une plage donnée afficher_jour : Affiche l'agenda pour une journée donnée afficher_semaine : Affiche l'agenda de la semaine donnée aide : Affiche l'aide générale ou l'aide d'une commande ajouter : Ajoute un Rendez-vous pour une plage donnée annuler : Annuler un Rendez-vous login : S'identifier auprès du serveur logout : Se délogge du serveur modifier : Modifie un Rendez-vous rechercher : Recherche une plage libre rechercher_jour : Recherche une plage libre repliquer : Répliquer l'agenda distant en local quitter : Quitter le programme Sauvegarde ---------- Un thread fonctionne en parallèle du Serveur et sauvegarde toutes les 30 secondes l'état de l'agenda. = Sessions = ============ Pour utiliser l'agenda, il faut fournir un couple (login, mot de passe) au serveur qui retournera ou non un objet "Session" qui représentera la session de l'utilisateur. Chaque méthode sera ensuite exécutée avec cet objet. Les droits ---------- Chaque Session est associée, du côté serveur, à des droits. On trouve ici deux droits : * "r" : lecture sur l'annuaire * "w" : ecriture sur l'annuaire On pourra combiner ces droits si nécessaire (ex: "rw"). = Réplication = =============== Lors de la réplication de l'agenda vers un ordinateur en déplacement, le contenu est copié, mais les utilisateurs et leur mots de passe ne sont pas recopiés. A la place, un utilisateur local "local/local" est créé et est utilisé pour gérer l'agenda. Ceci évite de dévoiler les mots de passe de tout le monde. Le fichier est sauvegardé sous le nom "replique.agd". = Compilation = =============== % make = Lancement = ============= Mode distant ------------ Pour lancer le programme en mode client / serveur RMI, il suffit de taper : % make run On peut aussi lancer le client avec le switch "-r CHEMIN" pour qu'il se connecte au CHEMIN spécifié. ex: java -cp classes:jline-0.9.9.jar Client -r //192.168.1.64/Agenda Mode local ---------- Il peut être activé en utilisant le switch "-l" avec la classe "Client". Il va alors essayer de lire le fichier "replique.agd", créer un annuaire local et donner un shell. ex : java -cp classes:jline-0.9.9.jar Client -l un raccourci existe avec : % make local = Utilisation du client = ========================= Au lancement du client, un shell est lancé et il est possible d'interagir avec l'agenda. Les commandes disponibles sont accessibles via la touche ou en tapant "aide". Pour obtenir une aide sur une commande, il suffit de taper "aide NOM_COMMANDE". Exemple : > aide afficher_jour >>> afficher_jour <<< Utilisation : afficher_jour SEMAINE JOUR Login ----- La première instruction à faire est de se connecter à l'aide de la commande : > login USER PASS Pour tester en mode RMI, il existe trois couples : bob/flop : rw (Lecture + Ecriture) alice/flup : w (Ecriture seule) john/coin : r (Lecture seule) On peut changer de login en cours de session et on peut invalider sa session en tapent "logout".