ECOM2016 LaReleve Fiche de suivi

Voici la fiche de suivi du projet ECOM 2016-2017 : La Relève

Page d'accueil du projet

= Avancée du projet =

Semaine 1 : 12/09 - 18/09
Travail réalisé :
 * Choix du sujet "La Relève"
 * Choix de l'organisation du groupe
 * Récupération et lecture des documents du client
 * Création de comptes AWS et Azure
 * Début de l'apprentissage de JEE

Problèmes rencontrés :

Tâches à effectuer identifiées :
 * Contact du client pour un premier rendez vous

Semaine 2 : 19/09 - 25/09
Travail réalisé :
 * Contact du client pour un premier rendez vous
 * Suite de l'apprentissage de JEE
 * Tests de Glassfish et des serveurs java équivalents
 * Etude des documents fournis par les clients
 * Création d'une liste de question pour améliorer notre compréhension du besoin client
 * Préparation du rendez vous avec le client

Problèmes rencontrés :
 * Utilisation de Glassfish avec Eclipse pose problème pour le processus de développement imaginé (séparation de glassfish_home et glassfish_base difficile)

Tâches à effectuer identifiées :

Semaine 3 : 26/09 - 02/10
Travail réalisé :
 * Première rencontre avec le client
 * Début de modélisation (écriture d'un diagramme d'acteur, de classes...)
 * Envoi de nouvelles questions par mail au client
 * Suite de l'apprentissage de JEE
 * Création d'un projet Gradle permettant l'esport en .ear d'un projet JEE complet (avec war, jajr et ejb-jar)

Problèmes rencontrés :

Tâches à effectuer identifiées :

