1. Livrables

Les livrables attendus sont :

  • Le WAR de l’application

  • Les sources Java associées

  • La documentation d’installation et de configuration

L’infrastructure cible est TomEE WebProfile v7.1.x.

2. Critères de notation

La notation se décompose ainsi :

Points Catégories Description

1

Note minimale

3

Base

  • Respect des spécifications fonctionnelles

  • Déploiement sans accroc sur un TomEE

Ces points sont accordés "en lot". Si le déploiement échoue ou qu’un lien n’est pas fonctionnel, aucun point n’est accordé (0)

2

Qualité du code

  • Respect des normes de nommage du langage Java, par exemple :

    • le nom des classes commence par une majuscule

    • le casse est de type camelcase

    • etc.

  • Respect des principes de Programmation Orientée Objet

  • Respect des principes SOLID, par exemple :

    • le principe de responsabilité unique (Single Responsibility Principle)

    • etc.

  • Respect des bonnes pratiques exposées en cours, par exemple :

    • préférer les taglibs aux scriptlets

    • préférer l’utilisation du descripteur de déploiement aux annotations quand cela est possible

    • etc.

Des gratifications "bonus" peuvent être accordées pour des réalisations particulières, par exemple, un thème graphique particulièrement recherché.

Aucune gratification ne sera accordée si les 3 points de base ne l’ont pas été : une application qui ne fonctionne pas, belle ou pas, reste une application qui ne fonctionne pas.

3. Objectif

L’objectif est la réalisation d’un magasin de vente en ligne.

Afin de conserver une charge de travail adaptée, toutes les fonctionnalités attendues d’une telle application ne sont pas à implémenter, mais uniquement celles qui sont décrites dans le présent document.

4. Aperçu de la navigation entre les écrans

navigation flow

5. Composant partagé : barre de menu

5.1. Composants

Composant Type Commentaire

Caddie

Composant caddie

Aligné à droite

Accueil

Icône

Aligné à gauche

5.2. Comportement

  • Lorsque l’icône d’accueil est cliqué, la page d’accueil est affichée

  • Lorsque l’icône de caddie est cliqué, la page de checkout est affichée

  • Le composant barre de menu est affiché sur toutes les pages, sauf la page de checkout ou la page de paiement

6. Composant partagé : caddie

6.1. Composants

Composant Type Commentaire

Caddie

Image

Aligné à gauche

Nombre d’articles dans le caddie

Texte

Aligné à droite

6.2. Comportement

  • Le composant caddie affiche le nombre de produits dans le caddie de l’utilisateur

  • Lorsqu’un produit est ajouté au caddie, le nombre de produits doit être rafraîchi

  • Lorsqu’un produit est supprimé du caddie, le nombre de produits doit être rafraîchi

7. Composant partagé : produit

640

7.1. Composants

Composant Type Commentaire

Nom

Texte

Centré

Image

Image

En arrière-plan

Ajouter au caddie

Bouton

Affiche le prix et l’icône Caddie

7.2. Comportement

  • Lorsque le bouton est cliqué, le produit est ajouté au caddie

  • Lorsque l’utilisateur clique n’importe où sauf sur le bouton, l’écran de détail du produit est affiché

8. Ecran d’accueil

640

8.1. Composants

Composant Type Commentaire

Caddie

Composant caddie

Titre

Texte

Description 

 Texte

Multi-lignes

Image

 Image

En arrière-plan

Produit 1

Composant produit

Produit 2

Composant produit

Produit 3

Composant produit

8.2. Comportement

9. Ecran de liste de produits

640

9.1. Composants

Composant Type Commentaire

Menu

Composant barre de menu

Produit i

Composant produit

  • Tous les produits sont affichés

  • La barre de défilement du navigateur permet de visualiser les produits qui se situent en dehors du cadre

10. Ecran de détail du produit

640

10.1. Composants

Composant Type Commentaire

Menu

Composant barre de menu

Nom

Texte

Description

Texte

Visuel 1

Image

Aligné à droite

Visuel 2

Image

Aligné à droite

Ajouter au caddie

Bouton

Affiche le prix et l’icône Caddie

10.2. Comportement

  • Lorsque le bouton est cliqué, le produit est ajouté au caddie

11. Ecran de checkout

640

11.1. Composants

Composant Type Commentaire

Produit i

Ligne de tableau

Total

Texte

Affiche la somme du prix de chaque ligne

Retour au magasin

Lien

Une ligne de tableau comporte :

  • Le libellé du produit

  • La quantité commandée

  • Un bouton +

  • Un bouton -

  • Un bouton Supprimer

  • Le prix du produit fois la quantité

11.2. Comportement

  • Lorsque la quantité d’un produit est modifiée, le prix de la ligne produit est modifié

  • Lorsque le prix de la ligne produit est modifié, le prix total est modifié

  • Lorsque le bouton Supprimer est cliqué, la ligne produit est supprimée

  • Lorsque la ligne produit est supprimée, le prix total est modifié

  • La quantité ne peut jamais être inférieure à 1

  • Lorsque le bouton + est cliqué, la quantité de la ligne produit augmente de 1

  • Lorsque le bouton - est cliqué, la quantité de la ligne produit diminue de 1

  • Lorsque le bouton Payer est cliqué, l’utilisateur est redirigé vers l’écran de paiement

  • Lorsque le lien Retour au magasin est cliqué, l’utilisateur est redirigé vers l’écran de liste des produits

12. Ecran de paiement

12.1. Composants

Composant Type

Somme

Texte

Nom

Champ de texte

Email

Champ de texte

N° de carte de paiement

Champ de texte

Mois de fin de validité

Champ numérique sur 2 positions

Année de fin de validité

Champ numérique sur 2 positions

Retour au magasin

Lien

Commander

Bouton

12.2. Comportement

  • Lorsque le lien Retour au magasin est cliqué, l’utilisateur est redirigé vers l’écran de liste des produits

  • Lorsque le bouton Commander est cliqué :

    • Le caddie est vidé

    • L’utilisateur est redirigé vers l’écran de liste des produits

    • Le message "Merci pour votre commande" s’affiche