ECOM2016 LaReleve Fiche de suivi
Voici la fiche de suivi du projet ECOM 2016-2017 : La Relève
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
Users Stories
Scrum Board
Le scrum board du projet se trouve sur le project board de Github.
Résumé des sprints
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