Mini Projet JavaEE Master 2 NTDP Casa Maarif 2014-2015

De $1

Table des matières
  1. 1. Introduction
  2. 2. Sujet

Version de 10:10, 24 Avr 2024

cette version.

Revenir à liste des archives.

Voir la version actuelle

Introduction

Le mini projet sera la continuation des TPs 3 et 4 avec quelques contraintes supplémentaires. Les mini projets se feront à trois, la date limite est le lundi 19 Janvier pour la venue de Mr Buffa à Casablanca, pour le cours Web 2.0/HTML5/JavaScript avancé. Vous lui rendrez le projet et ferez des démonstrations à cette occasion, le premier jour de la mission (le lundi). Aucun retard ne sera toléré.

Sujet

Un gestionnaire de compte bancaire comme le TP4 ou comme les corrections qui vous ont été remises du TP4. Mais on demande des choses en plus:

  1. On aura un modèle de données qui dit "on a des clients, chaque client peut avoir un ou plusieurs comptes bancaires, chaque compte est relié à la liste des opérations qui ont eu lieu sur le compte: type (création, débit, crédit, transfert, montant).
     
  2. La base de données doit être remplie dès le déploiement, comme dans le TP3, avec un EJB singleton annoté par @Startup et une méthode appelée dès que le bean est instancié, avec @PostCreate, comme dans le TP3.
    • On veut au moins 50 clients et 500 comptes au démarrage, et quelques opérations pour chaque compte. Les tableaux affichés au démarrage doit être plein sur au moins 10 pages !!!!! Vous pourrez générer des données de manière aléatoire ou à l'aide du site web http://www.generatedata.com/
       
  3. Facultatif mais très apprécié (des points en plus), on veut du Lazy Loading dans les datatables PrimeFaces. Comme dans le projet Goualmi par exemple.
     
  4. L'application doit utiliser au moins un template avec un menu à gauche, un header en haut et le contenu principal au centre. Vous pouvez très bien utiliser plusieurs templates, ou des templates clients de templates, ou encore des templates de Primefaces, si vous en avez envie.
     
  5. Gestion de login/password. Lorsque on se connecte pour la première fois sur l'application, on ne peut rien faire à part s'identifier, dans la partie "header" du template on aura un message invitant à s'identifier par login/password. Vous utiliserez pour cela un jsf managed bean avec @SessionScoped pour maintenir une propriété "connected", comme dans l'exemple JSFLoginPassword donné dans la page principale du cours. On utilisera des attributs "rendered=..." à divers endroits des pages xhtml pour afficher ou ne pas afficher du contenu si on est pas connecté.
     
  6. Pour tranférer de l'argent ou retirer/déposer, on veut une solution ergonomique (on en veut pas taper l'id des comptes mais choisir dans le tableau ou dans une liste déroulante, comme dans le projet Goualmi correction du TP3/4). Primefaces propose plusieurs solutions.
     
  7. Vous devrez utiliser au moins 5 composants primefaces non vus en cours, notamment ceux permettant d'afficher des messages de confirmation ou des messages d'erreur après chaque opération.
     
  8. On distinguera le compte administrateur des comptes de clients ordinaires de la banque
    • L'administrateur peut créer, modifier, supprimer des clients et des comptes, il peut tout faire, ajouter de l'argent à n'importe quel compte en retirer, transférer de l'argent entre deux comptes quelconques, ajouter un compte à un client existant, etc.
    • Un client ordinaire ne peut voir que ses propres comptes, il peut transférer de l'argent entre ses comptes. Ce n'est pas réaliste, mais il peut aussi déposer ou retirer de l'argent de ses comptes.