ECOM-M2PGI

Le projet eCOM consiste à concevoir et développer une application de commerce électronique. suite ...

=Étapes du projet= La partie IHM et la partie Système sont menées en parallèle pendant toute la durée du projet. Le projet se conclut par une soutenance finale pour chaque partie (IHM et système).

Conduite de projet
Le projet eCOM est très court en durée. Il est préconisé d'utiliser la méthodologie Scrum pour la conduite du projet dans chaque groupe.

Critères d'évaluation
La conduite du projet sera principalement évaluée en fonction des critères suivants : Sur ces 2 premiers critères, vous n'en changez pas !!!
 * vous devez choisir un Scrum Master (unique ou tournant) : vous devez justifier votre choix
 * durée du sprint (idem : vous devez justifier votre choix)

Vous devez prévoir :
 * product backlog
 * sprint backlog
 * sprint planning
 * démos
 * rétrospectives

Pensez à créer un wiki qui regroupera l'ensemble de vos documentations. Cela doit être une documentation Agile !!!!

Un point de bonus pour ceux qui réussiront à mettre en place des "poker planning".

Etapes et documents demandés
Le détail sur l'organisation et l'évaluation du travail concernant les spécifications du site sera communiqué lors des premières séances de cours. Liste des Livrables et date de rendu pour les M2PGI Alternants :


 * Livrable 1 : par email, membres du groupe et brève description du sujet (un seul groupe OK)

Audit 1 :

 * L2.1 : Description des profils
 * L2.2 : Questionnaire profils (OPT-ALT)
 * L3.1 : Scénarios
 * L3.2 : Analyse de la concurrence (OPT-ALT)
 * L3.3 : Questionnaire sur l'utilisation (OPT-ALT)
 * L4 : Modèles de tâches (Audit 2 pour ALT)
 * L5 : Fonctionnalités
 * L6.1 : Objectifs pour chaque version (priorités de développement)

Audit 2 :

 * Mise à jour de L2 à L6.1
 * L7.1 : Architecture (OPT-ALT)
 * L7.2 : Base de données (OPT-ALT)
 * L7.3 : IHM Abstraite
 * L7.4 : Maquettes
 * L6.2 : Objectifs pour les versions suivantes
 * L8 : Démo de V0

