Gestion d'un annuaire

Introduction

Le but de cette page est de présenter le projet qui va servir de base à votre évaluation dans cette unité d'enseignement.

Cahier des charges

L'objectif du mini projet est simple : gérer à l'aide de la technologie JEE un annuaire de personnes. Plus précisément,

Lot 1 : présentation.

Lot 2 (si le lot 1 est terminé) : authentification et modification.

Lot 3 (si le lot 2 est terminé) :

Étape 1 : Stockage (DAO/Spring/JPA)

Objectifs :

Architecture : Vous devez mettre en place une couche de service d'accès aux données (souvent appelée DAO pour Data Access Object), Cette couche est constituée d'une interface (indépendante du choix de JPA) et d'une implantation (liée à JPA). Cette interface pourrait ressembler à ceci (ce n'est qu'une très vague proposition) :

public interface IDirectoryDao {

   // récupérer les groupes
   Collection<Group> findAllGroups();

   // lire une personne
   Person findPerson(long id);

   // lire un groupe et ses personnes
   Group findGroup(long id);

   // modification ou ajout d'une nouvelle personne
   void savePerson(Person p);

   // modification ou ajout d'un nouveau groupe
   void saveGroup(Group g);

   ...
   }

Contrainte à respecter :

Étape 2 : Metier (Spring)

Cette étape consiste à mettre en place une couche métier basée sur Spring. Cette couche devra prendre en charge l'accès et la modification des données métier. Elle assure

L'interface de cette couche métier pourrait ressembler à ceci (ce n'est qu'une proposition) :

public interface IDirectoryManager {

    // rendre un utilisateur anonyme
    void newUser(User user);

    // chercher une personne
    Person findPerson(User user, long personId);

    // chercher un groupe
    Group findGroup(User user, long groupId);

    // identifier un utilisateur
    boolean login(User user, long personId, String password);

    // oublier l'utilisateur
    void logout(User user);

    // enregistrer une personne
    void savePerson(User user, Person p);
}

Étape 3 : Présentation (JSP/SpringMVC)

Bientôt.

Échéances

Ce projet est à rendre, par équipe de deux personnes, pour le 12 avril 2023 au soir.

Documents attendus : une archive ZIP (de la forme nom1-nom2.zip) qui regroupe

Points importants :