https://air.imag.fr/api.php?action=feedcontributions&user=Joffrey.Ferreira&feedformat=atomair - User contributions [en]2024-03-29T02:20:08ZUser contributionsMediaWiki 1.35.13https://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&diff=45475PROJET-1FO5 1819 SkiLocator2019-03-21T09:36:32Z<p>Joffrey.Ferreira: /* Journal */</p>
<hr />
<div>=Ski Locator=<br />
<br />
La recherche d’un ski perdu est une expérience déplaisante de par l’effort que nécessite la recherche ainsi que de par l’idée de devoir avoir à acheter une nouvelle paire de ski. La présence de poudreuse rend d’autant plus difficile cette recherche car il est parfois impossible de retrouver des traces du ski perdu.<br />
Le système que nous allons décrire ici a pour but de remédier à ce problème en utilisant les moyens modernes offerts par l’IoT. Nous avons décidé de nommer notre produit HuSki en références aux chiens de traineaux réputés pour leur ténacité et leur sens de l’odorat.<br />
<br />
HuSki se décline en trois composants:<br />
* La HuCard, une carte dans un boîtier fixé sur les skis. Cette carte traque les skis et envoie leur position GPS par communication LoRa.<br />
* La HuConnect, une carte dans une coque de téléphone servant de gateway entre la HuCard et l’application mobile. La HuConnect reçoit les données LoRa et les transmet via Bluetooth.<br />
* L’application HuSki, une application mobile android pour géolocaliser les HuCards connectées.<br />
<br />
Dans la suite de ce rapport nous allons détailler le fonctionnement de chacun de ces trois composants, les difficultés rencontrées lors du développement et nous finirons avec les ouvertures que ce projet apporte. Cependant, avant de poursuivre, il semble tout de même nécessaire de présenter l’équipe.<br />
<br />
<br />
[[File:Iot-lora-alliance-logo.png|200px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Quentin FOMBARON<br />
|Chef de projet<br />
|-<br />
|Joffrey FERREIRA<br />
|SCRUM Master<br />
|-<br />
|Tim LEPAGE<br />
|Développeur<br />
|-<br />
|Titouan LARNICOL<br />
|Développeur<br />
|-<br />
|Thomas OZENDA<br />
|Développeur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau<br />
<br />
=Abstract=<br />
<br />
===Mots clés===<br />
* IOT<br />
* Ski<br />
* GPS<br />
* LoRa<br />
* Localisation<br />
* Application mobile<br />
<br />
=Budget=<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Élément<br />
! scope="col"| Par heure<br />
! scope="col"| Total<br />
|-<br />
! scope="row"| Salaire<br />
| 120.35<br />
| 19 857.75<br />
|-<br />
! scope="row"| Batiment/Matériel<br />
| 5.45<br />
| 900<br />
|-<br />
! scope="row"| Frais exceptionnel<br />
| <br />
| 170<br />
|-<br />
! scope="row"| Ordinateurs personnels<br />
| 6.96<br />
| 1 148.32<br />
|-<br />
! scope="row" colspan="2"| Total<br />
| 246€<br />
|}<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisée des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]<br />
<br />
=Journal=<br />
==Sprint 0 - Du 28/01 au 04/02 ==<br />
<br />
''Lundi 28/01''<br />
* Boitier imprimé en 3D pour une meilleure intégration au ski<br />
* Problème de la batterie (rapport taille/poids et autonomie)<br />
* Application smartphone (Android/iOS)<br />
* Changement de nom : Ski-Locator<br />
* Rendez-vous avec M. Tourancheau cet après-midi :<br />
<br />
* Établir liste du matériel necessaire<br />
* Recherche sur la localisation auto (triangulation)<br />
* DVA : Radio très longues ondes<br />
* Suivi de trajectoire sur le ski, quand on le perd on a une prédiction de la position du ski<br />
* Stocker les données sur le ski et l'envoyer que si besoin<br />
* RSSI pour trouver le ski dans une zone donnée par LoRa Bluetooth<br />
<br />
<br />
''Mardi 29/01''<br />
* Réalisation de l'architecture et IHM<br />
* Kanban bien avancé, sprint de 1 semaine<br />
* User stories<br />
<br />
<br />
''Mercredi 30/01''<br />
* IHM<br />
* Réalisation des maquettes de l'application<br />
* Début application Ionic<br />
* Récupération matériel<br />
<br />
<br />
''Vendredi 01/02''<br />
* Envoi de données sur TTN via la SODAQ ExpLoRer.<br />
* Prise en main de l'Heltec ESP32 avec scan des réseaux WiFi.<br />
* Tentative d'envoi de donnée LoRa via l'ESP32.<br />
<br />
==Sprint 1 - Du 04/02 au 11/02 ==<br />
<br />
''Lundi 04/02''<br />
* Communication LoRa hello entre deux cartes ESP32 et premiers tests sur le Bluetooth et le chiffrement des données<br />
* Modification de la maquette pour s'adapter à la nouvelle méthode de localisation<br />
* On passe de ionic à Android Studio. Trop de dépendances et de problèmes de version avec Ionic pour utiliser certaines fonctionnalités. Ionic non adapté car difficultés à accéder à l'hardware du téléphone.<br />
<br />
''Mardi 05/02''<br />
* Journée à essayer de faire fonctionner la carte GPS SIM28 avec la carte Heltec Wifi LoRa 32. Sans succès...<br />
UPDATE (du soir) : Après un test sur mon Arduino UNO, j'ai eu confirmation que la carte Grove GPS fonctionnait bel et bien. Après l'utilisation de HardwareSerial et non plus de SofwareSerial, nous réccupérons bien les coordonnées GPS de la carte 😊<br />
* APP: création des fragments, intégration de la boussole, ajout d'un ski par lecture QRCode et de la liste de ski.<br />
<br />
<br />
''Mercredi 06/02''<br />
* Réflexion sur la construction des trames entre carte/Gateway et entre Gateway/Application.<br />
* APP: Sauvegarde de la liste de skis, correctifs et améliorations.<br />
* Cryptage des communications LoRa avec une clef de 16 octets<br />
<br />
<br />
''Jeudi 07/02''<br />
* APP: Boussole opérationnelle, pointe vers une position GPS donnée. Problème lorsque le cache de localisation est vide à fix<br />
* Récupération de l'état de la batterie 4V avec un diviseur de tension pour ne pas abimer la carte qui supporte jusque 3.3V sur ses entrées analogiques.<br />
<br />
''Vendredi 08/02''<br />
* Regroupement des fonctionnalités sur l'envoi des données à la GW (ChipID + Long + Lat + Batterie). Résolution d'un bug faisant redémarrer la carte après chaque envoie de donnée.<br />
* Regroupement des données du coté Gateway<br />
* APP : QRCode reader fonctionnel<br />
<br />
==Sprint 2 - Du 11/02 au 18/02 ==<br />
<br />
''Lundi 11/02:''<br />
* APP: Sauvegarde des skis enregistrés sur le téléphone pour persister en cas d'application fermée.<br />
* APP: Utilisation du Qrcode -> redirection pour ajouter un ski.<br />
* Gestion des connexions BT sur la gateway et transition des données app<->carte faite<br />
* Tentative de chiffrement des données avant l'envoi à la GW, plus compliqué que prévu au vu de la complexité de transformer les données en char * !<br />
* Decision prise de lancer la partie DevOps du projet : renseignement sur les techniques, choix des technos<br />
<br />
''Mardi 12/02''<br />
* Abandon pour le moment du chiffrement de données, nous avons peur de perdre un temps précieux, nous reviendrons dessus si le temps nous le permet.<br />
* Script permettant l'envoi ET la réception de donnée en LoRa.<br />
* APP: début du protocole Bluetooth pour envoyer recevoir données<br />
* APP: redirection, ajustement drawer, QR code opé et ajout de carte via qr code fonctionnel<br />
* APP: Amélioration de la naviguation entre fragments.<br />
* DevOps: Mise en place de CircleCI, hook GitHub <br />
<br />
''Mercredi 13/02''<br />
* APP: Fin du protocole bluetooth, on peut communiquer entre l'app et la GW, Création d'un parser pour recevoir les données et les traiter.<br />
* La puce GPS a besoin de 5V, la batterie ne délivre que 3,7V. Je me suis donc procurer un booster pour toujours délivrer 5V.<br />
* DevOps: Sur CircleCI, production d'une APK<br />
<br />
''Jeudi 14/02''<br />
* APP: Merge des différentes fonctionnalités de l'application. Correction de bug par rapport à la naviguation.<br />
* ACK vérifiant l'activation des modes ACTIVE et NORMAL, à peaufiner.<br />
* DevOps: Difficulté pour les InstrumentedTests avec CircleCI, recherche d'une nouvelle solution : Décision de mettre en place un serveur Jenkins<br />
<br />
''Vendredi 15/02''<br />
* Conf call avec Bernard Tourancheau<br />
* APP: Corrections de bugs et optimisations + envoi de tags à la GW pour info Lora<br />
* APP: Tutoriel - Carte : Ack des changements de mode effectuer"<br />
* DevOps: Production d'une APK signée sur Jenkins<br />
<br />
==Sprint 3 - Du 4/03 au 11/03 ==<br />
<br />
''Vacances (18/02 - 01/03)''<br />
* Modélisation 3D du boitier des HuCards <br />
<br />
''Lundi 04/03''<br />
* Management le matin : budget du projet fait<br />
* Préparation du diaporama de soutenance de mis-parcours<br />
* Reception des cartes **Heltec** et des régulateurs de tension, ajout de ces derniers au protoype.<br />
* Mise en place UnitTests avec Jenkins + signature APK<br />
<br />
''Mardi 05/03''<br />
* Dernières préparations avant la soutenance de mi-parcours<br />
* Suite de la modélisation 3D du boitier <br />
* Fin de codage du chiffrage<br />
* Mise en place des InstrumentedTests via Firebase Lab<br />
<br />
''Mercredi 06/03''<br />
* Découverte des possibilités de l'écran par curiosité car ce dernier sera désactivé dans le boitier, il ne sert uniquement à afficher des logs durant les tests.<br />
* Premiers tests en extérieur avec les cartes et l'applications.<br />
* Debug du chiffrage<br />
* Tentative mise en place SonarQube server -> passage sur SonarCloud pour plus de simplicité. <br />
<br />
''Jeudi 07/03''<br />
* Fini le chiffrage des communications dans les deux sens<br />
* Amélioration du modèle 3D du boitier<br />
* Difficile de faire fonctionner SonarCloud correctement, passage sur Codacy<br />
<br />
''Vendredi 08/03''<br />
* Debut de la feature de suppression de carte<br />
* Préparation pour impression<br />
<br />
==Sprint 4 - Du 11/03 au 15/03 ==<br />
<br />
''Lundi 11/03''<br />
* Impression de la première version du boitier<br />
<br />
''Mardi 12/03''<br />
* Fin des implémentations d'optimisation principale pour les cartes<br />
* Prototypage du circuit imprimé comprenant la carte Heltec, le déviseur et régulateur de tension, le GPS et la batterie. L'ajout d'un interupteur pour allumer/éteindre la carte a été ajouté.<br />
* Résolution de bug sur Jenkins qui empechait la production de l'APK<br />
* changement de design<br />
<br />
''Mercredi 13/03''<br />
* Correction de quelques erreurs sur la première version du boitier puis impression de la seconde version.<br />
* Essai d'utilisation de GitHub Release pour mettre à disposition l'APK signée<br />
* finition design final<br />
<br />
''Jeudi 14/03''<br />
* Avancement sur le rapport <br />
* Assemblage final : <br />
* ![](https://i.imgur.com/o610FY3.jpg)<br />
<br />
''Vendredi 15/03''<br />
* Préparation soutenance<br />
* Commencement du diaporama<br />
<br />
== Sprint final == <br />
* Rédaction rapport<br />
* Préparation soutenance<br />
* Documentation et commentaire de code<br />
<br />
=Génie Logiciel=<br />
==Diagramme de Contexte==<br />
[[File:SL2019-DC.png]]<br />
==Arbre des tâches==<br />
Retrouver un ski perdu<br />
[[File:SL2019-AT.png]]<br />
<br />
<br />
Ajouter un ski à l'application<br />
[[File:SL2019-AT2.png]]<br />
<br />
==Vue Logique de haut niveau==<br />
[[File:SL2019-VLH.png]]<br />
==Vue Logique de bas niveau==<br />
[[File:SL2019-VLB.png]]<br />
==Vue Sequentielle==<br />
[[File:SL2019-VS.png]]<br />
<br />
<br />
[[File:SL2019-VS2-1.png]]<br />
<br />
==Vue physique==<br />
[[File:SL2019-VP.png]]<br />
==IHM abstraite==<br />
[[File:SL2019-IMHA.png]]<br />
==IHM concrète==<br />
<br />
[[File:2019_SkiLocator_maquette_ajouter.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_cartes.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_menu.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_loin.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_proche.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_warning.png]]<br />
<br />
==User Stories==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| User Story<br />
<br />
|-<br />
|<!-- Indentification --> | US_001<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une zone de recherche de mes skis<br />
|-<br />
|<!-- Indentification --> | US_002<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir localiser précisément mes skis<br />
|-<br />
|<!-- Indentification --> | US_003<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir identifier mes skis (ski droite/ ski gauche)<br />
|-<br />
|<!-- Indentification --> | US_004<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir associer des skis à mon application mobile via QR Code<br />
|-<br />
|<!-- Indentification --> | US_005<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie des capteurs sur les skis<br />
|-<br />
|<!-- Indentification --> | US_006<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir connaître à tout moment la position des skis<br />
|-<br />
|<!-- Indentification --> | US_007<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir enregistrer plusieurs paires de skis <br />
|-<br />
|<!-- Indentification --> | US_008<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie sur la gateway<br />
|-<br />
|<!-- Indentification --> | US_009<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une distance approximative à mes skis<br />
|-<br />
|<!-- Indentification --> | US_010<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir de l'aide pour me connecter à la GW (indication, ...) <br />
|-<br />
|<!-- Indentification --> | US_011<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer mes skis perdu<br />
|-<br />
|<!-- Indentification --> | US_012<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer un ski que j'ai trouvé<br />
|-<br />
|<!-- Indentification --> | US_013<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pourvoir changer de téléphone et ne pas apareiller de nouveaux mes skis<br />
|-<br />
|<!-- Indentification --> | US_014<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir appeler à l'aide avec mon smartphone sans raison<br />
|-<br />
|<!-- Indentification --> | US_015<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir nommer mes skis appareillés<br />
|}</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:SL2019-VS2-1.png&diff=45366File:SL2019-VS2-1.png2019-03-19T08:35:28Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&diff=45365PROJET-1FO5 1819 SkiLocator2019-03-19T08:35:08Z<p>Joffrey.Ferreira: /* Vue Sequentielle */</p>
<hr />
<div>=Ski Locator=<br />
<br />
La recherche d’un ski perdu est une expérience déplaisante de par l’effort que nécessite la recherche ainsi que de par l’idée de devoir avoir à acheter une nouvelle paire de ski. La présence de poudreuse rend d’autant plus difficile cette recherche car il est parfois impossible de retrouver des traces du ski perdu.<br />
Le système que nous allons décrire ici a pour but de remédier à ce problème en utilisant les moyens modernes offerts par l’IoT. Nous avons décidé de nommer notre produit HuSki en références aux chiens de traineaux réputés pour leur ténacité et leur sens de l’odorat.<br />
<br />
HuSki se décline en trois composants:<br />
* La HuCard, une carte dans un boîtier fixé sur les skis. Cette carte traque les skis et envoie leur position GPS par communication LoRa.<br />
* La HuConnect, une carte dans une coque de téléphone servant de gateway entre la HuCard et l’application mobile. La HuConnect reçoit les données LoRa et les transmet via Bluetooth.<br />
* L’application HuSki, une application mobile android pour géolocaliser les HuCards connectées.<br />
<br />
Dans la suite de ce rapport nous allons détailler le fonctionnement de chacun de ces trois composants, les difficultés rencontrées lors du développement et nous finirons avec les ouvertures que ce projet apporte. Cependant, avant de poursuivre, il semble tout de même nécessaire de présenter l’équipe.<br />
<br />
<br />
[[File:Iot-lora-alliance-logo.png|200px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Quentin FOMBARON<br />
|Chef de projet<br />
|-<br />
|Joffrey FERREIRA<br />
|SCRUM Master<br />
|-<br />
|Tim LEPAGE<br />
|Développeur<br />
|-<br />
|Titouan LARNICOL<br />
|Développeur<br />
|-<br />
|Thomas OZENDA<br />
|Développeur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau<br />
<br />
=Abstract=<br />
<br />
===Mots clés===<br />
* IOT<br />
* Ski<br />
* GPS<br />
* LoRa<br />
* Localisation<br />
* Application mobile<br />
<br />
=Budget=<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Élément<br />
! scope="col"| Par heure<br />
! scope="col"| Total<br />
|-<br />
! scope="row"| Salaire<br />
| 120.35<br />
| 19 857.75<br />
|-<br />
! scope="row"| Batiment/Matériel<br />
| 5.45<br />
| 900<br />
|-<br />
! scope="row"| Frais exceptionnel<br />
| <br />
| 170<br />
|-<br />
! scope="row"| Ordinateurs personnels<br />
| 6.96<br />
| 1 148.32<br />
|-<br />
! scope="row" colspan="2"| Total<br />
| 246€<br />
|}<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisée des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]<br />
<br />
=Journal=<br />
==Sprint 0 - Du 28/01 au 04/02 ==<br />
<br />
''Lundi 28/01''<br />
* Boitier imprimé en 3D pour une meilleure intégration au ski<br />
* Problème de la batterie (rapport taille/poids et autonomie)<br />
* Application smartphone (Android/iOS)<br />
* Changement de nom : Ski-Locator<br />
* Rendez-vous avec M. Tourancheau cet après-midi :<br />
<br />
* Établir liste du matériel necessaire<br />
* Recherche sur la localisation auto (triangulation)<br />
* DVA : Radio très longues ondes<br />
* Suivi de trajectoire sur le ski, quand on le perd on a une prédiction de la position du ski<br />
* Stocker les données sur le ski et l'envoyer que si besoin<br />
* RSSI pour trouver le ski dans une zone donnée par LoRa Bluetooth<br />
<br />
<br />
''Mardi 29/01''<br />
* Réalisation de l'architecture et IHM<br />
* Kanban bien avancé, sprint de 1 semaine<br />
* User stories<br />
<br />
<br />
''Mercredi 30/01''<br />
* IHM<br />
* Réalisation des maquettes de l'application<br />
* Début application Ionic<br />
* Récupération matériel<br />
<br />
<br />
''Vendredi 01/02''<br />
* Envoi de données sur TTN via la SODAQ ExpLoRer.<br />
* Prise en main de l'Heltec ESP32 avec scan des réseaux WiFi.<br />
* Tentative d'envoi de donnée LoRa via l'ESP32.<br />
<br />
==Sprint 1 - Du 04/02 au 11/02 ==<br />
<br />
''Lundi 04/02''<br />
* Communication LoRa hello entre deux cartes ESP32 et premiers tests sur le Bluetooth et le chiffrement des données<br />
* Modification de la maquette pour s'adapter à la nouvelle méthode de localisation<br />
* On passe de ionic à Android Studio. Trop de dépendances et de problèmes de version avec Ionic pour utiliser certaines fonctionnalités. Ionic non adapté car difficultés à accéder à l'hardware du téléphone.<br />
<br />
''Mardi 05/02''<br />
* Journée à essayer de faire fonctionner la carte GPS SIM28 avec la carte Heltec Wifi LoRa 32. Sans succès...<br />
UPDATE (du soir) : Après un test sur mon Arduino UNO, j'ai eu confirmation que la carte Grove GPS fonctionnait bel et bien. Après l'utilisation de HardwareSerial et non plus de SofwareSerial, nous réccupérons bien les coordonnées GPS de la carte 😊<br />
* APP: création des fragments, intégration de la boussole, ajout d'un ski par lecture QRCode et de la liste de ski.<br />
<br />
<br />
''Mercredi 06/02''<br />
* Réflexion sur la construction des trames entre carte/Gateway et entre Gateway/Application.<br />
* APP: Sauvegarde de la liste de skis, correctifs et améliorations.<br />
* Cryptage des communications LoRa avec une clef de 16 octets<br />
<br />
<br />
''Jeudi 07/02''<br />
* APP: Boussole opérationnelle, pointe vers une position GPS donnée. Problème lorsque le cache de localisation est vide à fix<br />
* Récupération de l'état de la batterie 4V avec un diviseur de tension pour ne pas abimer la carte qui supporte jusque 3.3V sur ses entrées analogiques.<br />
<br />
''Vendredi 08/02''<br />
* Regroupement des fonctionnalités sur l'envoi des données à la GW (ChipID + Long + Lat + Batterie). Résolution d'un bug faisant redémarrer la carte après chaque envoie de donnée.<br />
* Regroupement des données du coté Gateway<br />
* APP : QRCode reader fonctionnel<br />
<br />
==Sprint 2 - Du 11/02 au 18/02 ==<br />
<br />
''Lundi 11/02:''<br />
* APP: Sauvegarde des skis enregistrés sur le téléphone pour persister en cas d'application fermée.<br />
* APP: Utilisation du Qrcode -> redirection pour ajouter un ski.<br />
* Gestion des connexions BT sur la gateway et transition des données app<->carte faite<br />
* Tentative de chiffrement des données avant l'envoi à la GW, plus compliqué que prévu au vu de la complexité de transformer les données en char * !<br />
* Decision prise de lancer la partie DevOps du projet : renseignement sur les techniques, choix des technos<br />
<br />
''Mardi 12/02''<br />
* Abandon pour le moment du chiffrement de données, nous avons peur de perdre un temps précieux, nous reviendrons dessus si le temps nous le permet.<br />
* Script permettant l'envoi ET la réception de donnée en LoRa.<br />
* APP: début du protocole Bluetooth pour envoyer recevoir données<br />
* APP: redirection, ajustement drawer, QR code opé et ajout de carte via qr code fonctionnel<br />
* APP: Amélioration de la naviguation entre fragments.<br />
* DevOps: Mise en place de CircleCI, hook GitHub <br />
<br />
''Mercredi 13/02''<br />
* APP: Fin du protocole bluetooth, on peut communiquer entre l'app et la GW, Création d'un parser pour recevoir les données et les traiter.<br />
* La puce GPS a besoin de 5V, la batterie ne délivre que 3,7V. Je me suis donc procurer un booster pour toujours délivrer 5V.<br />
* DevOps: Sur CircleCI, production d'une APK<br />
<br />
''Jeudi 14/02''<br />
* APP: Merge des différentes fonctionnalités de l'application. Correction de bug par rapport à la naviguation.<br />
* ACK vérifiant l'activation des modes ACTIVE et NORMAL, à peaufiner.<br />
* DevOps: Difficulté pour les InstrumentedTests avec CircleCI, recherche d'une nouvelle solution : Décision de mettre en place un serveur Jenkins<br />
<br />
''Vendredi 15/02''<br />
* Conf call avec Bernard Tourancheau<br />
* APP: Corrections de bugs et optimisations + envoi de tags à la GW pour info Lora<br />
* APP: Tutoriel - Carte : Ack des changements de mode effectuer"<br />
* DevOps: Production d'une APK signée sur Jenkins<br />
<br />
==Sprint 3 - Du 4/03 au 11/03 ==<br />
<br />
==Sprint 4 - Du 11/03 au 15/03 ==<br />
<br />
=Génie Logiciel=<br />
==Diagramme de Contexte==<br />
[[File:SL2019-DC.png]]<br />
==Arbre des tâches==<br />
Retrouver un ski perdu<br />
[[File:SL2019-AT.png]]<br />
<br />
<br />
Ajouter un ski à l'application<br />
[[File:SL2019-AT2.png]]<br />
<br />
==Vue Logique de haut niveau==<br />
[[File:SL2019-VLH.png]]<br />
==Vue Logique de bas niveau==<br />
[[File:SL2019-VLB.png]]<br />
==Vue Sequentielle==<br />
[[File:SL2019-VS.png]]<br />
<br />
<br />
[[File:SL2019-VS2-1.png]]<br />
<br />
==Vue physique==<br />
[[File:SL2019-VP.png]]<br />
==IHM abstraite==<br />
[[File:SL2019-IMHA.png]]<br />
==IHM concrète==<br />
<br />
[[File:2019_SkiLocator_maquette_ajouter.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_cartes.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_menu.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_loin.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_proche.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_warning.png]]<br />
<br />
==User Stories==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| User Story<br />
<br />
|-<br />
|<!-- Indentification --> | US_001<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une zone de recherche de mes skis<br />
|-<br />
|<!-- Indentification --> | US_002<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir localiser précisément mes skis<br />
|-<br />
|<!-- Indentification --> | US_003<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir identifier mes skis (ski droite/ ski gauche)<br />
|-<br />
|<!-- Indentification --> | US_004<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir associer des skis à mon application mobile via QR Code<br />
|-<br />
|<!-- Indentification --> | US_005<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie des capteurs sur les skis<br />
|-<br />
|<!-- Indentification --> | US_006<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir connaître à tout moment la position des skis<br />
|-<br />
|<!-- Indentification --> | US_007<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir enregistrer plusieurs paires de skis <br />
|-<br />
|<!-- Indentification --> | US_008<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie sur la gateway<br />
|-<br />
|<!-- Indentification --> | US_009<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une distance approximative à mes skis<br />
|-<br />
|<!-- Indentification --> | US_010<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir de l'aide pour me connecter à la GW (indication, ...) <br />
|-<br />
|<!-- Indentification --> | US_011<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer mes skis perdu<br />
|-<br />
|<!-- Indentification --> | US_012<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer un ski que j'ai trouvé<br />
|-<br />
|<!-- Indentification --> | US_013<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pourvoir changer de téléphone et ne pas apareiller de nouveaux mes skis<br />
|-<br />
|<!-- Indentification --> | US_014<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir appeler à l'aide avec mon smartphone sans raison<br />
|-<br />
|<!-- Indentification --> | US_015<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir nommer mes skis appareillés<br />
|}</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:SL2019-VS2.png&diff=45364File:SL2019-VS2.png2019-03-19T08:34:33Z<p>Joffrey.Ferreira: Joffrey.Ferreira uploaded a new version of File:SL2019-VS2.png</p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:SL2019-VS2.png&diff=45363File:SL2019-VS2.png2019-03-19T08:33:51Z<p>Joffrey.Ferreira: Joffrey.Ferreira uploaded a new version of File:SL2019-VS2.png</p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:SL2019-VS2.png&diff=45362File:SL2019-VS2.png2019-03-19T08:33:24Z<p>Joffrey.Ferreira: Joffrey.Ferreira uploaded a new version of File:SL2019-VS2.png</p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:SL2019-VS2.png&diff=45361File:SL2019-VS2.png2019-03-19T08:32:12Z<p>Joffrey.Ferreira: Joffrey.Ferreira uploaded a new version of File:SL2019-VS2.png</p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&diff=45311PROJET-1FO5 1819 SkiLocator2019-03-18T10:58:58Z<p>Joffrey.Ferreira: /* Budget */</p>
<hr />
<div>=Ski Locator=<br />
<br />
La recherche d’un ski perdu est une expérience déplaisante de par l’effort que nécessite la recherche ainsi que de par l’idée de devoir avoir à acheter une nouvelle paire de ski. La présence de poudreuse rend d’autant plus difficile cette recherche car il est parfois impossible de retrouver des traces du ski perdu.<br />
Le système que nous allons décrire ici a pour but de remédier à ce problème en utilisant les moyens modernes offerts par l’IoT. Nous avons décidé de nommer notre produit HuSki en références aux chiens de traineaux réputés pour leur ténacité et leur sens de l’odorat.<br />
<br />
HuSki se décline en trois composants:<br />
* La HuCard, une carte dans un boîtier fixé sur les skis. Cette carte traque les skis et envoie leur position GPS par communication LoRa.<br />
* La HuConnect, une carte dans une coque de téléphone servant de gateway entre la HuCard et l’application mobile. La HuConnect reçoit les données LoRa et les transmet via Bluetooth.<br />
* L’application HuSki, une application mobile android pour géolocaliser les HuCards connectées.<br />
<br />
Dans la suite de ce rapport nous allons détailler le fonctionnement de chacun de ces trois composants, les difficultés rencontrées lors du développement et nous finirons avec les ouvertures que ce projet apporte. Cependant, avant de poursuivre, il semble tout de même nécessaire de présenter l’équipe.<br />
<br />
<br />
[[File:Iot-lora-alliance-logo.png|200px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Quentin FOMBARON<br />
|Chef de projet<br />
|-<br />
|Joffrey FERREIRA<br />
|SCRUM Master<br />
|-<br />
|Tim LEPAGE<br />
|Développeur<br />
|-<br />
|Titouan LARNICOL<br />
|Développeur<br />
|-<br />
|Thomas OZENDA<br />
|Développeur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau<br />
<br />
=Abstract=<br />
<br />
===Mots clés===<br />
* IOT<br />
* Ski<br />
* GPS<br />
* LoRa<br />
* Localisation<br />
* Application mobile<br />
<br />
=Budget=<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Élément<br />
! scope="col"| Par heure<br />
! scope="col"| Total<br />
|-<br />
! scope="row"| Salaire<br />
| 120.35<br />
| 19 857.75<br />
|-<br />
! scope="row"| Batiment/Matériel<br />
| 5.45<br />
| 900<br />
|-<br />
! scope="row"| Frais exceptionnel<br />
| <br />
| 170<br />
|-<br />
! scope="row"| Ordinateurs personnels<br />
| 6.96<br />
| 1 148.32<br />
|-<br />
! scope="row" colspan="2"| Total<br />
| 246€<br />
|}<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisée des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]<br />
<br />
=Journal=<br />
==Sprint 0 - Du 28/01 au 04/02 ==<br />
<br />
''Lundi 28/01''<br />
* Boitier imprimé en 3D pour une meilleure intégration au ski<br />
* Problème de la batterie (rapport taille/poids et autonomie)<br />
* Application smartphone (Android/iOS)<br />
* Changement de nom : Ski-Locator<br />
* Rendez-vous avec M. Tourancheau cet après-midi :<br />
<br />
* Établir liste du matériel necessaire<br />
* Recherche sur la localisation auto (triangulation)<br />
* DVA : Radio très longues ondes<br />
* Suivi de trajectoire sur le ski, quand on le perd on a une prédiction de la position du ski<br />
* Stocker les données sur le ski et l'envoyer que si besoin<br />
* RSSI pour trouver le ski dans une zone donnée par LoRa Bluetooth<br />
<br />
<br />
''Mardi 29/01''<br />
* Réalisation de l'architecture et IHM<br />
* Kanban bien avancé, sprint de 1 semaine<br />
* User stories<br />
<br />
<br />
''Mercredi 30/01''<br />
* IHM<br />
* Réalisation des maquettes de l'application<br />
* Début application Ionic<br />
* Récupération matériel<br />
<br />
<br />
''Vendredi 01/02''<br />
* Envoi de données sur TTN via la SODAQ ExpLoRer.<br />
* Prise en main de l'Heltec ESP32 avec scan des réseaux WiFi.<br />
* Tentative d'envoi de donnée LoRa via l'ESP32.<br />
<br />
==Sprint 1 - Du 04/02 au 11/02 ==<br />
<br />
''Lundi 04/02''<br />
* Communication LoRa hello entre deux cartes ESP32 et premiers tests sur le Bluetooth et le chiffrement des données<br />
* Modification de la maquette pour s'adapter à la nouvelle méthode de localisation<br />
* On passe de ionic à Android Studio. Trop de dépendances et de problèmes de version avec Ionic pour utiliser certaines fonctionnalités. Ionic non adapté car difficultés à accéder à l'hardware du téléphone.<br />
<br />
''Mardi 05/02''<br />
* Journée à essayer de faire fonctionner la carte GPS SIM28 avec la carte Heltec Wifi LoRa 32. Sans succès...<br />
UPDATE (du soir) : Après un test sur mon Arduino UNO, j'ai eu confirmation que la carte Grove GPS fonctionnait bel et bien. Après l'utilisation de HardwareSerial et non plus de SofwareSerial, nous réccupérons bien les coordonnées GPS de la carte 😊<br />
* APP: création des fragments, intégration de la boussole, ajout d'un ski par lecture QRCode et de la liste de ski.<br />
<br />
<br />
''Mercredi 06/02''<br />
* Réflexion sur la construction des trames entre carte/Gateway et entre Gateway/Application.<br />
* APP: Sauvegarde de la liste de skis, correctifs et améliorations.<br />
* Cryptage des communications LoRa avec une clef de 16 octets<br />
<br />
<br />
''Jeudi 07/02''<br />
* APP: Boussole opérationnelle, pointe vers une position GPS donnée. Problème lorsque le cache de localisation est vide à fix<br />
* Récupération de l'état de la batterie 4V avec un diviseur de tension pour ne pas abimer la carte qui supporte jusque 3.3V sur ses entrées analogiques.<br />
<br />
''Vendredi 08/02''<br />
* Regroupement des fonctionnalités sur l'envoi des données à la GW (ChipID + Long + Lat + Batterie). Résolution d'un bug faisant redémarrer la carte après chaque envoie de donnée.<br />
* Regroupement des données du coté Gateway<br />
* APP : QRCode reader fonctionnel<br />
<br />
==Sprint 2 - Du 11/02 au 18/02 ==<br />
<br />
''Lundi 11/02:''<br />
* APP: Sauvegarde des skis enregistrés sur le téléphone pour persister en cas d'application fermée.<br />
* APP: Utilisation du Qrcode -> redirection pour ajouter un ski.<br />
* Gestion des connexions BT sur la gateway et transition des données app<->carte faite<br />
* Tentative de chiffrement des données avant l'envoi à la GW, plus compliqué que prévu au vu de la complexité de transformer les données en char * !<br />
* Decision prise de lancer la partie DevOps du projet : renseignement sur les techniques, choix des technos<br />
<br />
''Mardi 12/02''<br />
* Abandon pour le moment du chiffrement de données, nous avons peur de perdre un temps précieux, nous reviendrons dessus si le temps nous le permet.<br />
* Script permettant l'envoi ET la réception de donnée en LoRa.<br />
* APP: début du protocole Bluetooth pour envoyer recevoir données<br />
* APP: redirection, ajustement drawer, QR code opé et ajout de carte via qr code fonctionnel<br />
* APP: Amélioration de la naviguation entre fragments.<br />
* DevOps: Mise en place de CircleCI, hook GitHub <br />
<br />
''Mercredi 13/02''<br />
* APP: Fin du protocole bluetooth, on peut communiquer entre l'app et la GW, Création d'un parser pour recevoir les données et les traiter.<br />
* La puce GPS a besoin de 5V, la batterie ne délivre que 3,7V. Je me suis donc procurer un booster pour toujours délivrer 5V.<br />
* DevOps: Sur CircleCI, production d'une APK<br />
<br />
''Jeudi 14/02''<br />
* APP: Merge des différentes fonctionnalités de l'application. Correction de bug par rapport à la naviguation.<br />
* ACK vérifiant l'activation des modes ACTIVE et NORMAL, à peaufiner.<br />
* DevOps: Difficulté pour les InstrumentedTests avec CircleCI, recherche d'une nouvelle solution : Décision de mettre en place un serveur Jenkins<br />
<br />
''Vendredi 15/02''<br />
* Conf call avec Bernard Tourancheau<br />
* APP: Corrections de bugs et optimisations + envoi de tags à la GW pour info Lora<br />
* APP: Tutoriel - Carte : Ack des changements de mode effectuer"<br />
* DevOps: Production d'une APK signée sur Jenkins<br />
<br />
==Sprint 3 - Du 4/03 au 11/03 ==<br />
<br />
==Sprint 4 - Du 11/03 au 15/03 ==<br />
<br />
=Génie Logiciel=<br />
==Diagramme de Contexte==<br />
[[File:SL2019-DC.png]]<br />
==Arbre des tâches==<br />
Retrouver un ski perdu<br />
[[File:SL2019-AT.png]]<br />
<br />
<br />
Ajouter un ski à l'application<br />
[[File:SL2019-AT2.png]]<br />
<br />
==Vue Logique de haut niveau==<br />
[[File:SL2019-VLH.png]]<br />
==Vue Logique de bas niveau==<br />
[[File:SL2019-VLB.png]]<br />
==Vue Sequentielle==<br />
[[File:SL2019-VS.png]]<br />
<br />
<br />
[[File:SL2019-VS2.png]]<br />
<br />
==Vue physique==<br />
[[File:SL2019-VP.png]]<br />
==IHM abstraite==<br />
[[File:SL2019-IMHA.png]]<br />
==IHM concrète==<br />
<br />
[[File:2019_SkiLocator_maquette_ajouter.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_cartes.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_menu.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_loin.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_proche.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_warning.png]]<br />
<br />
==User Stories==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| User Story<br />
<br />
|-<br />
|<!-- Indentification --> | US_001<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une zone de recherche de mes skis<br />
|-<br />
|<!-- Indentification --> | US_002<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir localiser précisément mes skis<br />
|-<br />
|<!-- Indentification --> | US_003<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir identifier mes skis (ski droite/ ski gauche)<br />
|-<br />
|<!-- Indentification --> | US_004<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir associer des skis à mon application mobile via QR Code<br />
|-<br />
|<!-- Indentification --> | US_005<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie des capteurs sur les skis<br />
|-<br />
|<!-- Indentification --> | US_006<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir connaître à tout moment la position des skis<br />
|-<br />
|<!-- Indentification --> | US_007<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir enregistrer plusieurs paires de skis <br />
|-<br />
|<!-- Indentification --> | US_008<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie sur la gateway<br />
|-<br />
|<!-- Indentification --> | US_009<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une distance approximative à mes skis<br />
|-<br />
|<!-- Indentification --> | US_010<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir de l'aide pour me connecter à la GW (indication, ...) <br />
|-<br />
|<!-- Indentification --> | US_011<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer mes skis perdu<br />
|-<br />
|<!-- Indentification --> | US_012<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer un ski que j'ai trouvé<br />
|-<br />
|<!-- Indentification --> | US_013<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pourvoir changer de téléphone et ne pas apareiller de nouveaux mes skis<br />
|-<br />
|<!-- Indentification --> | US_014<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir appeler à l'aide avec mon smartphone sans raison<br />
|-<br />
|<!-- Indentification --> | US_015<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir nommer mes skis appareillés<br />
|}</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&diff=45308PROJET-1FO5 1819 SkiLocator2019-03-18T10:56:39Z<p>Joffrey.Ferreira: /* Présentation */</p>
<hr />
<div>=Ski Locator=<br />
<br />
La recherche d’un ski perdu est une expérience déplaisante de par l’effort que nécessite la recherche ainsi que de par l’idée de devoir avoir à acheter une nouvelle paire de ski. La présence de poudreuse rend d’autant plus difficile cette recherche car il est parfois impossible de retrouver des traces du ski perdu.<br />
Le système que nous allons décrire ici a pour but de remédier à ce problème en utilisant les moyens modernes offerts par l’IoT. Nous avons décidé de nommer notre produit HuSki en références aux chiens de traineaux réputés pour leur ténacité et leur sens de l’odorat.<br />
<br />
HuSki se décline en trois composants:<br />
* La HuCard, une carte dans un boîtier fixé sur les skis. Cette carte traque les skis et envoie leur position GPS par communication LoRa.<br />
* La HuConnect, une carte dans une coque de téléphone servant de gateway entre la HuCard et l’application mobile. La HuConnect reçoit les données LoRa et les transmet via Bluetooth.<br />
* L’application HuSki, une application mobile android pour géolocaliser les HuCards connectées.<br />
<br />
Dans la suite de ce rapport nous allons détailler le fonctionnement de chacun de ces trois composants, les difficultés rencontrées lors du développement et nous finirons avec les ouvertures que ce projet apporte. Cependant, avant de poursuivre, il semble tout de même nécessaire de présenter l’équipe.<br />
<br />
<br />
[[File:Iot-lora-alliance-logo.png|200px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Quentin FOMBARON<br />
|Chef de projet<br />
|-<br />
|Joffrey FERREIRA<br />
|SCRUM Master<br />
|-<br />
|Tim LEPAGE<br />
|Développeur<br />
|-<br />
|Titouan LARNICOL<br />
|Développeur<br />
|-<br />
|Thomas OZENDA<br />
|Développeur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau<br />
<br />
=Abstract=<br />
<br />
===Mots clés===<br />
* IOT<br />
* Ski<br />
* GPS<br />
* LoRa<br />
* Localisation<br />
* Application mobile<br />
<br />
=Budget=<br />
<br />
{| class="wikitable"<br />
|-<br />
! scope="col"| Élément<br />
! scope="col"| Quantité<br />
! scope="col"| Prix<br />
|-<br />
! scope="row"| LoRaONE<br />
| 2<br />
| 180€<br />
|-<br />
! scope="row"| Gateway 433MHz<br />
| 1<br />
| 14€<br />
|-<br />
! scope="row"| Batteries<br />
| 3<br />
| 8€<br />
|-<br />
! scope="row"| Boîtiers<br />
| 3<br />
| 44€<br />
|-<br />
! scope="row" colspan="2"| Total<br />
| 246€<br />
|}<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisée des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]<br />
<br />
=Journal=<br />
==Sprint 0 - Du 28/01 au 04/02 ==<br />
<br />
''Lundi 28/01''<br />
* Boitier imprimé en 3D pour une meilleure intégration au ski<br />
* Problème de la batterie (rapport taille/poids et autonomie)<br />
* Application smartphone (Android/iOS)<br />
* Changement de nom : Ski-Locator<br />
* Rendez-vous avec M. Tourancheau cet après-midi :<br />
<br />
* Établir liste du matériel necessaire<br />
* Recherche sur la localisation auto (triangulation)<br />
* DVA : Radio très longues ondes<br />
* Suivi de trajectoire sur le ski, quand on le perd on a une prédiction de la position du ski<br />
* Stocker les données sur le ski et l'envoyer que si besoin<br />
* RSSI pour trouver le ski dans une zone donnée par LoRa Bluetooth<br />
<br />
<br />
''Mardi 29/01''<br />
* Réalisation de l'architecture et IHM<br />
* Kanban bien avancé, sprint de 1 semaine<br />
* User stories<br />
<br />
<br />
''Mercredi 30/01''<br />
* IHM<br />
* Réalisation des maquettes de l'application<br />
* Début application Ionic<br />
* Récupération matériel<br />
<br />
<br />
''Vendredi 01/02''<br />
* Envoi de données sur TTN via la SODAQ ExpLoRer.<br />
* Prise en main de l'Heltec ESP32 avec scan des réseaux WiFi.<br />
* Tentative d'envoi de donnée LoRa via l'ESP32.<br />
<br />
==Sprint 1 - Du 04/02 au 11/02 ==<br />
<br />
''Lundi 04/02''<br />
* Communication LoRa hello entre deux cartes ESP32 et premiers tests sur le Bluetooth et le chiffrement des données<br />
* Modification de la maquette pour s'adapter à la nouvelle méthode de localisation<br />
* On passe de ionic à Android Studio. Trop de dépendances et de problèmes de version avec Ionic pour utiliser certaines fonctionnalités. Ionic non adapté car difficultés à accéder à l'hardware du téléphone.<br />
<br />
''Mardi 05/02''<br />
* Journée à essayer de faire fonctionner la carte GPS SIM28 avec la carte Heltec Wifi LoRa 32. Sans succès...<br />
UPDATE (du soir) : Après un test sur mon Arduino UNO, j'ai eu confirmation que la carte Grove GPS fonctionnait bel et bien. Après l'utilisation de HardwareSerial et non plus de SofwareSerial, nous réccupérons bien les coordonnées GPS de la carte 😊<br />
* APP: création des fragments, intégration de la boussole, ajout d'un ski par lecture QRCode et de la liste de ski.<br />
<br />
<br />
''Mercredi 06/02''<br />
* Réflexion sur la construction des trames entre carte/Gateway et entre Gateway/Application.<br />
* APP: Sauvegarde de la liste de skis, correctifs et améliorations.<br />
* Cryptage des communications LoRa avec une clef de 16 octets<br />
<br />
<br />
''Jeudi 07/02''<br />
* APP: Boussole opérationnelle, pointe vers une position GPS donnée. Problème lorsque le cache de localisation est vide à fix<br />
* Récupération de l'état de la batterie 4V avec un diviseur de tension pour ne pas abimer la carte qui supporte jusque 3.3V sur ses entrées analogiques.<br />
<br />
''Vendredi 08/02''<br />
* Regroupement des fonctionnalités sur l'envoi des données à la GW (ChipID + Long + Lat + Batterie). Résolution d'un bug faisant redémarrer la carte après chaque envoie de donnée.<br />
* Regroupement des données du coté Gateway<br />
* APP : QRCode reader fonctionnel<br />
<br />
==Sprint 2 - Du 11/02 au 18/02 ==<br />
<br />
''Lundi 11/02:''<br />
* APP: Sauvegarde des skis enregistrés sur le téléphone pour persister en cas d'application fermée.<br />
* APP: Utilisation du Qrcode -> redirection pour ajouter un ski.<br />
* Gestion des connexions BT sur la gateway et transition des données app<->carte faite<br />
* Tentative de chiffrement des données avant l'envoi à la GW, plus compliqué que prévu au vu de la complexité de transformer les données en char * !<br />
* Decision prise de lancer la partie DevOps du projet : renseignement sur les techniques, choix des technos<br />
<br />
''Mardi 12/02''<br />
* Abandon pour le moment du chiffrement de données, nous avons peur de perdre un temps précieux, nous reviendrons dessus si le temps nous le permet.<br />
* Script permettant l'envoi ET la réception de donnée en LoRa.<br />
* APP: début du protocole Bluetooth pour envoyer recevoir données<br />
* APP: redirection, ajustement drawer, QR code opé et ajout de carte via qr code fonctionnel<br />
* APP: Amélioration de la naviguation entre fragments.<br />
* DevOps: Mise en place de CircleCI, hook GitHub <br />
<br />
''Mercredi 13/02''<br />
* APP: Fin du protocole bluetooth, on peut communiquer entre l'app et la GW, Création d'un parser pour recevoir les données et les traiter.<br />
* La puce GPS a besoin de 5V, la batterie ne délivre que 3,7V. Je me suis donc procurer un booster pour toujours délivrer 5V.<br />
* DevOps: Sur CircleCI, production d'une APK<br />
<br />
''Jeudi 14/02''<br />
* APP: Merge des différentes fonctionnalités de l'application. Correction de bug par rapport à la naviguation.<br />
* ACK vérifiant l'activation des modes ACTIVE et NORMAL, à peaufiner.<br />
* DevOps: Difficulté pour les InstrumentedTests avec CircleCI, recherche d'une nouvelle solution : Décision de mettre en place un serveur Jenkins<br />
<br />
''Vendredi 15/02''<br />
* Conf call avec Bernard Tourancheau<br />
* APP: Corrections de bugs et optimisations + envoi de tags à la GW pour info Lora<br />
* APP: Tutoriel - Carte : Ack des changements de mode effectuer"<br />
* DevOps: Production d'une APK signée sur Jenkins<br />
<br />
==Sprint 3 - Du 4/03 au 11/03 ==<br />
<br />
==Sprint 4 - Du 11/03 au 15/03 ==<br />
<br />
=Génie Logiciel=<br />
==Diagramme de Contexte==<br />
[[File:SL2019-DC.png]]<br />
==Arbre des tâches==<br />
Retrouver un ski perdu<br />
[[File:SL2019-AT.png]]<br />
<br />
<br />
Ajouter un ski à l'application<br />
[[File:SL2019-AT2.png]]<br />
<br />
==Vue Logique de haut niveau==<br />
[[File:SL2019-VLH.png]]<br />
==Vue Logique de bas niveau==<br />
[[File:SL2019-VLB.png]]<br />
==Vue Sequentielle==<br />
[[File:SL2019-VS.png]]<br />
<br />
<br />
[[File:SL2019-VS2.png]]<br />
<br />
==Vue physique==<br />
[[File:SL2019-VP.png]]<br />
==IHM abstraite==<br />
[[File:SL2019-IMHA.png]]<br />
==IHM concrète==<br />
<br />
[[File:2019_SkiLocator_maquette_ajouter.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_cartes.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_menu.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_loin.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_proche.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_warning.png]]<br />
<br />
==User Stories==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| User Story<br />
<br />
|-<br />
|<!-- Indentification --> | US_001<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une zone de recherche de mes skis<br />
|-<br />
|<!-- Indentification --> | US_002<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir localiser précisément mes skis<br />
|-<br />
|<!-- Indentification --> | US_003<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir identifier mes skis (ski droite/ ski gauche)<br />
|-<br />
|<!-- Indentification --> | US_004<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir associer des skis à mon application mobile via QR Code<br />
|-<br />
|<!-- Indentification --> | US_005<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie des capteurs sur les skis<br />
|-<br />
|<!-- Indentification --> | US_006<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir connaître à tout moment la position des skis<br />
|-<br />
|<!-- Indentification --> | US_007<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir enregistrer plusieurs paires de skis <br />
|-<br />
|<!-- Indentification --> | US_008<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie sur la gateway<br />
|-<br />
|<!-- Indentification --> | US_009<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une distance approximative à mes skis<br />
|-<br />
|<!-- Indentification --> | US_010<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir de l'aide pour me connecter à la GW (indication, ...) <br />
|-<br />
|<!-- Indentification --> | US_011<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer mes skis perdu<br />
|-<br />
|<!-- Indentification --> | US_012<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer un ski que j'ai trouvé<br />
|-<br />
|<!-- Indentification --> | US_013<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pourvoir changer de téléphone et ne pas apareiller de nouveaux mes skis<br />
|-<br />
|<!-- Indentification --> | US_014<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir appeler à l'aide avec mon smartphone sans raison<br />
|-<br />
|<!-- Indentification --> | US_015<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir nommer mes skis appareillés<br />
|}</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&diff=45306PROJET-1FO5 1819 SkiLocator2019-03-18T10:54:59Z<p>Joffrey.Ferreira: </p>
<hr />
<div>=Ski Locator=<br />
<br />
La recherche d’un ski perdu est une expérience déplaisante de par l’effort que nécessite la recherche ainsi que de par l’idée de devoir avoir à acheter une nouvelle paire de ski. La présence de poudreuse rend d’autant plus difficile cette recherche car il est parfois impossible de retrouver des traces du ski perdu.<br />
Le système que nous allons décrire ici a pour but de remédier à ce problème en utilisant les moyens modernes offerts par l’IoT. Nous avons décidé de nommer notre produit HuSki en références aux chiens de traineaux réputés pour leur ténacité et leur sens de l’odorat.<br />
<br />
HuSki se décline en trois composants:<br />
* La HuCard, une carte dans un boîtier fixé sur les skis. Cette carte traque les skis et envoie leur position GPS par communication LoRa.<br />
* La HuConnect, une carte dans une coque de téléphone servant de gateway entre la HuCard et l’application mobile. La HuConnect reçoit les données LoRa et les transmet via Bluetooth.<br />
* L’application HuSki, une application mobile android pour géolocaliser les HuCards connectées.<br />
<br />
Dans la suite de ce rapport nous allons détailler le fonctionnement de chacun de ces trois composants, les difficultés rencontrées lors du développement et nous finirons avec les ouvertures que ce projet apporte. Cependant, avant de poursuivre, il semble tout de même nécessaire de présenter l’équipe.<br />
<br />
<br />
[[File:Iot-lora-alliance-logo.png|200px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Quentin FOMBARON<br />
|Chef de projet<br />
|-<br />
|Joffrey FERREIRA<br />
|SCRUM Master<br />
|-<br />
|Tim LEPAGE<br />
|Développeur<br />
|-<br />
|Titouan LARNICOL<br />
|Développeur<br />
|-<br />
|Thomas OZENDA<br />
|Développeur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau<br />
<br />
=Abstract=<br />
<br />
===Mots clés===<br />
* IOT<br />
* Ski<br />
* GPS<br />
* LoRa<br />
* Localisation<br />
* Application mobile<br />
<br />
=Présentation= <br />
<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisée des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]<br />
<br />
=Journal=<br />
==Sprint 0 - Du 28/01 au 04/02 ==<br />
<br />
''Lundi 28/01''<br />
* Boitier imprimé en 3D pour une meilleure intégration au ski<br />
* Problème de la batterie (rapport taille/poids et autonomie)<br />
* Application smartphone (Android/iOS)<br />
* Changement de nom : Ski-Locator<br />
* Rendez-vous avec M. Tourancheau cet après-midi :<br />
<br />
* Établir liste du matériel necessaire<br />
* Recherche sur la localisation auto (triangulation)<br />
* DVA : Radio très longues ondes<br />
* Suivi de trajectoire sur le ski, quand on le perd on a une prédiction de la position du ski<br />
* Stocker les données sur le ski et l'envoyer que si besoin<br />
* RSSI pour trouver le ski dans une zone donnée par LoRa Bluetooth<br />
<br />
<br />
''Mardi 29/01''<br />
* Réalisation de l'architecture et IHM<br />
* Kanban bien avancé, sprint de 1 semaine<br />
* User stories<br />
<br />
<br />
''Mercredi 30/01''<br />
* IHM<br />
* Réalisation des maquettes de l'application<br />
* Début application Ionic<br />
* Récupération matériel<br />
<br />
<br />
''Vendredi 01/02''<br />
* Envoi de données sur TTN via la SODAQ ExpLoRer.<br />
* Prise en main de l'Heltec ESP32 avec scan des réseaux WiFi.<br />
* Tentative d'envoi de donnée LoRa via l'ESP32.<br />
<br />
==Sprint 1 - Du 04/02 au 11/02 ==<br />
<br />
''Lundi 04/02''<br />
* Communication LoRa hello entre deux cartes ESP32 et premiers tests sur le Bluetooth et le chiffrement des données<br />
* Modification de la maquette pour s'adapter à la nouvelle méthode de localisation<br />
* On passe de ionic à Android Studio. Trop de dépendances et de problèmes de version avec Ionic pour utiliser certaines fonctionnalités. Ionic non adapté car difficultés à accéder à l'hardware du téléphone.<br />
<br />
''Mardi 05/02''<br />
* Journée à essayer de faire fonctionner la carte GPS SIM28 avec la carte Heltec Wifi LoRa 32. Sans succès...<br />
UPDATE (du soir) : Après un test sur mon Arduino UNO, j'ai eu confirmation que la carte Grove GPS fonctionnait bel et bien. Après l'utilisation de HardwareSerial et non plus de SofwareSerial, nous réccupérons bien les coordonnées GPS de la carte 😊<br />
* APP: création des fragments, intégration de la boussole, ajout d'un ski par lecture QRCode et de la liste de ski.<br />
<br />
<br />
''Mercredi 06/02''<br />
* Réflexion sur la construction des trames entre carte/Gateway et entre Gateway/Application.<br />
* APP: Sauvegarde de la liste de skis, correctifs et améliorations.<br />
* Cryptage des communications LoRa avec une clef de 16 octets<br />
<br />
<br />
''Jeudi 07/02''<br />
* APP: Boussole opérationnelle, pointe vers une position GPS donnée. Problème lorsque le cache de localisation est vide à fix<br />
* Récupération de l'état de la batterie 4V avec un diviseur de tension pour ne pas abimer la carte qui supporte jusque 3.3V sur ses entrées analogiques.<br />
<br />
''Vendredi 08/02''<br />
* Regroupement des fonctionnalités sur l'envoi des données à la GW (ChipID + Long + Lat + Batterie). Résolution d'un bug faisant redémarrer la carte après chaque envoie de donnée.<br />
* Regroupement des données du coté Gateway<br />
* APP : QRCode reader fonctionnel<br />
<br />
==Sprint 2 - Du 11/02 au 18/02 ==<br />
<br />
''Lundi 11/02:''<br />
* APP: Sauvegarde des skis enregistrés sur le téléphone pour persister en cas d'application fermée.<br />
* APP: Utilisation du Qrcode -> redirection pour ajouter un ski.<br />
* Gestion des connexions BT sur la gateway et transition des données app<->carte faite<br />
* Tentative de chiffrement des données avant l'envoi à la GW, plus compliqué que prévu au vu de la complexité de transformer les données en char * !<br />
* Decision prise de lancer la partie DevOps du projet : renseignement sur les techniques, choix des technos<br />
<br />
''Mardi 12/02''<br />
* Abandon pour le moment du chiffrement de données, nous avons peur de perdre un temps précieux, nous reviendrons dessus si le temps nous le permet.<br />
* Script permettant l'envoi ET la réception de donnée en LoRa.<br />
* APP: début du protocole Bluetooth pour envoyer recevoir données<br />
* APP: redirection, ajustement drawer, QR code opé et ajout de carte via qr code fonctionnel<br />
* APP: Amélioration de la naviguation entre fragments.<br />
* DevOps: Mise en place de CircleCI, hook GitHub <br />
<br />
''Mercredi 13/02''<br />
* APP: Fin du protocole bluetooth, on peut communiquer entre l'app et la GW, Création d'un parser pour recevoir les données et les traiter.<br />
* La puce GPS a besoin de 5V, la batterie ne délivre que 3,7V. Je me suis donc procurer un booster pour toujours délivrer 5V.<br />
* DevOps: Sur CircleCI, production d'une APK<br />
<br />
''Jeudi 14/02''<br />
* APP: Merge des différentes fonctionnalités de l'application. Correction de bug par rapport à la naviguation.<br />
* ACK vérifiant l'activation des modes ACTIVE et NORMAL, à peaufiner.<br />
* DevOps: Difficulté pour les InstrumentedTests avec CircleCI, recherche d'une nouvelle solution : Décision de mettre en place un serveur Jenkins<br />
<br />
''Vendredi 15/02''<br />
* Conf call avec Bernard Tourancheau<br />
* APP: Corrections de bugs et optimisations + envoi de tags à la GW pour info Lora<br />
* APP: Tutoriel - Carte : Ack des changements de mode effectuer"<br />
* DevOps: Production d'une APK signée sur Jenkins<br />
<br />
==Sprint 3 - Du 4/03 au 11/03 ==<br />
<br />
==Sprint 4 - Du 11/03 au 15/03 ==<br />
<br />
=Génie Logiciel=<br />
==Diagramme de Contexte==<br />
[[File:SL2019-DC.png]]<br />
==Arbre des tâches==<br />
Retrouver un ski perdu<br />
[[File:SL2019-AT.png]]<br />
<br />
<br />
Ajouter un ski à l'application<br />
[[File:SL2019-AT2.png]]<br />
<br />
==Vue Logique de haut niveau==<br />
[[File:SL2019-VLH.png]]<br />
==Vue Logique de bas niveau==<br />
[[File:SL2019-VLB.png]]<br />
==Vue Sequentielle==<br />
[[File:SL2019-VS.png]]<br />
<br />
<br />
[[File:SL2019-VS2.png]]<br />
<br />
==Vue physique==<br />
[[File:SL2019-VP.png]]<br />
==IHM abstraite==<br />
[[File:SL2019-IMHA.png]]<br />
==IHM concrète==<br />
<br />
[[File:2019_SkiLocator_maquette_ajouter.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_cartes.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_menu.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_loin.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_proche.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_warning.png]]<br />
<br />
==User Stories==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| User Story<br />
<br />
|-<br />
|<!-- Indentification --> | US_001<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une zone de recherche de mes skis<br />
|-<br />
|<!-- Indentification --> | US_002<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir localiser précisément mes skis<br />
|-<br />
|<!-- Indentification --> | US_003<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir identifier mes skis (ski droite/ ski gauche)<br />
|-<br />
|<!-- Indentification --> | US_004<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir associer des skis à mon application mobile via QR Code<br />
|-<br />
|<!-- Indentification --> | US_005<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie des capteurs sur les skis<br />
|-<br />
|<!-- Indentification --> | US_006<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir connaître à tout moment la position des skis<br />
|-<br />
|<!-- Indentification --> | US_007<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir enregistrer plusieurs paires de skis <br />
|-<br />
|<!-- Indentification --> | US_008<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir visualiser le niveau de batterie sur la gateway<br />
|-<br />
|<!-- Indentification --> | US_009<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir une distance approximative à mes skis<br />
|-<br />
|<!-- Indentification --> | US_010<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir avoir de l'aide pour me connecter à la GW (indication, ...) <br />
|-<br />
|<!-- Indentification --> | US_011<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer mes skis perdu<br />
|-<br />
|<!-- Indentification --> | US_012<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir déclarer un ski que j'ai trouvé<br />
|-<br />
|<!-- Indentification --> | US_013<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pourvoir changer de téléphone et ne pas apareiller de nouveaux mes skis<br />
|-<br />
|<!-- Indentification --> | US_014<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir appeler à l'aide avec mon smartphone sans raison<br />
|-<br />
|<!-- Indentification --> | US_015<br />
|<!-- User Story--> style="width: 100%;" | En tant que skieur, je souhaite pouvoir nommer mes skis appareillés<br />
|}</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=Projets_2018-2019&diff=45179Projets 2018-20192019-03-05T09:32:09Z<p>Joffrey.Ferreira: /* Affectations */</p>
<hr />
<div><<[[Projets 2017-2018]] | [[Projets]] | [[Projets 2019-2020]]>><br />
=INFO=<br />
==INFO3==<br />
<br />
==INFO4==<br />
===Projet Semestre S8===<br />
<br />
Enseignants responsables : Olivier Richard, Didier Donsez<br />
<br />
* Dates : Lundi après-midi, Mardi après-midi <br />
* Lancement: '''21/01/19 à 14h30'''<br />
* Soutenance à mi-parcours: A définir<br />
* Soutenance: A définir<br />
<br />
* '''Evaluation à mi-parcours le lundi/mardi ???''': Format: 10min (5min de présentation 3 slides au plus, 5min de discussion). Cette évaluation sera prise en compte dans la note finale.<br />
<br />
'''Consignes générales:'''<br />
<br />
* '''Vous devez être pro-actifs !!!''': Si des points sont pas ou mals spécifiés, vous le faîtes et vous justifiez vos choix. Pour les problèmes techniques éventuels vous pouvez: creuser la question, contacter l'auteur du code si il y a lieu, écrire un rapport de bug ('''Attention:''' ca se prépare !), soumettre un patch/pull request, contacter l'enseignant ou la personne référente du projet.<br />
<br />
* '''Vous devez maintenir une fiche de suivi de projet''': elle doit être mise à jour chaque semaine, elle rassemble les élements essentiels du projet, elle indique les évolutions du projet et présente sa feuille de route. '''Note:''' le nom de la fiche doit être composé du nom du projet et suffixé par info4_2018_2019. '''Cette fiche compte pour la note finale'''<br />
<br />
* '''Votre code''' pour doit être hébergé sur le gitlab et à l'URL suivante https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19 , vous utiliserez votre compte UGA.<br />
<br />
* Chaque projet doit avoir '''aux moins 2 dépôts git''':<br />
** '''Un pour les documents''' demandés rapport, présentation de pré-soutenante, de soutenance, flyer. '''Il sera appelé documents.'''<br />
** Un ou plusieurs pour le code, les tests, les évaluations, les preuves de concept, la ou les documentations afférentes. <br />
<br />
* Les documents public doivent être rédigés en anglais (README, documentation, commentaires de code, nom de variables et de fonctions). Une bonnification sera accordée si le rapport et les transparents sont en anglais (la soutenance sera en francais).<br />
<br />
* '''La note obtenue''' tiendra compte du '''nombre et de la qualité des commits''' observé dans '''vos dépots git et la branche master''' (or depot documents). La qualité comprend l'intitulé du commit et son contenu. Les notes pourront être différentiées dans un groupe, il n'est pas acceptable de pas avoir de commit dans le(s) dépôt(s) du projet (or dépôt documents).<br />
<br />
* Il est fortement conseillé de suivre un '''développement incrémental''' qui permette d'avoir à tout moment un démonstrateur à présenter, un projet peut être constituer d'une succession de '''démonstrateurs présentables séparément'''.<br />
<br />
* Vous devez faire aussi des '''schémas d'architectures générales et/ou spéficiques, des diagrammes de séquence''', et autre documents de spécification si nécessaire. Ces documents vous serviront de base de discussion/brainstorming interne ainsi que dans vos différents documents (rapport, présentations, documentation). Ces schémas sont avant tout conceptuels et techniques.<br />
<br />
===Propositions de projets===<br />
<br />
* [[LoRaGAN]] : LoRa in the Space, Didier Donsez avec le [https://www.csug.fr/ CSUG] (S)<br />
* [[LoRaRescueBalloon]], Didier Donsez avec le [https://www.csug.fr/ CSUG] et des élèves IESE 3 et 4. (S)<br />
* Agriculture connectée à [[ASAC/AP|Polytech]] et à [[ASAC/SJC|St Cassien]] en partenariat avec les projets collectifs IESE/MAT<br />
*# [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]] - Projet embarqué sur STM32 ou RPi3 + LoRa (S)<br />
*# [[ASAC/AP/AP-2019-2|Serre Polytech - Kiosk]] - Kiosk, App. mobile Android et site web de visualisation des données (M)<br />
*# [[ASAC/SJC/SJC-2019|Serre St Cassien]] - Kiosk, App. mobile Android et site web de visualisation des données (M)<br />
* [[Projet FICHA - tri sélectif connecté]], Sylvain Toru.<br />
* [[Dataviz de la qualité de l'air]], Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT] (M)<br />
* [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]], Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier] (M)<br />
* [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]], Didier Donsez (S&M)<br />
* [[Serious game multi-joueurs pour tables tactiles en réseau]] : Anne-Laure Finkel, Tim Lepage, Didier Donsez. (S&M)<br />
* [[Interface de visualisation mobile du projet e-Tree]]: Anne Delaballe, Didier Donsez. (M)<br />
* [[OpenHAB UPnP DCS 2018]], Didier Donsez (S&M)<br />
* [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]], Didier Donsez et d'autres avec Neoxia<br />
* [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]], Olivier Richard (S)<br />
* [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]], Olivier Richard (S)<br />
* [[Colmet_energy | Mesure de consommation d'énergie et de perfomance pour cluster]], Olivier Richard (S)<br />
* [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]], Olivier Richard (S)<br />
* [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]], Olivier Richard (S&M)<br />
* [[generate_NIX_expression | Génération d'expression NIX]] (S)<br />
<br />
Non prioritaire<br />
* [[Précarité numérique]], Didier Donsez, avec [https://disrupt-campus.univ-grenoble-alpes.fr/ Disrupt Campus]<br />
* [[Covoiturage Solidaire]], Didier Donsez<br />
* [[CannonBall de voitures autonomes 2018]]<br />
* Intégration de [[Walabot]] à [[RobAIR]]<br />
<br />
==== Affectation ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO4 2018-2019<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Dépot git<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[LoRaGAN]]<br />
| VINCENT Mathieu, SAUTON Tanguy, ANCRENAZ Ariane<br />
| Didier Donsez avec le [https://www.csug.fr/ CSUG]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/1/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[LoRaRescueBalloon]]<br />
| Non attribué<br />
| Didier Donsez avec le [https://www.csug.fr/ CSUG]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/2/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[ASAC/AP/AP-2019-1|Serre Polytech - Système embarqué]]<br />
| Non attribué<br />
| Nicolas Palix<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/3/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[ASAC/AP/AP-2019-2|Serre Polytech]]<br />
| RAKOTOARIMALALA Andriamahatratra, BARDOU Eva, GAUFFIER Léni<br />
| Nicolas Palix<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/4/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| [[ASAC/SJC/SJC-2019|Serre St Cassien]]<br />
| DECAMPS Marceau, LANDI Estelle, BONASPETTI GIULIA<br />
| Nicolas Palix<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/5/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Projet FICHA - tri sélectif connecté]]<br />
| SCHANEN Loïc, VINCENT Maxence, VANDAL Jade<br />
| Sylvain Toru<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/6/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| [[Dataviz de la qualité de l'air]]<br />
| ZARCOS Paul, ZHENG Jian, REYMOND Estelle<br />
| Didier Donsez, avec Atmo AURA et [https://github.com/CampusIoT/campusiot.github.io CampusIoT]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/7/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[Application mobile Ionic pour Cages à marmotte connectées en LoRaWAN]]<br />
| SERRE Ancelin, BOUVIER Baptiste, WYKLAND Damien<br />
| Didier Donsez, Franck Delbard, avec le [https://www.jardinalpindulautaret.fr/ Station alpine Joseph Fourier]<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/8/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 9<br />
| [[Testeur radio LoRaWAN en Ionic pour la plateforme CampusIoT]]<br />
| THOMAS Antoine, RIVOIRE Antoine, DENIS Guillaume<br />
| Didier Donsez<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/9/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 10<br />
| [[Serious game multi-joueurs pour tables tactiles en réseau]]<br />
| DUMENIL Antoine, BETEND Baptiste, JAN Léo<br />
| Anne-Laure Finkel, Tim Lepage, Didier Donsez<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/10/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 11<br />
| [[Interface de visualisation mobile du projet e-Tree]]<br />
| SOLVERY Tom, SALA Ergi, DUMAX-VORZET Mathieu<br />
| Anne Delaballe, Didier Donsez<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/11/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 12<br />
| [[OpenHAB UPnP DCS 2018]]<br />
| VARENNE Rémi, TRESTOUR Grégory, SOUCHON Loïc<br />
| Didier Donsez<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/12/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 13<br />
| [[Application mobile Ionic pour cabine de biathlon connectée en LoRa]]<br />
| LORDEY Maxime, LATTARD Alexis, GILBERT-COLLET Bertrand<br />
| Didier Donsez et d'autres avec Neoxia<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/13/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 14<br />
| [[P2P_IPFS | Réseau social pair-à-pair basé sur IPFS]]<br />
| REYGROBELLET Lucas, BRES Maxence, PELISSON Antoine<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/14/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 15<br />
| [[proxy_web_oar | Service de Proxy web pour un gestionnaire de tâches]]<br />
| Non attribué<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/15/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 16<br />
| [[Colmet_energy | Mesure de consommation d'énergie et de perfomance pour cluster]]<br />
| DALAINE Nathan, FONTFREYDE Joachim, GAUTIER-PIGNONBLANC Yann<br />
| Olivier Richard, Adrien Faure<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/16/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 17<br />
| [[kanixfs | Diffusion de fichiers pour le gestionnaire de paquets NIX sur supercalculateur]]<br />
| Non attribué<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/17/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 18<br />
| [[dashboard_sci | Générateur de tableau de bord pour applications scientifiques]]<br />
| BADAT Léya, CUAU Victor, MASSON Jérémy<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/18/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 19<br />
| [[generate_NIX_expression | Génération d'expression NIX]]<br />
| CHABRE Manon, DE ARAUJO Bastien, COSCIA Daniel<br />
| Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/19/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 20<br />
| [[Gestion des Polypoints]]<br />
| CASTANO Nicolas, SIBUE Quentin, LAPLANTE Juliette<br />
| Didier Donsez, Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/20/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 21<br />
| [[Smart Recruting]]<br />
| GUILLOT Romain, ARNOUX Thibaut, CHASSEGUET Corentin<br />
| Didier Donsez, Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/21/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 22<br />
| [[Aide aux handicaps]]<br />
| JALMIN Hoël, ALACALI Kadir uraz, MASTOURA Iheb<br />
| Didier Donsez, Olivier Richard<br />
| [https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/18-19/22/docs/README.md Fiche]<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
|}<br />
<br />
==INFO5==<br />
===Projet IoT S9===<br />
Enseignants responsables : Bernard Tourancheau<br />
<br />
Calendrier: ??? Septembre à ??? Décembre 2017.<br />
<br />
* Projet IoT 3 : [[Ski-locator]] (Bernard Tourancheau)<br />
<br />
<br />
<br />
===Projet Semestre S10===<br />
<br />
Enseignants responsables : [[user:Donsez | Didier Donsez]]<br />
<br />
Calendrier: Fin Janvier à Fin Mars 2019.<br />
<br />
Séances de Management de projets innovants:<br />
<br />
Réunion de présentation : Salle 249 de 11H30 a 12H30, Mercredi 23 Janvier. Faire couler le café.<br />
<br />
Démarrage : A définir: Salle 251 de 8H30 a 11H00, Lundi 23 Janvier. Faire couler le café.<br />
<br />
Soutenance à mi-parcours : 5 Mars, 9H00-11H30 (15 minutes par équipe).<br />
<br />
Soutenance (puis Pot de la fin) : A définir : à cheval 27 et 28 Mars.<br />
<br />
==== Affectations ====<br />
{|class="wikitable alternance"<br />
|+ Affectation des projets INFO5 2018-2019<br />
|-<br />
|<br />
!scope="col"| Sujet<br />
!scope="col"| Etudiants<br />
!scope="col"| Enseignant(s)<br />
!scope="col"| Fiche de suivi<br />
!scope="col"| Documents<br />
|-<br />
<br />
!scope="row"| 1<br />
| [[LoRaGAN/INFO5A/2019|LoRaGAN]]<br />
| Thibaud VEGREVILLE,Aurélien SURIER GAROFALO<br />
| Didier Donsez, Bernard Tourancheau, Mathieu Barthélémy ([https://www.csug.fr/ CSUG])<br />
| TBD<br />
| [[Media:xxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-ThingSat.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 2<br />
| [[Contributions open-source au projet Eclipse EdCampus]]<br />
| [[User:Servan.Charlot | CHARLOT Servan]] (chef de projet), [[User:Zoran.Chanet | CHANET Zoran]]<br />
| Anthony Geourjon, Gérard Pollier, Didier Donsez<br />
| [[PROJET-INFO5 1819 EDCampus | Fiche de suivi ]]<br />
| [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:EDCampus_Mi_Parcours_CHARLOT_CHANET.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 3<br />
| [[RICM5 2018 2019 - UGAChain|UGAChain 2019]] : [[Générateur Hyperledger pour JHipster]] : refactoring du projet [[RICM5 2017 2018 - UGAChain|UGAChain 2018]]<br />
| Loris GENTILLON, Jordan JEAN, Enzo MOLION, Léo VALETTE<br />
| Didier Donsez, Anthony Geourjon<br />
| TBD<br />
| [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-xxx.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 4<br />
| [[Aide aux déficients visuelles]] (deep-learning avec [[Intel Movidius]], [https://greenwaves-technologies.com/product/gapduino/ GAPDunio], [[Lidar]] 1D et 2D, ...)<br />
| Samuel Bamba, Florian Cuzin, Théo Echevet, Raphaël Manger<br />
| Didier Donsez, Marie-Paule Balicco, Nicolas Vuillerme<br />
| TBD<br />
| [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-DeficientsVisuels.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 5<br />
| [[Plateforme CampusIoT]]<br />
| '''William Weill (CP)''', Guillaume Besnard, Benjamin Besnier, Timothée Depriester, Théo Lévesque<br />
| Didier Donsez<br />
| [[PROJET-1FO5_1819_CampusIoT|Fiche]] - [[PROJET-1FO5_1819_CampusIoT_journal|Journal]]<br />
| [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-campusiot.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 6<br />
| [[Rééducation Kiné connecté]]<br />
| '''Sekina Belguendouz (CP)''', Vincent Aubert, Amina Boucherima, Najwa Ez-Zine<br />
| Sylvain Toru, Bernard Tourancheau<br />
| [[PROJET-INFO5_Kiné_Connecté | Fiche]]<br />
| [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:KinéConnectéMiParcours.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 7<br />
| Projet IoT 3 : [[Ski-locator]]<br />
| '''Quentin Fombaron (CP)''', Tim Lepage, Thomas Ozenda, Joffrey Ferreira, Titouan Larnicol<br />
| Bernard Tourancheau<br />
| [[PROJET-1FO5_1819_SkiLocator|Fiche]]<br />
| [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Presentation-MiParcours-skiLocator-2019.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
!scope="row"| 8<br />
| [[Contributions open-source au projet JHipster]]<br />
| '''Hugo GROS-DAILLON (CP)''', Julien COURTIAL, Cédric LAFRASSE, Bastien TERRIER<br />
| Didier Donsez, Anthony Geourjon<br />
| [[ PROJET-INFO5_Contributions_JHipster | Fiche ]]<br />
| [[Media:Presentationxxx.pdf|Rapport final]] - [[Media:xxx.pdf|Presentation finale FR]] - [[Media:xxx.pdf|Final Presentation EN]] - [[Media:xxx.pdf|Flyer]] - [[Media:Jhipster_Contribution_miparcour_2019.pdf|Presentation de mi-parcours]]<br />
|-<br />
<br />
|}<br />
<br />
Réserve<br />
* [[Contributions à Software Heritage]] (Didier Donsez and co)<br />
* [[Sécurisation des données IoT avec des blockchains de consortium]] (Didier Donsez) --> commun avec CampusIoT et UGAChain<br />
<br />
= Projets collectifs MAT/IESE =<br />
<br />
== Années 3 et 4 ==<br />
<br />
* [[ASAC/SJC|Serres connectées @ Jardin du coteau]]<br />
* [[ASAC/GEJC|Gestion de l'eau @ Jardin du coteau]]<br />
* [[ASAC/AP|Aquaponie @ Polytech]]<br />
<br />
=[[Projets M2PGI Services Machine-to-Machine et Internet-of-Things]]=<br />
==[[PM2M/2019/TP|PM2M]]==<br />
<br />
=Réserve (boite à idées)=<br />
# [http://www.opti-solar.com/french/ap_applications.fr.html |Interface contrôleur de charge batterie/PV]<br />
# [[Sonotone à apprentissage profond]]<br />
# [[StartAIR2]] (Nicolas Palix)<br />
# [[Tag et Paint Ball en réalité augmentée]] (Michaël Périn) <br />
# [[Passe moi ton fichier]] (Michaël Périn) <br />
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)<br />
# [[Table multijeux de café 2.0]]<br />
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)<br />
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)<br />
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[iMailbox]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'ambience intelligent) (Didier Donsez)<br />
# [[PDAmeetPDA]] (synchronisation d'agenda) (Michaël Périn)<br />
# [[1 000 000 VMs]] (expérimentation d'application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)<br />
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)<br />
# [[Kinect musicale]] (Didier Donsez) (RICM)<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# Ocaml on AVR (Arduino)<br />
# Ocaml on Cortex-M3<br />
# [[Arduino on STM32 Discovery]]<br />
# [[Reverse Geocache Puzzle Box]]<br />
# [[OSGi ME]] (Didier Donsez)<br />
# [[Affichage Etudiant à Polytech]]<br />
# Synthèse 3D + motion capture Kinect<br />
# Logiciel d'[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)<br />
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo<br />
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)<br />
# [[CNC]]<br />
# [[Idées en Vrac]]<br />
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)<br />
# [[Projet Station Météo]]<br />
# Ocaml on AVR (Arduino)<br />
# [[Table interactive musicale]] (Didier Donsez)<br />
# [[AmILight]] (eclairage d'amnbience intelligent) (Didier Donsez)<br />
# [[Cube pointeur]] d'activité ingénieur<br />
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]<br />
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)<br />
# [[Total Recall]] (Didier Donsez)<br />
# [[SoundMachine]]<br />
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]<br />
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]<br />
# [[Multi perceptual cameras]] (Didier Donsez)<br />
# [[Photomaton 3D]] (Didier Donsez)<br />
# [[ArduCopter]]<br />
# [[Parking Intelligent]]<br />
# Frontend Web multi-utilisateur pour un jeu sérieux d'entreprise : Didier Donsez, Stéphanie Diligent, Emmanuelle Tréhoust.<br />
# Construction d'un roadbook d'ultratrail (mais aussi trek, randonnée, cyclisme, ...) à partir de traces GPX et des réseaux sociaux (Strava, Trace de Trail, ...): Didier Donsez</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:2019_SkiLocator_maquette_warning.png&diff=45162File:2019 SkiLocator maquette warning.png2019-03-05T08:39:17Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:2019_SkiLocator_maquette_ski_proche.png&diff=45161File:2019 SkiLocator maquette ski proche.png2019-03-05T08:39:09Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:2019_SkiLocator_maquette_ski_loin.png&diff=45160File:2019 SkiLocator maquette ski loin.png2019-03-05T08:38:58Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:2019_SkiLocator_maquette_menu.png&diff=45159File:2019 SkiLocator maquette menu.png2019-03-05T08:38:47Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:2019_SkiLocator_maquette_cartes.png&diff=45158File:2019 SkiLocator maquette cartes.png2019-03-05T08:38:37Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:2019_SkiLocator_maquette_ajouter.png&diff=45157File:2019 SkiLocator maquette ajouter.png2019-03-05T08:38:22Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&diff=45156PROJET-1FO5 1819 SkiLocator2019-03-05T08:35:41Z<p>Joffrey.Ferreira: /* IHM concrète */</p>
<hr />
<div>=Ski Locator=<br />
<br />
'''Ski Locator''' est une solution de géolocalisation de matériel sportif en cas de perte à l'aide de la technologie '''LoRa''' et d'une approche '''IoT'''. Dans notre scénario, nos clients pratiquent les sports d'hivers et veulent éviter de perdre leurs skis dans la poudreuse en cas de chute.<br />
<br />
[[File:Iot-lora-alliance-logo.png|200px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Quentin FOMBARON<br />
|Chef de projet<br />
|-<br />
|Joffrey FERREIRA<br />
|SCRUM Master<br />
|-<br />
|Tim LEPAGE<br />
|Développeur<br />
|-<br />
|Titouan LARNICOL<br />
|Développeur<br />
|-<br />
|Thomas OZENDA<br />
|Développeur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau<br />
<br />
=Abstract=<br />
<br />
===Mots clés===<br />
* IOT<br />
* Ski<br />
* GPS<br />
* LoRa<br />
* Localisation<br />
* Application mobile<br />
<br />
=Présentation= <br />
<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisée des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]<br />
<br />
=Journal=<br />
==Sprint 0 - Du 28/01 au 04/02 ==<br />
<br />
''Lundi 28/01''<br />
* Boitier imprimé en 3D pour une meilleure intégration au ski<br />
* Problème de la batterie (rapport taille/poids et autonomie)<br />
* Application smartphone (Android/iOS)<br />
* Changement de nom : Ski-Locator<br />
* Rendez-vous avec M. Tourancheau cet après-midi :<br />
<br />
* Établir liste du matériel necessaire<br />
* Recherche sur la localisation auto (triangulation)<br />
* DVA : Radio très longues ondes<br />
* Suivi de trajectoire sur le ski, quand on le perd on a une prédiction de la position du ski<br />
* Stocker les données sur le ski et l'envoyer que si besoin<br />
* RSSI pour trouver le ski dans une zone donnée par LoRa Bluetooth<br />
<br />
<br />
''Mardi 29/01''<br />
* Réalisation de l'architecture et IHM<br />
* Kanban bien avancé, sprint de 1 semaine<br />
* User stories<br />
<br />
<br />
''Mercredi 30/01''<br />
* IHM<br />
* Réalisation des maquettes de l'application<br />
* Début application Ionic<br />
* Récupération matériel<br />
<br />
<br />
''Vendredi 01/02''<br />
* Envoi de données sur TTN via la SODAQ ExpLoRer.<br />
* Prise en main de l'Heltec ESP32 avec scan des réseaux WiFi.<br />
* Tentative d'envoi de donnée LoRa via l'ESP32.<br />
<br />
==Sprint 1 - Du 04/02 au 11/02 ==<br />
<br />
''Lundi 04/02''<br />
* Communication LoRa hello entre deux cartes ESP32 et premiers tests sur le Bluetooth et le chiffrement des données<br />
* Modification de la maquette pour s'adapter à la nouvelle méthode de localisation<br />
* On passe de ionic à Android Studio. Trop de dépendances et de problèmes de version avec Ionic pour utiliser certaines fonctionnalités. Ionic non adapté car difficultés à accéder à l'hardware du téléphone.<br />
<br />
''Mardi 05/02''<br />
* Journée à essayer de faire fonctionner la carte GPS SIM28 avec la carte Heltec Wifi LoRa 32. Sans succès...<br />
UPDATE (du soir) : Après un test sur mon Arduino UNO, j'ai eu confirmation que la carte Grove GPS fonctionnait bel et bien. Après l'utilisation de HardwareSerial et non plus de SofwareSerial, nous réccupérons bien les coordonnées GPS de la carte 😊<br />
* APP: création des fragments, intégration de la boussole et de la liste de ski.<br />
<br />
<br />
''Mercredi 06/02''<br />
* Réflexion sur la construction des trames entre carte/Gateway et entre Gateway/Application.<br />
* APP: Sauvegarde de la liste de skis, correctifs et améliorations.<br />
* Cryptage des communications LoRa avec une clef de 16 octets<br />
<br />
<br />
''Jeudi 07/02''<br />
* APP: Boussole opérationnelle, pointe vers une position GPS donnée. Problème lorsque le cache de localisation est vide à fix<br />
* Récupération de l'état de la batterie 4V avec un diviseur de tension pour ne pas abimer la carte qui supporte jusque 3.3V sur ses entrées analogiques.<br />
<br />
''Vendredi 08/02''<br />
* Regroupement des fonctionnalités sur l'envoi des données à la GW (ChipID + Long + Lat + Batterie). Résolution d'un bug faisant redémarrer la carte après chaque envoie de donnée.<br />
* Regroupement des données du coté Gateway<br />
<br />
==Sprint 2 - Du 11/02 au 18/02 ==<br />
<br />
''Lundi 11/02:''<br />
* APP: Sauvegarde des skis enregistrés sur le téléphone pour persister en cas d'application fermée.<br />
* APP: Utilisation du Qrcode -> redirection pour ajouter un ski.<br />
* Gestion des connexions BT sur la gateway et transition des données app<->carte faite<br />
* Tentative de chiffrement des données avant l'envoi à la GW, plus compliqué que prévu au vu de la complexité de transformer les données en char * !<br />
<br />
''Mardi 12/02''<br />
* Abandon pour le moment du chiffrement de données, nous avons peur de perdre un temps précieux, nous reviendrons dessus si le temps nous le permet.<br />
* Script permettant l'envoi ET la réception de donnée en LoRa.<br />
* APP: début du protocole Bluetooth pour envoyer recevoir données<br />
* APP: redirection, ajustement drawer, QR code opé et ajout de carte via qr code fonctionnel<br />
* APP: Amélioration de la naviguation entre fragments.<br />
<br />
''Mercredi 13/02''<br />
* APP: Fin du protocole bluetooth, on peut communiquer entre l'app et la GW, Création d'un parser pour recevoir les données et les traiter.<br />
* La puce GPS a besoin de 5V, la batterie ne délivre que 3,7V. Je me suis donc procurer un booster pour toujours délivrer 5V.<br />
<br />
''Jeudi 14/02''<br />
* APP: Merge des différentes fonctionnalités de l'application. Correction de bug par rapport à la naviguation.<br />
* ACK vérifiant l'activation des modes ACTIVE et NORMAL, à peaufiner.<br />
<br />
''Vendredi 15/02''<br />
* Conf call avec Bernard Tourancheau<br />
* APP: Corrections de bugs et optimisations + envoi de tags à la GW pour info Lora<br />
* APP: Tutoriel - Carte : Ack des changements de mode effectuer"<br />
<br />
==Sprint 3 - Du 4/03 au 11/03 ==<br />
<br />
==Sprint 4 - Du 11/03 au 15/03 ==<br />
<br />
=Génie Logiciel=<br />
==Diagramme de Contexte==<br />
[[File:SL2019-DC.png]]<br />
==Arbre des tâches==<br />
Retrouver un ski perdu<br />
[[File:SL2019-AT.png]]<br />
<br />
<br />
Ajouter un ski à l'application<br />
[[File:SL2019-AT2.png]]<br />
<br />
==Vue Logique de haut niveau==<br />
[[File:SL2019-VLH.png]]<br />
==Vue Logique de bas niveau==<br />
[[File:SL2019-VLB.png]]<br />
==Vue Sequentielle==<br />
[[File:SL2019-VS.png]]<br />
<br />
<br />
[[File:SL2019-VS2.png]]<br />
<br />
==Vue physique==<br />
[[File:SL2019-VP.png]]<br />
==IHM abstraite==<br />
[[File:SL2019-IMHA.png]]<br />
==IHM concrète==<br />
<br />
[[File:2019_SkiLocator_maquette_ajouter.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_cartes.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_menu.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_loin.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_ski_proche.png]]<br />
<br />
[[File:2019_SkiLocator_maquette_warning.png]]<br />
<br />
==User Stories==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| Quentin FOMBARON<br />
!scope="col"| Joffrey FERREIRA<br />
!scope="col"| Tim LEPAGE<br />
!scope="col"| Titouan LARNICOL<br />
!scope="col"| Thomas OZENDA<br />
|-<br />
<br />
| colspan="7" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi ...</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Quentin --> style="width: 280px;" |<br />
|<!-- Joffrey --> style="width: 280px;" |<br />
|<!-- Tim --> style="width: 280px;" |<br />
|<!-- Titouan --> style="width: 280px;" |<br />
|<!-- Thomas --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Quentin --> style="width: 280px;" style="color:purple" |<br />
|<!-- Joffrey --> style="width: 280px;" style="color:purple" |<br />
|<!-- Tim --> style="width: 280px;" style="color:purple" |<br />
|<!-- Titouan --> style="width: 280px;" style="color:purple" |<br />
|<!-- Thomas --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=PROJET-1FO5_1819_SkiLocator&diff=44536PROJET-1FO5 1819 SkiLocator2019-01-29T13:13:52Z<p>Joffrey.Ferreira: /* SCRUM */</p>
<hr />
<div>=Ski Locator=<br />
<br />
'''Ski Locator''' est une solution de géolocalisation de matériel sportif en cas de perte à l'aide de la technologie '''LoRa''' et d'une approche '''IoT'''. Dans notre scénario, nos clients pratiquent les sports d'hivers et veulent éviter de perdre leurs skis dans la poudreuse en cas de chute.<br />
<br />
[[File:Iot-lora-alliance-logo.png|200px]]<br />
<br />
=Équipe du projet=<br />
{| class="wikitable"<br />
|-<br />
! scope="col" width="200px" | Membre<br />
! scope="col" | Rôles<br />
|-<br />
|Quentin FOMBARON<br />
|Chef de projet<br />
|-<br />
|Joffrey FERREIRA<br />
|SCRUM Master<br />
|-<br />
|Tim LEPAGE<br />
|Développeur<br />
|-<br />
|Titouan LARNICOL<br />
|Développeur<br />
|-<br />
|Thomas OZENDA<br />
|Développeur<br />
|}<br />
<br />
* Supervisé par : Bernard Tourancheau<br />
<br />
=Abstract=<br />
<br />
===Mots clés===<br />
* <br />
=Présentation= <br />
<br />
<br />
=SCRUM=<br />
<br />
Une liste plus actualisé des tâches est disponible sur [https://trello.com/b/HOoSXhjP/kanban Trello]<br />
<br />
==Sprint 0 - Du 28/01 au 04/02 ==<br />
<br />
Ce sprint nous servira à :<br />
* réaliser la conception logicielle<br />
* IHM <br />
* commander le matériel nécessaire pour notre prototype. <br />
<br />
==Sprint 1 - Du 04/02 au 11/02 ==<br />
<br />
==Sprint 2 - Du 11/02 au 18/02 ==<br />
<br />
==Sprint 3 - Du 18/02 au 25/02 ==<br />
<br />
==Sprint 4 - Du 25/02 au 4/03 ==<br />
<br />
==Sprint 5 - Du 4/03 au 11/03 ==<br />
<br />
==Sprint 6 - Du 11/03 au 15/03 ==<br />
<br />
=Journal=<br />
<br />
==Sprint1==<br />
<br />
{|class="wikitable alternance"<br />
|+<br />
|-<br />
|<br />
!scope="col"| Date<br />
!scope="col"| Quentin FOMBARON<br />
!scope="col"| Joffrey FERREIRA<br />
!scope="col"| Tim LEPAGE<br />
!scope="col"| Titouan LARNICOL<br />
!scope="col"| Thomas OZENDA<br />
|-<br />
<br />
| colspan="7" style="text-align: center; background-color:purple;"| <span style="color:white">SPRINT 1</span><br />
|-<br />
<br />
|-<br />
| rowspan="2" | <span style="color:green">Lundi ...</span> <br />
| rowspan="1" | <span style="color:blue">Tâches</span> <br />
|<!-- Quentin --> style="width: 280px;" |<br />
|<!-- Joffrey --> style="width: 280px;" |<br />
|<!-- Tim --> style="width: 280px;" |<br />
|<!-- Titouan --> style="width: 280px;" |<br />
|<!-- Thomas --> style="width: 280px;" |<br />
|-<br />
<br />
|-<br />
| rowspan="1" | <span style="color:blue">Remarques</span> <br />
|<!-- Quentin --> style="width: 280px;" style="color:purple" |<br />
|<!-- Joffrey --> style="width: 280px;" style="color:purple" |<br />
|<!-- Tim --> style="width: 280px;" style="color:purple" |<br />
|<!-- Titouan --> style="width: 280px;" style="color:purple" |<br />
|<!-- Thomas --> style="width: 280px;" style="color:purple" |<br />
|-<br />
<br />
|}</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_Spectacle&diff=44029ECOM-1FO 1819 Spectacle2018-12-18T07:30:23Z<p>Joffrey.Ferreira: /* L10. Dépôt Git */</p>
<hr />
<div><br />
[[ECOM-1FO|<<<< Retour vers la page ECOM 2018-2019]]<br />
<br />
=Le projet en quelques mots=<br />
L’objectif de notre projet E-com est de mettre en place un service en ligne (et une application mobile) permettant d'une part à des utilisateurs de réserver des places de spectacles, et d'autre part à des organisateurs de gérer leur(s) salles.<br />
<br />
=L'équipe et leurs rôles=<br />
<br />
* Thibaud VEGREVILLE : Chef de projet (+ Backend, Devops)<br />
* Cédric LAFRASSE : Scrum Master (+ Frontend)<br />
* Bastien TERRIER : Développeur (+ Frontend, Doc review)<br />
* Joffrey FERREIRA : Développeur (+ Backend, Code review)<br />
<br />
=Gestion de projet=<br />
Choix des outils :<br />
<br />
* ''Gitlab'' : pour le dépôt, pour la documentation, l'intégration en continu<br />
* ''Trello'' : pour la gestion des sprints et des user stories<br />
* ''Bit.ai et Trello'' : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)<br />
<br />
=SCRUM=<br />
==Sprint 1 - 25 Septembre 2018 au 23 Octobre 2018==<br />
* Découverte du projet<br />
* Mise en place des rôles au sein de l’équipe<br />
* Détermination des dates clés du projet<br />
* La longueur des sprints a été établi à 4 semaines afin de permettre la production d'un incrément livrable à chaques itérations.<br />
* Réalisation du dossier de conception.<br />
<br />
===Audit 1===<br />
<br />
Audit de présentation des exigences et besoins client. Nous avons pu présenter durant cet audit notre organisation de travail, notre compréhension du projet et le travail prévu afin de le réaliser.<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT1.pdf|Slides de l'audit 1]]<br />
<br />
===Remarque===<br />
<br />
Remarque sur la forme de la présentation :<br />
<br />
*Attention à ne pas mixer le Français et l'Anglais dans les diaporamas<br />
*Préciser que l'utilisateur présent dans nos diapositives correspond au spectateur<br />
<br />
L'arbre de tâche que nous avons proposé n'est pas centré sur les tâches utilisateurs, nous devons le reconcevoir. Nous devrons donc refaire l'IHM abstraite associée.<br />
<br />
==Sprint 2 - 23 Octobre au 20 Novembre==<br />
<br />
Tâches prévues :<br />
* Backend répondant au scénario 1. <br />
* Frontend répondant au scénario 1.<br />
* DevOps : Mise en place du projet, intégration continue et déploiement continue.<br />
* Finalisation du dossier de conception. <br />
<br />
<br />
Rétrospective : prise de retard sur le scénario 1 et sur le déploiement continue.<br />
<br />
===Audit 2===<br />
<br />
Audit de conception et d'avancement de projet. Nous avons pu présenter durant cet audit notre conception global du projet (architecture, IHM, organisation du travail, workflow).<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit 2]]<br />
<br />
===Remarque===<br />
<br />
*Maquettes à revoir (petits détails au niveau des couleurs) et à légender. Charte graphique à étoffer.<br />
*Ajout des acteurs sur la vue physique.<br />
<br />
==Sprint 3 27 Novembre au 18 Octobre ==<br />
<br />
Tâches : <br />
* Scénario 1/2/3.<br />
* Déploiement continu.<br />
* Préparation de l'audit final.<br />
* Test IHM, SonarQube et Gatling.<br />
<br />
= Livrables =<br />
==L2. Dossier de conception système ==<br />
<br />
[[ECOM-1FO_1819_MySpectacle_Conception_systeme|Conception Système]]<br />
<br />
==L3. Analyse des scénarios clients ==<br />
<br />
===Scénario 1===<br />
<br />
Claude est en charge de la gestion des salles de spectacle communales. Elle s'occupe de la salle des fêtes et de superviser les gestionnaires des autres salles.<br />
Régulièrement elle fait le point avec eux. Elle les voit tout à l'heure et avant cela elle veut avoir une idée des taux de remplissage sur le prochain mois. C'est elle qui prépare les données car elle est la seule à avoir l'accès à tous les taux de remplissage.<br />
<br />
Elle va tout d'abord observer ses propres taux sur le mois écoulé et le mois futur afin d'avoir une idée des tendances sur ce qu'elle connaît le mieux.<br />
sur une vue de synthèse elle peut comparer les taux de remplissage de la salle des fêtes et des autres salles.<br />
<br />
Elle constate que, par rapport à la même période l'année dernière, deux des salles ont un taux inférieur et un autre est beaucoup plus haut.<br />
<br />
La hausse peut s'expliquer rapidement : c'est un nouveau gestionnaire et il a fait un gros travail de communication. Elle va donc s'intéresser aux baisses.<br />
<br />
Elle demande une vue détaillée pour cette salle.<br />
<br />
Elle peut donc comparer sur l'année écoulée les évolutions et les comparer à l'année dernière. Les deux sont cohérentes jusqu'à présnt, seules les prévisions pour le mois futur sont mauvaises. Elle compare ensuite avec l'année qui avait encore précédée et constate que les prévisions de l'année courante et de l'année n-2 sont cohérentes, c'est donc l'année dernière qui a été particulièrement bonne ce mois-là. Elle cherche dans ses notes ce qu'elle avait écrit alors et constate qu'effectivement elle avait noté que le calendrier des vacances scolaires et la météo avaient eues pour conséwuence une ausse de réservations. Pour la dernière baisse, elle a beau consulter toutes les données dont elle dispose elle n'arrive pas à se l'expliquer. Il va falloir qu'elle demande au gestionnaire. Elle génère un document avec les données de cette salle qu'elle reçoit dans sa boîte email instantanément.<br />
<br />
===Scénario 2===<br />
<br />
Bill gère la configuration de la salle en fonction des manifestations qui se produisent dans sa salle de spectacle. Il a 2 nouvelles configurations à définir.<br />
Il regarde la visualisation de la salle. Cette vue lui donne un plan avec la position de la scène (mobile) et des chaises avec le nombre de place que cela représente.<br />
L'une des manifestations n'a pas besoin ni de scène, ni de siège. Il commence par définir celle-ci. La seconde est un spectacle de danse avec un orchestre. Il "construit" un espace pour l'orchestre au pied de la scène, en supprimant des sièges sur 3 rangées.<br />
<br />
===Scénario 3===<br />
<br />
Victoria est ouvreuse dans une salle de spectacle. Lorsqu'un spectateur se présente avec un billet imprimée elle lit le QR code avec le smartphone de travail qui lui indique quelle est la place du spectateur.<br />
<br />
Lorsqu'un spectateur se présente au guichet sans billet, elle peut lui faire payer sa place par paypal et une fois qu'il a payé Victoria voit automatiquement apparaître sur son smartphone la place attribuée.<br />
<br />
===Scénario 4===<br />
<br />
Paul vient d'apprendre que sa soeur venait lui rendre visite ce week end. Elle souhaite présenter son nouveau compagnon. Il se dit que c'est l'occasion de sortir, il demandera à sa belle-mère de garder les enfants.<br />
<br />
Sa soeur a toujours aimé le théâtre donc il va regarer la programmation proposée par MySpectacle.<br />
<br />
Il va sur le site internet et indique la date du vendredi (arrivée de ses visiteurs), samedi et dimanche car il ne sait pas quand sa soeur a prévu de repartir. <br />
<br />
Dans la programmation pour ces dates, trois spectacles sont proposés. L'un d'eux n'a lieux qu'à 18h. A cette heure là, il y a beaucoup à faire avec les enfant donc il choisit de ne pas le considérer. Pour les deux autres, les horaires conviennent. Il ne sait ce que sa soeur préférerait et aucun n'est complet. Il choisit donc de noter les informations sur les offres et il demandera à sa soeur quand elle sera là.<br />
<br />
===Scénario 5===<br />
<br />
Janine est infirmière et est en charge d'organiser une sortie pour son équipe. Ils sont 8. Elle veut organiser une soirée avec repas au restaurant et ensuite assister à un spectacle. <br />
<br />
Elle consulte le programme en ligne de MySpectacle, elle a déjà assisté à des spectacles dans cette salle et elle sait qu'il y a tout type de spectacle. Elle en cherche un qui pourrait plaire au plus grand nombre. Elle indique qu'elle veut des spectacles pour tout public et indique la période qui lui conviendrait, inutile de regarder les spectacles proposés uniquement lorsque son équipe travaille de nuit. Elle obtient une liste de possibilités. Parmis celles-ci, il y a un spectacles humoristique sur la vie en milieu hospitalier, voilà un spectacle qui parlera à tous. En tarif plein, le coût est de 15€ par personne pour un placement dans le poulailler, 20€ par personne pour placement dans la catégorie balcon et 25€ par personne pour un placement orchestre. Elle dispose d'une enveloppe de 50€ par personne pour la soirée, elle choisit donc de prendre des places de balcon cela lui laissera donc 30€ pour le restaurant, elle choisira le restaurant en conséquence ensuite. Elle va prendre les billets. Elle indique qu'il lui faut 8 billets. <br />
<br />
[Elle choisit ses places pour qu'elles soient toutes les unes à côté des autres. Il n'y a plus que 5 places dans la catégorie balcon pour cette représentation. Elle pourrait prendre les 5 places dans la catégorie balcon et les trois autres dans une autre catégorie mais elle préfère prendre toutes les places dans le poulailler afin que tous le groupe soit ensemble.]<br />
<br />
Le système l'informe alors qu'à partir de 10 places, il lui est possible de bénéficier du tarif "groupe" qui descend le prix du billet à 15€ au lieu de 20€ (25%). Après un rapide calcul (15x10=150 et 8x20=160), elle se rend compte que même en perdant les 2 billets le groupe réalisera une petite économie en prenant 10 tickets - et puis, elle pourra proposer à Amélie, la jeune fille en stage actuellement au sein de son équipe de se joindre à eux. Elle modifie donc sa commande pour prendre 10 tickets.<br />
<br />
Vu la somme que cela représente le système ne lui porpose que deux modes de paiement possible : Paypal ou CB. Elle paie par CB (les autres la rembourseront plus tard).<br />
<br />
Elle peut ensuite choisir d'avoir ses billets en version imprimable (PDF) qui lui seront envoyées par email ou d'en avoir une version mobile qu'elle présenterait à l'entrée. Elle choisit de les avoir en version imprimable pour pouvoir les distribuer à chaque participant.<br />
<br />
===Scénario 6===<br />
<br />
Guy organise ses vacances avec sa femme. Son petit-fils, Baptiste, lui a vanté l'intérêt d'internet pour accéder au plus grand nombre de propositions.<br />
<br />
Le week end dernier il a suivi une "formation" accélérée avec la première partie de l'organisation ; la réservation du logement. Aujourd'hui, il se lance seul dans l'utilisation d'internet pour réserver un spectacle pour un soir pendant leur séjour; Simone aime sortir et comme il est de moins en moins confiant dans sa conduite de nuit, il est vrai qu'ils sortent moins souvent au fil des années. Baptiste lui a dit d'utiliser MySpectacle. Il va donc utiliser ce site.<br />
<br />
Il indique la date et obtient une liste de propositions. Il y a beaucoup de possibilité, il ne va quand même pas lire tout cela. En plus de la date, il connaît le lieu, il va modifier sa recherche pour le préciser. Il obtient une liste beaucoup plus courte.<br />
<br />
Il choisit le spectacle après avoir consulté la description. Il va réserver mais choisit de payer sur place, il ne se sent pas encore assez en confiance pour payer sur internet.<br />
<br />
Le système l'informe que pour réserver sans payer, il faut donner des informations ("un compte client"). Il donne les informations demandées, y compris une adresse email - que heureusement Baptiste lui avait créé samedi - et un mot de passe qu'il va s'empresser d'aller écrire quelque part pour ne pas l'oublier.<br />
<br />
Une fois que le système l'a informé que la réservation était bien faite, à son nom, pour la bonne date. Il est satisfait. Il se demande comment il va faire pour mémoriser tout ça. Il téléphone à Baptiste pour lui poser la question et, un peu fier de lui, lui dire qu'il a réussi à faire une réservation sur internet. Baptiste lui demande s'il est allé consulter sa messagerie. <br />
<br />
Décidément, il y en a des choses à faire avec internet !<br />
<br />
==L4. Maquette==<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE1.png|800px|center|thumb|Maquette vue de synthèse]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE3.png|800px|center|thumb|Maquette vue détaillée]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE2.png|800px|center|thumb|Maquette espace exportation]]<br />
<br />
==L5. SRS==<br />
[[ECOM-1FO_1819_MySpectacle_L5_SRS|SRS]]<br />
<br />
==L6. Diagramme UML==<br />
<br />
[[File:2019_Spectacle_entite.png|800px|center|thumb|Diagramme d'entités]]<br />
<br />
==L7. Modèles des tâches==<br />
<br />
[[File:2019_Spectacle_Arbre_des_taches.jpg|800px|center|thumb|Arbre de tâches]]<br />
<br />
==L8. Scrum==<br />
<br />
==L9. Journal==<br />
<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_BASTIEN|Journal de Bastien TERRIER]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_CEDRIC|Journal de Cédric LAFRASSE]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_JOFFREY|Journal de Joffrey FERREIRA]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_THIBAUD|Journal de Thibaud VEGREVILLE]]<br />
<br />
==L10. Dépôt Git==<br />
<br />
Lien vers les dépôts de l'organisation : <br />
<br />
[https://gitlab.com/Shadsa/ecom-myspectacle lien Gitlab]<br />
<br />
Application Ionic : https://github.com/JoffreyFerreira/MySpectacleMobile<br />
<br />
==L11. Application en ligne==<br />
<br />
[https://www.monprojet.fr website]<br />
<br />
[https://www.monprojet.fr/api/ API OpenAPI]<br />
<br />
==L12. Evaluation IHM réalisée==<br />
<br />
=== Les heuristiques de NIELSEN ===<br />
<br />
Durant la conception et l'implémentation de notre IHM de MySpectacle, nous avons essayé d'appliquer au mieux les 10 heuristiques de Nielsen.<br />
Voici nos commentaires réalisés le 15 décembre à propos de la version sur master de notre application. <br />
<br />
<br />
* Visibilité de l'état du système<br />
<br />
Le système devrait toujours tenir les utilisateurs informés de ce qui se passe, grâce à une rétroaction appropriée dans un délai raisonnable.<br />
<br />
-> L'état du système n'est pas toujours indiqué, il serait judicieux d'ajouter un message lorsque aucune salle n'est répertoriée. L'utilisateur ne sait pas si il est en attente ou si il n'y a pas de salles de spectacles.<br />
<br />
<br />
* Correspondance entre le système et le monde réel<br />
<br />
Le système devrait parler la langue de l'utilisateur, avec des mots, des phrases et des concepts familiers à l'utilisateur, plutôt que des termes orientés système. Suivez les conventions du monde réel, en faisant apparaître les informations dans un ordre naturel et logique.<br />
<br />
-> La gestion par entités de JHipster permet de faire facilement le lien entre les deux mondes. Cependant, certain messages d'erreurs pourraient être plus travaillées (exemple de l'erreur interne quand l'API rencontre une erreur).<br />
<br />
<br />
* Contrôle et liberté de l'utilisateur<br />
<br />
Les utilisateurs choisissent souvent les fonctions du système par erreur et ont besoin d'une "sortie de secours" clairement marquée pour quitter l'état non désiré sans avoir à passer par un dialogue prolongé. Support annuler et refaire.<br />
<br />
-> De nombreux boutons de retours sont présent sur notre site. L'envoi du mail est immédiat et ne permet pas de retour en arrière.<br />
<br />
<br />
* Cohérence et normes<br />
<br />
Les utilisateurs ne devraient pas avoir à se demander si des mots, des situations ou des actions différents signifient la même chose. Suivre les conventions de la plate-forme.<br />
<br />
-> Les normes graphiques de bases sont respectés (positionnement des menus, apparence des boutons, respect de la charte graphique,...).<br />
<br />
<br />
* Prévention des erreurs<br />
<br />
Encore mieux qu'un bon message d'erreur est une conception soignée qui empêche qu'un problème ne se produise en premier lieu. Éliminez les conditions sujettes aux erreurs ou vérifiez-les et présentez aux utilisateurs une option de confirmation avant qu'ils ne s'engagent dans l'action.<br />
<br />
-> Les champs requis dans les formulaires sont clairement mis en avant s'ils ne sont pas remplis. Les adresses mails sont vérifiées en temps réel (avant l'envoi du formulaire par le client).<br />
<br />
<br />
* Reconnaissance plutôt que rappel<br />
<br />
Minimisez la charge mémoire de l'utilisateur en rendant visibles les objets, les actions et les options. L'utilisateur ne devrait pas avoir à se souvenir des informations d'une partie du dialogue à l'autre. Les instructions d'utilisation du système doivent être visibles ou facilement récupérables chaque fois que cela est approprié.<br />
<br />
-> L'IHM que nous proposons est standard (avec par exemple le logo en haut à gauche et il permet de naviguer vers la page d'accueil), cependant nous n'avons pas de mémoire sur les visualisations faites par les utilisateurs.<br />
<br />
<br />
* Flexibilité et efficacité d'utilisation<br />
<br />
Les accélérateurs - invisibles pour l'utilisateur novice - peuvent souvent accélérer l'interaction pour l'utilisateur expert, de sorte que le système peut répondre à la fois aux besoins des utilisateurs inexpérimentés et expérimentés. Permettre aux utilisateurs de personnaliser les actions fréquentes.<br />
<br />
-> Nous ne respectons pas ce point car aucun raccourci n'est présent dans notre application web. <br />
<br />
<br />
* Design esthétique et minimaliste<br />
<br />
Les dialogues ne doivent pas contenir d'informations non pertinentes ou rarement nécessaires. Chaque unité d'information supplémentaire dans un dialogue entre en concurrence avec les unités d'information pertinentes et diminue leur visibilité relative.<br />
<br />
-> Utilisation de peu de couleurs, police agréable à lire, design minimaliste.<br />
<br />
<br />
* Aider les utilisateurs à reconnaître, diagnostiquer et récupérer les erreurs.<br />
<br />
Les messages d'erreur doivent être rédigés dans un langage simple (pas de codes), indiquer précisément le problème et proposer une solution constructive.<br />
<br />
-> Les erreurs dans les formulaires sont très bien gérées (langage simple est intuitif). Les erreurs internes ne sont pas très claires et elles nécessitent une plus grande attention. <br />
<br />
<br />
* Aide et documentation<br />
<br />
Même s'il est préférable que le système puisse être utilisé sans documentation, il peut être nécessaire de fournir de l'aide et de la documentation. Ces informations doivent être faciles à rechercher, axées sur la tâche de l'utilisateur, énumérer les mesures concrètes à prendre et ne pas être trop volumineuses.<br />
<br />
-> Nous n'avons pas d'espace d'entraide et de documentation associé à notre site.<br />
<br />
=== Analyse SUS===<br />
{|class="wikitable alternance"<br />
|+ System Usability Scale - Test utilisateur<br />
|-<br />
|<br />
!scope="col"| Pas du tout d'accord<br />
| -------- <br />
| -------- <br />
| -------- <br />
!scope="col"| Tout à fait d'accord<br />
|-<br />
<br />
!scope="row"| 1. Je pense que je vais utiliser ce logiciel fréquemment<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
<br />
!scope="row"| 2. Je trouve ce logiciel inutilement complexe<br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
<br />
!scope="row"| 3. Je pense que ce logiciel est facile à utiliser<br />
| <br />
| <br />
| <br />
| <br />
| X<br />
<br />
|-<br />
!scope="row"| 4.Je pense que j’aurai besoin de l’aide d’un expert pour être capable d’utiliser ce logiciel<br />
| X<br />
| <br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 5.J’ai trouvé que les différentes fonc- tions de ce logiciel ont été bien intégrées<br />
| <br />
| <br />
| <br />
| <br />
| X<br />
<br />
|-<br />
!scope="row"| 6. Je pense qu’il y a trop d’incohérence dans ce logiciel.<br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 7. J’imagine que la plupart des gens serait capable d’apprendre à utiliser ce logiciels très rapidement.<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
!scope="row"| 8 J’ai trouvé ce logiciel trés lourd à utiliser.<br />
| X<br />
| <br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 9. Je me sentais très en confiance en utilisant ce logiciel.<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
!scope="row"| 10. J’ai besoin d’apprendre beaucoup de choses avant de pouvoir utiliser ce logiciel. <br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
<br />
<br />
<br />
|}<br />
<br />
* Quels sont les points forts de ce logiciel ?<br />
Facile d'utilisation, clair et sobre.<br />
<br />
* Quels sont les points faibles de ce logiciel ?<br />
Beaucoup de zones vides dans la page de visualisation.<br />
<br />
* Score SUS de 85/100<br />
<br />
==L13. Evaluation qualité du projet==<br />
<br />
* Rapports SonarQube<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint3.pdf]]<br />
<br />
* Rapport CLOC<br />
<br />
516 text files.<br />
515 unique files. <br />
11 files ignored.<br />
<br />
github.com/AlDanial/cloc v 1.74 T=1.40 s (360.5 files/s, 24262.1 lines/s)<br />
-------------------------------------------------------------------------------<br />
Language files blank comment code<br />
-------------------------------------------------------------------------------<br />
TypeScript 256 1581 405 10533<br />
Java 122 2099 1372 9250<br />
HTML 62 154 65 3464<br />
CSS 1 0 2 2288<br />
JSON 26 7 0 761<br />
XML 17 112 80 614<br />
Sass 9 67 18 486<br />
YAML 9 36 170 373<br />
JavaScript 1 0 0 23<br />
Dockerfile 1 7 2 12<br />
Bourne Shell 1 1 0 3<br />
-------------------------------------------------------------------------------<br />
SUM: 505 4064 2114 27807<br />
-------------------------------------------------------------------------------<br />
<br />
==L14. Evaluation économique du projet==<br />
<br />
===COCOMO===<br />
<br />
<br />
===Evaluation économique du projet===<br />
<br />
Pour évaluer économiquement notre projet, nous avons calculer le nombre de ligne de code présent dans src, webpack, les .yml et .xml.<br />
<br />
Nous avons calculer grâce à Stack overflow le salaire annuel d'un ingénieur Full-Stack basé à Grenoble avec aucune année d'expérience. On a choisi le salaire du premier quartile, soit 29 000€ brut/an. Après ajout des charges salariales et conversion en dollar, on obtient un salaire de $2950 par mois.<br />
<br />
[[File:CocomoMySpectacle.png|800px|center|thumb|Cocomo MySpectacle]]<br />
<br />
==L18. Slides de présentation conception==<br />
* [[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit de conception]]<br />
<br />
==L19. Slides de présentation finale==<br />
*[[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L20. Auto-évaluation==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L21. Slides de présentation client==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_Spectacle&diff=44027ECOM-1FO 1819 Spectacle2018-12-18T07:29:50Z<p>Joffrey.Ferreira: </p>
<hr />
<div><br />
[[ECOM-1FO|<<<< Retour vers la page ECOM 2018-2019]]<br />
<br />
=Le projet en quelques mots=<br />
L’objectif de notre projet E-com est de mettre en place un service en ligne (et une application mobile) permettant d'une part à des utilisateurs de réserver des places de spectacles, et d'autre part à des organisateurs de gérer leur(s) salles.<br />
<br />
=L'équipe et leurs rôles=<br />
<br />
* Thibaud VEGREVILLE : Chef de projet (+ Backend, Devops)<br />
* Cédric LAFRASSE : Scrum Master (+ Frontend)<br />
* Bastien TERRIER : Développeur (+ Frontend, Doc review)<br />
* Joffrey FERREIRA : Développeur (+ Backend, Code review)<br />
<br />
=Gestion de projet=<br />
Choix des outils :<br />
<br />
* ''Gitlab'' : pour le dépôt, pour la documentation, l'intégration en continu<br />
* ''Trello'' : pour la gestion des sprints et des user stories<br />
* ''Bit.ai et Trello'' : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)<br />
<br />
=SCRUM=<br />
==Sprint 1 - 25 Septembre 2018 au 23 Octobre 2018==<br />
* Découverte du projet<br />
* Mise en place des rôles au sein de l’équipe<br />
* Détermination des dates clés du projet<br />
* La longueur des sprints a été établi à 4 semaines afin de permettre la production d'un incrément livrable à chaques itérations.<br />
* Réalisation du dossier de conception.<br />
<br />
===Audit 1===<br />
<br />
Audit de présentation des exigences et besoins client. Nous avons pu présenter durant cet audit notre organisation de travail, notre compréhension du projet et le travail prévu afin de le réaliser.<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT1.pdf|Slides de l'audit 1]]<br />
<br />
===Remarque===<br />
<br />
Remarque sur la forme de la présentation :<br />
<br />
*Attention à ne pas mixer le Français et l'Anglais dans les diaporamas<br />
*Préciser que l'utilisateur présent dans nos diapositives correspond au spectateur<br />
<br />
L'arbre de tâche que nous avons proposé n'est pas centré sur les tâches utilisateurs, nous devons le reconcevoir. Nous devrons donc refaire l'IHM abstraite associée.<br />
<br />
==Sprint 2 - 23 Octobre au 20 Novembre==<br />
<br />
Tâches prévues :<br />
* Backend répondant au scénario 1. <br />
* Frontend répondant au scénario 1.<br />
* DevOps : Mise en place du projet, intégration continue et déploiement continue.<br />
* Finalisation du dossier de conception. <br />
<br />
<br />
Rétrospective : prise de retard sur le scénario 1 et sur le déploiement continue.<br />
<br />
===Audit 2===<br />
<br />
Audit de conception et d'avancement de projet. Nous avons pu présenter durant cet audit notre conception global du projet (architecture, IHM, organisation du travail, workflow).<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit 2]]<br />
<br />
===Remarque===<br />
<br />
*Maquettes à revoir (petits détails au niveau des couleurs) et à légender. Charte graphique à étoffer.<br />
*Ajout des acteurs sur la vue physique.<br />
<br />
==Sprint 3 27 Novembre au 18 Octobre ==<br />
<br />
Tâches : <br />
* Scénario 1/2/3.<br />
* Déploiement continu.<br />
* Préparation de l'audit final.<br />
* Test IHM, SonarQube et Gatling.<br />
<br />
= Livrables =<br />
==L2. Dossier de conception système ==<br />
<br />
[[ECOM-1FO_1819_MySpectacle_Conception_systeme|Conception Système]]<br />
<br />
==L3. Analyse des scénarios clients ==<br />
<br />
===Scénario 1===<br />
<br />
Claude est en charge de la gestion des salles de spectacle communales. Elle s'occupe de la salle des fêtes et de superviser les gestionnaires des autres salles.<br />
Régulièrement elle fait le point avec eux. Elle les voit tout à l'heure et avant cela elle veut avoir une idée des taux de remplissage sur le prochain mois. C'est elle qui prépare les données car elle est la seule à avoir l'accès à tous les taux de remplissage.<br />
<br />
Elle va tout d'abord observer ses propres taux sur le mois écoulé et le mois futur afin d'avoir une idée des tendances sur ce qu'elle connaît le mieux.<br />
sur une vue de synthèse elle peut comparer les taux de remplissage de la salle des fêtes et des autres salles.<br />
<br />
Elle constate que, par rapport à la même période l'année dernière, deux des salles ont un taux inférieur et un autre est beaucoup plus haut.<br />
<br />
La hausse peut s'expliquer rapidement : c'est un nouveau gestionnaire et il a fait un gros travail de communication. Elle va donc s'intéresser aux baisses.<br />
<br />
Elle demande une vue détaillée pour cette salle.<br />
<br />
Elle peut donc comparer sur l'année écoulée les évolutions et les comparer à l'année dernière. Les deux sont cohérentes jusqu'à présnt, seules les prévisions pour le mois futur sont mauvaises. Elle compare ensuite avec l'année qui avait encore précédée et constate que les prévisions de l'année courante et de l'année n-2 sont cohérentes, c'est donc l'année dernière qui a été particulièrement bonne ce mois-là. Elle cherche dans ses notes ce qu'elle avait écrit alors et constate qu'effectivement elle avait noté que le calendrier des vacances scolaires et la météo avaient eues pour conséwuence une ausse de réservations. Pour la dernière baisse, elle a beau consulter toutes les données dont elle dispose elle n'arrive pas à se l'expliquer. Il va falloir qu'elle demande au gestionnaire. Elle génère un document avec les données de cette salle qu'elle reçoit dans sa boîte email instantanément.<br />
<br />
===Scénario 2===<br />
<br />
Bill gère la configuration de la salle en fonction des manifestations qui se produisent dans sa salle de spectacle. Il a 2 nouvelles configurations à définir.<br />
Il regarde la visualisation de la salle. Cette vue lui donne un plan avec la position de la scène (mobile) et des chaises avec le nombre de place que cela représente.<br />
L'une des manifestations n'a pas besoin ni de scène, ni de siège. Il commence par définir celle-ci. La seconde est un spectacle de danse avec un orchestre. Il "construit" un espace pour l'orchestre au pied de la scène, en supprimant des sièges sur 3 rangées.<br />
<br />
===Scénario 3===<br />
<br />
Victoria est ouvreuse dans une salle de spectacle. Lorsqu'un spectateur se présente avec un billet imprimée elle lit le QR code avec le smartphone de travail qui lui indique quelle est la place du spectateur.<br />
<br />
Lorsqu'un spectateur se présente au guichet sans billet, elle peut lui faire payer sa place par paypal et une fois qu'il a payé Victoria voit automatiquement apparaître sur son smartphone la place attribuée.<br />
<br />
===Scénario 4===<br />
<br />
Paul vient d'apprendre que sa soeur venait lui rendre visite ce week end. Elle souhaite présenter son nouveau compagnon. Il se dit que c'est l'occasion de sortir, il demandera à sa belle-mère de garder les enfants.<br />
<br />
Sa soeur a toujours aimé le théâtre donc il va regarer la programmation proposée par MySpectacle.<br />
<br />
Il va sur le site internet et indique la date du vendredi (arrivée de ses visiteurs), samedi et dimanche car il ne sait pas quand sa soeur a prévu de repartir. <br />
<br />
Dans la programmation pour ces dates, trois spectacles sont proposés. L'un d'eux n'a lieux qu'à 18h. A cette heure là, il y a beaucoup à faire avec les enfant donc il choisit de ne pas le considérer. Pour les deux autres, les horaires conviennent. Il ne sait ce que sa soeur préférerait et aucun n'est complet. Il choisit donc de noter les informations sur les offres et il demandera à sa soeur quand elle sera là.<br />
<br />
===Scénario 5===<br />
<br />
Janine est infirmière et est en charge d'organiser une sortie pour son équipe. Ils sont 8. Elle veut organiser une soirée avec repas au restaurant et ensuite assister à un spectacle. <br />
<br />
Elle consulte le programme en ligne de MySpectacle, elle a déjà assisté à des spectacles dans cette salle et elle sait qu'il y a tout type de spectacle. Elle en cherche un qui pourrait plaire au plus grand nombre. Elle indique qu'elle veut des spectacles pour tout public et indique la période qui lui conviendrait, inutile de regarder les spectacles proposés uniquement lorsque son équipe travaille de nuit. Elle obtient une liste de possibilités. Parmis celles-ci, il y a un spectacles humoristique sur la vie en milieu hospitalier, voilà un spectacle qui parlera à tous. En tarif plein, le coût est de 15€ par personne pour un placement dans le poulailler, 20€ par personne pour placement dans la catégorie balcon et 25€ par personne pour un placement orchestre. Elle dispose d'une enveloppe de 50€ par personne pour la soirée, elle choisit donc de prendre des places de balcon cela lui laissera donc 30€ pour le restaurant, elle choisira le restaurant en conséquence ensuite. Elle va prendre les billets. Elle indique qu'il lui faut 8 billets. <br />
<br />
[Elle choisit ses places pour qu'elles soient toutes les unes à côté des autres. Il n'y a plus que 5 places dans la catégorie balcon pour cette représentation. Elle pourrait prendre les 5 places dans la catégorie balcon et les trois autres dans une autre catégorie mais elle préfère prendre toutes les places dans le poulailler afin que tous le groupe soit ensemble.]<br />
<br />
Le système l'informe alors qu'à partir de 10 places, il lui est possible de bénéficier du tarif "groupe" qui descend le prix du billet à 15€ au lieu de 20€ (25%). Après un rapide calcul (15x10=150 et 8x20=160), elle se rend compte que même en perdant les 2 billets le groupe réalisera une petite économie en prenant 10 tickets - et puis, elle pourra proposer à Amélie, la jeune fille en stage actuellement au sein de son équipe de se joindre à eux. Elle modifie donc sa commande pour prendre 10 tickets.<br />
<br />
Vu la somme que cela représente le système ne lui porpose que deux modes de paiement possible : Paypal ou CB. Elle paie par CB (les autres la rembourseront plus tard).<br />
<br />
Elle peut ensuite choisir d'avoir ses billets en version imprimable (PDF) qui lui seront envoyées par email ou d'en avoir une version mobile qu'elle présenterait à l'entrée. Elle choisit de les avoir en version imprimable pour pouvoir les distribuer à chaque participant.<br />
<br />
===Scénario 6===<br />
<br />
Guy organise ses vacances avec sa femme. Son petit-fils, Baptiste, lui a vanté l'intérêt d'internet pour accéder au plus grand nombre de propositions.<br />
<br />
Le week end dernier il a suivi une "formation" accélérée avec la première partie de l'organisation ; la réservation du logement. Aujourd'hui, il se lance seul dans l'utilisation d'internet pour réserver un spectacle pour un soir pendant leur séjour; Simone aime sortir et comme il est de moins en moins confiant dans sa conduite de nuit, il est vrai qu'ils sortent moins souvent au fil des années. Baptiste lui a dit d'utiliser MySpectacle. Il va donc utiliser ce site.<br />
<br />
Il indique la date et obtient une liste de propositions. Il y a beaucoup de possibilité, il ne va quand même pas lire tout cela. En plus de la date, il connaît le lieu, il va modifier sa recherche pour le préciser. Il obtient une liste beaucoup plus courte.<br />
<br />
Il choisit le spectacle après avoir consulté la description. Il va réserver mais choisit de payer sur place, il ne se sent pas encore assez en confiance pour payer sur internet.<br />
<br />
Le système l'informe que pour réserver sans payer, il faut donner des informations ("un compte client"). Il donne les informations demandées, y compris une adresse email - que heureusement Baptiste lui avait créé samedi - et un mot de passe qu'il va s'empresser d'aller écrire quelque part pour ne pas l'oublier.<br />
<br />
Une fois que le système l'a informé que la réservation était bien faite, à son nom, pour la bonne date. Il est satisfait. Il se demande comment il va faire pour mémoriser tout ça. Il téléphone à Baptiste pour lui poser la question et, un peu fier de lui, lui dire qu'il a réussi à faire une réservation sur internet. Baptiste lui demande s'il est allé consulter sa messagerie. <br />
<br />
Décidément, il y en a des choses à faire avec internet !<br />
<br />
==L4. Maquette==<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE1.png|800px|center|thumb|Maquette vue de synthèse]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE3.png|800px|center|thumb|Maquette vue détaillée]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE2.png|800px|center|thumb|Maquette espace exportation]]<br />
<br />
==L5. SRS==<br />
[[ECOM-1FO_1819_MySpectacle_L5_SRS|SRS]]<br />
<br />
==L6. Diagramme UML==<br />
<br />
[[File:2019_Spectacle_entite.png|800px|center|thumb|Diagramme d'entités]]<br />
<br />
==L7. Modèles des tâches==<br />
<br />
[[File:2019_Spectacle_Arbre_des_taches.jpg|800px|center|thumb|Arbre de tâches]]<br />
<br />
==L8. Scrum==<br />
<br />
==L9. Journal==<br />
<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_BASTIEN|Journal de Bastien TERRIER]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_CEDRIC|Journal de Cédric LAFRASSE]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_JOFFREY|Journal de Joffrey FERREIRA]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_THIBAUD|Journal de Thibaud VEGREVILLE]]<br />
<br />
==L10. Dépôt Git==<br />
<br />
Lien vers les dépôts de l'organisation : <br />
<br />
[https://gitlab.com/Shadsa/ecom-myspectacle lien Gitlab]<br />
<br />
==L11. Application en ligne==<br />
<br />
[https://www.monprojet.fr website]<br />
<br />
[https://www.monprojet.fr/api/ API OpenAPI]<br />
<br />
==L12. Evaluation IHM réalisée==<br />
<br />
=== Les heuristiques de NIELSEN ===<br />
<br />
Durant la conception et l'implémentation de notre IHM de MySpectacle, nous avons essayé d'appliquer au mieux les 10 heuristiques de Nielsen.<br />
Voici nos commentaires réalisés le 15 décembre à propos de la version sur master de notre application. <br />
<br />
<br />
* Visibilité de l'état du système<br />
<br />
Le système devrait toujours tenir les utilisateurs informés de ce qui se passe, grâce à une rétroaction appropriée dans un délai raisonnable.<br />
<br />
-> L'état du système n'est pas toujours indiqué, il serait judicieux d'ajouter un message lorsque aucune salle n'est répertoriée. L'utilisateur ne sait pas si il est en attente ou si il n'y a pas de salles de spectacles.<br />
<br />
<br />
* Correspondance entre le système et le monde réel<br />
<br />
Le système devrait parler la langue de l'utilisateur, avec des mots, des phrases et des concepts familiers à l'utilisateur, plutôt que des termes orientés système. Suivez les conventions du monde réel, en faisant apparaître les informations dans un ordre naturel et logique.<br />
<br />
-> La gestion par entités de JHipster permet de faire facilement le lien entre les deux mondes. Cependant, certain messages d'erreurs pourraient être plus travaillées (exemple de l'erreur interne quand l'API rencontre une erreur).<br />
<br />
<br />
* Contrôle et liberté de l'utilisateur<br />
<br />
Les utilisateurs choisissent souvent les fonctions du système par erreur et ont besoin d'une "sortie de secours" clairement marquée pour quitter l'état non désiré sans avoir à passer par un dialogue prolongé. Support annuler et refaire.<br />
<br />
-> De nombreux boutons de retours sont présent sur notre site. L'envoi du mail est immédiat et ne permet pas de retour en arrière.<br />
<br />
<br />
* Cohérence et normes<br />
<br />
Les utilisateurs ne devraient pas avoir à se demander si des mots, des situations ou des actions différents signifient la même chose. Suivre les conventions de la plate-forme.<br />
<br />
-> Les normes graphiques de bases sont respectés (positionnement des menus, apparence des boutons, respect de la charte graphique,...).<br />
<br />
<br />
* Prévention des erreurs<br />
<br />
Encore mieux qu'un bon message d'erreur est une conception soignée qui empêche qu'un problème ne se produise en premier lieu. Éliminez les conditions sujettes aux erreurs ou vérifiez-les et présentez aux utilisateurs une option de confirmation avant qu'ils ne s'engagent dans l'action.<br />
<br />
-> Les champs requis dans les formulaires sont clairement mis en avant s'ils ne sont pas remplis. Les adresses mails sont vérifiées en temps réel (avant l'envoi du formulaire par le client).<br />
<br />
<br />
* Reconnaissance plutôt que rappel<br />
<br />
Minimisez la charge mémoire de l'utilisateur en rendant visibles les objets, les actions et les options. L'utilisateur ne devrait pas avoir à se souvenir des informations d'une partie du dialogue à l'autre. Les instructions d'utilisation du système doivent être visibles ou facilement récupérables chaque fois que cela est approprié.<br />
<br />
-> L'IHM que nous proposons est standard (avec par exemple le logo en haut à gauche et il permet de naviguer vers la page d'accueil), cependant nous n'avons pas de mémoire sur les visualisations faites par les utilisateurs.<br />
<br />
<br />
* Flexibilité et efficacité d'utilisation<br />
<br />
Les accélérateurs - invisibles pour l'utilisateur novice - peuvent souvent accélérer l'interaction pour l'utilisateur expert, de sorte que le système peut répondre à la fois aux besoins des utilisateurs inexpérimentés et expérimentés. Permettre aux utilisateurs de personnaliser les actions fréquentes.<br />
<br />
-> Nous ne respectons pas ce point car aucun raccourci n'est présent dans notre application web. <br />
<br />
<br />
* Design esthétique et minimaliste<br />
<br />
Les dialogues ne doivent pas contenir d'informations non pertinentes ou rarement nécessaires. Chaque unité d'information supplémentaire dans un dialogue entre en concurrence avec les unités d'information pertinentes et diminue leur visibilité relative.<br />
<br />
-> Utilisation de peu de couleurs, police agréable à lire, design minimaliste.<br />
<br />
<br />
* Aider les utilisateurs à reconnaître, diagnostiquer et récupérer les erreurs.<br />
<br />
Les messages d'erreur doivent être rédigés dans un langage simple (pas de codes), indiquer précisément le problème et proposer une solution constructive.<br />
<br />
-> Les erreurs dans les formulaires sont très bien gérées (langage simple est intuitif). Les erreurs internes ne sont pas très claires et elles nécessitent une plus grande attention. <br />
<br />
<br />
* Aide et documentation<br />
<br />
Même s'il est préférable que le système puisse être utilisé sans documentation, il peut être nécessaire de fournir de l'aide et de la documentation. Ces informations doivent être faciles à rechercher, axées sur la tâche de l'utilisateur, énumérer les mesures concrètes à prendre et ne pas être trop volumineuses.<br />
<br />
-> Nous n'avons pas d'espace d'entraide et de documentation associé à notre site.<br />
<br />
=== Analyse SUS===<br />
{|class="wikitable alternance"<br />
|+ System Usability Scale - Test utilisateur<br />
|-<br />
|<br />
!scope="col"| Pas du tout d'accord<br />
| -------- <br />
| -------- <br />
| -------- <br />
!scope="col"| Tout à fait d'accord<br />
|-<br />
<br />
!scope="row"| 1. Je pense que je vais utiliser ce logiciel fréquemment<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
<br />
!scope="row"| 2. Je trouve ce logiciel inutilement complexe<br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
<br />
!scope="row"| 3. Je pense que ce logiciel est facile à utiliser<br />
| <br />
| <br />
| <br />
| <br />
| X<br />
<br />
|-<br />
!scope="row"| 4.Je pense que j’aurai besoin de l’aide d’un expert pour être capable d’utiliser ce logiciel<br />
| X<br />
| <br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 5.J’ai trouvé que les différentes fonc- tions de ce logiciel ont été bien intégrées<br />
| <br />
| <br />
| <br />
| <br />
| X<br />
<br />
|-<br />
!scope="row"| 6. Je pense qu’il y a trop d’incohérence dans ce logiciel.<br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 7. J’imagine que la plupart des gens serait capable d’apprendre à utiliser ce logiciels très rapidement.<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
!scope="row"| 8 J’ai trouvé ce logiciel trés lourd à utiliser.<br />
| X<br />
| <br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 9. Je me sentais très en confiance en utilisant ce logiciel.<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
!scope="row"| 10. J’ai besoin d’apprendre beaucoup de choses avant de pouvoir utiliser ce logiciel. <br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
<br />
<br />
<br />
|}<br />
<br />
* Quels sont les points forts de ce logiciel ?<br />
Facile d'utilisation, clair et sobre.<br />
<br />
* Quels sont les points faibles de ce logiciel ?<br />
Beaucoup de zones vides dans la page de visualisation.<br />
<br />
* Score SUS de 85/100<br />
<br />
==L13. Evaluation qualité du projet==<br />
<br />
* Rapports SonarQube<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint3.pdf]]<br />
<br />
* Rapport CLOC<br />
<br />
516 text files.<br />
515 unique files. <br />
11 files ignored.<br />
<br />
github.com/AlDanial/cloc v 1.74 T=1.40 s (360.5 files/s, 24262.1 lines/s)<br />
-------------------------------------------------------------------------------<br />
Language files blank comment code<br />
-------------------------------------------------------------------------------<br />
TypeScript 256 1581 405 10533<br />
Java 122 2099 1372 9250<br />
HTML 62 154 65 3464<br />
CSS 1 0 2 2288<br />
JSON 26 7 0 761<br />
XML 17 112 80 614<br />
Sass 9 67 18 486<br />
YAML 9 36 170 373<br />
JavaScript 1 0 0 23<br />
Dockerfile 1 7 2 12<br />
Bourne Shell 1 1 0 3<br />
-------------------------------------------------------------------------------<br />
SUM: 505 4064 2114 27807<br />
-------------------------------------------------------------------------------<br />
<br />
==L14. Evaluation économique du projet==<br />
<br />
===COCOMO===<br />
<br />
<br />
===Evaluation économique du projet===<br />
<br />
Pour évaluer économiquement notre projet, nous avons calculer le nombre de ligne de code présent dans src, webpack, les .yml et .xml.<br />
<br />
Nous avons calculer grâce à Stack overflow le salaire annuel d'un ingénieur Full-Stack basé à Grenoble avec aucune année d'expérience. On a choisi le salaire du premier quartile, soit 29 000€ brut/an. Après ajout des charges salariales et conversion en dollar, on obtient un salaire de $2950 par mois.<br />
<br />
[[File:CocomoMySpectacle.png|800px|center|thumb|Cocomo MySpectacle]]<br />
<br />
==L18. Slides de présentation conception==<br />
* [[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit de conception]]<br />
<br />
==L19. Slides de présentation finale==<br />
*[[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L20. Auto-évaluation==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L21. Slides de présentation client==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint3.pdf&diff=43952File:ECOM-1FO 1819 PROJET MySpectacle SonarQubeReport Sprint3.pdf2018-12-17T22:48:03Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint2.pdf&diff=43951File:ECOM-1FO 1819 PROJET MySpectacle SonarQubeReport Sprint2.pdf2018-12-17T22:47:54Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_Spectacle&diff=43948ECOM-1FO 1819 Spectacle2018-12-17T22:47:34Z<p>Joffrey.Ferreira: /* L13. Evaluation qualité du projet */</p>
<hr />
<div><br />
[[ECOM-1FO|<<<< Retour vers la page ECOM 2018-2019]]<br />
<br />
=Le projet en quelques mots=<br />
L’objectif de notre projet E-com est de mettre en place un service en ligne (et une application mobile) permettant d'une part à des utilisateurs de réserver des places de spectacles, et d'autre part à des organisateurs de gérer leur(s) salles.<br />
<br />
=L'équipe et leurs rôles=<br />
<br />
* Thibaud VEGREVILLE : Chef de projet (+ Backend, Devops)<br />
* Cédric LAFRASSE : Scrum Master (+ Frontend)<br />
* Bastien TERRIER : Développeur (+ Frontend, Doc review)<br />
* Joffrey FERREIRA : Développeur (+ Backend, Code review)<br />
<br />
=Gestion de projet=<br />
Choix des outils :<br />
<br />
* ''Gitlab'' : pour le dépôt, pour la documentation, l'intégration en continu<br />
* ''Trello'' : pour la gestion des sprints et des user stories<br />
* ''Bit.ai et Trello'' : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)<br />
<br />
=SCRUM=<br />
==Sprint 1 - 25 Septembre 2018 au 23 Octobre 2018==<br />
* Découverte du projet<br />
* Mise en place des rôles au sein de l’équipe<br />
* Détermination des dates clés du projet<br />
* La longueur des sprints a été établi à 4 semaines afin de permettre la production d'un incrément livrable à chaques itérations.<br />
* Réalisation du dossier de conception.<br />
<br />
===Audit 1===<br />
<br />
Audit de présentation des exigences et besoins client. Nous avons pu présenter durant cet audit notre organisation de travail, notre compréhension du projet et le travail prévu afin de le réaliser.<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT1.pdf|Slides de l'audit 1]]<br />
<br />
===Remarque===<br />
<br />
Remarque sur la forme de la présentation :<br />
<br />
*Attention à ne pas mixer le Français et l'Anglais dans les diaporamas<br />
*Préciser que l'utilisateur présent dans nos diapositives correspond au spectateur<br />
<br />
L'arbre de tâche que nous avons proposé n'est pas centré sur les tâches utilisateurs, nous devons le reconcevoir. Nous devrons donc refaire l'IHM abstraite associée.<br />
<br />
==Sprint 2 - 23 Octobre au 20 Novembre==<br />
<br />
Tâches prévues :<br />
* Backend répondant au scénario 1. <br />
* Frontend répondant au scénario 1.<br />
* DevOps : Mise en place du projet, intégration continue et déploiement continue.<br />
* Finalisation du dossier de conception. <br />
<br />
<br />
Rétrospective : prise de retard sur le scénario 1 et sur le déploiement continue.<br />
<br />
===Audit 2===<br />
<br />
Audit de conception et d'avancement de projet. Nous avons pu présenter durant cet audit notre conception global du projet (architecture, IHM, organisation du travail, workflow).<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit 2]]<br />
<br />
===Remarque===<br />
<br />
*Maquettes à revoir (petits détails au niveau des couleurs) et à légender. Charte graphique à étoffer.<br />
*Ajout des acteurs sur la vue physique.<br />
<br />
==Sprint 3 27 Novembre au 18 Octobre ==<br />
<br />
Tâches : <br />
* Scénario 1/2/3.<br />
* Déploiement continu.<br />
* Préparation de l'audit final.<br />
* Test IHM, SonarQube et Gatling.<br />
<br />
= Livrables =<br />
==L2. Dossier de conception système ==<br />
<br />
[[ECOM-1FO_1819_MySpectacle_Conception_systeme|Conception Système]]<br />
<br />
==L3. Analyse des scénarios clients ==<br />
<br />
===Scénario 1===<br />
<br />
Claude est en charge de la gestion des salles de spectacle communales. Elle s'occupe de la salle des fêtes et de superviser les gestionnaires des autres salles.<br />
Régulièrement elle fait le point avec eux. Elle les voit tout à l'heure et avant cela elle veut avoir une idée des taux de remplissage sur le prochain mois. C'est elle qui prépare les données car elle est la seule à avoir l'accès à tous les taux de remplissage.<br />
<br />
Elle va tout d'abord observer ses propres taux sur le mois écoulé et le mois futur afin d'avoir une idée des tendances sur ce qu'elle connaît le mieux.<br />
sur une vue de synthèse elle peut comparer les taux de remplissage de la salle des fêtes et des autres salles.<br />
<br />
Elle constate que, par rapport à la même période l'année dernière, deux des salles ont un taux inférieur et un autre est beaucoup plus haut.<br />
<br />
La hausse peut s'expliquer rapidement : c'est un nouveau gestionnaire et il a fait un gros travail de communication. Elle va donc s'intéresser aux baisses.<br />
<br />
Elle demande une vue détaillée pour cette salle.<br />
<br />
Elle peut donc comparer sur l'année écoulée les évolutions et les comparer à l'année dernière. Les deux sont cohérentes jusqu'à présnt, seules les prévisions pour le mois futur sont mauvaises. Elle compare ensuite avec l'année qui avait encore précédée et constate que les prévisions de l'année courante et de l'année n-2 sont cohérentes, c'est donc l'année dernière qui a été particulièrement bonne ce mois-là. Elle cherche dans ses notes ce qu'elle avait écrit alors et constate qu'effectivement elle avait noté que le calendrier des vacances scolaires et la météo avaient eues pour conséwuence une ausse de réservations. Pour la dernière baisse, elle a beau consulter toutes les données dont elle dispose elle n'arrive pas à se l'expliquer. Il va falloir qu'elle demande au gestionnaire. Elle génère un document avec les données de cette salle qu'elle reçoit dans sa boîte email instantanément.<br />
<br />
===Scénario 2===<br />
<br />
Bill gère la configuration de la salle en fonction des manifestations qui se produisent dans sa salle de spectacle. Il a 2 nouvelles configurations à définir.<br />
Il regarde la visualisation de la salle. Cette vue lui donne un plan avec la position de la scène (mobile) et des chaises avec le nombre de place que cela représente.<br />
L'une des manifestations n'a pas besoin ni de scène, ni de siège. Il commence par définir celle-ci. La seconde est un spectacle de danse avec un orchestre. Il "construit" un espace pour l'orchestre au pied de la scène, en supprimant des sièges sur 3 rangées.<br />
<br />
===Scénario 3===<br />
<br />
Victoria est ouvreuse dans une salle de spectacle. Lorsqu'un spectateur se présente avec un billet imprimée elle lit le QR code avec le smartphone de travail qui lui indique quelle est la place du spectateur.<br />
<br />
Lorsqu'un spectateur se présente au guichet sans billet, elle peut lui faire payer sa place par paypal et une fois qu'il a payé Victoria voit automatiquement apparaître sur son smartphone la place attribuée.<br />
<br />
===Scénario 4===<br />
<br />
Paul vient d'apprendre que sa soeur venait lui rendre visite ce week end. Elle souhaite présenter son nouveau compagnon. Il se dit que c'est l'occasion de sortir, il demandera à sa belle-mère de garder les enfants.<br />
<br />
Sa soeur a toujours aimé le théâtre donc il va regarer la programmation proposée par MySpectacle.<br />
<br />
Il va sur le site internet et indique la date du vendredi (arrivée de ses visiteurs), samedi et dimanche car il ne sait pas quand sa soeur a prévu de repartir. <br />
<br />
Dans la programmation pour ces dates, trois spectacles sont proposés. L'un d'eux n'a lieux qu'à 18h. A cette heure là, il y a beaucoup à faire avec les enfant donc il choisit de ne pas le considérer. Pour les deux autres, les horaires conviennent. Il ne sait ce que sa soeur préférerait et aucun n'est complet. Il choisit donc de noter les informations sur les offres et il demandera à sa soeur quand elle sera là.<br />
<br />
===Scénario 5===<br />
<br />
Janine est infirmière et est en charge d'organiser une sortie pour son équipe. Ils sont 8. Elle veut organiser une soirée avec repas au restaurant et ensuite assister à un spectacle. <br />
<br />
Elle consulte le programme en ligne de MySpectacle, elle a déjà assisté à des spectacles dans cette salle et elle sait qu'il y a tout type de spectacle. Elle en cherche un qui pourrait plaire au plus grand nombre. Elle indique qu'elle veut des spectacles pour tout public et indique la période qui lui conviendrait, inutile de regarder les spectacles proposés uniquement lorsque son équipe travaille de nuit. Elle obtient une liste de possibilités. Parmis celles-ci, il y a un spectacles humoristique sur la vie en milieu hospitalier, voilà un spectacle qui parlera à tous. En tarif plein, le coût est de 15€ par personne pour un placement dans le poulailler, 20€ par personne pour placement dans la catégorie balcon et 25€ par personne pour un placement orchestre. Elle dispose d'une enveloppe de 50€ par personne pour la soirée, elle choisit donc de prendre des places de balcon cela lui laissera donc 30€ pour le restaurant, elle choisira le restaurant en conséquence ensuite. Elle va prendre les billets. Elle indique qu'il lui faut 8 billets. <br />
<br />
[Elle choisit ses places pour qu'elles soient toutes les unes à côté des autres. Il n'y a plus que 5 places dans la catégorie balcon pour cette représentation. Elle pourrait prendre les 5 places dans la catégorie balcon et les trois autres dans une autre catégorie mais elle préfère prendre toutes les places dans le poulailler afin que tous le groupe soit ensemble.]<br />
<br />
Le système l'informe alors qu'à partir de 10 places, il lui est possible de bénéficier du tarif "groupe" qui descend le prix du billet à 15€ au lieu de 20€ (25%). Après un rapide calcul (15x10=150 et 8x20=160), elle se rend compte que même en perdant les 2 billets le groupe réalisera une petite économie en prenant 10 tickets - et puis, elle pourra proposer à Amélie, la jeune fille en stage actuellement au sein de son équipe de se joindre à eux. Elle modifie donc sa commande pour prendre 10 tickets.<br />
<br />
Vu la somme que cela représente le système ne lui porpose que deux modes de paiement possible : Paypal ou CB. Elle paie par CB (les autres la rembourseront plus tard).<br />
<br />
Elle peut ensuite choisir d'avoir ses billets en version imprimable (PDF) qui lui seront envoyées par email ou d'en avoir une version mobile qu'elle présenterait à l'entrée. Elle choisit de les avoir en version imprimable pour pouvoir les distribuer à chaque participant.<br />
<br />
===Scénario 6===<br />
<br />
Guy organise ses vacances avec sa femme. Son petit-fils, Baptiste, lui a vanté l'intérêt d'internet pour accéder au plus grand nombre de propositions.<br />
<br />
Le week end dernier il a suivi une "formation" accélérée avec la première partie de l'organisation ; la réservation du logement. Aujourd'hui, il se lance seul dans l'utilisation d'internet pour réserver un spectacle pour un soir pendant leur séjour; Simone aime sortir et comme il est de moins en moins confiant dans sa conduite de nuit, il est vrai qu'ils sortent moins souvent au fil des années. Baptiste lui a dit d'utiliser MySpectacle. Il va donc utiliser ce site.<br />
<br />
Il indique la date et obtient une liste de propositions. Il y a beaucoup de possibilité, il ne va quand même pas lire tout cela. En plus de la date, il connaît le lieu, il va modifier sa recherche pour le préciser. Il obtient une liste beaucoup plus courte.<br />
<br />
Il choisit le spectacle après avoir consulté la description. Il va réserver mais choisit de payer sur place, il ne se sent pas encore assez en confiance pour payer sur internet.<br />
<br />
Le système l'informe que pour réserver sans payer, il faut donner des informations ("un compte client"). Il donne les informations demandées, y compris une adresse email - que heureusement Baptiste lui avait créé samedi - et un mot de passe qu'il va s'empresser d'aller écrire quelque part pour ne pas l'oublier.<br />
<br />
Une fois que le système l'a informé que la réservation était bien faite, à son nom, pour la bonne date. Il est satisfait. Il se demande comment il va faire pour mémoriser tout ça. Il téléphone à Baptiste pour lui poser la question et, un peu fier de lui, lui dire qu'il a réussi à faire une réservation sur internet. Baptiste lui demande s'il est allé consulter sa messagerie. <br />
<br />
Décidément, il y en a des choses à faire avec internet !<br />
<br />
==L4. Maquette==<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE1.png|800px|center|thumb|Maquette vue de synthèse]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE3.png|800px|center|thumb|Maquette vue détaillée]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE2.png|800px|center|thumb|Maquette espace exportation]]<br />
<br />
==L5. SRS==<br />
[[ECOM-1FO_1819_MySpectacle_L5_SRS|SRS]]<br />
<br />
==L6. Diagramme UML==<br />
<br />
[[File:2019_Spectacle_entite.png|800px|center|thumb|Diagramme d'entités]]<br />
<br />
==L7. Modèles des tâches==<br />
<br />
[[File:2019_Spectacle_Arbre_des_taches.jpg|800px|center|thumb|Arbre de tâches]]<br />
<br />
==L8. Scrum==<br />
<br />
==L9. Journal==<br />
<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_BASTIEN|Journal de Bastien TERRIER]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_CEDRIC|Journal de Cédric LAFRASSE]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_JOFFREY|Journal de Joffrey FERREIRA]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_THIBAUD|Journal de Thibaud VEGREVILLE]]<br />
<br />
==L10. Dépôt Git==<br />
<br />
Lien vers les dépôts de l'organisation : <br />
<br />
[https://gitlab.com/Shadsa/ecom-myspectacle lien Gitlab]<br />
<br />
==L11. Application en ligne==<br />
<br />
[https://www.monprojet.fr website]<br />
<br />
[https://www.monprojet.fr/api/ API OpenAPI]<br />
<br />
==L12. Evaluation IHM réalisée==<br />
<br />
=== Les heuristiques de NIELSEN ===<br />
<br />
Durant la conception et l'implémentation de notre IHM de MySpectacle, nous avons essayé d'appliquer au mieux les 10 heuristiques de Nielsen.<br />
Voici nos commentaires réalisés le 15 décembre à propos de la version sur master de notre application. <br />
<br />
<br />
* Visibilité de l'état du système<br />
<br />
Le système devrait toujours tenir les utilisateurs informés de ce qui se passe, grâce à une rétroaction appropriée dans un délai raisonnable.<br />
<br />
-> L'état du système n'est pas toujours indiqué, il serait judicieux d'ajouter un message lorsque aucune salle n'est répertoriée. L'utilisateur ne sait pas si il est en attente ou si il n'y a pas de salles de spectacles.<br />
<br />
<br />
* Correspondance entre le système et le monde réel<br />
<br />
Le système devrait parler la langue de l'utilisateur, avec des mots, des phrases et des concepts familiers à l'utilisateur, plutôt que des termes orientés système. Suivez les conventions du monde réel, en faisant apparaître les informations dans un ordre naturel et logique.<br />
<br />
-> La gestion par entités de JHipster permet de faire facilement le lien entre les deux mondes. Cependant, certain messages d'erreurs pourraient être plus travaillées (exemple de l'erreur interne quand l'API rencontre une erreur).<br />
<br />
<br />
* Contrôle et liberté de l'utilisateur<br />
<br />
Les utilisateurs choisissent souvent les fonctions du système par erreur et ont besoin d'une "sortie de secours" clairement marquée pour quitter l'état non désiré sans avoir à passer par un dialogue prolongé. Support annuler et refaire.<br />
<br />
-> De nombreux boutons de retours sont présent sur notre site. L'envoi du mail est immédiat et ne permet pas de retour en arrière.<br />
<br />
<br />
* Cohérence et normes<br />
<br />
Les utilisateurs ne devraient pas avoir à se demander si des mots, des situations ou des actions différents signifient la même chose. Suivre les conventions de la plate-forme.<br />
<br />
-> Les normes graphiques de bases sont respectés (positionnement des menus, apparence des boutons, respect de la charte graphique,...).<br />
<br />
<br />
* Prévention des erreurs<br />
<br />
Encore mieux qu'un bon message d'erreur est une conception soignée qui empêche qu'un problème ne se produise en premier lieu. Éliminez les conditions sujettes aux erreurs ou vérifiez-les et présentez aux utilisateurs une option de confirmation avant qu'ils ne s'engagent dans l'action.<br />
<br />
-> Les champs requis dans les formulaires sont clairement mis en avant s'ils ne sont pas remplis. Les adresses mails sont vérifiées en temps réel (avant l'envoi du formulaire par le client).<br />
<br />
<br />
* Reconnaissance plutôt que rappel<br />
<br />
Minimisez la charge mémoire de l'utilisateur en rendant visibles les objets, les actions et les options. L'utilisateur ne devrait pas avoir à se souvenir des informations d'une partie du dialogue à l'autre. Les instructions d'utilisation du système doivent être visibles ou facilement récupérables chaque fois que cela est approprié.<br />
<br />
-> L'IHM que nous proposons est standard (avec par exemple le logo en haut à gauche et il permet de naviguer vers la page d'accueil), cependant nous n'avons pas de mémoire sur les visualisations faites par les utilisateurs.<br />
<br />
<br />
* Flexibilité et efficacité d'utilisation<br />
<br />
Les accélérateurs - invisibles pour l'utilisateur novice - peuvent souvent accélérer l'interaction pour l'utilisateur expert, de sorte que le système peut répondre à la fois aux besoins des utilisateurs inexpérimentés et expérimentés. Permettre aux utilisateurs de personnaliser les actions fréquentes.<br />
<br />
-> Nous ne respectons pas ce point car aucun raccourci n'est présent dans notre application web. <br />
<br />
<br />
* Design esthétique et minimaliste<br />
<br />
Les dialogues ne doivent pas contenir d'informations non pertinentes ou rarement nécessaires. Chaque unité d'information supplémentaire dans un dialogue entre en concurrence avec les unités d'information pertinentes et diminue leur visibilité relative.<br />
<br />
-> Utilisation de peu de couleurs, police agréable à lire, design minimaliste.<br />
<br />
<br />
* Aider les utilisateurs à reconnaître, diagnostiquer et récupérer les erreurs.<br />
<br />
Les messages d'erreur doivent être rédigés dans un langage simple (pas de codes), indiquer précisément le problème et proposer une solution constructive.<br />
<br />
-> Les erreurs dans les formulaires sont très bien gérées (langage simple est intuitif). Les erreurs internes ne sont pas très claires et elles nécessitent une plus grande attention. <br />
<br />
<br />
* Aide et documentation<br />
<br />
Même s'il est préférable que le système puisse être utilisé sans documentation, il peut être nécessaire de fournir de l'aide et de la documentation. Ces informations doivent être faciles à rechercher, axées sur la tâche de l'utilisateur, énumérer les mesures concrètes à prendre et ne pas être trop volumineuses.<br />
<br />
-> Nous n'avons pas d'espace d'entraide et de documentation associé à notre site.<br />
<br />
=== Analyse SUS===<br />
{|class="wikitable alternance"<br />
|+ System Usability Scale - Test utilisateur<br />
|-<br />
|<br />
!scope="col"| Pas du tout d'accord<br />
| -------- <br />
| -------- <br />
| -------- <br />
!scope="col"| Tout à fait d'accord<br />
|-<br />
<br />
!scope="row"| 1. Je pense que je vais utiliser ce logiciel fréquemment<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
<br />
!scope="row"| 2. Je trouve ce logiciel inutilement complexe<br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
<br />
!scope="row"| 3. Je pense que ce logiciel est facile à utiliser<br />
| <br />
| <br />
| <br />
| <br />
| X<br />
<br />
|-<br />
!scope="row"| 4.Je pense que j’aurai besoin de l’aide d’un expert pour être capable d’utiliser ce logiciel<br />
| X<br />
| <br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 5.J’ai trouvé que les différentes fonc- tions de ce logiciel ont été bien intégrées<br />
| <br />
| <br />
| <br />
| <br />
| X<br />
<br />
|-<br />
!scope="row"| 6. Je pense qu’il y a trop d’incohérence dans ce logiciel.<br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 7. J’imagine que la plupart des gens serait capable d’apprendre à utiliser ce logiciels très rapidement.<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
!scope="row"| 8 J’ai trouvé ce logiciel trés lourd à utiliser.<br />
| X<br />
| <br />
| <br />
| <br />
| <br />
<br />
|-<br />
!scope="row"| 9. Je me sentais très en confiance en utilisant ce logiciel.<br />
| <br />
| <br />
| <br />
| X<br />
| <br />
<br />
|-<br />
!scope="row"| 10. J’ai besoin d’apprendre beaucoup de choses avant de pouvoir utiliser ce logiciel. <br />
| <br />
| X<br />
| <br />
| <br />
| <br />
<br />
|-<br />
<br />
<br />
<br />
|}<br />
<br />
* Quels sont les points forts de ce logiciel ?<br />
Facile d'utilisation, clair et sobre.<br />
<br />
* Quels sont les points faibles de ce logiciel ?<br />
Beaucoup de zones vides dans la page de visualisation.<br />
<br />
* Score SUS de 85/100<br />
<br />
==L13. Evaluation qualité du projet==<br />
<br />
* Rapports SonarQube<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint3.pdf]]<br />
<br />
* Rapport CLOC<br />
<br />
516 text files.<br />
515 unique files. <br />
11 files ignored.<br />
<br />
github.com/AlDanial/cloc v 1.74 T=1.40 s (360.5 files/s, 24262.1 lines/s)<br />
-------------------------------------------------------------------------------<br />
Language files blank comment code<br />
-------------------------------------------------------------------------------<br />
TypeScript 256 1581 405 10533<br />
Java 122 2099 1372 9250<br />
HTML 62 154 65 3464<br />
CSS 1 0 2 2288<br />
JSON 26 7 0 761<br />
XML 17 112 80 614<br />
Sass 9 67 18 486<br />
YAML 9 36 170 373<br />
JavaScript 1 0 0 23<br />
Dockerfile 1 7 2 12<br />
Bourne Shell 1 1 0 3<br />
-------------------------------------------------------------------------------<br />
SUM: 505 4064 2114 27807<br />
-------------------------------------------------------------------------------<br />
<br />
==L14. Evaluation économique du projet==<br />
<br />
===COCOMO===<br />
<br />
<br />
===Evaluation économique du projet===<br />
<br />
Pour évaluer économiquement notre projet, nous avons calculer le nombre de ligne de code présent dans src, webpack, les .yml et .xml.<br />
<br />
Nous avons calculer grâce à Stack overflow le salaire annuel d'un ingénieur Full-Stack basé à Grenoble avec aucune année d'expérience. On a choisi le salaire du premier quartile, soit 29 000€ brut/an. Après ajout des charges salariales et conversion en dollar, on obtient un salaire de $2950 par mois.<br />
<br />
[[File:CocomoMySpectacle.png|800px|center|thumb|Cocomo MySpectacle]]<br />
<br />
==L15. Evaluation de la cybersécurité du projet (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_RGPD_Report.pdf]] (1 page de type checklist)<br />
<br />
==L16. Evaluation des performances (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]] (résultat des injections de charge JMeter, Gatling, ...)<br />
<br />
==L17. Gestion des risques (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L18. Slides de présentation conception==<br />
* [[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit de conception]]<br />
<br />
==L19. Slides de présentation finale==<br />
*[[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L20. Auto-évaluation==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L21. Slides de présentation client==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:VT_2018_Keycloak.png&diff=43543File:VT 2018 Keycloak.png2018-12-10T14:16:31Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43542VT2018 Keycloak2018-12-10T14:16:22Z<p>Joffrey.Ferreira: /* Exemple d'utilisation */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
Keycloak est un identity manager, un ensemble de processus appelé par une entité pour gérer les habilitations d'un utilisateurs à son système d'information. Cela implique ainsi d’administrer la création, la modification, et les droits d’accès de chaque identité numérique interagissant avec les ressources de l’entité. Comme les autres identity manager il y a des enjeux financiers, sécuritaire et de souplesse pour les applications tout en étant simple et nécessitant très peu de code. <br />
<br />
== Fonctionnement avec JHipster ==<br />
<br />
Pour son fonctionnement avec JHipster il suffit de sélectionner lors de la création de projet l'option pour utiliser Keycloak. L'application sera générée déjà configuré avec Keycloak et avant de démarrer l'application il faut lancer Keycloak avec un docker-compose et la console d'administration est accessible depuis le port 9080. On y trouve moulte options tel que l'envoie automatique de mail de confirmation d'inscription où gérer les habilitations d'utilisateurs voir même de groupe d'utilisateur. <br />
<br />
==Exemple d'utilisation==<br />
<br />
[[File:VT_2018_Keycloak.png]]<br />
<br />
Par exemple un utilisateur d'une application souhaite se connecter, une requête d’authentification sera envoyée. Le service d'authentification va recherché l'utilisateur associé à l'ID envoyé dans sa base de donnée. Ensuite un token unique est généré et envoyé pour que l'utilisateur puisse accéder à l'API qu'il se soit connecté avec un réseau social ou avec un identifiant.<br />
<br />
=Conclusion=<br />
<br />
* Les identity et access manager sont des outils très utiles pour les utilisateurs et développeurs<br />
* Keycloak se démarque des autres solutions<br />
* Facile à configurer et à prendre en main<br />
<br />
=Sources=<br />
<br />
* https://www.keycloak.org<br />
* https://en.wikipedia.org/wiki/Keycloak<br />
* https://github.com/mraible/jhipster-oidc-example<br />
* https://www.jhipster.tech/security/<br />
* https://witekio.com/fr/blog/authentication-management-focus-keycloak/</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43541VT2018 Keycloak2018-12-10T14:15:17Z<p>Joffrey.Ferreira: /* Synthèse */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
Keycloak est un identity manager, un ensemble de processus appelé par une entité pour gérer les habilitations d'un utilisateurs à son système d'information. Cela implique ainsi d’administrer la création, la modification, et les droits d’accès de chaque identité numérique interagissant avec les ressources de l’entité. Comme les autres identity manager il y a des enjeux financiers, sécuritaire et de souplesse pour les applications tout en étant simple et nécessitant très peu de code. <br />
<br />
== Fonctionnement avec JHipster ==<br />
<br />
Pour son fonctionnement avec JHipster il suffit de sélectionner lors de la création de projet l'option pour utiliser Keycloak. L'application sera générée déjà configuré avec Keycloak et avant de démarrer l'application il faut lancer Keycloak avec un docker-compose et la console d'administration est accessible depuis le port 9080. On y trouve moulte options tel que l'envoie automatique de mail de confirmation d'inscription où gérer les habilitations d'utilisateurs voir même de groupe d'utilisateur. <br />
<br />
==Exemple d'utilisation==<br />
<br />
[[File:VT_2018_Keycloak.jpg]]<br />
<br />
Par exemple un utilisateur d'une application souhaite se connecter, une requête d’authentification sera envoyée. Le service d'authentification va recherché l'utilisateur associé à l'ID envoyé dans sa base de donnée. Ensuite un token unique est généré et envoyé pour que l'utilisateur puisse accéder à l'API qu'il se soit connecté avec un réseau social ou avec un identifiant.<br />
<br />
=Conclusion=<br />
<br />
* Les identity et access manager sont des outils très utiles pour les utilisateurs et développeurs<br />
* Keycloak se démarque des autres solutions<br />
* Facile à configurer et à prendre en main<br />
<br />
=Sources=<br />
<br />
* https://www.keycloak.org<br />
* https://en.wikipedia.org/wiki/Keycloak<br />
* https://github.com/mraible/jhipster-oidc-example<br />
* https://www.jhipster.tech/security/<br />
* https://witekio.com/fr/blog/authentication-management-focus-keycloak/</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:VT2018_Keycloak_presentation.pdf&diff=43540File:VT2018 Keycloak presentation.pdf2018-12-10T14:04:58Z<p>Joffrey.Ferreira: Joffrey.Ferreira uploaded a new version of &quot;File:VT2018 Keycloak presentation.pdf&quot;</p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43539VT2018 Keycloak2018-12-10T13:46:30Z<p>Joffrey.Ferreira: /* Conclusion */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
* Les identity et access manager sont des outils très utiles pour les utilisateurs et développeurs<br />
* Keycloak se démarque des autres solutions<br />
* Facile à configurer et à prendre en main<br />
<br />
=Sources=<br />
<br />
* https://www.keycloak.org<br />
* https://en.wikipedia.org/wiki/Keycloak<br />
* https://github.com/mraible/jhipster-oidc-example<br />
* https://www.jhipster.tech/security/<br />
* https://witekio.com/fr/blog/authentication-management-focus-keycloak/</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak_Demo&diff=43538VT2018 Keycloak Demo2018-12-10T13:46:02Z<p>Joffrey.Ferreira: Created page with "= Lien du repository GitHub = https://github.com/JoffreyFerreira/keycloak-jhipster Génération de jhipster avec Keycloak configuré."</p>
<hr />
<div>= Lien du repository GitHub = <br />
<br />
https://github.com/JoffreyFerreira/keycloak-jhipster<br />
<br />
Génération de jhipster avec Keycloak configuré.</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:VT2018_Keycloak_presentation.pdf&diff=43537File:VT2018 Keycloak presentation.pdf2018-12-10T13:43:38Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43516VT2018 Keycloak2018-12-10T00:43:07Z<p>Joffrey.Ferreira: /* Sources */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
=Sources=<br />
<br />
* https://www.keycloak.org<br />
* https://en.wikipedia.org/wiki/Keycloak<br />
* https://github.com/mraible/jhipster-oidc-example<br />
* https://www.jhipster.tech/security/<br />
* https://witekio.com/fr/blog/authentication-management-focus-keycloak/</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43494VT2018 Keycloak2018-12-09T14:24:16Z<p>Joffrey.Ferreira: /* Sources */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
=Sources=<br />
<br />
* https://www.keycloak.org<br />
* https://en.wikipedia.org/wiki/Keycloak<br />
* https://github.com/keycloak/keycloak-demo<br />
* https://www.jhipster.tech/security/<br />
* https://witekio.com/fr/blog/authentication-management-focus-keycloak/</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43493VT2018 Keycloak2018-12-09T14:19:54Z<p>Joffrey.Ferreira: /* Sources */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
=Sources=<br />
<br />
* https://www.keycloak.org<br />
* https://en.wikipedia.org/wiki/Keycloak<br />
* https://github.com/keycloak/keycloak-demo<br />
* https://www.jhipster.tech/security/</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43492VT2018 Keycloak2018-12-09T14:08:03Z<p>Joffrey.Ferreira: /* Sources */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
=Sources=<br />
<br />
* https://www.keycloak.org<br />
* https://en.wikipedia.org/wiki/Keycloak<br />
* https://github.com/keycloak/keycloak-demo</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43491VT2018 Keycloak2018-12-09T13:48:36Z<p>Joffrey.Ferreira: </p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé en Java par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code. Plusieurs fonctionnalités sont disponibles tel que la connexion à un réseau social (Facebook, Twitter, ...), la double identification où il faut présenter deux preuves de son identité accéder à une ressource (Code envoyé par sms, ...) ou l'intégration du protocole LDAP (Lightweight Directory Access Protocol) pour l'interrogation ou la modification de services d'annuaires. <br />
<br />
=Abstract=<br />
Keycloak is an open source software developed in Java by JBoss, a division of red-hat. It allows Single Sign-On, identity and access management for users in an application or a website. The use of this tool is an easy way to secure an application with a little code. A lot of features are available as social login (sign in with Twitter, Facebook, ...), 2 factor-authentification where the user has to confirm his identity with 2 proof (code sent by sms, ...) to get access to a ressource or integration of LDAP protocol (Lightweight Directory Access Protocol) for interrogation and modification of distributed directory information service. <br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
=Sources=<br />
<br />
*</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43490VT2018 Keycloak2018-12-09T13:19:05Z<p>Joffrey.Ferreira: /* Résumé */</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
Keycloak est un logiciel open source développé par JBoss une division de red-hat. Il permet de l'authentification unique (Single Sign On) et de la gestion d'habilitation des utilisateurs d'une application ou d'un site internet. Cet outil apporte une sécurisation facile de son application avec peu de code.<br />
<br />
=Abstract=<br />
<br />
=Introduction=<br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
=Sources=<br />
<br />
*</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018_Keycloak&diff=43489VT2018 Keycloak2018-12-08T22:43:28Z<p>Joffrey.Ferreira: Created page with "=Auteur= * Sujet : Performance Monitoring * Enseignants : Georges-Pierre Bonneau, Didier Donsez * Rédigé par : Joffrey Ferreira * Conte..."</p>
<hr />
<div>=Auteur=<br />
* Sujet : Performance Monitoring<br />
<br />
* Enseignants : [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
<br />
* Rédigé par : Joffrey Ferreira<br />
<br />
* Contexte : Veille Technologique - Informatiques 5ème année - Polytech Grenoble<br />
<br />
* Date de dernière modification : 09/12/2018<br />
<br />
* Contact : Joffrey.Ferreira@etu.univ-grenoble-alpes.fr<br />
<br />
=Résumé=<br />
<br />
=Abstract=<br />
<br />
=Introduction=<br />
<br />
=Synthèse=<br />
<br />
==Description==<br />
<br />
==Fonctionnement==<br />
<br />
==Cas d'utilisation==<br />
<br />
=Conclusion=<br />
<br />
=Sources=<br />
<br />
*</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018&diff=43488VT20182018-12-08T22:40:19Z<p>Joffrey.Ferreira: /* Planning */</p>
<hr />
<div>[[VT2017|<< Etudes 2017]] [[VT|Sommaire]] [[VT2019|Etudes 2019 >>]]<br />
<br />
<br />
=Veille Technologique et Stratégique=<br />
* Enseignants: [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
* UE/Module: EAM (HPRJ9R6B) et EAR (HPRJ9R4B) en RICM5<br />
<br />
L'objectif de cette UE est de réaliser un travail de synthèse et d’évaluation sur une technologie / spécification / tendance<br />
<br />
Dans votre futur vie d'ingénieur, vous aurez à d'une part, vous former par vous-même sur une technologie émergente et d'autre part à réaliser une veille technologique (et stratégique) par rapport à votre entreprise et projet.<br />
Il s'agira de réaliser<br />
* le positionnement par rapport au marché<br />
* d'être critique<br />
<br />
Votre synthèse fait l'objet d'une présentation orale convaincante devant un auditoire (dans le futur, vos collègues, vos chefs ou vos clients) avec des transparents et un discours répété.<br />
Pour finir de convaincre (Saint Thomas), vous ferez la présentation d'une démonstration.<br />
<br />
Votre présentation sera noté et commenté par tous vos camarades via un sondage (téléphone mobile). Leurs notes et leurs commentaires seront notés en fonction de leur exactitude de jugement.<br />
<br />
Remarque: Le [https://fr.wikipedia.org/wiki/Plagiat plagiat] est incompatible avec l'éthique de l'ingénieur. Le directeur d'école peut demander à votre traduction devant la commission disciplinaire de l'université. La sanction peut aller jusqu’à une interdiction d'inscription dans les établissements de l'enseignement supérieur français pendant plusieurs années : Le jeu, en vaut-il la chandelle ?<br />
<br />
La présentation peut être réalisée avec [[reveal.js]]<br />
<br />
[[File:presentation-VT-RICM5-1516.pdf|transparents d'introduction à l'UE]]<br />
<br />
=Affectation des sujets=<br />
[[File:AffectationSujetsVT2018.pdf]]<br />
<br />
=Planning=<br />
* Vendredi 7/9: présentation et choix des sujets<br />
[[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
* Lundi 12/11: (GPB,DD en visio)<br />
** 1: Julien COURTIAL - Apollo 2.0, [[VT2018_Apollo|Fiche de synthèse]], [[Media:Apollo_Auto_Platform.pdf|Transparents]], [https://github.com/ApolloAuto/apollo/tree/master/docs/demo_guide Démo]<br />
** 2: Sekina BELGUENDOUZ - Service Mesh, [[VT2018_Service_Mesh|Fiche de synthèse]], [[Media:VT2018_Service_Mesh_presentation.pdf|Transparents]], [[VT2018_Service_Mesh_Demo|Démo avec Istrio]] (Reporté)<br />
** 3: Servan CHARLOT - [[OpenWhisk]] : [[VT2018_OpenWhisk|Fiche de synthèse]], [[Media:VT2018_OpenWhisk_presentation.pdf|Transparents]], [[VT2018_OpenWhisk_Demo|Démo]]<br />
** 4: Théo ECHEVET - Fabric8, [[VT2018_fabric8|Fiche de synthèse]], [[Media:Fabric8_Pres_Theo_Echevet.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 5: Bastien TERRIER - [[Performance_Monitoring|Performance Monitoring]], [[VT2018_Performance_Monitoring|Fiche de synthèse]], [[Media:VT2018_Performance_Monitoring_presentation.pdf|Transparents]], [[VT2018_Performance_Monitoring_Demo|Démo]]<br />
* Lundi 19/11: (GPB,DD en visio)<br />
** 6: Samuel BAMBA - DevSecOps, [[VT2018_DevSecOps|Fiche de synthèse]], [[Media:VT2018_DevSecOps.pdf|Transparents]], [https://github.com/CoolerVoid/codewarrior Démo]<br />
** 7: Zoran CHANET - [[Wildfly_Swarm|<strike>Wildfly Swarm</strike>]] [[Thorntail|Thorntail]], [[VT2018_Thorntail|Fiche de synthèse]], [[Media:VT2018_Thorntail_presentation.pdf|Transparents]], [[VT2018_Thorntail_Demo|Démo]]<br />
** 8: Thibaud VEGREVILLE, Techniques et technologies de "Lag Compensation" dans les jeux en ligne, [[VT2018_Lag_Compensation|Fiche de synthèse]], [[Media:Lag_Compensation_in_Games.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 9: Hugo GROS-DAILLON - [[ActionHero.js]], [[VT2018_ActionHero|Fiche de synthèse]], [[Media:VT2018ActionHero.pdf|Transparents]], [https://github.com/HugoSecteur4/DemoVT2018ActionHero/tree/master/ActionHero Démo]<br />
** 10: Vincent AUBERT - Apache MXNet : Demo avec Intel Movidius, [[VT2018_Apache_Mxnet|Fiche de synthèse]], [[Media:VT2018_Mxnet_presentation.pdf|Transparents]], [[VT2018_Mxnet_Demo|Démo]]<br />
* Lundi 10/12: (GPB+DD)<br />
** 11: Joffrey FERREIRA - Keycloak, [[VT2018_Keycloak|Fiche de synthèse]], [[Media:VT2018_Keycloak_presentation.pdf|Transparents]], [[VT2018_Keycloak_Demo|Démo]]<br />
** 12: Loris GENTILLON - Gceasy, [[VT2018_GCeasy-synthese|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]] <br />
** 13: Thomas OZENDA - Zipkin et Daper, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 14: Aurélien SURIER - CloudFoundry, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 15: Enzo MOLION - Web3j, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
* Lundi 17/12: (GPB)<br />
** 16: Quentin FOMBRAON - Web Assembly, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 17: Timothée DEPRIESTER - Kafka Stream, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 18: Benjamin BESNIER - Apache Beam, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 19: Théo LEVESQUE - OpenShift, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 20: William WEILL - CMS, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
* Lundi 07/01/2019: (GPB+DD)<br />
** 21: Tim LEPAGE - Moby, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 22: Cédric LAFRASSE - SIG, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 23: Léo VALETTE - Architectures de processeurs pour le Deep Learning (NPU): Démo de l'Intel Movidius, , [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 24: Florian CUZIN - , [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 25: Raphael MANGER - Apache Solr, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
* Lundi 14/01/2019: (GPD, DD absent)<br />
** 26: Amina BOUCHERIMA - Content delivery networks, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 27: Najwa EZ-ZINE - FIDO, [[VT2018_XXX|Fiche de synthèse]], [[Media:VT2018_XXX_presentation.pdf|Transparents]], [[VT2018_XXX_Demo|Démo]]<br />
** 28:<br />
** 29:<br />
** 30:<br />
<br />
=Sujets non sélectionnés=<br />
# [[Single Sign On]] : démonstration de [[Keycloak]] avec [[JHipster]].<br />
<!--<br />
# [[Service Mesh]] : démonstration de [[Istio]] avec [[JHispter]] kubernetes subgenerator<br />
--><br />
# [[gVisor]]: a new kind of sandbox that helps provide secure isolation for containers<br />
<!--<br />
# [[WebAssembly]]<br />
# [[Fast Identity Online Alliance]] (FIDO)<br />
# [[Apache MXNet]] : Demo avec [[Intel Movidius]] ([https://github.com/tspannhw/rpi-mxnet-movidius-minifi lien])<br />
# [[DevSecOps]] <br />
--><br />
# Portails et l'API [[Portlet]] : Démo avec [[Liferay]]<br />
<!--<br />
# [[Apache Beam]]<br />
# [[plateforme logicielle open source de conduite autonome Apollo 2.0]]<br />
# [[Neural Processing Unit]] (NPU) : Demo de la clé [[Intel Movidius]] sur un RPI<br />
# [[Kafka Streams]]<br />
# [[Moby]] : démonstration de containers avec votre projet [[ECOM-RICM|eCOM]].<br />
--><br />
# [[Hazelcast]] : Démo avec Spring Boot ([https://dzone.com/storage/assets/6459742-dzone-rc247-gettingstartedwithspringbootandmicrose.pdf lien]) dans un projet [[JHipster]]<br />
<!--<br />
# [[Zipkin]] (et Dapper) : Démonstration sur [[eCOM]] avec [[JHipster]]<br />
--><br />
# [[In-Memory Data Grids]] : Démonstration de [[Gigaspaces]] et [[XAP]] Open Source<br />
# Insport Video<br />
# Gestionnaires de contenu : démonstration de [[Apache Jackrabbit]] dans le projet [[eCOM]]<br />
# [[Memory-centric virtual distributed storage system]]<br />
<!--<br />
# [[Performance Monitoring]]<br />
--><br />
# [[ESB]] : démonstration de [[Mule ESB]]<br />
# [[MemCached]]<br />
<!--<br />
# [[CloudFoundry]]<br />
# [[Fabric8]]<br />
# [[gceasy]] : Universal garbage collection log Analyser<br />
# [[OpenWhisk]]<br />
# [[Wildfly Swarm]]<br />
# [[Apache Solr]] : Démonstration avec [http://hortonworks.com/hadoop-tutorial/indexing-and-searching-text-within-images-with-apache-solr/ Tesseract OCR]<br />
# [[Content Delivery Network]]s : Démonstration de [[Amazon S3]], Azure, Akamaï ... sur votre projet [[ECOM-RICM|eCOM]]<br />
# [[ActionHero.js]]<br />
# [[OpenShift]] CaaS : démo sur le projet eCOM<br />
# [[web3j]]<br />
# [[CMS]] : Demo avec [[Crafter CMS]]<br />
# [[SIG]] : Démonstration de [[QGIS]]<br />
--><br />
# [[Low-Power Global Area Network]]s ([[Sat-IoT]])</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint1.pdf&diff=43196File:ECOM-1FO 1819 PROJET MySpectacle SonarQubeReport Sprint1.pdf2018-11-12T07:16:52Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_Spectacle&diff=43194ECOM-1FO 1819 Spectacle2018-11-12T07:12:11Z<p>Joffrey.Ferreira: /* L13. Evaluation qualité du projet */</p>
<hr />
<div><br />
[[ECOM-1FO|<<<< Retour vers la page ECOM 2018-2019]]<br />
<br />
=Le projet en quelques mots=<br />
L’objectif de notre projet E-com est de mettre en place un service en ligne (et une application mobile) permettant d'une part à des utilisateurs de réserver des places de spectacles, et d'autre part à des organisateurs de gérer leur(s) salles.<br />
<br />
=L'équipe et leurs rôles=<br />
<br />
* Thibaud VEGREVILLE : Chef de projet (+ Backend, Devops)<br />
* Cédric LAFRASSE : Scrum Master (+ Frontend)<br />
* Bastien TERRIER : Développeur (+ Frontend, Doc review)<br />
* Joffrey FERREIRA : Développeur (+ Backend, Code review)<br />
<br />
=Gestion de projet=<br />
Choix des outils :<br />
<br />
* ''Gitlab'' : pour le dépôt, pour la documentation, l'intégration en continu<br />
* ''Trello'' : pour la gestion des sprints et des user stories<br />
* ''Bit.ai et Trello'' : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)<br />
<br />
=SCRUM=<br />
==Sprint 1 - 25 Septembre 2018 au 23 Octobre 2018==<br />
* Découverte du projet<br />
* Mise en place des rôles au sein de l’équipe<br />
* Détermination des dates clés du projet<br />
* La longueur des sprints a été établi à 4 semaines afin de permettre la production d'un incrément livrable à chaques itérations.<br />
<br />
===Audit 1===<br />
<br />
Audit de présentation des exigences et besoins client. Nous avons pu présenter durant cet audit notre organisation de travail, notre compréhension du projet et le travail prévu afin de le réaliser.<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT1.pdf|Slides de l'audit 1]]<br />
<br />
===Remarque===<br />
<br />
Remarque sur la forme de la présentation :<br />
<br />
*Attention à ne pas mixer le Français et l'Anglais dans les diaporamas<br />
*Préciser que l'utilisateur présent dans nos diapositives correspond au spectateur<br />
<br />
L'arbre de tâche que nous avons proposé n'est pas centré sur les tâches utilisateurs, nous devons le reconcevoir. Nous devrons donc refaire l'IHM abstraite associée.<br />
<br />
==Sprint 2 - 23 Octobre au 20 Novembre==<br />
<br />
===Audit 2===<br />
<br />
Audit de conception et d'avancement de projet. Nous avons pu présenter durant cet audit notre conception global du projet (architecture, IHM, organisation du travail, workflow).<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit 2]]<br />
<br />
===Remarque===<br />
<br />
*Maquettes à revoir (petits détails au niveau des couleurs) et à légender. Charte graphique à étoffer.<br />
*Ajout des acteurs sur la vue physique.<br />
<br />
==Sprint 3 XX au XX==<br />
<br />
<br />
==Sprint 4 XX au XX==<br />
<br />
<br />
==Sprint 5 XX au XX==<br />
<br />
<br />
= Livrables =<br />
==L2. Dossier de conception système ==<br />
<br />
[[ECOM-1FO_1819_MySpectacle_Conception_systeme|Conception Système]]<br />
<br />
==L3. Analyse des scénarios clients ==<br />
<br />
===Scénario 1===<br />
<br />
Claude est en charge de la gestion des salles de spectacle communales. Elle s'occupe de la salle des fêtes et de superviser les gestionnaires des autres salles.<br />
Régulièrement elle fait le point avec eux. Elle les voit tout à l'heure et avant cela elle veut avoir une idée des taux de remplissage sur le prochain mois. C'est elle qui prépare les données car elle est la seule à avoir l'accès à tous les taux de remplissage.<br />
<br />
Elle va tout d'abord observer ses propres taux sur le mois écoulé et le mois futur afin d'avoir une idée des tendances sur ce qu'elle connaît le mieux.<br />
sur une vue de synthèse elle peut comparer les taux de remplissage de la salle des fêtes et des autres salles.<br />
<br />
Elle constate que, par rapport à la même période l'année dernière, deux des salles ont un taux inférieur et un autre est beaucoup plus haut.<br />
<br />
La hausse peut s'expliquer rapidement : c'est un nouveau gestionnaire et il a fait un gros travail de communication. Elle va donc s'intéresser aux baisses.<br />
<br />
Elle demande une vue détaillée pour cette salle.<br />
<br />
Elle peut donc comparer sur l'année écoulée les évolutions et les comparer à l'année dernière. Les deux sont cohérentes jusqu'à présnt, seules les prévisions pour le mois futur sont mauvaises. Elle compare ensuite avec l'année qui avait encore précédée et constate que les prévisions de l'année courante et de l'année n-2 sont cohérentes, c'est donc l'année dernière qui a été particulièrement bonne ce mois-là. Elle cherche dans ses notes ce qu'elle avait écrit alors et constate qu'effectivement elle avait noté que le calendrier des vacances scolaires et la météo avaient eues pour conséwuence une ausse de réservations. Pour la dernière baisse, elle a beau consulter toutes les données dont elle dispose elle n'arrive pas à se l'expliquer. Il va falloir qu'elle demande au gestionnaire. Elle génère un document avec les données de cette salle qu'elle reçoit dans sa boîte email instantanément.<br />
<br />
===Scénario 2===<br />
<br />
Bill gère la configuration de la en fonction des manifestations qui se produisent dans sa salle de spectacle. Il a 2 nouvelles configurations à définir.<br />
Il regarde la visualisation de la salle. Cette vue lui donne un plan avec la position de la scène (mobile) et des chaises avec le nombre de place que cela représente.<br />
L'une des manifestations n'a pas besoin ni de scène, ni de siège. Il commence par définir celle-ci. La seconde est un spectacle de danse avec un orchestre. Il "construit" un espace pour l'orchestre au pied de la scène, en supprimant des sièges sur 3 rangées.<br />
<br />
===Scénario 3===<br />
<br />
Victoria est ouvreuse dans une salle de spectacle. Lorsqu'un spectateur se présente avec un billet imprimée elle lit le QR code avec le smartphone de travail qui lui indique quelle est la place du spectateur.<br />
<br />
Lorsqu'un spectateur se présente au guichet sans billet, elle peut lui faire payer sa place par paypal et une fois qu'il a payé Victoria voit automatiquement apparaître sur son smartphone la place attribuée.<br />
<br />
===Scénario 4===<br />
<br />
paul vient d'apprendre que sa soeur venait lui rendre visite ce week end. Elle souhaite présenter son nouveau compagnon. Il se dit que c'est l'occasion de sortir, il demandera à sa belle-mère de garder les enfants.<br />
<br />
Sa soeur a touours aimé le théâtre donc il va regarer la programmation proposée par MySpectacle.<br />
<br />
Il va sur le site internet et indique la date du vendredi (arrivée de ses visiteurs), samedi et dimanche car il ne sait pas quand sa soeur a prévu de repartir. <br />
<br />
Dans la programmation pour ces dates, trois sepctacles sont proposés. L'un d'eux n'a lieux qu'à 18h. A cette heure là, il y a beaucoup à faire avec les enfant donc il choisit de ne pas le considérer. Pour les deux autres, les horaires conviennent. Il ne sait ce que sa soeur préférerait et aucun n'est complet. Il choisit donc de noter les informations sur les offres et il demandera à sa soeur quand elle sera là.<br />
<br />
===Scénario 5===<br />
<br />
Janine est infirmière et est en charge d'organiser une sortie pour son équipe. Ils sont 8. Elle veut organiser une soirée avec repas au restaurant et ensuite assister à un spectacle. <br />
<br />
Elle consulte le programme en ligne de MySpectacle, elle a déjà assisté à des spectacles dans cette salle et elle sait qu'il y a tout type de spectacle. Elle en cherche un qui pourrait plaire au plus grand nombre. Elle indique qu'elle veut des spectacles pour tout public et indique la période qui lui conviendrait, inutile de regarder les spectacles proposés uniquement lorsque son équipe travaille de nuit. Elle obtient une liste de possibilités. Parmis celles-ci, il y a un spectacles humoristique sur la vie en milieu hospitalier, voilà un spectacle qui parlera à tous. En tarif plein, le coût est de 15€ par personne pour un placement dans le poulailler, 20€ par personne pour placement dans la catégorie balcon et 25€ par personne pour un placement orchestre. Elle dispose d'une enveloppe de 50€ par personne pour la soirée, elle choisit donc de prendre des places de balcon cela lui laissera donc 30€ pour le restaurant, elle choisira le restaurant en conséquence ensuite. Elle va prendre les billets. Elle indique qu'il lui faut 8 billets. <br />
<br />
[Elle choisit ses places pour qu'elles soient toutes les unes à côté des autres. Il n'y a plus que 5 places dans la catégorie balcon pour cette représentation. Elle pourrait prendre les 5 places dans la catégorie balcon et les trois autres dans une autre catégorie mais elle préfère prendre toutes les places dans le poulailler afin que tous le groupe soit ensemble.]<br />
<br />
Le système l'informe alors qu'à partir de 10 places, il lui est possible de bénéficier du tarif "groupe" qui descend le prix du billet à 15€ au lieu de 20€ (25%). Après un rapide calcul (15x10=150 et 8x20=160), elle se rend compte que même en perdant les 2 billets le groupe réalisera une petite économie en prenant 10 tickets - et puis, elle pourra proposer à Amélie, la jeune fille en stage actuellement au sein de son équipe de se joindre à eux. Elle modifie donc sa commande pour prendre 10 tickets.<br />
<br />
Vu la somme que cela représente le système ne lui porpose que deux modes de paiement possible : Paypal ou CB. Elle paie par CB (les autres la rembourseront plus tard).<br />
<br />
Elle peut ensuite choisir d'avoir ses billets en version imprimable (PDF) qui lui seront envoyées par email ou d'en avoir une version mobile qu'elle présenterait à l'entrée. Elle choisit de les avoir en version imprimable pour pouvoir les distribuer à chaque participant.<br />
<br />
===Scénario 6===<br />
<br />
Guy organise ses vacances avec sa femme. Son petit-fils, Baptiste, lui a vanté l'intérêt d'internet pour accéder au plus grand nombre de propositions.<br />
<br />
Le week end dernier il a suivi une "formation" accélérée avec la première partie de l'organisation ; la réservation du logement. Aujourd'hui, il se lance seul dans l'utilisation d'internet pour réserver un spectacle pour un soir pendant leur séjour; Simone aime sortir et comme il est de moins en moins confiant dans sa conduite de nuit, il est vrai qu'ils sortent moins souvent au fil des années. Baptiste lui a dit d'utiliser MySpectacle. Il va donc utiliser ce site.<br />
<br />
Il indique la date et obtient une liste de propositions. Il y a beaucoup de possibilité, il ne va quand même pas lire tout cela. En plus de la date, il connaît le lieu, il va modifier sa recherche pour le préciser. Il obtient une liste beaucoup plus courte.<br />
<br />
Il choisit le spectacle après avoir consulté la description. Il va réserver mais choisit de payer sur place, il ne se sent pas encore assez en confiance pour payer sur internet.<br />
<br />
Le système l'informe que pour réserver sans payer, il faut donner des informations ("un compte client"). Il donne les informations demandées, y compris une adresse email - que heureusement Baptiste lui avait créé samedi - et un mot de passe qu'il va s'empresser d'aller écrire quelque part pour ne pas l'oublier.<br />
<br />
Une fois que le système l'a informé que la réservation était bien faite, à son nom, pour la bonne date. Il est satisfait. Il se demande comment il va faire pour mémoriser tout ça. Il téléphone à Baptiste pour lui poser la question et, un peu fier de lui, lui dire qu'il a réussi à faire une réservation sur internet. Baptiste lui demande s'il est allé consulter sa messagerie. <br />
<br />
Décidément, il y en a des choses à faire avec internet !<br />
<br />
==L4. Maquette==<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE1.png|800px|center|thumb|Maquette vue de synthèse]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE3.png|800px|center|thumb|Maquette vue détaillée]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE2.png|800px|center|thumb|Maquette espace exportation]]<br />
<br />
==L5. SRS==<br />
[[ECOM-1FO_1819_MySpectacle_L5_SRS|SRS]]<br />
<br />
==L6. Diagramme UML==<br />
<br />
[[File:2019_Spectacle_entite.png|800px|center|thumb|Diagramme d'entités]]<br />
<br />
==L7. Modèles des tâches==<br />
<br />
[[File:2019_Spectacle_Arbre_des_taches.jpg|800px|center|thumb|Arbre de tâches]]<br />
<br />
==L8. Scrum==<br />
<br />
==L9. Journal==<br />
<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_BASTIEN|Journal de Bastien TERRIER]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_CEDRIC|Journal de Cédric LAFRASSE]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_JOFFREY|Journal de Joffrey FERREIRA]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_THIBAUD|Journal de Thibaud VEGREVILLE]]<br />
<br />
==L10. Dépôt Git==<br />
<br />
Lien vers les dépôts de l'organisation :<br />
<br />
[https://gricad-gitlab.univ-grenoble-alpes.fr/vegrevit/ecom lien Gitlab]<br />
<br />
==L11. Application en ligne==<br />
<br />
[https://www.monprojet.fr website]<br />
<br />
[https://www.monprojet.fr/api/ API OpenAPI]<br />
<br />
==L12. Evaluation IHM réalisée==<br />
<br />
==L13. Evaluation qualité du projet==<br />
<br />
* Rapports SonarQube<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJET_MySpectacle_SonarQubeReport_Sprint5.pdf]]<br />
<br />
* Tests<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint5.pdf]]<br />
<br />
==L14. Evaluation économique du projet==<br />
<br />
===COCOMO===<br />
<br />
<br />
===Evaluation économique du projet===<br />
Vous pouvez utiliser les évaluations des salaires avec cette [https://stackoverflow.com/jobs/salary calculatrice] pour connaître les salaires des membres de l'équipe. (pensez à ajouter les charges).<br />
<br />
==L15. Evaluation de la cybersécurité du projet (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_RGPD_Report.pdf]] (1 page de type checklist)<br />
<br />
==L16. Evaluation des performances (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]] (résultat des injections de charge JMeter, Gatling, ...)<br />
<br />
==L17. Gestion des risques (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L18. Slides de présentation conception==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L19. Slides de présentation finale==<br />
*[[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L20. Auto-évaluation==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L21. Slides de présentation client==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=VT2018&diff=43015VT20182018-11-06T19:05:45Z<p>Joffrey.Ferreira: /* Planning */</p>
<hr />
<div>[[VT2017|<< Etudes 2017]] [[VT|Sommaire]] [[VT2019|Etudes 2019 >>]]<br />
<br />
<br />
=Veille Technologique et Stratégique=<br />
* Enseignants: [[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
* UE/Module: EAM (HPRJ9R6B) et EAR (HPRJ9R4B) en RICM5<br />
<br />
L'objectif de cette UE est de réaliser un travail de synthèse et d’évaluation sur une technologie / spécification / tendance<br />
<br />
Dans votre futur vie d'ingénieur, vous aurez à d'une part, vous former par vous-même sur une technologie émergente et d'autre part à réaliser une veille technologique (et stratégique) par rapport à votre entreprise et projet.<br />
Il s'agira de réaliser<br />
* le positionnement par rapport au marché<br />
* d'être critique<br />
<br />
Votre synthèse fait l'objet d'une présentation orale convaincante devant un auditoire (dans le futur, vos collègues, vos chefs ou vos clients) avec des transparents et un discours répété.<br />
Pour finir de convaincre (Saint Thomas), vous ferez la présentation d'une démonstration.<br />
<br />
Votre présentation sera noté et commenté par tous vos camarades via un sondage (téléphone mobile). Leurs notes et leurs commentaires seront notés en fonction de leur exactitude de jugement.<br />
<br />
Remarque: Le [https://fr.wikipedia.org/wiki/Plagiat plagiat] est incompatible avec l'éthique de l'ingénieur. Le directeur d'école peut demander à votre traduction devant la commission disciplinaire de l'université. La sanction peut aller jusqu’à une interdiction d'inscription dans les établissements de l'enseignement supérieur français pendant plusieurs années : Le jeu, en vaut-il la chandelle ?<br />
<br />
La présentation peut être réalisée avec [[reveal.js]]<br />
<br />
[[File:presentation-VT-RICM5-1516.pdf|transparents d'introduction à l'UE]]<br />
<br />
=Affectation des sujets=<br />
[[File:AffectationSujetsVT2018.pdf]]<br />
<br />
=Planning=<br />
* Vendredi 7/9: présentation et choix des sujets<br />
[[User:Gpbonneau|Georges-Pierre Bonneau]], [[User:Donsez|Didier Donsez]]<br />
* Lundi 12/11: (GPB,DD en visio)<br />
** 1: Julien COURTIAL - Apollo 2.0<br />
** 2: Sekina BELGUENDOUZ - Service Mesh<br />
** 3: [[OpenWhisk]] - Servan CHARLOT. [[VT2018_OpenWhisk|Fiche de synthèse]], [[Media:VT2018_OpenWhisk_presentation.pdf|Transparents]], [[VT2018_OpenWhisk_Demo|Démo]]<br />
** 4: Théo ECHEVET - Fabric8<br />
** 5: Bastien TERRIER - Performance Monitoring<br />
* Lundi 19/11: (GPB,DD en visio)<br />
** 6: Samuel BAMBA - DevSecOps<br />
** 7: Zoran CHANET - Wildfly Swarm<br />
** 8:<br />
** 9: Hugo GROS-DAILLON - ActionHero.js<br />
** 10: Vincent AUBER - Apache MXNet : Demo avec Intel Movidius<br />
* Lundi 26/11: (GPB+DD)<br />
** 11: Joffrey FERREIRA - Keycloak<br />
** 12: Loris GENTILLON - Gceasy <br />
** 13: Thomas OZENDA - Zipkin et Daper<br />
** 14: Aurélien SURIER - CloudFoundry<br />
** 15: Enzo MOLION - Web3j<br />
* Lundi 03/12: (GPB+DD)<br />
** 16: Quentin FOMBRAON - Web Assembly<br />
** 17: Timothée DEPRIESTER - Kafka Stream<br />
** 18: Benjamin BESNIER - Apache Beam<br />
** 19: Théo LEVESQUE - OpenShift<br />
** 20: William WEILL - CMS<br />
* Lundi 10/12: (GPB+DD)<br />
** 21: Tim LEPAGE - Moby<br />
** 22: Cédric LAFRASSE - SIG<br />
** 23: Léo VALETTE - Movidius NPU<br />
** 24: Florian CUZIN - <br />
** 25: Raphael MANGER - Apache Solr<br />
* Lundi 17/12: (GPD, DD absent)<br />
** 26: Amina BOUCHERIMA - Content delivery networks<br />
** 27: Najwa EZ-ZINE - FIDO<br />
** 28:<br />
** 29:<br />
** 30:<br />
<br />
=Sujets non sélectionnés=<br />
# [[Single Sign On]] : démonstration de [[Keycloak]] avec [[JHipster]].<br />
<!--<br />
# [[Service Mesh]] : démonstration de [[Istio]] avec [[JHispter]] kubernetes subgenerator<br />
--><br />
# [[gVisor]]: a new kind of sandbox that helps provide secure isolation for containers<br />
<!--<br />
# [[WebAssembly]]<br />
# [[Fast Identity Online Alliance]] (FIDO)<br />
# [[Apache MXNet]] : Demo avec [[Intel Movidius]] ([https://github.com/tspannhw/rpi-mxnet-movidius-minifi lien])<br />
# [[DevSecOps]] <br />
--><br />
# Portails et l'API [[Portlet]] : Démo avec [[Liferay]]<br />
<!--<br />
# [[Apache Beam]]<br />
# [[plateforme logicielle open source de conduite autonome Apollo 2.0]]<br />
# [[Neural Processing Unit]] (NPU) : Demo de la clé [[Intel Movidius]] sur un RPI<br />
# [[Kafka Streams]]<br />
# [[Moby]] : démonstration de containers avec votre projet [[ECOM-RICM|eCOM]].<br />
--><br />
# [[Hazelcast]] : Démo avec Spring Boot ([https://dzone.com/storage/assets/6459742-dzone-rc247-gettingstartedwithspringbootandmicrose.pdf lien]) dans un projet [[JHipster]]<br />
<!--<br />
# [[Zipkin]] (et Dapper) : Démonstration sur [[eCOM]] avec [[JHipster]]<br />
--><br />
# [[In-Memory Data Grids]] : Démonstration de [[Gigaspaces]] et [[XAP]] Open Source<br />
# Insport Video<br />
# Gestionnaires de contenu : démonstration de [[Apache Jackrabbit]] dans le projet [[eCOM]]<br />
# [[Memory-centric virtual distributed storage system]]<br />
<!--<br />
# [[Performance Monitoring]]<br />
--><br />
# [[ESB]] : démonstration de [[Mule ESB]]<br />
# [[MemCached]]<br />
<!--<br />
# [[CloudFoundry]]<br />
# [[Fabric8]]<br />
# [[gceasy]] : Universal garbage collection log Analyser<br />
# [[OpenWhisk]]<br />
# [[Wildfly Swarm]]<br />
# [[Apache Solr]] : Démonstration avec [http://hortonworks.com/hadoop-tutorial/indexing-and-searching-text-within-images-with-apache-solr/ Tesseract OCR]<br />
# [[Content Delivery Network]]s : Démonstration de [[Amazon S3]], Azure, Akamaï ... sur votre projet [[ECOM-RICM|eCOM]]<br />
# [[ActionHero.js]]<br />
# [[OpenShift]] CaaS : démo sur le projet eCOM<br />
# [[web3j]]<br />
# [[CMS]] : Demo avec [[Crafter CMS]]<br />
# [[SIG]] : Démonstration de [[QGIS]]<br />
--><br />
# [[Low-Power Global Area Network]]s ([[Sat-IoT]])</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=File:2019_Spectacle_entite.png&diff=43005File:2019 Spectacle entite.png2018-11-06T16:44:23Z<p>Joffrey.Ferreira: </p>
<hr />
<div></div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_Spectacle&diff=43004ECOM-1FO 1819 Spectacle2018-11-06T16:44:11Z<p>Joffrey.Ferreira: /* L6. Diagramme UML */</p>
<hr />
<div><br />
[[ECOM-1FO|<<<< Retour vers la page ECOM 2018-2019]]<br />
<br />
=Le projet en quelques mots=<br />
L’objectif de notre projet E-com est de mettre en place un service en ligne (et une application mobile) permettant d'une part à des utilisateurs de réserver des places de spectacles, et d'autre part à des organisateurs de gérer leur(s) salles.<br />
<br />
=L'équipe et leurs rôles=<br />
<br />
* Thibaud VEGREVILLE : Chef de projet (+ Backend, Devops)<br />
* Cédric LAFRASSE : Scrum Master (+ Frontend)<br />
* Bastien TERRIER : Développeur (+ Frontend, Doc review)<br />
* Joffrey FERREIRA : Développeur (+ Backend, Code review)<br />
<br />
=Gestion de projet=<br />
Choix des outils :<br />
<br />
* ''Gitlab'' : pour le dépôt, pour la documentation, l'intégration en continu<br />
* ''Trello'' : pour la gestion des sprints et des user stories<br />
* ''Bit.ai et Trello'' : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)<br />
<br />
=SCRUM=<br />
==Sprint 1 - 25 Septembre 2018 au 23 Octobre 2018==<br />
* Découverte du projet<br />
* Mise en place des rôles au sein de l’équipe<br />
* Détermination des dates clés du projet<br />
* La longueur des sprints a été établi à 4 semaines afin de permettre la production d'un incrément livrable à chaques itérations.<br />
<br />
===Audit 1===<br />
<br />
Audit de présentation des exigences et besoins client. Nous avons pu présenter durant cet audit notre organisation de travail, notre compréhension du projet et le travail prévu afin de le réaliser.<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT1.pdf|Slides de l'audit 1]]<br />
<br />
===Remarque===<br />
<br />
Remarque sur la forme de la présentation :<br />
<br />
*Attention à ne pas mixer le Français et l'Anglais dans les diaporamas<br />
*Préciser que l'utilisateur présent dans nos diapositives correspond au spectateur<br />
<br />
L'arbre de tâche que nous avons proposé n'est pas centré sur les tâches utilisateurs, nous devons le reconcevoir. Nous devrons donc refaire l'IHM abstraite associée.<br />
<br />
==Sprint 2 - 23 Octobre au 20 Novembre==<br />
<br />
===Audit 2===<br />
<br />
Audit de conception et d'avancement de projet. Nous avons pu présenter durant cet audit notre conception global du projet (architecture, IHM, organisation du travail, workflow).<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit 2]]<br />
<br />
===Remarque===<br />
<br />
*Maquettes à revoir (petits détails au niveau des couleurs) et à légender. Charte graphique à étoffer.<br />
*Ajout des acteurs sur la vue physique.<br />
<br />
==Sprint 3 XX au XX==<br />
<br />
<br />
==Sprint 4 XX au XX==<br />
<br />
<br />
==Sprint 5 XX au XX==<br />
<br />
<br />
= Livrables =<br />
==L2. Dossier de conception système ==<br />
<br />
[[ECOM-1FO_1819_MySpectacle_Conception_systeme|Conception Système]]<br />
<br />
==L3. Analyse des scénarios clients ==<br />
<br />
===Scénario 1===<br />
<br />
Claude est en charge de la gestion des salles de spectacle communales. Elle s'occupe de la salle des fêtes et de superviser les gestionnaires des autres salles.<br />
Régulièrement elle fait le point avec eux. Elle les voit tout à l'heure et avant cela elle veut avoir une idée des taux de remplissage sur le prochain mois. C'est elle qui prépare les données car elle est la seule à avoir l'accès à tous les taux de remplissage.<br />
<br />
Elle va tout d'abord observer ses propres taux sur le mois écoulé et le mois futur afin d'avoir une idée des tendances sur ce qu'elle connaît le mieux.<br />
sur une vue de synthèse elle peut comparer les taux de remplissage de la salle des fêtes et des autres salles.<br />
<br />
Elle constate que, par rapport à la même période l'année dernière, deux des salles ont un taux inférieur et un autre est beaucoup plus haut.<br />
<br />
La hausse peut s'expliquer rapidement : c'est un nouveau gestionnaire et il a fait un gros travail de communication. Elle va donc s'intéresser aux baisses.<br />
<br />
Elle demande une vue détaillée pour cette salle.<br />
<br />
Elle peut donc comparer sur l'année écoulée les évolutions et les comparer à l'année dernière. Les deux sont cohérentes jusqu'à présnt, seules les prévisions pour le mois futur sont mauvaises. Elle compare ensuite avec l'année qui avait encore précédée et constate que les prévisions de l'année courante et de l'année n-2 sont cohérentes, c'est donc l'année dernière qui a été particulièrement bonne ce mois-là. Elle cherche dans ses notes ce qu'elle avait écrit alors et constate qu'effectivement elle avait noté que le calendrier des vacances scolaires et la météo avaient eues pour conséwuence une ausse de réservations. Pour la dernière baisse, elle a beau consulter toutes les données dont elle dispose elle n'arrive pas à se l'expliquer. Il va falloir qu'elle demande au gestionnaire. Elle génère un document avec les données de cette salle qu'elle reçoit dans sa boîte email instantanément.<br />
<br />
===Scénario 2===<br />
<br />
Bill gère la configuration de la en fonction des manifestations qui se produisent dans sa salle de spectacle. Il a 2 nouvelles configurations à définir.<br />
Il regarde la visualisation de la salle. Cette vue lui donne un plan avec la position de la scène (mobile) et des chaises avec le nombre de place que cela représente.<br />
L'une des manifestations n'a pas besoin ni de scène, ni de siège. Il commence par définir celle-ci. La seconde est un spectacle de danse avec un orchestre. Il "construit" un espace pour l'orchestre au pied de la scène, en supprimant des sièges sur 3 rangées.<br />
<br />
===Scénario 3===<br />
<br />
Victoria est ouvreuse dans une salle de spectacle. Lorsqu'un spectateur se présente avec un billet imprimée elle lit le QR code avec le smartphone de travail qui lui indique quelle est la place du spectateur.<br />
<br />
Lorsqu'un spectateur se présente au guichet sans billet, elle peut lui faire payer sa place par paypal et une fois qu'il a payé Victoria voit automatiquement apparaître sur son smartphone la place attribuée.<br />
<br />
===Scénario 4===<br />
<br />
paul vient d'apprendre que sa soeur venait lui rendre visite ce week end. Elle souhaite présenter son nouveau compagnon. Il se dit que c'est l'occasion de sortir, il demandera à sa belle-mère de garder les enfants.<br />
<br />
Sa soeur a touours aimé le théâtre donc il va regarer la programmation proposée par MySpectacle.<br />
<br />
Il va sur le site internet et indique la date du vendredi (arrivée de ses visiteurs), samedi et dimanche car il ne sait pas quand sa soeur a prévu de repartir. <br />
<br />
Dans la programmation pour ces dates, trois sepctacles sont proposés. L'un d'eux n'a lieux qu'à 18h. A cette heure là, il y a beaucoup à faire avec les enfant donc il choisit de ne pas le considérer. Pour les deux autres, les horaires conviennent. Il ne sait ce que sa soeur préférerait et aucun n'est complet. Il choisit donc de noter les informations sur les offres et il demandera à sa soeur quand elle sera là.<br />
<br />
===Scénario 5===<br />
<br />
Janine est infirmière et est en charge d'organiser une sortie pour son équipe. Ils sont 8. Elle veut organiser une soirée avec repas au restaurant et ensuite assister à un spectacle. <br />
<br />
Elle consulte le programme en ligne de MySpectacle, elle a déjà assisté à des spectacles dans cette salle et elle sait qu'il y a tout type de spectacle. Elle en cherche un qui pourrait plaire au plus grand nombre. Elle indique qu'elle veut des spectacles pour tout public et indique la période qui lui conviendrait, inutile de regarder les spectacles proposés uniquement lorsque son équipe travaille de nuit. Elle obtient une liste de possibilités. Parmis celles-ci, il y a un spectacles humoristique sur la vie en milieu hospitalier, voilà un spectacle qui parlera à tous. En tarif plein, le coût est de 15€ par personne pour un placement dans le poulailler, 20€ par personne pour placement dans la catégorie balcon et 25€ par personne pour un placement orchestre. Elle dispose d'une enveloppe de 50€ par personne pour la soirée, elle choisit donc de prendre des places de balcon cela lui laissera donc 30€ pour le restaurant, elle choisira le restaurant en conséquence ensuite. Elle va prendre les billets. Elle indique qu'il lui faut 8 billets. <br />
<br />
[Elle choisit ses places pour qu'elles soient toutes les unes à côté des autres. Il n'y a plus que 5 places dans la catégorie balcon pour cette représentation. Elle pourrait prendre les 5 places dans la catégorie balcon et les trois autres dans une autre catégorie mais elle préfère prendre toutes les places dans le poulailler afin que tous le groupe soit ensemble.]<br />
<br />
Le système l'informe alors qu'à partir de 10 places, il lui est possible de bénéficier du tarif "groupe" qui descend le prix du billet à 15€ au lieu de 20€ (25%). Après un rapide calcul (15x10=150 et 8x20=160), elle se rend compte que même en perdant les 2 billets le groupe réalisera une petite économie en prenant 10 tickets - et puis, elle pourra proposer à Amélie, la jeune fille en stage actuellement au sein de son équipe de se joindre à eux. Elle modifie donc sa commande pour prendre 10 tickets.<br />
<br />
Vu la somme que cela représente le système ne lui porpose que deux modes de paiement possible : Paypal ou CB. Elle paie par CB (les autres la rembourseront plus tard).<br />
<br />
Elle peut ensuite choisir d'avoir ses billets en version imprimable (PDF) qui lui seront envoyées par email ou d'en avoir une version mobile qu'elle présenterait à l'entrée. Elle choisit de les avoir en version imprimable pour pouvoir les distribuer à chaque participant.<br />
<br />
===Scénario 6===<br />
<br />
Guy organise ses vacances avec sa femme. Son petit-fils, Baptiste, lui a vanté l'intérêt d'internet pour accéder au plus grand nombre de propositions.<br />
<br />
Le week end dernier il a suivi une "formation" accélérée avec la première partie de l'organisation ; la réservation du logement. Aujourd'hui, il se lance seul dans l'utilisation d'internet pour réserver un spectacle pour un soir pendant leur séjour; Simone aime sortir et comme il est de moins en moins confiant dans sa conduite de nuit, il est vrai qu'ils sortent moins souvent au fil des années. Baptiste lui a dit d'utiliser MySpectacle. Il va donc utiliser ce site.<br />
<br />
Il indique la date et obtient une liste de propositions. Il y a beaucoup de possibilité, il ne va quand même pas lire tout cela. En plus de la date, il connaît le lieu, il va modifier sa recherche pour le préciser. Il obtient une liste beaucoup plus courte.<br />
<br />
Il choisit le spectacle après avoir consulté la description. Il va réserver mais choisit de payer sur place, il ne se sent pas encore assez en confiance pour payer sur internet.<br />
<br />
Le système l'informe que pour réserver sans payer, il faut donner des informations ("un compte client"). Il donne les informations demandées, y compris une adresse email - que heureusement Baptiste lui avait créé samedi - et un mot de passe qu'il va s'empresser d'aller écrire quelque part pour ne pas l'oublier.<br />
<br />
Une fois que le système l'a informé que la réservation était bien faite, à son nom, pour la bonne date. Il est satisfait. Il se demande comment il va faire pour mémoriser tout ça. Il téléphone à Baptiste pour lui poser la question et, un peu fier de lui, lui dire qu'il a réussi à faire une réservation sur internet. Baptiste lui demande s'il est allé consulter sa messagerie. <br />
<br />
Décidément, il y en a des choses à faire avec internet !<br />
<br />
==L4. Maquette==<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE1.png|800px|center|thumb|Maquette vue de synthèse]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE3.png|800px|center|thumb|Maquette vue détaillée]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE2.png|800px|center|thumb|Maquette espace exportation]]<br />
<br />
==L5. SRS==<br />
[[ECOM-1FO_1819_MySpectacle_L5_SRS|SRS]]<br />
<br />
==L6. Diagramme UML==<br />
<br />
[[File:2019_Spectacle_entite.png|800px|center|thumb|Diagramme d'entités]]<br />
<br />
==L7. Modèles des tâches==<br />
<br />
[[File:2019_Spectacle_Arbre_des_taches.jpg|800px|center|thumb|Arbre de tâches]]<br />
<br />
==L8. Scrum==<br />
<br />
==L9. Journal==<br />
<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_BASTIEN|Journal de Bastien TERRIER]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_CEDRIC|Journal de Cédric LAFRASSE]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_JOFFREY|Journal de Joffrey FERREIRA]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_THIBAUD|Journal de Thibaud VEGREVILLE]]<br />
<br />
==L10. Dépôt Git==<br />
<br />
Lien vers les dépôts de l'organisation :<br />
<br />
[https://gricad-gitlab.univ-grenoble-alpes.fr/vegrevit/ecom lien Gitlab]<br />
<br />
==L11. Application en ligne==<br />
<br />
[https://www.monprojet.fr website]<br />
<br />
[https://www.monprojet.fr/api/ API OpenAPI]<br />
<br />
==L12. Evaluation IHM réalisée==<br />
<br />
==L13. Evaluation qualité du projet==<br />
<br />
* Rapports SonarQube<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint5.pdf]]<br />
<br />
* Tests<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint5.pdf]]<br />
<br />
==L14. Evaluation économique du projet==<br />
<br />
===COCOMO===<br />
<br />
<br />
===Evaluation économique du projet===<br />
Vous pouvez utiliser les évaluations des salaires avec cette [https://stackoverflow.com/jobs/salary calculatrice] pour connaître les salaires des membres de l'équipe. (pensez à ajouter les charges).<br />
<br />
==L15. Evaluation de la cybersécurité du projet (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_RGPD_Report.pdf]] (1 page de type checklist)<br />
<br />
==L16. Evaluation des performances (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]] (résultat des injections de charge JMeter, Gatling, ...)<br />
<br />
==L17. Gestion des risques (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L18. Slides de présentation conception==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L19. Slides de présentation finale==<br />
*[[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L20. Auto-évaluation==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L21. Slides de présentation client==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_MySpectacle_Conception_systeme&diff=43002ECOM-1FO 1819 MySpectacle Conception systeme2018-11-06T16:43:35Z<p>Joffrey.Ferreira: Created page with "== Dossier de conception système == =Diagramme de contexte= Diagramme de contexte =Diagramme des cas d'utilisations=..."</p>
<hr />
<div>== Dossier de conception système ==<br />
<br />
=Diagramme de contexte=<br />
[[File:2019_Spectacle_contexte.png|800px|center|thumb|Diagramme de contexte]]<br />
<br />
=Diagramme des cas d'utilisations=<br />
[[File:2019_Spectacle_cas_utilisation.png|800px|center|thumb|Diagramme cas d'utilisation]]<br />
<br />
=Vue logique=<br />
[[File:2019_Spectacle_vue_logique.png|800px|center|thumb|Vue logique haut niveau]]<br />
<br />
[[File:2019_Spectacle_vue_logique_application_client.png|800px|center|thumb|Vue logique application client]]<br />
<br />
[[File:2019_Spectacle_vue_logique_logique_metier.png|800px|center|thumb|Vue logique métier]]<br />
<br />
[[File:2019_Spectacle_vue_logique_donnes_administration.png|800px|center|thumb|Vue logique données et administration]]<br />
<br />
=Vue dynamique=<br />
[[File:2019_Spectacle_vue_dyn_1.png|800px|center|thumb|Vue dynamique réservation d'une place]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_2.png|800px|center|thumb|Vue dynamique ouvreur]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_3.png|800px|center|thumb|Vue dynamique administrateur (scénario 1)]]<br />
<br />
=Vue physique=<br />
[[File:2019_Spectacle_vue_physique.png|800px|center|thumb|Vue physique]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_Spectacle&diff=43001ECOM-1FO 1819 Spectacle2018-11-06T16:41:52Z<p>Joffrey.Ferreira: /* L2. Dossier de conception système */</p>
<hr />
<div><br />
[[ECOM-1FO|<<<< Retour vers la page ECOM 2018-2019]]<br />
<br />
=Le projet en quelques mots=<br />
L’objectif de notre projet E-com est de mettre en place un service en ligne (et une application mobile) permettant d'une part à des utilisateurs de réserver des places de spectacles, et d'autre part à des organisateurs de gérer leur(s) salles.<br />
<br />
=L'équipe et leurs rôles=<br />
<br />
* Thibaud VEGREVILLE : Chef de projet (+ Backend, Devops)<br />
* Cédric LAFRASSE : Scrum Master (+ Frontend)<br />
* Bastien TERRIER : Développeur (+ Frontend, Doc review)<br />
* Joffrey FERREIRA : Développeur (+ Backend, Code review)<br />
<br />
=Gestion de projet=<br />
Choix des outils :<br />
<br />
* ''Gitlab'' : pour le dépôt, pour la documentation, l'intégration en continu<br />
* ''Trello'' : pour la gestion des sprints et des user stories<br />
* ''Bit.ai et Trello'' : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)<br />
<br />
=SCRUM=<br />
==Sprint 1 - 25 Septembre 2018 au 23 Octobre 2018==<br />
* Découverte du projet<br />
* Mise en place des rôles au sein de l’équipe<br />
* Détermination des dates clés du projet<br />
* La longueur des sprints a été établi à 4 semaines afin de permettre la production d'un incrément livrable à chaques itérations.<br />
<br />
===Audit 1===<br />
<br />
Audit de présentation des exigences et besoins client. Nous avons pu présenter durant cet audit notre organisation de travail, notre compréhension du projet et le travail prévu afin de le réaliser.<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT1.pdf|Slides de l'audit 1]]<br />
<br />
===Remarque===<br />
<br />
Remarque sur la forme de la présentation :<br />
<br />
*Attention à ne pas mixer le Français et l'Anglais dans les diaporamas<br />
*Préciser que l'utilisateur présent dans nos diapositives correspond au spectateur<br />
<br />
L'arbre de tâche que nous avons proposé n'est pas centré sur les tâches utilisateurs, nous devons le reconcevoir. Nous devrons donc refaire l'IHM abstraite associée.<br />
<br />
==Sprint 2 - 23 Octobre au 20 Novembre==<br />
<br />
===Audit 2===<br />
<br />
Audit de conception et d'avancement de projet. Nous avons pu présenter durant cet audit notre conception global du projet (architecture, IHM, organisation du travail, workflow).<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit 2]]<br />
<br />
===Remarque===<br />
<br />
*Maquettes à revoir (petits détails au niveau des couleurs) et à légender. Charte graphique à étoffer.<br />
*Ajout des acteurs sur la vue physique.<br />
<br />
==Sprint 3 XX au XX==<br />
<br />
<br />
==Sprint 4 XX au XX==<br />
<br />
<br />
==Sprint 5 XX au XX==<br />
<br />
<br />
= Livrables =<br />
==L2. Dossier de conception système ==<br />
<br />
[[ECOM-1FO_1819_MySpectacle_Conception_systeme|Conception Système]]<br />
<br />
==L3. Analyse des scénarios clients ==<br />
<br />
===Scénario 1===<br />
<br />
Claude est en charge de la gestion des salles de spectacle communales. Elle s'occupe de la salle des fêtes et de superviser les gestionnaires des autres salles.<br />
Régulièrement elle fait le point avec eux. Elle les voit tout à l'heure et avant cela elle veut avoir une idée des taux de remplissage sur le prochain mois. C'est elle qui prépare les données car elle est la seule à avoir l'accès à tous les taux de remplissage.<br />
<br />
Elle va tout d'abord observer ses propres taux sur le mois écoulé et le mois futur afin d'avoir une idée des tendances sur ce qu'elle connaît le mieux.<br />
sur une vue de synthèse elle peut comparer les taux de remplissage de la salle des fêtes et des autres salles.<br />
<br />
Elle constate que, par rapport à la même période l'année dernière, deux des salles ont un taux inférieur et un autre est beaucoup plus haut.<br />
<br />
La hausse peut s'expliquer rapidement : c'est un nouveau gestionnaire et il a fait un gros travail de communication. Elle va donc s'intéresser aux baisses.<br />
<br />
Elle demande une vue détaillée pour cette salle.<br />
<br />
Elle peut donc comparer sur l'année écoulée les évolutions et les comparer à l'année dernière. Les deux sont cohérentes jusqu'à présnt, seules les prévisions pour le mois futur sont mauvaises. Elle compare ensuite avec l'année qui avait encore précédée et constate que les prévisions de l'année courante et de l'année n-2 sont cohérentes, c'est donc l'année dernière qui a été particulièrement bonne ce mois-là. Elle cherche dans ses notes ce qu'elle avait écrit alors et constate qu'effectivement elle avait noté que le calendrier des vacances scolaires et la météo avaient eues pour conséwuence une ausse de réservations. Pour la dernière baisse, elle a beau consulter toutes les données dont elle dispose elle n'arrive pas à se l'expliquer. Il va falloir qu'elle demande au gestionnaire. Elle génère un document avec les données de cette salle qu'elle reçoit dans sa boîte email instantanément.<br />
<br />
===Scénario 2===<br />
<br />
Bill gère la configuration de la en fonction des manifestations qui se produisent dans sa salle de spectacle. Il a 2 nouvelles configurations à définir.<br />
Il regarde la visualisation de la salle. Cette vue lui donne un plan avec la position de la scène (mobile) et des chaises avec le nombre de place que cela représente.<br />
L'une des manifestations n'a pas besoin ni de scène, ni de siège. Il commence par définir celle-ci. La seconde est un spectacle de danse avec un orchestre. Il "construit" un espace pour l'orchestre au pied de la scène, en supprimant des sièges sur 3 rangées.<br />
<br />
===Scénario 3===<br />
<br />
Victoria est ouvreuse dans une salle de spectacle. Lorsqu'un spectateur se présente avec un billet imprimée elle lit le QR code avec le smartphone de travail qui lui indique quelle est la place du spectateur.<br />
<br />
Lorsqu'un spectateur se présente au guichet sans billet, elle peut lui faire payer sa place par paypal et une fois qu'il a payé Victoria voit automatiquement apparaître sur son smartphone la place attribuée.<br />
<br />
===Scénario 4===<br />
<br />
paul vient d'apprendre que sa soeur venait lui rendre visite ce week end. Elle souhaite présenter son nouveau compagnon. Il se dit que c'est l'occasion de sortir, il demandera à sa belle-mère de garder les enfants.<br />
<br />
Sa soeur a touours aimé le théâtre donc il va regarer la programmation proposée par MySpectacle.<br />
<br />
Il va sur le site internet et indique la date du vendredi (arrivée de ses visiteurs), samedi et dimanche car il ne sait pas quand sa soeur a prévu de repartir. <br />
<br />
Dans la programmation pour ces dates, trois sepctacles sont proposés. L'un d'eux n'a lieux qu'à 18h. A cette heure là, il y a beaucoup à faire avec les enfant donc il choisit de ne pas le considérer. Pour les deux autres, les horaires conviennent. Il ne sait ce que sa soeur préférerait et aucun n'est complet. Il choisit donc de noter les informations sur les offres et il demandera à sa soeur quand elle sera là.<br />
<br />
===Scénario 5===<br />
<br />
Janine est infirmière et est en charge d'organiser une sortie pour son équipe. Ils sont 8. Elle veut organiser une soirée avec repas au restaurant et ensuite assister à un spectacle. <br />
<br />
Elle consulte le programme en ligne de MySpectacle, elle a déjà assisté à des spectacles dans cette salle et elle sait qu'il y a tout type de spectacle. Elle en cherche un qui pourrait plaire au plus grand nombre. Elle indique qu'elle veut des spectacles pour tout public et indique la période qui lui conviendrait, inutile de regarder les spectacles proposés uniquement lorsque son équipe travaille de nuit. Elle obtient une liste de possibilités. Parmis celles-ci, il y a un spectacles humoristique sur la vie en milieu hospitalier, voilà un spectacle qui parlera à tous. En tarif plein, le coût est de 15€ par personne pour un placement dans le poulailler, 20€ par personne pour placement dans la catégorie balcon et 25€ par personne pour un placement orchestre. Elle dispose d'une enveloppe de 50€ par personne pour la soirée, elle choisit donc de prendre des places de balcon cela lui laissera donc 30€ pour le restaurant, elle choisira le restaurant en conséquence ensuite. Elle va prendre les billets. Elle indique qu'il lui faut 8 billets. <br />
<br />
[Elle choisit ses places pour qu'elles soient toutes les unes à côté des autres. Il n'y a plus que 5 places dans la catégorie balcon pour cette représentation. Elle pourrait prendre les 5 places dans la catégorie balcon et les trois autres dans une autre catégorie mais elle préfère prendre toutes les places dans le poulailler afin que tous le groupe soit ensemble.]<br />
<br />
Le système l'informe alors qu'à partir de 10 places, il lui est possible de bénéficier du tarif "groupe" qui descend le prix du billet à 15€ au lieu de 20€ (25%). Après un rapide calcul (15x10=150 et 8x20=160), elle se rend compte que même en perdant les 2 billets le groupe réalisera une petite économie en prenant 10 tickets - et puis, elle pourra proposer à Amélie, la jeune fille en stage actuellement au sein de son équipe de se joindre à eux. Elle modifie donc sa commande pour prendre 10 tickets.<br />
<br />
Vu la somme que cela représente le système ne lui porpose que deux modes de paiement possible : Paypal ou CB. Elle paie par CB (les autres la rembourseront plus tard).<br />
<br />
Elle peut ensuite choisir d'avoir ses billets en version imprimable (PDF) qui lui seront envoyées par email ou d'en avoir une version mobile qu'elle présenterait à l'entrée. Elle choisit de les avoir en version imprimable pour pouvoir les distribuer à chaque participant.<br />
<br />
===Scénario 6===<br />
<br />
Guy organise ses vacances avec sa femme. Son petit-fils, Baptiste, lui a vanté l'intérêt d'internet pour accéder au plus grand nombre de propositions.<br />
<br />
Le week end dernier il a suivi une "formation" accélérée avec la première partie de l'organisation ; la réservation du logement. Aujourd'hui, il se lance seul dans l'utilisation d'internet pour réserver un spectacle pour un soir pendant leur séjour; Simone aime sortir et comme il est de moins en moins confiant dans sa conduite de nuit, il est vrai qu'ils sortent moins souvent au fil des années. Baptiste lui a dit d'utiliser MySpectacle. Il va donc utiliser ce site.<br />
<br />
Il indique la date et obtient une liste de propositions. Il y a beaucoup de possibilité, il ne va quand même pas lire tout cela. En plus de la date, il connaît le lieu, il va modifier sa recherche pour le préciser. Il obtient une liste beaucoup plus courte.<br />
<br />
Il choisit le spectacle après avoir consulté la description. Il va réserver mais choisit de payer sur place, il ne se sent pas encore assez en confiance pour payer sur internet.<br />
<br />
Le système l'informe que pour réserver sans payer, il faut donner des informations ("un compte client"). Il donne les informations demandées, y compris une adresse email - que heureusement Baptiste lui avait créé samedi - et un mot de passe qu'il va s'empresser d'aller écrire quelque part pour ne pas l'oublier.<br />
<br />
Une fois que le système l'a informé que la réservation était bien faite, à son nom, pour la bonne date. Il est satisfait. Il se demande comment il va faire pour mémoriser tout ça. Il téléphone à Baptiste pour lui poser la question et, un peu fier de lui, lui dire qu'il a réussi à faire une réservation sur internet. Baptiste lui demande s'il est allé consulter sa messagerie. <br />
<br />
Décidément, il y en a des choses à faire avec internet !<br />
<br />
==L4. Maquette==<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE1.png|800px|center|thumb|Maquette vue de synthèse]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE3.png|800px|center|thumb|Maquette vue détaillée]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE2.png|800px|center|thumb|Maquette espace exportation]]<br />
<br />
==L5. SRS==<br />
[[ECOM-1FO_1819_MySpectacle_L5_SRS|SRS]]<br />
<br />
==L6. Diagramme UML==<br />
<br />
[[File:2019_Spectacle_contexte.png|800px|center|thumb|Diagramme de contexte]]<br />
<br />
[[File:2019_Spectacle_cas_utilisation.png|800px|center|thumb|Diagramme cas d'utilisation]]<br />
<br />
[[File:2019_Spectacle_vue_logique.png|800px|center|thumb|Vue logique haut niveau]]<br />
<br />
[[File:2019_Spectacle_vue_logique_application_client.png|800px|center|thumb|Vue logique application client]]<br />
<br />
[[File:2019_Spectacle_vue_logique_logique_metier.png|800px|center|thumb|Vue logique métier]]<br />
<br />
[[File:2019_Spectacle_vue_logique_donnes_administration.png|800px|center|thumb|Vue logique données et administration]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_1.png|800px|center|thumb|Vue dynamique réservation d'une place]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_2.png|800px|center|thumb|Vue dynamique ouvreur]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_3.png|800px|center|thumb|Vue dynamique administrateur (scénario 1)]]<br />
<br />
[[File:2019_Spectacle_vue_physique.png|800px|center|thumb|Vue physique]]<br />
<br />
==L7. Modèles des tâches==<br />
<br />
[[File:2019_Spectacle_Arbre_des_taches.jpg|800px|center|thumb|Arbre de tâches]]<br />
<br />
==L8. Scrum==<br />
<br />
==L9. Journal==<br />
<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_BASTIEN|Journal de Bastien TERRIER]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_CEDRIC|Journal de Cédric LAFRASSE]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_JOFFREY|Journal de Joffrey FERREIRA]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_THIBAUD|Journal de Thibaud VEGREVILLE]]<br />
<br />
==L10. Dépôt Git==<br />
<br />
Lien vers les dépôts de l'organisation :<br />
<br />
[https://gricad-gitlab.univ-grenoble-alpes.fr/vegrevit/ecom lien Gitlab]<br />
<br />
==L11. Application en ligne==<br />
<br />
[https://www.monprojet.fr website]<br />
<br />
[https://www.monprojet.fr/api/ API OpenAPI]<br />
<br />
==L12. Evaluation IHM réalisée==<br />
<br />
==L13. Evaluation qualité du projet==<br />
<br />
* Rapports SonarQube<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint5.pdf]]<br />
<br />
* Tests<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint5.pdf]]<br />
<br />
==L14. Evaluation économique du projet==<br />
<br />
===COCOMO===<br />
<br />
<br />
===Evaluation économique du projet===<br />
Vous pouvez utiliser les évaluations des salaires avec cette [https://stackoverflow.com/jobs/salary calculatrice] pour connaître les salaires des membres de l'équipe. (pensez à ajouter les charges).<br />
<br />
==L15. Evaluation de la cybersécurité du projet (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_RGPD_Report.pdf]] (1 page de type checklist)<br />
<br />
==L16. Evaluation des performances (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]] (résultat des injections de charge JMeter, Gatling, ...)<br />
<br />
==L17. Gestion des risques (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L18. Slides de présentation conception==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L19. Slides de présentation finale==<br />
*[[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L20. Auto-évaluation==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L21. Slides de présentation client==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_MySpectacle_L5_SRS&diff=43000ECOM-1FO 1819 MySpectacle L5 SRS2018-11-06T16:40:44Z<p>Joffrey.Ferreira: /* 3 Exigences particulières */</p>
<hr />
<div><br />
=1 Introduction=<br />
<br />
==1.1 But du document==<br />
<br />
Ce SRS (Spécifications des exigences logicielles) identifie les exigences du projet ECOM MySpectacle. Il présentera<br />
<br />
* les fonctionnalités de notre solution<br />
* les problèmes résolus<br />
* la liste de nos exigences système<br />
<br />
==1.2 Portée du projet==<br />
<br />
Réalisation d'un site internet et d'une application mobile pour la gestion de salles de spectacles. Plusieurs utilisateurs pourront se connecter avec notre plateforme : <br />
<br />
Voici les différents utilisateurs du site web :<br />
<br />
* L'administrateur : il gère le site internet et il a accès à toutes les données<br />
* Les gestionnaires : un gestionnaire se connecte sur notre site internet, et il peut gérer sa salle de spectacle. Il peut indiquer la configuration de la salle (scène, chaises, orchestre, ...).<br />
* Un superviseur : le superviseur est un gestionnaire qui s'occupe de la gestion des salles communales dans la globalité.<br />
* Le client : un client se connecte au site web pour effectuer une réservation à un spectacle.<br />
<br />
Pour l'application mobile <br />
<br />
* L'hôte de caisse : l'hôte de caisse pourra utiliser l'application mobile pour scanner les billets des clients (pour leur indiquer leur place) ou bien créer une inscription et procéder au paiement (via PayPal).<br />
<br />
==1.3 Definitions, acronymes et abrévations==<br />
==1.4 Références==<br />
<br />
=2 Description générale=<br />
==2.1 Perspective du produit==<br />
<br />
Notre produit a pour vocation d'être open-source<br />
<br />
==2.2 Fonctionnalités produit==<br />
<br />
* Visualisation des données (dashboard, vue avancée, ...)<br />
* Réserver un spectacle<br />
* Configurer une salle<br />
* Scan pour la vérification des billets<br />
* Génération de PDF<br />
* Envoi d'e-mails<br />
<br />
==2.3 Caractéristiques de l'utilisateur==<br />
<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_user.png|800px|center|thumb|Caractéristiques des utlisateurs]]<br />
<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_user_story.png|800px|center|thumb|Caractéristiques des utlisateurs]]<br />
<br />
==2.4 Contraintes générales==<br />
<br />
Mettre en place un serveur<br />
<br />
==2.5 Hypothèses et dépendances==<br />
<br />
L'ouvreur doit avoir un smartphone si un spectateur lui montre un QR code <br />
<br />
Le spectateur doit avoir un smartphone fonctionel s'il possède un e-billet / QR code<br />
<br />
Scénario 2 : Nécessité d'avoir une configuration par défaut ? Demander au client<br />
<br />
=3 Exigences particulières=<br />
==3.1 Exigence 1 : Connexion au serveur==<br />
<br />
'''Fonctionnalité''':<br />
Connexion au serveur pour les utilisateurs (ouvreurs, spectateurs, gestionnaires, etc)<br />
<br />
'''Description''':<br />
Permet aux utilisateurs de récupérer les données en lignes<br />
<br />
'''Inputs''':<br />
<br />
'''Source''':<br />
<br />
'''Outputs''':<br />
<br />
'''Destination''':<br />
<br />
'''Action''':<br />
<br />
'''Non functional requirements''':<br />
<br />
'''Pre-condition''':<br />
<br />
'''Post-condition''':<br />
<br />
'''Side-effects''':<br />
<br />
=4 Evolution du produit=<br />
=5 Annexes=</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_Spectacle&diff=42999ECOM-1FO 1819 Spectacle2018-11-06T16:40:36Z<p>Joffrey.Ferreira: /* L2. Dossier de conception système */</p>
<hr />
<div><br />
[[ECOM-1FO|<<<< Retour vers la page ECOM 2018-2019]]<br />
<br />
=Le projet en quelques mots=<br />
L’objectif de notre projet E-com est de mettre en place un service en ligne (et une application mobile) permettant d'une part à des utilisateurs de réserver des places de spectacles, et d'autre part à des organisateurs de gérer leur(s) salles.<br />
<br />
=L'équipe et leurs rôles=<br />
<br />
* Thibaud VEGREVILLE : Chef de projet (+ Backend, Devops)<br />
* Cédric LAFRASSE : Scrum Master (+ Frontend)<br />
* Bastien TERRIER : Développeur (+ Frontend, Doc review)<br />
* Joffrey FERREIRA : Développeur (+ Backend, Code review)<br />
<br />
=Gestion de projet=<br />
Choix des outils :<br />
<br />
* ''Gitlab'' : pour le dépôt, pour la documentation, l'intégration en continu<br />
* ''Trello'' : pour la gestion des sprints et des user stories<br />
* ''Bit.ai et Trello'' : pour la répartition et la gestion des tâches hors code (rédaction de documents etc)<br />
<br />
=SCRUM=<br />
==Sprint 1 - 25 Septembre 2018 au 23 Octobre 2018==<br />
* Découverte du projet<br />
* Mise en place des rôles au sein de l’équipe<br />
* Détermination des dates clés du projet<br />
* La longueur des sprints a été établi à 4 semaines afin de permettre la production d'un incrément livrable à chaques itérations.<br />
<br />
===Audit 1===<br />
<br />
Audit de présentation des exigences et besoins client. Nous avons pu présenter durant cet audit notre organisation de travail, notre compréhension du projet et le travail prévu afin de le réaliser.<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT1.pdf|Slides de l'audit 1]]<br />
<br />
===Remarque===<br />
<br />
Remarque sur la forme de la présentation :<br />
<br />
*Attention à ne pas mixer le Français et l'Anglais dans les diaporamas<br />
*Préciser que l'utilisateur présent dans nos diapositives correspond au spectateur<br />
<br />
L'arbre de tâche que nous avons proposé n'est pas centré sur les tâches utilisateurs, nous devons le reconcevoir. Nous devrons donc refaire l'IHM abstraite associée.<br />
<br />
==Sprint 2 - 23 Octobre au 20 Novembre==<br />
<br />
===Audit 2===<br />
<br />
Audit de conception et d'avancement de projet. Nous avons pu présenter durant cet audit notre conception global du projet (architecture, IHM, organisation du travail, workflow).<br />
<br />
[[Media:ECOM-1FO_1819_PROJET_MYSPECTACLE_AUDIT2.pdf|Slides de l'audit 2]]<br />
<br />
===Remarque===<br />
<br />
*Maquettes à revoir (petits détails au niveau des couleurs) et à légender. Charte graphique à étoffer.<br />
*Ajout des acteurs sur la vue physique.<br />
<br />
==Sprint 3 XX au XX==<br />
<br />
<br />
==Sprint 4 XX au XX==<br />
<br />
<br />
==Sprint 5 XX au XX==<br />
<br />
<br />
= Livrables =<br />
==L2. Dossier de conception système ==<br />
<br />
** [[Media:ECOM-1FO_1819_MySpectacle_Conception_systeme.pdf]]<br />
<br />
==L3. Analyse des scénarios clients ==<br />
<br />
===Scénario 1===<br />
<br />
Claude est en charge de la gestion des salles de spectacle communales. Elle s'occupe de la salle des fêtes et de superviser les gestionnaires des autres salles.<br />
Régulièrement elle fait le point avec eux. Elle les voit tout à l'heure et avant cela elle veut avoir une idée des taux de remplissage sur le prochain mois. C'est elle qui prépare les données car elle est la seule à avoir l'accès à tous les taux de remplissage.<br />
<br />
Elle va tout d'abord observer ses propres taux sur le mois écoulé et le mois futur afin d'avoir une idée des tendances sur ce qu'elle connaît le mieux.<br />
sur une vue de synthèse elle peut comparer les taux de remplissage de la salle des fêtes et des autres salles.<br />
<br />
Elle constate que, par rapport à la même période l'année dernière, deux des salles ont un taux inférieur et un autre est beaucoup plus haut.<br />
<br />
La hausse peut s'expliquer rapidement : c'est un nouveau gestionnaire et il a fait un gros travail de communication. Elle va donc s'intéresser aux baisses.<br />
<br />
Elle demande une vue détaillée pour cette salle.<br />
<br />
Elle peut donc comparer sur l'année écoulée les évolutions et les comparer à l'année dernière. Les deux sont cohérentes jusqu'à présnt, seules les prévisions pour le mois futur sont mauvaises. Elle compare ensuite avec l'année qui avait encore précédée et constate que les prévisions de l'année courante et de l'année n-2 sont cohérentes, c'est donc l'année dernière qui a été particulièrement bonne ce mois-là. Elle cherche dans ses notes ce qu'elle avait écrit alors et constate qu'effectivement elle avait noté que le calendrier des vacances scolaires et la météo avaient eues pour conséwuence une ausse de réservations. Pour la dernière baisse, elle a beau consulter toutes les données dont elle dispose elle n'arrive pas à se l'expliquer. Il va falloir qu'elle demande au gestionnaire. Elle génère un document avec les données de cette salle qu'elle reçoit dans sa boîte email instantanément.<br />
<br />
===Scénario 2===<br />
<br />
Bill gère la configuration de la en fonction des manifestations qui se produisent dans sa salle de spectacle. Il a 2 nouvelles configurations à définir.<br />
Il regarde la visualisation de la salle. Cette vue lui donne un plan avec la position de la scène (mobile) et des chaises avec le nombre de place que cela représente.<br />
L'une des manifestations n'a pas besoin ni de scène, ni de siège. Il commence par définir celle-ci. La seconde est un spectacle de danse avec un orchestre. Il "construit" un espace pour l'orchestre au pied de la scène, en supprimant des sièges sur 3 rangées.<br />
<br />
===Scénario 3===<br />
<br />
Victoria est ouvreuse dans une salle de spectacle. Lorsqu'un spectateur se présente avec un billet imprimée elle lit le QR code avec le smartphone de travail qui lui indique quelle est la place du spectateur.<br />
<br />
Lorsqu'un spectateur se présente au guichet sans billet, elle peut lui faire payer sa place par paypal et une fois qu'il a payé Victoria voit automatiquement apparaître sur son smartphone la place attribuée.<br />
<br />
===Scénario 4===<br />
<br />
paul vient d'apprendre que sa soeur venait lui rendre visite ce week end. Elle souhaite présenter son nouveau compagnon. Il se dit que c'est l'occasion de sortir, il demandera à sa belle-mère de garder les enfants.<br />
<br />
Sa soeur a touours aimé le théâtre donc il va regarer la programmation proposée par MySpectacle.<br />
<br />
Il va sur le site internet et indique la date du vendredi (arrivée de ses visiteurs), samedi et dimanche car il ne sait pas quand sa soeur a prévu de repartir. <br />
<br />
Dans la programmation pour ces dates, trois sepctacles sont proposés. L'un d'eux n'a lieux qu'à 18h. A cette heure là, il y a beaucoup à faire avec les enfant donc il choisit de ne pas le considérer. Pour les deux autres, les horaires conviennent. Il ne sait ce que sa soeur préférerait et aucun n'est complet. Il choisit donc de noter les informations sur les offres et il demandera à sa soeur quand elle sera là.<br />
<br />
===Scénario 5===<br />
<br />
Janine est infirmière et est en charge d'organiser une sortie pour son équipe. Ils sont 8. Elle veut organiser une soirée avec repas au restaurant et ensuite assister à un spectacle. <br />
<br />
Elle consulte le programme en ligne de MySpectacle, elle a déjà assisté à des spectacles dans cette salle et elle sait qu'il y a tout type de spectacle. Elle en cherche un qui pourrait plaire au plus grand nombre. Elle indique qu'elle veut des spectacles pour tout public et indique la période qui lui conviendrait, inutile de regarder les spectacles proposés uniquement lorsque son équipe travaille de nuit. Elle obtient une liste de possibilités. Parmis celles-ci, il y a un spectacles humoristique sur la vie en milieu hospitalier, voilà un spectacle qui parlera à tous. En tarif plein, le coût est de 15€ par personne pour un placement dans le poulailler, 20€ par personne pour placement dans la catégorie balcon et 25€ par personne pour un placement orchestre. Elle dispose d'une enveloppe de 50€ par personne pour la soirée, elle choisit donc de prendre des places de balcon cela lui laissera donc 30€ pour le restaurant, elle choisira le restaurant en conséquence ensuite. Elle va prendre les billets. Elle indique qu'il lui faut 8 billets. <br />
<br />
[Elle choisit ses places pour qu'elles soient toutes les unes à côté des autres. Il n'y a plus que 5 places dans la catégorie balcon pour cette représentation. Elle pourrait prendre les 5 places dans la catégorie balcon et les trois autres dans une autre catégorie mais elle préfère prendre toutes les places dans le poulailler afin que tous le groupe soit ensemble.]<br />
<br />
Le système l'informe alors qu'à partir de 10 places, il lui est possible de bénéficier du tarif "groupe" qui descend le prix du billet à 15€ au lieu de 20€ (25%). Après un rapide calcul (15x10=150 et 8x20=160), elle se rend compte que même en perdant les 2 billets le groupe réalisera une petite économie en prenant 10 tickets - et puis, elle pourra proposer à Amélie, la jeune fille en stage actuellement au sein de son équipe de se joindre à eux. Elle modifie donc sa commande pour prendre 10 tickets.<br />
<br />
Vu la somme que cela représente le système ne lui porpose que deux modes de paiement possible : Paypal ou CB. Elle paie par CB (les autres la rembourseront plus tard).<br />
<br />
Elle peut ensuite choisir d'avoir ses billets en version imprimable (PDF) qui lui seront envoyées par email ou d'en avoir une version mobile qu'elle présenterait à l'entrée. Elle choisit de les avoir en version imprimable pour pouvoir les distribuer à chaque participant.<br />
<br />
===Scénario 6===<br />
<br />
Guy organise ses vacances avec sa femme. Son petit-fils, Baptiste, lui a vanté l'intérêt d'internet pour accéder au plus grand nombre de propositions.<br />
<br />
Le week end dernier il a suivi une "formation" accélérée avec la première partie de l'organisation ; la réservation du logement. Aujourd'hui, il se lance seul dans l'utilisation d'internet pour réserver un spectacle pour un soir pendant leur séjour; Simone aime sortir et comme il est de moins en moins confiant dans sa conduite de nuit, il est vrai qu'ils sortent moins souvent au fil des années. Baptiste lui a dit d'utiliser MySpectacle. Il va donc utiliser ce site.<br />
<br />
Il indique la date et obtient une liste de propositions. Il y a beaucoup de possibilité, il ne va quand même pas lire tout cela. En plus de la date, il connaît le lieu, il va modifier sa recherche pour le préciser. Il obtient une liste beaucoup plus courte.<br />
<br />
Il choisit le spectacle après avoir consulté la description. Il va réserver mais choisit de payer sur place, il ne se sent pas encore assez en confiance pour payer sur internet.<br />
<br />
Le système l'informe que pour réserver sans payer, il faut donner des informations ("un compte client"). Il donne les informations demandées, y compris une adresse email - que heureusement Baptiste lui avait créé samedi - et un mot de passe qu'il va s'empresser d'aller écrire quelque part pour ne pas l'oublier.<br />
<br />
Une fois que le système l'a informé que la réservation était bien faite, à son nom, pour la bonne date. Il est satisfait. Il se demande comment il va faire pour mémoriser tout ça. Il téléphone à Baptiste pour lui poser la question et, un peu fier de lui, lui dire qu'il a réussi à faire une réservation sur internet. Baptiste lui demande s'il est allé consulter sa messagerie. <br />
<br />
Décidément, il y en a des choses à faire avec internet !<br />
<br />
==L4. Maquette==<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE1.png|800px|center|thumb|Maquette vue de synthèse]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE3.png|800px|center|thumb|Maquette vue détaillée]]<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_MAQUETTE2.png|800px|center|thumb|Maquette espace exportation]]<br />
<br />
==L5. SRS==<br />
[[ECOM-1FO_1819_MySpectacle_L5_SRS|SRS]]<br />
<br />
==L6. Diagramme UML==<br />
<br />
[[File:2019_Spectacle_contexte.png|800px|center|thumb|Diagramme de contexte]]<br />
<br />
[[File:2019_Spectacle_cas_utilisation.png|800px|center|thumb|Diagramme cas d'utilisation]]<br />
<br />
[[File:2019_Spectacle_vue_logique.png|800px|center|thumb|Vue logique haut niveau]]<br />
<br />
[[File:2019_Spectacle_vue_logique_application_client.png|800px|center|thumb|Vue logique application client]]<br />
<br />
[[File:2019_Spectacle_vue_logique_logique_metier.png|800px|center|thumb|Vue logique métier]]<br />
<br />
[[File:2019_Spectacle_vue_logique_donnes_administration.png|800px|center|thumb|Vue logique données et administration]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_1.png|800px|center|thumb|Vue dynamique réservation d'une place]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_2.png|800px|center|thumb|Vue dynamique ouvreur]]<br />
<br />
[[File:2019_Spectacle_vue_dyn_3.png|800px|center|thumb|Vue dynamique administrateur (scénario 1)]]<br />
<br />
[[File:2019_Spectacle_vue_physique.png|800px|center|thumb|Vue physique]]<br />
<br />
==L7. Modèles des tâches==<br />
<br />
[[File:2019_Spectacle_Arbre_des_taches.jpg|800px|center|thumb|Arbre de tâches]]<br />
<br />
==L8. Scrum==<br />
<br />
==L9. Journal==<br />
<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_BASTIEN|Journal de Bastien TERRIER]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_CEDRIC|Journal de Cédric LAFRASSE]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_JOFFREY|Journal de Joffrey FERREIRA]]<br />
<br />
[[ECOM-1FO_1819_PROJET_MYSPECTACLE_L9_LOG_THIBAUD|Journal de Thibaud VEGREVILLE]]<br />
<br />
==L10. Dépôt Git==<br />
<br />
Lien vers les dépôts de l'organisation :<br />
<br />
[https://gricad-gitlab.univ-grenoble-alpes.fr/vegrevit/ecom lien Gitlab]<br />
<br />
==L11. Application en ligne==<br />
<br />
[https://www.monprojet.fr website]<br />
<br />
[https://www.monprojet.fr/api/ API OpenAPI]<br />
<br />
==L12. Evaluation IHM réalisée==<br />
<br />
==L13. Evaluation qualité du projet==<br />
<br />
* Rapports SonarQube<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_SonarQubeReport_Sprint5.pdf]]<br />
<br />
* Tests<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint1.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint2.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint3.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint4.pdf]]<br />
** [[Media:ECOM-1FO_1819_PROJETXXXX_TestReport_Sprint5.pdf]]<br />
<br />
==L14. Evaluation économique du projet==<br />
<br />
===COCOMO===<br />
<br />
<br />
===Evaluation économique du projet===<br />
Vous pouvez utiliser les évaluations des salaires avec cette [https://stackoverflow.com/jobs/salary calculatrice] pour connaître les salaires des membres de l'équipe. (pensez à ajouter les charges).<br />
<br />
==L15. Evaluation de la cybersécurité du projet (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_RGPD_Report.pdf]] (1 page de type checklist)<br />
<br />
==L16. Evaluation des performances (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]] (résultat des injections de charge JMeter, Gatling, ...)<br />
<br />
==L17. Gestion des risques (option)==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L18. Slides de présentation conception==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L19. Slides de présentation finale==<br />
*[[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L20. Auto-évaluation==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]<br />
<br />
==L21. Slides de présentation client==<br />
* [[Media:ECOM-1FO_1819_PROJETXXXX_YYYYYY.pdf]]</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_MySpectacle_L5_SRS&diff=42996ECOM-1FO 1819 MySpectacle L5 SRS2018-11-06T16:05:20Z<p>Joffrey.Ferreira: /* 2.5 Hypothèses et dépendances */</p>
<hr />
<div><br />
=1 Introduction=<br />
<br />
==1.1 But du document==<br />
<br />
Ce SRS (Spécifications des exigences logicielles) identifie les exigences du projet ECOM MySpectacle. Il présentera<br />
<br />
* les fonctionnalités de notre solution<br />
* les problèmes résolus<br />
* la liste de nos exigences système<br />
<br />
==1.2 Portée du projet==<br />
<br />
Réalisation d'un site internet et d'une application mobile pour la gestion de salles de spectacles. Plusieurs utilisateurs pourront se connecter avec notre plateforme : <br />
<br />
Voici les différents utilisateurs du site web :<br />
<br />
* L'administrateur : il gère le site internet et il a accès à toutes les données<br />
* Les gestionnaires : un gestionnaire se connecte sur notre site internet, et il peut gérer sa salle de spectacle. Il peut indiquer la configuration de la salle (scène, chaises, orchestre, ...).<br />
* Un superviseur : le superviseur est un gestionnaire qui s'occupe de la gestion des salles communales dans la globalité.<br />
* Le client : un client se connecte au site web pour effectuer une réservation à un spectacle.<br />
<br />
Pour l'application mobile <br />
<br />
* L'hôte de caisse : l'hôte de caisse pourra utiliser l'application mobile pour scanner les billets des clients (pour leur indiquer leur place) ou bien créer une inscription et procéder au paiement (via PayPal).<br />
<br />
==1.3 Definitions, acronymes et abrévations==<br />
==1.4 Références==<br />
<br />
=2 Description générale=<br />
==2.1 Perspective du produit==<br />
<br />
Notre produit a pour vocation d'être open-source<br />
<br />
==2.2 Fonctionnalités produit==<br />
<br />
* Visualisation des données (dashboard, vue avancée, ...)<br />
* Réserver un spectacle<br />
* Configurer une salle<br />
* Scan pour la vérification des billets<br />
* Génération de PDF<br />
* Envoi d'e-mails<br />
<br />
==2.3 Caractéristiques de l'utilisateur==<br />
<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_user.png|800px|center|thumb|Caractéristiques des utlisateurs]]<br />
<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_user_story.png|800px|center|thumb|Caractéristiques des utlisateurs]]<br />
<br />
==2.4 Contraintes générales==<br />
<br />
Mettre en place un serveur<br />
<br />
==2.5 Hypothèses et dépendances==<br />
<br />
L'ouvreur doit avoir un smartphone si un spectateur lui montre un QR code <br />
<br />
Le spectateur doit avoir un smartphone fonctionel s'il possède un e-billet / QR code<br />
<br />
Scénario 2 : Nécessité d'avoir une configuration par défaut ? Demander au client<br />
<br />
=3 Exigences particulières=<br />
==3.1 Requirement 1 : BLE connection establishment==<br />
<br />
<br />
=4 Evolution du produit=<br />
=5 Annexes=</div>Joffrey.Ferreirahttps://air.imag.fr/index.php?title=ECOM-1FO_1819_MySpectacle_L5_SRS&diff=42993ECOM-1FO 1819 MySpectacle L5 SRS2018-11-06T15:55:22Z<p>Joffrey.Ferreira: /* 2.4 Contraintes générales */</p>
<hr />
<div><br />
=1 Introduction=<br />
<br />
==1.1 But du document==<br />
<br />
Ce SRS (Spécifications des exigences logicielles) identifie les exigences du projet ECOM MySpectacle. Il présentera<br />
<br />
* les fonctionnalités de notre solution<br />
* les problèmes résolus<br />
* la liste de nos exigences système<br />
<br />
==1.2 Portée du projet==<br />
<br />
Réalisation d'un site internet et d'une application mobile pour la gestion de salles de spectacles. Plusieurs utilisateurs pourront se connecter avec notre plateforme : <br />
<br />
Voici les différents utilisateurs du site web :<br />
<br />
* L'administrateur : il gère le site internet et il a accès à toutes les données<br />
* Les gestionnaires : un gestionnaire se connecte sur notre site internet, et il peut gérer sa salle de spectacle. Il peut indiquer la configuration de la salle (scène, chaises, orchestre, ...).<br />
* Un superviseur : le superviseur est un gestionnaire qui s'occupe de la gestion des salles communales dans la globalité.<br />
* Le client : un client se connecte au site web pour effectuer une réservation à un spectacle.<br />
<br />
Pour l'application mobile <br />
<br />
* L'hôte de caisse : l'hôte de caisse pourra utiliser l'application mobile pour scanner les billets des clients (pour leur indiquer leur place) ou bien créer une inscription et procéder au paiement (via PayPal).<br />
<br />
==1.3 Definitions, acronymes et abrévations==<br />
==1.4 Références==<br />
<br />
=2 Description générale=<br />
==2.1 Perspective du produit==<br />
<br />
Notre produit a pour vocation d'être open-source<br />
<br />
==2.2 Fonctionnalités produit==<br />
<br />
* Visualisation des données (dashboard, vue avancée, ...)<br />
* Réserver un spectacle<br />
* Configurer une salle<br />
* Scan pour la vérification des billets<br />
* Génération de PDF<br />
* Envoi d'e-mails<br />
<br />
==2.3 Caractéristiques de l'utilisateur==<br />
<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_user.png|800px|center|thumb|Caractéristiques des utlisateurs]]<br />
<br />
<br />
[[File:ECOM-1FO_1819_PROJET_MYSPECTACLE_user_story.png|800px|center|thumb|Caractéristiques des utlisateurs]]<br />
<br />
==2.4 Contraintes générales==<br />
<br />
Mettre en place un serveur<br />
<br />
==2.5 Hypothèses et dépendances==<br />
<br />
=3 Exigences particulières=<br />
==3.1 Requirement 1 : BLE connection establishment==<br />
<br />
<br />
=4 Evolution du produit=<br />
=5 Annexes=</div>Joffrey.Ferreira