Audit 3 (Soutenances) :

 * Mise à jour de L7.3 (correction des erreurs)
 * L9 : Rapport d'évaluation experte (imprimé pour la soutenance)
 * L10 : Démonstration finale
 * L11 : Diapos de votre présentation (version numérique à laquelle l'enseignant a accès au moment de votre passage)

OPT signifie que le livrable est optionnel soit parce qu'il ne s'applique pas à tous les groupes, soit parce qu'il ne peut qu'apporter une plus value à votre projet (points en plus mais pas en moins au moment de l'attribution de la note). Lorsque ce n'est pas précisé, c'est à vous de choisir le mode présentation (écrit, schéma...) des informations du livrable

Critères d'évaluation
La partie IHM du projet sera principalement évaluée en fonction des critères suivants :
 * Conformité de l'IHM concrète et abstraite avec le modèle de tâches
 * Couverture fonctionnelle de l'application et robustesse au regard des priorités que vous avez retenues
 * Qualité ergonomique au regard des principes vus en cours
 * Rigueur de la démarche

La note est obtenue par l'évaluation tout au long du projet elle est composée de :
 * Les besoins (3 pts) : informations sur les besoins que vous allez prendre en compte (livrables et audit 1)
 * La conception (5 pts) : proposition de solution pour répondre aux besoins (livrables et audit 2)
 * L'évaluation (3 pts) : évaluation de votre (ou vos) solution(s) (livrable et soutenance finale)
 * Présentations (3 pts) : qualité des présentations (documents, email et slides de soutenance finale)
 * Développement (6 pts) : qualité et quantité du code (démo et code)

Les notes des membres du groupe peuvent être différentes en fonction du travail fourni et constaté par l'enseignant.

Partie Système
Remarque : Aucune des phases du projet ne nécessite le développement d'un client lourd en mode graphique (SWT ...).

Documents demandés
Deux rapports doivent être rédigés pour la partie Système : un document de conception système et un document d'évaluation système.

Document de conception système
Le dossier de conception système (DCS) a pour but de permettre à toute personne de connaitre les principaux composants JEE de votre application ECOM. Cette connaissance doit pouvoir être acquise rapidement, sans avoir à entrer dans les détails de l'implémentation. Le DCS doit donc être de taille relativement limitée (5 à 10 pages, 20 pages au grand maximum). Le DCS est centré sur un schéma d'architecture système (SAS) : ce schéma doit faire apparaître les composants qui vont constituer l'application, ainsi que les liens entre les beans. Un lien depuis un composant A vers un (ou plusieurs) composant(s) B signifie qu'une interaction peut avoir lieu depuis A vers B. Un lien peut être monovalué ou multivalué, monodirectionnel ou multidirectionnel.

Document d'évaluation système
Le rapport final système du projet ECOM a pour but de préciser l’état d’avancement de votre application ECOM.

Le rapport final système doit préciser :
 * L’état de chaque composant : non réalisé, réalisé, réalisé et validé
 * Les fonctions réalisées, réalisées et testées, et celles restant à réaliser
 * Les propriétés non fonctionnelles garanties par votre réalisation, et celles restant à considérer pour finaliser votre application
 * Le temps consacré à la conception système
 * Le temps consacré au développement système
 * Les principales difficultés rencontrées

Critères d'évaluation
La partie système du projet sera principalement évaluée en fonction des critères suivants : En complément, les aspects suivants seront également considérés :
 * Conformité aux spécifications de l'application et aux consignes données dans le cadre du projet
 * Respect des échéances pour les différentes étapes du projet (y compris pour les prototypes intermédiaires et les documents)
 * Qualité de l'architecture de l'application
 * Qualité et robustesse du code applicatif
 * Compréhension des principaux concepts de la technologie Web
 * Rigueur de la démarche de conception
 * Qualité des présentations/soutenances
 * Méthodologie de test
 * Déploiement et retrait de l'application sur/de la plateforme cloud
 * Préparation d'images de VMs avec Kameleon
 * Performances (résultat du injection de charge avec Apache JMeter ou OW2 CLIF)
 * Supervision du système déployé avec des sondes Nagios ou Shinken conditionnées dans les VMs à déployer.
 * Utilisation (optionnelle) de technologies/APIs/frameworks avancés

Consignes spécifiques pour les soutenances IHM
Salle : F113

Durée totale : 45 minutes

Pour le 23/09 minuit au plus tard :
 * les documents de conception (hors évaluation), gestion de projet et le code doivent être accessibles à l'enseignant : envoyer un email avec l'ensemble des liens permettant d'y accéder

Le jour de la soutenance :
 * envoyé avant votre passage les liens vers les derniers documents (évaluations + diapositives de soutenance)
 * votre passage doit contenir une présentation globale du projet, le processus de conception (illustré), des évaluations, le bilan (point de vue IHM) et une démo PRÉPARÉE
 * présentez individuellement un bilan de ce que vous retenez (positif, améliorations personnelles, négatif)
 * arrivez avec l'application démarée (on ne perd pas de temps) et 1 ou 2 scénarios (de test)
 * prévoyez 15 minutes de questions lors de votre passage

Consignes spécifiques pour les soutenances Système

 * Apportez un exemplaire du dossier d'évaluation système (déposé la veille sur Moodle) lors de la soutenance. Il n'est pas nécessaire d'apporter un exemplaire du dossier de conception système.
 * Préparez vous 30 minutes avant votre soutenance pour démarrer les instances avec le service développé.
 * Prévovez environ 30 minutes pour la présentation/démo/questions. Utilisez des transparents pour présenter votre projet.
 * Les démonstrations peuvent être faites sur vos machines personnelles cependant le service eCOM doit IMPERATIVEMENT s'exécuter sur une ou plusieurs instances de VM.
 * Conditionnez le projet final sous la forme d’une archive (zip ou tar.gz) après avoir inclus la documentation (dans un repertoire /main/site). Utilisez la convention de nommage suivante : ecom_final_1213-X.zip où X correspond au nom du projet.
 * Déposez immédiatement après la soutenance (et en aucun cas après le 20 décembre) l'archive sur Moodle.
 * le rapport de charge (benchmark) doit être (MUST) fourni dans la documentation.
 * le rapport sur les métriques logicielles doit être (MUST) fourni dans la documentation.

=Organisation 2018-2019=

M2PGI (Alternant)
Equipe pédagogique: VL = Vincent Lesne, NDP= Noel De Palma, SC = Sybille Caffiaux, SCB = Sebastien Chassande, UD=Ugo Decharriere


 * 03 sept 09h-12h   	F022, Boot Projet (NDP)
 * 03 sept 14h-17h		TD F118 / TP F217, Cours Spring (SCB/NDP)
 * 04 sept 09h-12h  	TD F218 / TP F217, Cours Angular (SCB/NDP)
 * 04 sept 14h-17h		TD F218 / TP F217, Cours Angular (SCB/NDP)
 * 05 sept 09h-12h  	TD F218 / TP F217, Libre service
 * 05 sept 14h-17h  	TD F218 / TP F217, Libre service
 * 06 sept 09h-12h 		TD F118,                 Cours IHM (SC)
 * 06 sept 14h-17h		TD F118 / TP F217, Cours Cloud (UD)
 * 07 sept 09h-12h		TD F114 / TP F211, Cours Agile (VL)
 * 07 sept 14h-17h		TD F114 / TP F211, Cours Agile (VL)
 * 10 sept 09h-12h		TD F218 / TP F217, Audit Syst. (SCB/NDP)
 * 10 sept 14h-17h		TD F218 / TP F217, Audit Agile (VL)
 * 11 sept 09h-12h		TD F118 / TP F217, Libre service
 * 11 sept 14h-17h		TD F118 / TP F217, Libre service
 * 12 sept 09h-12h		TD F218 / TP F217, Libre Service
 * 12 sept 14h-17h		TD F218 / TP F217, Libre Service
 * 13 sept 09h-12h		TD F118 / TP F217, Audit Syst. (SCB, NDP)
 * 13 sept 14h-17h		TD F118 / TP F217, Audit Agile (VL)
 * 14 sept 09h-12h		TD F114 / TP F214, Point Infra. (UD)
 * 14 sept 14h-17h		TD F114 / TP F214, Libre Service
 * 17 sept 09h-12h		TD F109 / TP F216, Audit Syst. (SCB/NDP)
 * 17 sept 14h-17h		TD F109 / TP F216, Audit Agile (VL)
 * 18 sept 09h-12h 		TD F118 / TP F217, Libre Service
 * 18 sept 14h-17h		TD F118 / TP F217, Point Infra. (UD)
 * 19 sept 09h-12h		TD F218 / TP F217, Libre Service
 * 19 sept 14h-17h		TD F218 / TP F217, Libre Service
 * 20 sept 09h-12h		TD F118 / TP F217, Point Infra. (UD)
 * 20 sept 14h-17h		TD F118 / TP F217, Libre Service
 * 21 sept 09h-12h		TD F109 / TD F114 / TP F211, Soutenance
 * 21 sept 14h-17h		TD F109 / TD F114 / TP F211, Soutenance

M2PGI (Classique)
Equipe pédagogique: Noël de Palma (NdP), Vincent Lesne (VL), Sybille Caffiau (SC), Sebastien Chassand-Barrioz (SCB), Ugo Decharriere (UD)

Dates Importantes:
 * 28 sept 14h-17h 		F319 TD, F204 TP, Cours Spring (SCB/NDP)


 * 05 oct 09h-12h   		F114 TD, F215 TP, Cours Angular (SCB/NDP)
 * 05 oct 14h-17h  		F319 TD, F204 TP,  Cours Angular (SCB/NDP)


 * 12 oct 	09h-12h 		F114 TD, Cours Agile (VL)
 * 12 oct 	14h-17h		F319 TD, Cours Agile (VL)


 * 19 oct 	09h-12h		F114 TD, Cours IHM (SC)
 * 19 oct 14h-17h 		F319 TD, Cours Cloud (UD)


 * 26 oct 9h-12h 		F215 TP, Audit Système  (SCB, NDP)
 * 26 oct	14h-17h 		F204 TP, Audit Agile (VL)


 * 09 nov 9h-10h30		F114 TD, Cours IHM (SC)
 * 09 nov 14h-17h 	F319 TD, F204 TP, Libre Service


 * 16 nov, 9h-12h		F215 TP, Audit Système (SCB, NDP).
 * 16 nov 14h-17		F204 TP, Audit Agile (VL)


 * 23 nov 9h-12h 	F215 TP, Point Infra (UD).
 * 23 nov 14h-17h		F319 TD, F204 TP, Libre Service


 * 30 nov 9h-12h	F215 TP, Audit Système (SCB, NDP).
 * 30 nov 14h-17h 		F204 TP, Audit Agile (VL)


 * 07dec 9h-12h 		F215 TP, Point Infra (UD)
 * 07 dec 14-17h		F319 TD, F204 TP, Libre Service


 * 14 dec 9h-12h		F215 TP, Audit système (SCB, NDP)
 * 14 dec 14h-17h 		F204 TP, Point Infra (UD)


 * 17 dec-21 dec		F216/F215 TP semaine bloquée libre service
 * Le 21/12 soutenances tte la journée F215/F216

M2PGI Classique
Consigne pour la constitution des groupes : Les étudiants ayant choisis l'option multimobile doivent se mettre ensemble. Ils doivent constituer des groupes de 4/5 afin d'avoir en tout 4 groupes (de M2 PGI classiques)

M2PGI Classique
IMPERATIF
 * le projet doit être (MUST) géré selon la méthode Scrum : le Scrum Master devra présenter le déroulement du projet.
 * le serveur JavaEE doit être (MUST) hébergé sur une instance de VM.
 * un rapport de charge (benchmark) doit être (MUST) fourni : les outils JMeter ou Clif peuvent être utilisés.
 * un rapport sur les métriques logicielles doit être (MUST) fourni : l'outil Sonar peut être utilisé.

Ordre de passage :
 * Respectez l'ordre établi
 * Faites attention au temps. Vous disposez de 45 minutes par soutenance pour : votre présentation, la démo et les questions

=Documentation=

Transparents de cours

 * Cours JEE/EJB(NDP) [[Media:EJB-ECOM2010.pdf]]
 * Cours JEE tiers presentation (SCB) : url
 * Cours GWT (SCB) : url
 * Cours maven (DD) : url
 * Cours versionning (DD) : url
 * Cours subversion (DD) : url
 * Cours forge (DD) : url
 * Cours http (DD) : url
 * Cours servlet (DD) : url
 * Cours IHM (SC) : [[Media:ECOMCours2017-2018.pdf]]
 * Annexe cours IHM (SC) : [[Media:Annexe1-HeuristiqueNielsen.pdf]], [[Media:Annexe2-KMADe.pdf]], [[Media:Annexe3-Placement.pdf]], [[Media:Annnexe4-Accesssibilité.pdf]]

Squelette du projet
ecom-maven.zip Inaccessible

Doc utiles
http://proton.inrialpes.fr/~depalma/ecom/liens/liens.html
 * Documentation Easybeans (conteneur EJB3 utilis&eacute; par Jonas)
 * Tutorial JavaEE 6
 * Tutorial NetBean et JEE
 * API JavaEE 6
 * Sp&eacute;cifications JavaEE 6
 * JPA implementation patterns
 * Glossaire
 * Aide m&eacute;moire pour les annotations EJB3
 * Présentation sur le Cloud Computing : http://erods.liglab.fr/icar2013/programme.html
 * Documentation et Training Kit sur Windows Azure : http://www.microsoft.com/en-us/download/details.aspx?id=8396
 * Documentation de Roboconf
 * Exemple avec LAMP http://roboconf.net/en/user-guide/lamp-example-part-1.html
 * Questionnaire pour site web : [[Media:Questionnaire copy.pdf]]
 * Questionnaire SUS (évaluation satisfaction) :

Quelques livres
REMARQUE: les livres sur JavaEE se periment très vite avec l'évolution de la spécification
 * Java EE6 Cookbook for securing, tuning, and extending enterprise applications: http://www.packtpub.com/java-ee6-securing-tuning-extending-enterprise-applications-cookbook/book
 * Holly Cummins and Timothy Ward, Enterprise OSGi in Action, March, 2013, 400 pages, ISBN: 9781617290138, http://www.manning.com/cummins/ (chapitre 2, chapitre 10)
 * Debu Panda, Reza Rahman, Derek Lane, EJB 3 in Action, Pub Mannings, 2007, http://www.manning.com/panda/
 * Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan, EJB 3 in Action, Second Edition, Pub Mannings, 2011, http://www.manning.com/panda2/