Difference between revisions of "ECOM2016 LaReleve Fiche de suivi"

From air
Jump to navigation Jump to search
 
(12 intermediate revisions by 3 users not shown)
Line 102: Line 102:
 
== Semaine 7 : 24/10 - 30/10 ==
 
== Semaine 7 : 24/10 - 30/10 ==
 
'''Travail réalisé :'''
 
'''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 :'''
 
'''Problèmes rencontrés :'''
*
+
*
   
   
 
'''Tâches à effectuer identifiées :'''
 
'''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 ==
 
== Semaine 8 : 31/10 - 06/11 ==
Line 127: Line 138:
 
== Semaine 9 : 07/11 - 13/11 ==
 
== Semaine 9 : 07/11 - 13/11 ==
 
'''Travail réalisé :'''
 
'''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 :'''
 
'''Problèmes rencontrés :'''
  +
* Limiter les JSON retournés (mdp retournés pour le moment)
*
 
   
   
 
'''Tâches à effectuer identifiées :'''
 
'''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 ==
 
== Semaine 10 : 14/11 - 20/11 ==
 
'''Travail réalisé :'''
 
'''Travail réalisé :'''
  +
* Connexion back et front
*
 
  +
* Triggers de la BD
  +
* Poursuite des EJB
  +
* Recherche named queries
  +
* Recherche tests
  +
* Gestion de la connexion
   
   
Line 148: Line 170:
   
 
'''Tâches à effectuer identifiées :'''
 
'''Tâches à effectuer identifiées :'''
  +
* Voir comment utiliser la BD dans les tests
*
 
   
  +
== Semaine 12 : 28/11 - 04/12 ==
 
== Semaine 11 : 21/11 - 27/11 ==
 
 
'''Travail réalisé :'''
 
'''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 :'''
 
'''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.
*
 
   
   
Line 163: Line 188:
 
*
 
*
   
  +
== Semaine 13 : 05/12 - 11/12 ==
 
== Semaine 12 : 28/11 - 04/12 ==
 
 
'''Travail réalisé :'''
 
'''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 :'''
 
'''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.
   
   
Line 176: Line 213:
 
*
 
*
   
  +
== Semaine 14 : 12/12 - 18/12 ==
 
== Semaine 13 : 05/12 - 11/12 ==
 
 
'''Travail réalisé :'''
 
'''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 :'''
 
'''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
   
   
Line 189: Line 228:
 
*
 
*
   
  +
=SCRUM=
   
  +
==Users Stories==
== Semaine 14 : 12/12 - 18/12 ==
 
  +
[[File:ECOM2016_USER_stories.png|thumb|center|upright=4]]
'''Travail réalisé :'''
 
*
 
   
  +
==Scrum Board==
  +
Le [https://github.com/ECOM-LaReleve/API-LaReleve/projects/1m scrum board] du projet se trouve sur le project board de Github.
   
'''Problèmes rencontrés :'''
 
*
 
   
  +
== Résumé des sprints ==
   
  +
=== Sprint 1 : 24/10 - 13/11 ===
'''Tâches à effectuer identifiées :'''
 
  +
*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

Latest revision as of 18:17, 12 December 2016

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

Users Stories

ECOM2016 USER stories.png

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