Semaine 4 : 03/10 - 09/10
Travail réalisé :
 * Seconde rencontre avec le client
 * Continuité du travail de modélisation (diagramme d'acteur)

Problèmes rencontrés :

Tâches à effectuer identifiées :

Semaine 5 : 10/10 - 16/10
Travail réalisé :
 * Mise en place du wiki
 * Troisième rencontre avec le client
 * Ecriture du SRS
 * Complétion du DCS (Dossier de Conception Système)
 * Création du diagramme UML (minimal) de notre Base De Donnée
 * Création de modèles de tâches

Problèmes rencontrés :

Tâches à effectuer identifiées :

Semaine 6 : 17/10 - 23/10
Travail réalisé :
 * Préparation à la soutenance de conception
 * Création d'un planning prévisionnel
 * Définition de l'API
 * Définition des user stories

Problèmes rencontrés :

Tâches à effectuer identifiées :

Semaine 7 : 24/10 - 30/10
Travail réalisé :
 * Revue de la BD
 * Fin de la mise en place de l'environnement sur nos machines
 * Début d'identification des routes à utiliser
 * Gestion de la connexion de l'API avec la base de données (connexion modifiable)
 * Ajout de Jackson
 * Mise en commun des save actions d'Eclipse et de l'environnement de travail
 * Premiers EJB
 * Détail des user stories
 * Répartition du travail

Problèmes rencontrés :

Tâches à effectuer identifiées :
 * Finaliser les routes avec la BD à jour et une meilleure idée de l'interface
 * Avoir un environnement complet sur toutes les machines : gradle, docker, mais aussi npm, bower, grunt, yeoman
 * Se concentrer sur l'apprentissage de quelques technos : RESTEasy, Jettison, Wildfly, HAProxy, InfluxDB, Grafana, Docker, Docker-compose, Docker-cloud, Angular.js, AngularMaterial, Grunt.js, Bower, Node.js
 * Décrire la BD et les contraintes d'intégrité
 * Générer le SQL et les triggers de la BD
 * Faire tourner l'API avec Docker-compose et le projet API-runtime

Semaine 8 : 31/10 - 06/11
Travail réalisé :

Problèmes rencontrés :

Tâches à effectuer identifiées :

Semaine 9 : 07/11 - 13/11
Travail réalisé :
 * Convention d'utilisaiton de Git
 * Modèle des entities
 * Connexion back et front
 * Réflexion sur les named queries
 * Réflexion IHM
 * Début triggers
 * Début tests

Problèmes rencontrés :
 * Limiter les JSON retournés (mdp retournés pour le moment)

Tâches à effectuer identifiées :
 * Besoin d'un modèle d'entities défini pour appliquer les named queries
 * Parler d'IHM

Semaine 10 : 14/11 - 20/11
Travail réalisé :
 * Connexion back et front
 * Triggers de la BD
 * Poursuite des EJB
 * Recherche named queries
 * Recherche tests
 * Gestion de la connexion

Problèmes rencontrés :

Tâches à effectuer identifiées :
 * Voir comment utiliser la BD dans les tests

Semaine 12 : 28/11 - 04/12
Travail réalisé :
 * Vues ménage, création d'un ménage, login, accueil
 * EJB et named queries
 * Tests JUnit
 * Déploiement avec Swarm
 * Création images docker automatisées avec Travis

Problèmes rencontrés :
 * Déploiement avec Swarm : Docker cloud limite à un seul noeud, donc on ne pouvait pas faire de déploiement sur plusieurs machines. Swarm permettrait de le faire mais personne ne sait l'utiliser dans le groupe, alors que Docker-compose si et ça marche même sis c'est moins pratique.

Tâches à effectuer identifiées :

Semaine 13 : 05/12 - 11/12
Travail réalisé :
 * Tests automatisés JUnit
 * Réplication (GTID initialement puis mySQLCluster)
 * Prévision de la présentation du produit aux clients
 * Vues création acte, création individu
 * Création d'une branch pour le front "Proof Of Concept" dédiée à la présentation au client
 * Présentation au client
 * debug/tests EJB
 * routes
 * InfluxDB et Grafana - Hawkular
 * Build Travis du client et l'API
 * Correction bug authentification utilisateur sans rôle dans l'API
 * Mise en commun

Problèmes rencontrés :
 * TestsJUnit : sur l'API BD, mais pour communiquer avec la Bd il faut un contexte qui est donné lorsqu'on lance l'appli. Potentielle solution ; Arquillian mais il faut lancer une instance de Wildfly. Trop complexe alors qu'on a peu de temps restant.
 * modif BD et entities (problème de lazy lors de la création des JSON avec Wildfly - JAXB)
 * InfluxDB incompatible avec Wildfly 10, donc utilisation d'Hawkular.

Tâches à effectuer identifiées :

Semaine 14 : 12/12 - 18/12
Travail réalisé :
 * Continuation de l'API et du Front (rush !)
 * Insistance sur la réplication et les tests
 * Préparation des différents documents pour la remise finale
 * Préparation de la soutenance finale

Problèmes rencontrés :
 * Pas de réplication possible sur deux serveurs appartenant à des réseaux différents avec la méthode actuelle.
 * Problèmes techniques sur la mise en lace de tests automatiques -> déplacement ds tests sur le front

Tâches à effectuer identifiées :

=SCRUM=

Scrum Board
Le scrum board du projet se trouve sur le project board de Github.

Sprint 1 : 24/10 - 13/11

 * Mise en place de l'environnement :
 * premiers EJBs, connexions API <-> BD et Front
 * save actions communes sous Eclipse
 * convention d'utilisation de Git
 * Réflexions au sujet des named queries et de l'IHM

Sprint 2 : 14/11 - 04/12

 * EJB et named queries
 * Vues de l'application (ménage, création de ménage, login, accueil)
 * Utilisation de Docker-compose pour le déploiement

Sprint 3 : 05/12 - 11/12

 * Vues de l'application (création acte, création individu)
 * Utilisation de Travis pour l'intégration continue
 * Réplication (GTID, MySQLCluster), monitoring (InfluxDB, Grafana, Hawkular) et tentatives de tests (JUnit, Arquillian)
 * Présentation client