<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hmquan</id>
	<title>air - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hmquan"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Hmquan"/>
	<updated>2026-05-31T04:29:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10313</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10313"/>
		<updated>2013-03-24T14:32:42Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Git us ! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Git us !==&lt;br /&gt;
&lt;br /&gt;
[https://bitbucket.org/noejean/coconode COCONODE on Bitbucket]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé [http://www.contiki-os.org/start.html#start-cooja Cooja] pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
==== Répartitions des tâches ====&lt;br /&gt;
[[Image:Taches2.png|1000px|thumb|center|Répartition des tâches]]&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 parties différentes :&lt;br /&gt;
* Interface Graphique &lt;br /&gt;
* Architecture interne&lt;br /&gt;
** Configuration&lt;br /&gt;
** Exécution &lt;br /&gt;
** Statistique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture se base sur des modules existants (Générateur de topologie et noyau de simulation Cooja) utilisés dans l&#039;outil existant. Ces modules ont du être intégré dans l&#039;architecture pour pouvoir les réutiliser dans le nouvel outil. &lt;br /&gt;
La séparation des différentes parties a été faite pour isoler chaque partie réalisant les mêmes tâches. Cela facilite le développement et les modification future. &lt;br /&gt;
Cela permet aussi l&#039;utilisation de threads pour paralléliser les différents traitement, pour ne pas bloquer la GUI lors d&#039;un gros traitement dans l&#039;exécution ou dans la partie statistique par exemple. &lt;br /&gt;
 &lt;br /&gt;
La GUI est liée à chaque partie car elle est utilisée en entrée pour que l&#039;utilisateur puisse définir les données de simulation (voir partie Configuration) et en sortie pour que le contrôleur et l&#039;affichage statistique puisse afficher des retours (voir Partie Exécution et Statistique). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Interface Graphique ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
[[Image:Configurateur_coconode.png|250px|thumb|right|Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Personnalisation de la simulation : &lt;br /&gt;
# Durée de simulation &lt;br /&gt;
# Planification &lt;br /&gt;
# Nombre de simulations&lt;br /&gt;
# Choix du protocole de routage (Ici c&#039;est load, un protocole de routage français)&lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
[[Image:Topologie_coconode.png|250px|thumb|right|Générateur de topologie]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Génération et visualisation de la topologie :&lt;br /&gt;
# Sélectionner les paramètres de la topologie :&lt;br /&gt;
## Nombre de noeuds &lt;br /&gt;
## Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
## Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
## Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
# Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
Après avoir entré toutes les informations précédentes et généré une topologie de réseaux de capteurs, ces informations seront passées au module d&#039;exécution qui va la prendre en charge et l&#039;exécuter en temps voulu.&lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
[[Image:Coconode_scheduler.png |250px|thumb|right|Scheduler]]&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation. &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Monitor_coconode.png|250px|thumb|right|Monitor]] &lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
[[Image:Pstat.png |250px|thumb|right|Afficheur de résultat et statistiques]]&lt;br /&gt;
Les fichiers d&#039;entrée suivent le format d&#039;entrée Gnuplot le plus fréquemment rencontré : des colonnes de valeur séparées par une tabulation. La première ligne est un commentaire (commence par un &#039;#&#039;) qui décrit chaque colonne de valeur. &lt;br /&gt;
La capture ci-contre se base sur 9 fichiers d&#039;exemple contenant une valeur de rayon par rapport à une valeur d&#039;angle. Pour utiliser le programme avec le simulateur Cooja, un script qui parse la sortie de Cooja dans le bon format Gnuplot doit encore être développé. &lt;br /&gt;
&lt;br /&gt;
Un fichier représente un individu de l&#039;échantillon utilisé pour le graphe statistique de droite. &lt;br /&gt;
Un fichier sera généré pour chaque simulation. Une simulation de Cooja est donc un individu pour le programme de statistique. &lt;br /&gt;
&lt;br /&gt;
Sur l&#039;interface, le choix des axes x et y est possible parmis les description des colonnes trouvées dans le premier fichier affiché. &lt;br /&gt;
&lt;br /&gt;
La liste des fichiers disponbles à l&#039;affichage pour &#039;current individual&#039; est triée selon l&#039;ordre de la table ASCII. Les valeurs des axes sélectionnés sont affichés pour le fichier sélectionné lorsqu&#039;on clique sur &#039;trace&#039;. La liste des fichiers sélectionnés est dynamique. Si on ajoute ou retire des fichiers dans le dossier d&#039;entrée (définit par le #define DATA_IN), la liste des &#039;current individual&#039;est mise à jours lorsqu&#039;on clique dessus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le graphe statistique est calculé avec les fichiers disponibles à ce moment dans le dossier d&#039;entrée lorsqu&#039;on clique sur &#039;compute&#039;. À la fin du projet (22 mars 2013), deux fonctions statistiques sont disponibles : la moyenne et la fonction de densité de probabilité. Elles sont calculées en se basant sur l&#039;axe des y sélectionné. &lt;br /&gt;
&lt;br /&gt;
Chacun des deux graphes sont exportables au format EPS, PDF et PNG (avec choix de la taille du fichier png). &lt;br /&gt;
&lt;br /&gt;
L&#039;interface est vectorielle.&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Point de vue de conception et de technique avancé&lt;br /&gt;
** Connaissances de JNI &lt;br /&gt;
** Développement boosté &lt;br /&gt;
** Reprise de motivation&lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** Documentation&lt;br /&gt;
** Test de validation&lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Bugs technique complexe&lt;br /&gt;
** Manque de réactivité aux bugs&lt;br /&gt;
** Deadline approché&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:Burndownchart3_coconode.png|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Entraide lors de bugs&lt;br /&gt;
** Séparation des modules facilitant le développement &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Compréhension de la hiérarchie et fonctionnement de Cooja &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Répartition du temps&lt;br /&gt;
** Bugs techniques et complexe. &lt;br /&gt;
** Perturbation du rythme de travail lié à:&lt;br /&gt;
*** Problème de santé&lt;br /&gt;
*** Manque de motivation&lt;br /&gt;
*** Problème de l&#039;ordinateur&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** Rédaction du cahier des charges&lt;br /&gt;
** Utilisation de GIT&lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Répartition des tâches&lt;br /&gt;
** Mise à jours de Trello &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Prise en main de l&#039;outil laborieuse&lt;br /&gt;
** Daily stand up oubliée&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse [http://air.imag.fr/mediawiki/images/a/a8/Coconode_cooja_output.txt COOJA log] in to [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt GNUplot format].&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10257</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10257"/>
		<updated>2013-03-22T17:29:16Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Git us !==&lt;br /&gt;
&lt;br /&gt;
[https://bitbucket.org/noejean/coconode COCONODE on Git]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé [http://www.contiki-os.org/start.html#start-cooja Cooja] pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
==== Répartitions des tâches ====&lt;br /&gt;
[[Image:Taches2.png|1000px|thumb|center|Répartition des tâches]]&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 parties différentes :&lt;br /&gt;
* Interface Graphique &lt;br /&gt;
* Architecture interne&lt;br /&gt;
** Configuration&lt;br /&gt;
** Exécution &lt;br /&gt;
** Statistique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture se base sur des modules existants (Générateur de topologie et noyau de simulation Cooja) utilisés dans l&#039;outil existant. Ces modules ont du être intégré dans l&#039;architecture pour pouvoir les réutiliser dans le nouvel outil. &lt;br /&gt;
La séparation des différentes parties a été faite pour isoler chaque partie réalisant les mêmes tâches. Cela facilite le développement et les modification future. &lt;br /&gt;
Cela permet aussi l&#039;utilisation de threads pour paralléliser les différents traitement, pour ne pas bloquer la GUI lors d&#039;un gros traitement dans l&#039;exécution ou dans la partie statistique par exemple. &lt;br /&gt;
 &lt;br /&gt;
La GUI est liée à chaque partie car elle est utilisée en entrée pour que l&#039;utilisateur puisse définir les données de simulation (voir partie Configuration) et en sortie pour que le contrôleur et l&#039;affichage statistique puisse afficher des retours (voir Partie Exécution et Statistique). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Interface Graphique ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
[[Image:Configurateur_coconode.png|250px|thumb|right|Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Personnalisation de la simulation : &lt;br /&gt;
# Durée de simulation &lt;br /&gt;
# Planification &lt;br /&gt;
# Nombre de simulations&lt;br /&gt;
# Choix du protocole de routage (Ici c&#039;est load, un protocole de routage français)&lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
[[Image:Topologie_coconode.png|250px|thumb|right|Générateur de topologie]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Génération et visualisation de la topologie :&lt;br /&gt;
# Sélectionner les paramètres de la topologie :&lt;br /&gt;
## Nombre de noeuds &lt;br /&gt;
## Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
## Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
## Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
# Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
Après avoir entré toutes les informations précédentes et généré une topologie de réseaux de capteurs, ces informations seront passées au module d&#039;exécution qui va la prendre en charge et l&#039;exécuter en temps voulu.&lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
[[Image:Coconode_scheduler.png |250px|thumb|right|Scheduler]]&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation. &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Monitor_coconode.png|250px|thumb|right|Monitor]] &lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Point de vue de conception et de technique avancé&lt;br /&gt;
** Connaissances de JNI &lt;br /&gt;
** Développement boosté &lt;br /&gt;
** Reprise de motivation&lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** Documentation&lt;br /&gt;
** Test de validation&lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Bugs technique complexe&lt;br /&gt;
** Manque de réactivité aux bugs&lt;br /&gt;
** Deadline approché&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:Burndownchart3_coconode.png|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Entraide lors de bugs&lt;br /&gt;
** Séparation des modules facilitant le développement &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Compréhension de la hiérarchie et fonctionnement de Cooja &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Répartition du temps&lt;br /&gt;
** Bugs techniques et complexe. &lt;br /&gt;
** Perturbation du rythme de travail lié à:&lt;br /&gt;
*** Problème de santé&lt;br /&gt;
*** Manque de motivation&lt;br /&gt;
*** Problème de l&#039;ordinateur&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** Rédaction du cahier des charges&lt;br /&gt;
** Utilisation de GIT&lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Répartition des tâches&lt;br /&gt;
** Mise à jours de Trello &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Prise en main de l&#039;outil laborieuse&lt;br /&gt;
** Daily stand up oubliée&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse [http://air.imag.fr/mediawiki/images/a/a8/Coconode_cooja_output.txt COOJA log] in to [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt GNUplot format].&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10236</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10236"/>
		<updated>2013-03-22T11:19:20Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Sprint retrospective */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé [http://www.contiki-os.org/start.html#start-cooja Cooja] pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
==== Répartitions des tâches ====&lt;br /&gt;
[[Image:Taches2.png|1000px|thumb|center|Répartition des tâches]]&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 parties différentes :&lt;br /&gt;
* Interface Graphique &lt;br /&gt;
* Architecture interne&lt;br /&gt;
** Configuration&lt;br /&gt;
** Exécution &lt;br /&gt;
** Statistique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture se base sur des modules existants (Générateur de topologie et noyau de simulation Cooja) utilisés dans l&#039;outil existant. Ces modules ont du être intégré dans l&#039;architecture pour pouvoir les réutiliser dans le nouvel outil. &lt;br /&gt;
La séparation des différentes parties a été faite pour isoler chaque partie réalisant les mêmes tâches. Cela facilite le développement et les modification future. &lt;br /&gt;
Cela permet aussi l&#039;utilisation de threads pour paralléliser les différents traitement, pour ne pas bloquer la GUI lors d&#039;un gros traitement dans l&#039;exécution ou dans la partie statistique par exemple. &lt;br /&gt;
 &lt;br /&gt;
La GUI est liée à chaque partie car elle est utilisée en entrée pour que l&#039;utilisateur puisse définir les données de simulation (voir partie Configuration) et en sortie pour que le contrôleur et l&#039;affichage statistique puisse afficher des retours (voir Partie Exécution et Statistique). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Interface Graphique ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
[[Image:Configurateur_coconode.png|250px|thumb|right|Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Personnalisation de la simulation : &lt;br /&gt;
# Durée de simulation &lt;br /&gt;
# Planification &lt;br /&gt;
# Nombre de simulations&lt;br /&gt;
# Choix du protocole de routage (Ici c&#039;est load, un protocole de routage français)&lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
[[Image:Topologie_coconode.png|250px|thumb|right|Générateur de topologie]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Génération et visualisation de la topologie :&lt;br /&gt;
# Sélectionner les paramètres de la topologie :&lt;br /&gt;
## Nombre de noeuds &lt;br /&gt;
## Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
## Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
## Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
# Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
Après avoir entré toutes les informations précédentes et généré une topologie de réseaux de capteurs, ces informations seront passées au module d&#039;exécution qui va la prendre en charge et l&#039;exécuter en temps voulu.&lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
[[Image:Coconode_scheduler.png |250px|thumb|right|Scheduler]]&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation. &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Monitor_coconode.png|250px|thumb|right|Monitor]] &lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Point de vue de conception et de technique avancé&lt;br /&gt;
** Connaissances de JNI &lt;br /&gt;
** Développement boosté &lt;br /&gt;
** Reprise de motivation&lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** Documentation&lt;br /&gt;
** Test de validation&lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Bugs technique complexe&lt;br /&gt;
** Manque de réactivité aux bugs&lt;br /&gt;
** Deadline approché&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:Burndownchart3_coconode.png|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Entraide lors de bugs&lt;br /&gt;
** Séparation des modules facilitant le développement &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Compréhension de la hiérarchie et fonctionnement de Cooja &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Répartition du temps&lt;br /&gt;
** Bugs techniques et complexe. &lt;br /&gt;
** Perturbation du rythme de travail lié à:&lt;br /&gt;
*** Problème de santé&lt;br /&gt;
*** Manque de motivation&lt;br /&gt;
*** Problème de l&#039;ordinateur&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** Rédaction du cahier des charges&lt;br /&gt;
** Utilisation de GIT&lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Répartition des tâches&lt;br /&gt;
** Mise à jours de Trello &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Prise en main de l&#039;outil laborieuse&lt;br /&gt;
** Daily stand up oubliée&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse [http://air.imag.fr/mediawiki/images/a/a8/Coconode_cooja_output.txt COOJA log] in to [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt GNUplot format].&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10235</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10235"/>
		<updated>2013-03-22T11:14:24Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Sprint retrospective */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé [http://www.contiki-os.org/start.html#start-cooja Cooja] pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
==== Répartitions des tâches ====&lt;br /&gt;
[[Image:Taches2.png|1000px|thumb|center|Répartition des tâches]]&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 parties différentes :&lt;br /&gt;
* Interface Graphique &lt;br /&gt;
* Architecture interne&lt;br /&gt;
** Configuration&lt;br /&gt;
** Exécution &lt;br /&gt;
** Statistique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture se base sur des modules existants (Générateur de topologie et noyau de simulation Cooja) utilisés dans l&#039;outil existant. Ces modules ont du être intégré dans l&#039;architecture pour pouvoir les réutiliser dans le nouvel outil. &lt;br /&gt;
La séparation des différentes parties a été faite pour isoler chaque partie réalisant les mêmes tâches. Cela facilite le développement et les modification future. &lt;br /&gt;
Cela permet aussi l&#039;utilisation de threads pour paralléliser les différents traitement, pour ne pas bloquer la GUI lors d&#039;un gros traitement dans l&#039;exécution ou dans la partie statistique par exemple. &lt;br /&gt;
 &lt;br /&gt;
La GUI est liée à chaque partie car elle est utilisée en entrée pour que l&#039;utilisateur puisse définir les données de simulation (voir partie Configuration) et en sortie pour que le contrôleur et l&#039;affichage statistique puisse afficher des retours (voir Partie Exécution et Statistique). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Interface Graphique ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
[[Image:Configurateur_coconode.png|250px|thumb|right|Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Personnalisation de la simulation : &lt;br /&gt;
# Durée de simulation &lt;br /&gt;
# Planification &lt;br /&gt;
# Nombre de simulations&lt;br /&gt;
# Choix du protocole de routage (Ici c&#039;est load, un protocole de routage français)&lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
[[Image:Topologie_coconode.png|250px|thumb|right|Générateur de topologie]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Génération et visualisation de la topologie :&lt;br /&gt;
# Sélectionner les paramètres de la topologie :&lt;br /&gt;
## Nombre de noeuds &lt;br /&gt;
## Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
## Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
## Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
# Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
Après avoir entré toutes les informations précédentes et généré une topologie de réseaux de capteurs, ces informations seront passées au module d&#039;exécution qui va la prendre en charge et l&#039;exécuter en temps voulu.&lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
[[Image:Coconode_scheduler.png |250px|thumb|right|Scheduler]]&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation. &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Monitor_coconode.png|250px|thumb|right|Monitor]] &lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
**  &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
**&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:Burndownchart3_coconode.png|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Entraide lors de bugs&lt;br /&gt;
** Séparation des modules facilitant le développement &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Compréhension de la hiérarchie et fonctionnement de Cooja &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Répartition du temps&lt;br /&gt;
** Bugs techniques et complexe. &lt;br /&gt;
** Perturbation du rythme de travail lié à:&lt;br /&gt;
*** Problème de santé&lt;br /&gt;
*** Manque de motivation&lt;br /&gt;
*** Problème de l&#039;ordinateur&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** Rédaction du cahier des charges&lt;br /&gt;
** Utilisation de GIT&lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Répartition des tâches&lt;br /&gt;
** Mise à jours de Trello &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Prise en main de l&#039;outil laborieuse&lt;br /&gt;
** Daily stand up oubliée&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse [http://air.imag.fr/mediawiki/images/a/a8/Coconode_cooja_output.txt COOJA log] in to [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt GNUplot format].&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10234</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10234"/>
		<updated>2013-03-22T11:13:43Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Sprint 2 :18 Février au 8 Mars */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé [http://www.contiki-os.org/start.html#start-cooja Cooja] pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
==== Répartitions des tâches ====&lt;br /&gt;
[[Image:Taches2.png|1000px|thumb|center|Répartition des tâches]]&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 parties différentes :&lt;br /&gt;
* Interface Graphique &lt;br /&gt;
* Architecture interne&lt;br /&gt;
** Configuration&lt;br /&gt;
** Exécution &lt;br /&gt;
** Statistique&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture se base sur des modules existants (Générateur de topologie et noyau de simulation Cooja) utilisés dans l&#039;outil existant. Ces modules ont du être intégré dans l&#039;architecture pour pouvoir les réutiliser dans le nouvel outil. &lt;br /&gt;
La séparation des différentes parties a été faite pour isoler chaque partie réalisant les mêmes tâches. Cela facilite le développement et les modification future. &lt;br /&gt;
Cela permet aussi l&#039;utilisation de threads pour paralléliser les différents traitement, pour ne pas bloquer la GUI lors d&#039;un gros traitement dans l&#039;exécution ou dans la partie statistique par exemple. &lt;br /&gt;
 &lt;br /&gt;
La GUI est liée à chaque partie car elle est utilisée en entrée pour que l&#039;utilisateur puisse définir les données de simulation (voir partie Configuration) et en sortie pour que le contrôleur et l&#039;affichage statistique puisse afficher des retours (voir Partie Exécution et Statistique). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Interface Graphique ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
[[Image:Configurateur_coconode.png|250px|thumb|right|Configuration]]&lt;br /&gt;
&lt;br /&gt;
* Personnalisation de la simulation : &lt;br /&gt;
# Durée de simulation &lt;br /&gt;
# Planification &lt;br /&gt;
# Nombre de simulations&lt;br /&gt;
# Choix du protocole de routage (Ici c&#039;est load, un protocole de routage français)&lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
[[Image:Topologie_coconode.png|250px|thumb|right|Générateur de topologie]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Génération et visualisation de la topologie :&lt;br /&gt;
# Sélectionner les paramètres de la topologie :&lt;br /&gt;
## Nombre de noeuds &lt;br /&gt;
## Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
## Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
## Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
# Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
Après avoir entré toutes les informations précédentes et généré une topologie de réseaux de capteurs, ces informations seront passées au module d&#039;exécution qui va la prendre en charge et l&#039;exécuter en temps voulu.&lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
[[Image:Coconode_scheduler.png |250px|thumb|right|Scheduler]]&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation. &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Monitor_coconode.png|250px|thumb|right|Monitor]] &lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
**  &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
**&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:Burndownchart3_coconode.png|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Entraide lors de bugs&lt;br /&gt;
** Séparation des modules facilitant le développement &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Compréhension de la hiérarchie et fonctionnement de Cooja &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Répartition du temps&lt;br /&gt;
** Bugs techniques et complexe. &lt;br /&gt;
** Manque de motivation&lt;br /&gt;
** Perturbation du rythme de travail lié à:&lt;br /&gt;
*** Problème de santé&lt;br /&gt;
*** Problème de l&#039;ordinateur&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** Rédaction du cahier des charges&lt;br /&gt;
** Utilisation de GIT&lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** Répartition des tâches&lt;br /&gt;
** Mise à jours de Trello &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** Prise en main de l&#039;outil laborieuse&lt;br /&gt;
** Daily stand up oubliée&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse [http://air.imag.fr/mediawiki/images/a/a8/Coconode_cooja_output.txt COOJA log] in to [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt GNUplot format].&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10166</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10166"/>
		<updated>2013-03-22T09:31:11Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
==== Répartitions des tâches ====&lt;br /&gt;
[[Image:Taches2.png|1000px|thumb|center|Répartition des tâches]]&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 modules différents :&lt;br /&gt;
&lt;br /&gt;
==== Interface IHM ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
# Personnalisation de la simulation&lt;br /&gt;
## Durée de simulation &lt;br /&gt;
## Planification &lt;br /&gt;
## Nombre de simulations&lt;br /&gt;
## Choix du protocole de routage &lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
&lt;br /&gt;
# Génération et visualisation de la topologie &lt;br /&gt;
La génération se fait en plusieurs étapes :&lt;br /&gt;
## Sélectionner les paramètres de la topologie :&lt;br /&gt;
### Nombre de noeuds &lt;br /&gt;
### Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
### Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
### Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
## Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation.  &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse [http://air.imag.fr/mediawiki/images/a/a8/Coconode_cooja_output.txt COOJA log] in to [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt GNUplot format].&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10163</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10163"/>
		<updated>2013-03-22T09:30:27Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
==== Répartitions des tâches ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Taches2.png]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 modules différents :&lt;br /&gt;
&lt;br /&gt;
==== Interface IHM ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
# Personnalisation de la simulation&lt;br /&gt;
## Durée de simulation &lt;br /&gt;
## Planification &lt;br /&gt;
## Nombre de simulations&lt;br /&gt;
## Choix du protocole de routage &lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
&lt;br /&gt;
# Génération et visualisation de la topologie &lt;br /&gt;
La génération se fait en plusieurs étapes :&lt;br /&gt;
## Sélectionner les paramètres de la topologie :&lt;br /&gt;
### Nombre de noeuds &lt;br /&gt;
### Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
### Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
### Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
## Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation.  &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse [http://air.imag.fr/mediawiki/images/a/a8/Coconode_cooja_output.txt COOJA log] in to GNUplot format. See [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt here] for an example&lt;br /&gt;
GNUplot format&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Coconode_cooja_output.txt&amp;diff=10161</id>
		<title>File:Coconode cooja output.txt</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Coconode_cooja_output.txt&amp;diff=10161"/>
		<updated>2013-03-22T09:30:07Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10158</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10158"/>
		<updated>2013-03-22T09:28:35Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. [http://fr.wikipedia.org/wiki/Contiki Contiki] est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… Ce simulateur est fourni par l&#039;organisation qui développe Contiki pour pouvoir émuler cet OS au niveau hardware et ainsi pouvoir réutiliser les codes simulés sur des capteurs réels.&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 modules différents :&lt;br /&gt;
&lt;br /&gt;
==== Interface IHM ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
# Personnalisation de la simulation&lt;br /&gt;
## Durée de simulation &lt;br /&gt;
## Planification &lt;br /&gt;
## Nombre de simulations&lt;br /&gt;
## Choix du protocole de routage &lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
&lt;br /&gt;
# Génération et visualisation de la topologie &lt;br /&gt;
La génération se fait en plusieurs étapes :&lt;br /&gt;
## Sélectionner les paramètres de la topologie :&lt;br /&gt;
### Nombre de noeuds &lt;br /&gt;
### Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
### Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
### Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
## Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation.  &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur aura un retour d&#039;avancement de la simulation en cours ainsi qu&#039;une liste des simulations à venir dans l&#039;ordre de départ.&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse COOJA log in to GNUplot format. See [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt here] for an example&lt;br /&gt;
* Validation test&lt;br /&gt;
* Integrate Statistic module into Coconode (or add callback to launch Statistic module from Coconode)&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10154</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10154"/>
		<updated>2013-03-22T09:25:38Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* TODO */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des évènements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de la reproduire dans le temps en modifiant les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. Un des désavantages de la simulation est que certains phénomènes physiques sont très difficiles (voire impossible) à définir. &lt;br /&gt;
&lt;br /&gt;
Aujourd&#039;hui, plusieurs systèmes d&#039;exploitation sont utilisés sur ces capteurs pour pouvoir faire des opérations liées aux communications, aux récupérations de données et aux agrégations de celles-ci. &lt;br /&gt;
Contiki est l&#039;un des plus utilisés. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement…&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 modules différents :&lt;br /&gt;
&lt;br /&gt;
==== Interface IHM ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
# Personnalisation de la simulation&lt;br /&gt;
## Durée de simulation &lt;br /&gt;
## Planification &lt;br /&gt;
## Nombre de simulations&lt;br /&gt;
## Choix du protocole de routage &lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
&lt;br /&gt;
# Génération et visualisation de la topologie &lt;br /&gt;
La génération se fait en plusieurs étapes :&lt;br /&gt;
## Sélectionner les paramètres de la topologie :&lt;br /&gt;
### Nombre de noeuds &lt;br /&gt;
### Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
### Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
### Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
## Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation.  &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;br /&gt;
* Script to parse COOJA log in to GNUplot format. See [http://air.imag.fr/mediawiki/images/8/8a/Coconode_gnuplot_input.txt here] for an example&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Coconode_gnuplot_input.txt&amp;diff=10153</id>
		<title>File:Coconode gnuplot input.txt</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Coconode_gnuplot_input.txt&amp;diff=10153"/>
		<updated>2013-03-22T09:25:12Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10151</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10151"/>
		<updated>2013-03-22T09:17:01Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des événements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de modifier les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… &lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Aspects Techniques === &lt;br /&gt;
&lt;br /&gt;
* Langage C et bibliothèque graphique GTK (et gestion des threads)&lt;br /&gt;
* Bibliothèques dynamiques&lt;br /&gt;
* Compilation du code utilisateur pour la topologie&lt;br /&gt;
* Basé sur le noyau Cooja avec Java Native Interface (JNI)&lt;br /&gt;
* Gnuplot&lt;br /&gt;
* Json-glib&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode est composé de 4 modules différents :&lt;br /&gt;
&lt;br /&gt;
==== Interface IHM ====&lt;br /&gt;
Cette interface basée sur la librairie GTK permet à l&#039;utilisateur d&#039;interagir avec le noyau de simulation Cooja. &lt;br /&gt;
&lt;br /&gt;
==== Architecture interne ====&lt;br /&gt;
L&#039;architecture interne de Coconode comprend trois parties : &lt;br /&gt;
&lt;br /&gt;
===== Partie Configuration =====&lt;br /&gt;
# Personnalisation de la simulation&lt;br /&gt;
## Durée de simulation &lt;br /&gt;
## Planification &lt;br /&gt;
## Nombre de simulations&lt;br /&gt;
## Choix du protocole de routage &lt;br /&gt;
Cette partie est lié au module Jsonner qui permet d&#039;exporter ou importer ces paramètres au format JSON. &lt;br /&gt;
&lt;br /&gt;
# Génération et visualisation de la topologie &lt;br /&gt;
La génération se fait en plusieurs étapes :&lt;br /&gt;
## Sélectionner les paramètres de la topologie :&lt;br /&gt;
### Nombre de noeuds &lt;br /&gt;
### Pourcentage de capteurs (qui récupèrent une donnée physique)&lt;br /&gt;
### Pourcentage d&#039;actuateurs (qui réalisent une action)&lt;br /&gt;
### Sélectionner les fichiers utilisateurs qui génèrent une topologie selon un modèle précis (représentation d&#039;une maison ...) &lt;br /&gt;
## Générer la topologie et visualiser le résultat &lt;br /&gt;
&lt;br /&gt;
===== Partie Exécution =====&lt;br /&gt;
&lt;br /&gt;
L&#039;exécution des simulations doit se faire dans un ordre précis défini grâce à l&#039;interface. Cet ordre mélange un ordre temporel et un ordre de définition, en effet, l&#039;utilisateur peut définir un délai de début de simulation en plus de l&#039;ordre de définition de celle-ci. Il faut donc avoir une file d&#039;attente des simulations. &lt;br /&gt;
La file d&#039;attente est une file asynchrone accessible par l&#039;interface et par le contrôleur. Le contrôleur va l&#039;utiliser pour ordonnancer les simulations et gérer l&#039;ordre de départ de chaque simulation.  &lt;br /&gt;
&lt;br /&gt;
Ensuite, le contrôle doit être fait en temps réel. L&#039;interface doit être toujours disponible pour l&#039;utilisateurs afin qu&#039;il puisse contrôler les simulations. Comme Cooja est un outil Java, il a fallu utiliser une bibliothèque nommé [http://fr.wikipedia.org/wiki/Java_Native_Interface Java Native Interface] qui permet de faire l&#039;interfaçage entre du code C et du code Java. Cela permet de créer une [http://fr.wikipedia.org/wiki/Machine_virtuelle_Java JVM] personnalisée pour exécuter le noyau Cooja. Il est donc possible d&#039;avoir un contrôle total de Cooja en accédant aux différentes classes présentes.&lt;br /&gt;
&lt;br /&gt;
===== Partie Statistique =====&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci.&lt;br /&gt;
&lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;br /&gt;
&lt;br /&gt;
==TODO==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Coconode_scheduler.png&amp;diff=10149</id>
		<title>File:Coconode scheduler.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Coconode_scheduler.png&amp;diff=10149"/>
		<updated>2013-03-22T09:13:39Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10022</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10022"/>
		<updated>2013-03-21T10:14:54Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Le produit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des événements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de modifier les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… &lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
Coconode comprend des parties suivants :&lt;br /&gt;
&lt;br /&gt;
* Interface IHM &lt;br /&gt;
* Architecture interne de Coconode comprend trois parties : &lt;br /&gt;
** Partie Configuration&lt;br /&gt;
** Partie Execution&lt;br /&gt;
** Partie Statistic&lt;br /&gt;
&lt;br /&gt;
# Partie Configuration&lt;br /&gt;
Contrôlé par le module JSONNER, cette partie est en charge de : &lt;br /&gt;
## Surveiller des paramètres de simulation et de topologie, importer/exporter des mapramètres en format JSON. &lt;br /&gt;
## Générer et visualiser la topologie &lt;br /&gt;
 &lt;br /&gt;
# Partie Execution&lt;br /&gt;
# Partie Statistic&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci. &lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10018</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10018"/>
		<updated>2013-03-21T10:08:18Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Interface Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des événements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de modifier les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… &lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
=== Architecture logicielle ===&lt;br /&gt;
[[Image:Coconode_architecture.png|300px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Scheduler 	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Interruption d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
17&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Validation du logiciel&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Portabilité de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci. &lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10016</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10016"/>
		<updated>2013-03-21T10:06:57Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|500px|thumb|right|Interface Coconode]]&lt;br /&gt;
[[Image:Coconode_architecture.png|500px|thumb|right|Architecture Coconode]]&lt;br /&gt;
&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des événements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de modifier les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… &lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci. &lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Coconode_architecture.png&amp;diff=10015</id>
		<title>File:Coconode architecture.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Coconode_architecture.png&amp;diff=10015"/>
		<updated>2013-03-21T10:06:28Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10014</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10014"/>
		<updated>2013-03-21T10:05:38Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|500px|thumb|right|Interface Coconode]]&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des événements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de modifier les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… &lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci. &lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10013</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10013"/>
		<updated>2013-03-21T10:05:26Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|500px|thumb|right|Configuration 1]]&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des événements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de modifier les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… &lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci. &lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Coconode&amp;diff=10012</id>
		<title>Coconode</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Coconode&amp;diff=10012"/>
		<updated>2013-03-21T10:05:12Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Coconode_interface.png|300px|thumb|right|Configuration 1]]&lt;br /&gt;
==Contexte==&lt;br /&gt;
&lt;br /&gt;
Ce projet se place dans la continuité du travail de Malisa VUCINIC - thésard à l&#039;équipe DRAKKA (LIG). Durant son projet de fin d&#039;études, il a écrit un programme permettant de simuler le comportement de capteurs disposés dans une salle/un bâtiment. Le comportement étant basé sur deux protocoles de routage de données (RPL ou LOADng). Cependant, ce programme ne permet pas d&#039;automatiser l&#039;exécution d&#039;un grand nombre de simulation, ce qui est nécessaire pour faire des statistiques. De plus, les données obtenues ne sont pas interprétées mais seulement regroupées de manière cohérente par un parseur. L’utilisateur est obligé de traiter lui-même ces données via un logiciel tiers d’analyse. &lt;br /&gt;
&lt;br /&gt;
==Motivations==&lt;br /&gt;
&lt;br /&gt;
Industrie, sécurité, transport, santé... Les capteurs sont de plus en plus utilisés dans notre quotidien. Organisé en réseau, ces capteurs permettent de récolter une multitude de données de toutes sortes. La majorité des applications impliquent le déploiement d&#039;un grand nombre de nœuds (capteurs) dans une zone donnée. Cela implique un minimum de traitement pour communiquer entre eux et/ou avec une entité capable de les traiter. Cependant, une grande partie de ces équipements ne seront pas reliés à un réseau électrique ni à un réseau informatique à cause du coût d’installation et de raccordement. C’est pourquoi ils seront alimentés grâce à une batterie et devront communiquer via des transmissions radio. Le coût faible du déploiement et la durée de vie très longue des capteurs impliquent des contraintes matérielles liées à la mémoire, aux traitements et à la consommation d’énergie. La communication en est impactée car il faut consommer le moins possible tout en communiquant avec les autres. Il faut donc utiliser des protocoles de communications optimisés pour lui permettre d’être autonome tout en restant joignable via Internet. En effet, IPv6 est performant pour délivrer les données et router celle-ci, quel que soit le réseau, d’un émetteur vers un récepteur. De plus, au vu du nombre de capteurs déployés, il est nécessaire d’avoir une grande plage d’adresses disponible. Cependant, IP a été conçu pour des réseaux très puissants et possède, par exemple, des entêtes de tailles trop grandes pour un capteur. C’est pourquoi l’IETF a créé un standard nommé 6LowPAN qui définit des mécanismes d’encapsulation et de compression d’en-têtes permettant d’envoyer des paquets IPv6. &lt;br /&gt;
Afin de pouvoir tester et expérimenter de tels protocoles, plusieurs méthodes sont possibles : théorie, simulation, modélisation. La théorie permet d’avoir un résultat rapidement par rapport aux autres méthodes. La modélisation est la meilleure solution par rapport à la précision des résultats. Cependant, la première n’est pas assez représentative par rapport à des événements censés être aléatoires sur les nœuds et la deuxième coûte cher et ne supporte pas les changements. La simulation est un bon compromis car il est possible de modifier les paramètres facilement tout en contrôlant les dépenses liées au coût de développement. &lt;br /&gt;
C’est pourquoi, l’équipe Drakkar utilise un simulateur nommé Cooja pour simuler le comportement d’un réseau de capteurs par rapport aux algorithmes de routages des paquets, de la disposition des capteurs dans le réseau, les propriétés de l’environnement… &lt;br /&gt;
&lt;br /&gt;
==Utilisateurs cibles==&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs cibles sont principalement des chercheurs, stagiaires utilisant le simulateur Cooja. Ensuite, les autres utilisateurs seront les personnes lambda voulant utiliser ce logiciel car il sera diffusé avec une licence libre. &lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif est faire un logiciel permettant de configurer et de répéter une expérience, de suivre les différentes étapes de l&#039;expérience lors de la simulation et d&#039;interpréter les résultats obtenus. Le logiciel doit être « user friendly », avec une interface graphique. De plus, dans la mesure du possible, on essayera de le rendre générique, c&#039;est à dire utilisable pour d&#039;autres protocoles que les deux testés dans le cadre de ce projet. Il sera ainsi susceptible d&#039;être réutilisé pour d&#039;autres études. &lt;br /&gt;
&lt;br /&gt;
Le travail à réaliser peut être présenté en trois modules :&lt;br /&gt;
*Partie configuration : Saisir des paramètres voulus pour la simulation, le nombre de simulations voulues pour pouvoir faire des statistiques associées, construction de fichier de configuration .xml (scénario). Cette partie pourra aussi afficher la configuration/répartition des capteurs dans la salle/du bâtiment : une carte de la salle affiche leur position. &lt;br /&gt;
*Partie suivi de la simulation (qui peut durer très longtemps, des semaines) : donne le statut de la simulation. Par exemple :  Simulation avec COOJA à partir du scénario (répéter plusieurs fois pour augmenter la confiance)&lt;br /&gt;
*Partie résultat : elle peut être décomposée en 2 sous parties :&lt;br /&gt;
**Choisir les données que l&#039;on veut afficher (choix  des différents graphes avec différents paramètres, choix de l&#039;échelle, observation d&#039;une simulation particulière ou application d&#039;une fonction statistique aux données particulière)&lt;br /&gt;
**Afficher les graphes et les données de sortie. Résultat + script pour analyser le résultat. &lt;br /&gt;
&lt;br /&gt;
L&#039;outil actuel se fait en plusieurs étapes séparées par des lignes de commande tapées manuellement. Ceci n&#039;est pas automatisé et est destiné principalement à l&#039;utilisateur expérimenté. &lt;br /&gt;
Le but de notre projet est de développer un outil qui automatise le processus de simulation comprenant la configuration, l&#039;exécution et l&#039;analyse de résultat sous forme d&#039;une interface utilisateur interactive. Il sera important de concevoir une architecture flexible, modulable et facile à étendre pour le développement ultérieur.&lt;br /&gt;
&lt;br /&gt;
== Fonctionnalités à développer ==&lt;br /&gt;
&lt;br /&gt;
== L&#039;équipe ==&lt;br /&gt;
&lt;br /&gt;
Ce projet s&#039;inscrit dans un cadre pédagogique précis. Un encadrant joue le rôle de client, un autre de tuteur. Le projet s&#039;effectue en groupe et met en place des méthodes de gestion de projet.&lt;br /&gt;
&lt;br /&gt;
=== Encadrants ===&lt;br /&gt;
==== Clients ====&lt;br /&gt;
* Bernard Tourancheau&lt;br /&gt;
* Mališa Vučinić&lt;br /&gt;
==== Tuteur ====&lt;br /&gt;
* Didier Donsez &lt;br /&gt;
&lt;br /&gt;
=== Etudiants ===&lt;br /&gt;
* Chef de projet : Noé-Jean Caramelli&lt;br /&gt;
* Minh Quan Ho&lt;br /&gt;
* Florian Lévêque&lt;br /&gt;
&lt;br /&gt;
== Le produit == &lt;br /&gt;
&lt;br /&gt;
== Méthodes de gestion de projet == &lt;br /&gt;
&lt;br /&gt;
Nous utilisons d&#039;une part une méthode de gestion de projets classique avec un Chef de projet, mais d&#039;autre part, nous utilisons la méthode Agile/Scrum pour le développement du logiciel.&lt;br /&gt;
&lt;br /&gt;
=== Scrum Master ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissions un scrum master fixe. En effet, nous avons un chef de projet qui a pour rôle d&#039;être le point central de communication avec l&#039;équipe. Or le scrum master est censé isoler l&#039;équipe de l&#039;extérieur. Si on prend un scrum master tournant, on aura un chef de projet, qui ne sera pas isolé de l&#039;extérieur à cause de son rôle et qui ne sera pas scrum master. Ce n&#039;est pas logique. Nous choisissons donc un scrum master fixe qui sera le chef de projet par soucis de cohérence. &lt;br /&gt;
&lt;br /&gt;
=== Points avec les clients ===&lt;br /&gt;
&lt;br /&gt;
Nous feront un point par semaine avec Bernard Tourancheau et Malisa Vucinic. Le rendez-vous hebdomadaire est fixé tous les jeudis à 15h. Ces rendez-vous serviront à faire le point sur l&#039;avancement et à régler les éventuels problèmes qui pourraient nous bloquer. Un rendez-vous tous les 15 jours serait trop espacé en cas de problème. &lt;br /&gt;
&lt;br /&gt;
=== Durée du stage ===&lt;br /&gt;
&lt;br /&gt;
Le projet commence le 4 février et termine le 15 mars. Nous avons en réalité eu deux réunions avant le 4 février, mais nous n&#039;avions que très  peu de temps libre pour le projet la semaine d&#039;avant. La semaine du 18 mars est celle de la soutenance du projet. Nous ne savons pas la date exacte de soutenance, nous ne plaçons donc pas de tâche &lt;br /&gt;
&lt;br /&gt;
=== Sprints ===&lt;br /&gt;
&lt;br /&gt;
Nous choisissons de faire des sprints de deux semaines. Cela nous semble un bon compromis entre un sprint trop long pendant lequel les tâches serait trop complexes et les problèmes s&#039;accumuleraient, et un sprint trop court où nous n&#039;aurions pas assez avancé pour que le sprint soit profitable, malgré le temps qu&#039;il nous prend. &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :11 Mars au 22 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* A améliorer:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
==== Burndown Chart ==== &lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :18 Février au 8 Mars ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Générateur de topologie&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Configuration des simulations&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Importer/Exporter données &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Contrôle d&#039;une simulation &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Observation des résultats &lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint2.jpg|1000px|thumb|center|Burndown Chart Sprint 2]]&lt;br /&gt;
==== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 29 Janvier au 15 Février ====&lt;br /&gt;
===== Sprint Backlog =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Valeurs/Importance&lt;br /&gt;
! scope=col | Estimation initiale&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Cahier des charges&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Architecture	&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
13&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prototype de l&#039;IHM&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
8&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; |&lt;br /&gt;
Prise en main de l&#039;outil&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;25%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Sprint retrospective =====&lt;br /&gt;
* Plus:&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
*A améliorer&lt;br /&gt;
** - &lt;br /&gt;
&lt;br /&gt;
* Moins:&lt;br /&gt;
** -&lt;br /&gt;
&lt;br /&gt;
==== Burndown Chart ====&lt;br /&gt;
[[Image:BDCSprint1.jpg|1000px|thumb|center|Burndown Chart Sprint 1]]&lt;br /&gt;
&lt;br /&gt;
=== Product Backlog ===&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|+ Product Backlog&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Nom&lt;br /&gt;
! scope=col | Description&lt;br /&gt;
! scope=col | Complexité&lt;br /&gt;
! scope=col | Priorité&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Configuration&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur veut choisir la configuration qu&#039;il veut pour l&#039;expérience (protocole, nombre de simulations, loi de probabilité des événements...)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
12&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Monitoring&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur surveille l&#039;état de l&#039;exécution de la simulation en temps réel. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
10&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
5&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Interruption&lt;br /&gt;
| width=&amp;quot;38%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur interrompt l’expérience. &lt;br /&gt;
| width=&amp;quot;12&amp;quot; |&lt;br /&gt;
3&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Répétitions&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur détermine le nombre de fois qu&#039;une simulation est répétée durant une expérience (pour augmenter l&#039;intervalle de confiance). &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Topologie&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur voit la topologie du réseau (répartition des capteurs dans la salle / le bâtiment)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
4&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
15&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Résultat&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur observe en temps réel (unité de temps=une simulation) les graphes qu&#039;il voulait lors de la configuration. &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
18&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
35&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Scheduler&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
L&#039;utilisateur peut programmer des périodes d&#039;exécution pour son expérience (le simulateur n&#039;exécute l&#039;expérience que la nuit, le PC a plus de ressources le journée)&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
30&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
Format&lt;br /&gt;
| width=&amp;quot;54%&amp;quot; |&lt;br /&gt;
Les fichiers d&#039;entrées / sorties doivent être génériques &lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
20&lt;br /&gt;
| width=&amp;quot;12%&amp;quot; |&lt;br /&gt;
25&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Outils de suivi ===&lt;br /&gt;
Pour permettre de suivre l&#039;avancement d&#039;un sprint du projet, nous utilisons des outils de Scrum : &lt;br /&gt;
*Todo-List ;&lt;br /&gt;
*Burn down chart.&lt;br /&gt;
&lt;br /&gt;
=== Tests et validation ===&lt;br /&gt;
Comme nous utilisons la méthode Scrum pour la gestion de projet, chaque développeur fera des tests « unitaires » sur les stories qu&#039;il développera. Ils vont permettre d&#039;assurer de l’intégrité du code pour certaines fonctionnalités, la bonne qualité du code. Ils ne permettent pas de vérifier si le code répond aux besoins du client. &lt;br /&gt;
Les tests permettant de garantir au product owner la fiabilité et le respect des spécifications sont les tests d&#039;acceptation. Chaque test sera développé ou défini grâce aux conditions de satisfaction données par celui-ci. &lt;br /&gt;
== Choix non fonctionnels == &lt;br /&gt;
===Licence ===&lt;br /&gt;
Le code sera placé sous la licence libre GNU GPL afin de permettre au projet d&#039;être réutilisé et amélioré. &lt;br /&gt;
La documentation et autres ressources éventuellement créées pour le projet seront placées sous licence Creative Commons CC-BY-NC-SA afin de permettre également une réutilisation et une évolution libres.  &lt;br /&gt;
=== Gestionnaire de version===&lt;br /&gt;
Nous choisissons GIT, un gestionnaire de version récent, évolué et de plus en plus répandu. C&#039;est le gestionnaire de version déjà utilisé pour le projet. &lt;br /&gt;
===Documentation===&lt;br /&gt;
Nous prévoyons différents éléments de documentation pour permettre une bonne continuité du projet. &lt;br /&gt;
====Documents de conception====&lt;br /&gt;
*La documentation sera séparée en plusieurs fichiers : &lt;br /&gt;
**Conception IHM ;&lt;br /&gt;
**Conception système (architecture, librairies, technologies).&lt;br /&gt;
&lt;br /&gt;
====Manuels====&lt;br /&gt;
*Manuel développeur ;&lt;br /&gt;
*Manuel utilisateur.&lt;br /&gt;
&lt;br /&gt;
====Génération automatique de documentation sur le code====&lt;br /&gt;
Nous utiliserons un générateur de documentation capable de produire une documentation logicielle à partir du code source du programme, comme Doxygen.&lt;br /&gt;
&lt;br /&gt;
====Convention de codage====&lt;br /&gt;
&lt;br /&gt;
* Indentation obligatoire (utilisation du caractère tabulation) ;&lt;br /&gt;
* L&#039;accolade ouvrante doit être placée à la ligne suivante ;&lt;br /&gt;
* Les commentaires doivent être écrits en anglais ;&lt;br /&gt;
* Tous les fichiers doivent être codés au format UTF-8 ;&lt;br /&gt;
* Les lignes ne doivent (dans la mesure du possible) pas dépassées 80 caractères ;&lt;br /&gt;
* Le nom des fonctions seront plutôt des verbes, les variables seront des noms (en anglais) ;&lt;br /&gt;
		Exemples : &lt;br /&gt;
**Procédure : draw_something ;&lt;br /&gt;
**Variable : a_variable ;&lt;br /&gt;
**Constante : A_CONSTANT.&lt;br /&gt;
*Chaque fonction doit être commenté selon deux règles :&lt;br /&gt;
**Une explication détaillée de l&#039;utilité de la fonction doit être placé au dessus du corps de la fonction ;&lt;br /&gt;
**Chaque ligne de code complexe doit être commentée .&lt;br /&gt;
*Chaque fonction ne doit (dans la mesure du possible) n&#039;implémenter qu&#039;une seule tâche.&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Coconode_interface.png&amp;diff=10011</id>
		<title>File:Coconode interface.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Coconode_interface.png&amp;diff=10011"/>
		<updated>2013-03-21T10:04:40Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9884</id>
		<title>Projets 2012-2013</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9884"/>
		<updated>2013-03-20T14:27:14Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* RICM5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2011-2012]] [[Projets 2013-2014]]&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RICM4==&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Tout les documents que vous rédigerez seront de préférence en &#039;&#039;&#039;anglais&#039;&#039;&#039; (fiche de suivi, commentaire de code, documentaton, rapport). Une bonnification sera accordée pour cela.&lt;br /&gt;
* Utilisez un &#039;&#039;&#039;logiciel de gestion de version&#039;&#039;&#039; pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d&#039;utilise le site [https://github.com github] pour l&#039;hébergement de votre dépôt public.&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets RICM4 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Trodomètre | Trodomètre v2]]&lt;br /&gt;
 | Jean-François Bianco, Brice Théophile&lt;br /&gt;
 | Jacques Lemordant, Nicolas Palix, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-trodomètre | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 |[[RobAIR2013]] Groupe 1&lt;br /&gt;
 | [[User:Alexandre.Corso|Alexandre Corso]], [[User:Laurene.Guelorget|Laurène Guelorget]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe1-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 |[[RobAIR2013]] Groupe 2&lt;br /&gt;
 | [[User:Nicolas.Afonso|Nicolas Afonso]], [[User:Simon.Planes|Simon Planès]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe2-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 |[[RobAIR2013]] Groupe 3&lt;br /&gt;
 | [[User:Thomas.Nunes|Thomas Nunes]], [[User:Morgan.Bidois|Morgan Bidois]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe3-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 |[[Réducation Fonctionnelle 2013]]&lt;br /&gt;
 | [[User:Rebecca.Poustis|Rebecca Poustis]], [[User:Elisa.Martinez|Elisa Martinez]]&lt;br /&gt;
 | Nicolas Vuillerme, Alessandro Semere&lt;br /&gt;
 | [[Proj-2012-2013-RéducationFonctionnelle| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 |[[Sign2Text]]&lt;br /&gt;
 | Aitan Viegas, Valeria Fernandes&lt;br /&gt;
 | Nicolas Vuillerme, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-Sign2Text| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 |[[Building Management System]]&lt;br /&gt;
 | Mame Daba DIOUF, Michael COSTA DE CASTRO, Ruy Guilherme SILVA GOMES DE OLIVEIRA &lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BuildingManagementSystem| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 |[[Arduino_STM32_Discovery_2013 | Arduino et cartes STM32-Discovery]]&lt;br /&gt;
 | [[User:Tianming.Guo|Tianming Guo]], [[User:Minyi.Gu|Minyi Gu]], [[User:Xu.Feng|Xu Feng]]&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-arduino-stm32disco| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 |[[OAR_Cloud_Computing_2013 | Plateforme de Cloud Computing décentralisée]]&lt;br /&gt;
 | Alexandre Maurice, Jordan Calvi&lt;br /&gt;
 | Olivier Richard et coopération startup&lt;br /&gt;
 | [[Proj-2012-2013-OAR-Cloud| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 |[[RPI_G5K_2013 | Raspberry Pi et Grid&#039;5000 ]]&lt;br /&gt;
 | [[User:Pierre.Lartigue|Pierre Lartigue]], [[User:Matthieu.Caneill|Matthieu Caneill]]&lt;br /&gt;
 | Olivier Richard et Pierre Neyron&lt;br /&gt;
 | [[Proj-2012-2013-RPI-G5K| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 |[[Cave à vin NFC]] &lt;br /&gt;
 | [[User:Jonathan.Lemoine|Jonathan Lemoine]], [[User:Nicolas.Husson|Nicolas Husson]]&lt;br /&gt;
 | Sophie Chareyron et Fréderic Rousseau&lt;br /&gt;
 | [[Proj-2012-2013-CaveVinNFC| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 1&lt;br /&gt;
 | Walid Bibi, Lotfi Manseur&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G1| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 2&lt;br /&gt;
 | Marion Dalle, Rémi Piotaix&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G2| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Carte de compétences===&lt;br /&gt;
* [[Android]] :&lt;br /&gt;
* [[XBox Kinect]] :&lt;br /&gt;
* Creative Webcam&lt;br /&gt;
* [[Robot Operating System|ROS]] : &lt;br /&gt;
* [[NFC]] :&lt;br /&gt;
* [[STM32]] :&lt;br /&gt;
* [[Arduino]] :&lt;br /&gt;
* [http://www.grid5000.org Grid&#039;5000] : Plate-forme distribuée dédiée à l&#039;expérimentation&lt;br /&gt;
* Technologies pour la virtualisation: KVM/lxc et openvswitch&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
==RICM5==&lt;br /&gt;
28 Janvier au 22 mars 2013 (voir [http://ade52-ujf.grenet.fr/ade/custom/modules/plannings/direct_planning.jsp?projectId=15&amp;amp;login=voirPOLYTECH&amp;amp;password=polytech&amp;amp;resources=1110,1117,1124,125,15&amp;amp;days=0,1,2,3,4&amp;amp;displayConfId=1 ADE]) [[Soutenances Projet RICM 5 2012-2013]]&lt;br /&gt;
# [[Armind]] (Renaud Blanch, Nicolas Glade, Nicolas Vuillerme) --&amp;gt; CHEVALLIER	MARIE (PL), FALL	YACINE, LU	XIAO&lt;br /&gt;
# Accessibilité handicap dans les transports (Didier Donsez, Xavier Spengler) --&amp;gt;  Non pris&lt;br /&gt;
# [[RobAIR2013]] (Didier Donsez, Xavier Spengler)  --&amp;gt; [[User:Nicolacm |NICOLACCINI	MICKAEL ]], ALEXANDRE	ARTHUR, HARRACHE	SALEM, PAZ HERNANDEZ	ELIZABETH&lt;br /&gt;
# [[Fusion multi-capteurs pour table tactile]] ((Renaud Blanch, Digitale)  --&amp;gt;  RAOUX	MAXENCE (PL), DAUVERGNE	LEOPOLD&lt;br /&gt;
# [[Développement d&#039;une appli mobile pour urgentistes en Afrique utilisant la synthèse vocale]] (Laurent Besacier, F. Camara et la société Voxygen)  --&amp;gt;  ELOY	FABIEN, NGOUALA	ROLLY, VIGIER	SYLVAIN, GU	QIKAI, SEGALA	JOACHIM&lt;br /&gt;
# [[Projet CERVIN de &amp;quot;Rehab Lab&amp;quot;]] (Renaud Blanch, Francois Letellier d&#039;ACONIT, le CCSTI) en commun avec 3I5  --&amp;gt;  OSWALD	CAMILLE, WIRTH	CLÉMENT, PRAK	SORIYA, GNATTO-BAHIE	CHRISTOPHER&lt;br /&gt;
# [[Projet 2013 : Interactive Digital Signage]] (Didier Donsez, Xavier Spengler)  --&amp;gt;  FOURURE	FLORIAN, BISCH	SIMON (PL), CLAVELIN	AURELIEN&lt;br /&gt;
# [[Coconode | Projet Réseaux de Capteurs (Bernard Tourancheau) ]] --&amp;gt;  CARAMELLI	NOE-JEAN (PL), LEVEQUE	FLORIAN, HO	MINH QUAN&lt;br /&gt;
# Projet Cloud Computing Middleware (Olivier Richard)  --&amp;gt; MERCIER	MICHAEL (PL)&lt;br /&gt;
&lt;br /&gt;
* Projet &amp;quot;Biométrie&amp;quot; (Laurent Besacier &amp;amp; Johann Poignant)&lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 RECONNAISSANCE FACIALE]] &lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 SIGNATURES]]&lt;br /&gt;
&lt;br /&gt;
==3I4==&lt;br /&gt;
&lt;br /&gt;
# [[No_Biofilm_No_Acoustic]]&lt;br /&gt;
# [[Dispositif d’apprentissage de la respiration et de la poussée pour l’accouchement]]&lt;br /&gt;
# [[Visualisation des champs visuels de patients atteints de DMLA]]&lt;br /&gt;
# [[Asservissement numérique d&#039;une bille sur un rail par une carte mbed]]&lt;br /&gt;
# [[Commande adaptative pour la régulation de température et d’hygrométrie d’une cave à vin]]&lt;br /&gt;
# [[Développement d’une maquette d’une plateforme ferroviaire automatique de stockage utilisant le code QR]]&lt;br /&gt;
# [[Traitement embarqué d’algorithmes pour la mise en évidence d’indices de co-contraction musculaire]]&lt;br /&gt;
# [[RobAIR2013]]&lt;br /&gt;
# [[Réalisation d’une platine de modulation numérique multiprotocole]]&lt;br /&gt;
# [[Projet ISTERRE]]&lt;br /&gt;
# [[flight tracking]]&lt;br /&gt;
&lt;br /&gt;
==3I5==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==M2PGI UE PM2M==&lt;br /&gt;
L&#039;UE [[Projets M2PGI Services Machine-to-Machine]] a pour objectif de prototyper une application [[Machine-to-Machine]] (M2M)&lt;br /&gt;
&amp;lt;br&amp;gt;Démarrage : semaine du 21/01/2013 (11 étudiants en 5 groupes)&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets M2PGI 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Building Management System]] ([[enOcean]], FIO+XBee, [[DeviceHive]])&lt;br /&gt;
 |  Margaux	Clerc, Bastien	Rohart&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BMSM2PGI | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Robot d&#039;inspection géotechnique]]&lt;br /&gt;
 | Thibaut	Guinoiseau, Laurent	Lemke, Sophie	Penot&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-RobotGeo | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Vélocimètre]] + [[NoiseUnderground]] ([[DeviceHive]]) avec (Raspberry JDK8 [[JavaFX]] + Webcam)&lt;br /&gt;
 | Philippe	Creignou, Baptiste	Venandy&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-VeloNoise | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Pointeuse mobile NFC]]&lt;br /&gt;
 | Martial	Chabot, Arthur	Plunet&lt;br /&gt;
 | Gérard Forestier&lt;br /&gt;
 | [[Proj-2012-2013-PointeuseNFC | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Moniteur d&#039;activité pour personnes agéés]] en [[ePython sur STM32]] et MQTT &lt;br /&gt;
 | Ulysse Cadour, Guillaume	Dupraz Canard&lt;br /&gt;
 | Thomas Calmant Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-ePythonSTM32 | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Réserve (boite à idées)==&lt;br /&gt;
&lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9883</id>
		<title>Projets 2012-2013</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9883"/>
		<updated>2013-03-20T14:26:56Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* RICM5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2011-2012]] [[Projets 2013-2014]]&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RICM4==&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Tout les documents que vous rédigerez seront de préférence en &#039;&#039;&#039;anglais&#039;&#039;&#039; (fiche de suivi, commentaire de code, documentaton, rapport). Une bonnification sera accordée pour cela.&lt;br /&gt;
* Utilisez un &#039;&#039;&#039;logiciel de gestion de version&#039;&#039;&#039; pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d&#039;utilise le site [https://github.com github] pour l&#039;hébergement de votre dépôt public.&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets RICM4 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Trodomètre | Trodomètre v2]]&lt;br /&gt;
 | Jean-François Bianco, Brice Théophile&lt;br /&gt;
 | Jacques Lemordant, Nicolas Palix, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-trodomètre | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 |[[RobAIR2013]] Groupe 1&lt;br /&gt;
 | [[User:Alexandre.Corso|Alexandre Corso]], [[User:Laurene.Guelorget|Laurène Guelorget]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe1-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 |[[RobAIR2013]] Groupe 2&lt;br /&gt;
 | [[User:Nicolas.Afonso|Nicolas Afonso]], [[User:Simon.Planes|Simon Planès]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe2-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 |[[RobAIR2013]] Groupe 3&lt;br /&gt;
 | [[User:Thomas.Nunes|Thomas Nunes]], [[User:Morgan.Bidois|Morgan Bidois]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe3-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 |[[Réducation Fonctionnelle 2013]]&lt;br /&gt;
 | [[User:Rebecca.Poustis|Rebecca Poustis]], [[User:Elisa.Martinez|Elisa Martinez]]&lt;br /&gt;
 | Nicolas Vuillerme, Alessandro Semere&lt;br /&gt;
 | [[Proj-2012-2013-RéducationFonctionnelle| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 |[[Sign2Text]]&lt;br /&gt;
 | Aitan Viegas, Valeria Fernandes&lt;br /&gt;
 | Nicolas Vuillerme, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-Sign2Text| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 |[[Building Management System]]&lt;br /&gt;
 | Mame Daba DIOUF, Michael COSTA DE CASTRO, Ruy Guilherme SILVA GOMES DE OLIVEIRA &lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BuildingManagementSystem| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 |[[Arduino_STM32_Discovery_2013 | Arduino et cartes STM32-Discovery]]&lt;br /&gt;
 | [[User:Tianming.Guo|Tianming Guo]], [[User:Minyi.Gu|Minyi Gu]], [[User:Xu.Feng|Xu Feng]]&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-arduino-stm32disco| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 |[[OAR_Cloud_Computing_2013 | Plateforme de Cloud Computing décentralisée]]&lt;br /&gt;
 | Alexandre Maurice, Jordan Calvi&lt;br /&gt;
 | Olivier Richard et coopération startup&lt;br /&gt;
 | [[Proj-2012-2013-OAR-Cloud| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 |[[RPI_G5K_2013 | Raspberry Pi et Grid&#039;5000 ]]&lt;br /&gt;
 | [[User:Pierre.Lartigue|Pierre Lartigue]], [[User:Matthieu.Caneill|Matthieu Caneill]]&lt;br /&gt;
 | Olivier Richard et Pierre Neyron&lt;br /&gt;
 | [[Proj-2012-2013-RPI-G5K| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 |[[Cave à vin NFC]] &lt;br /&gt;
 | [[User:Jonathan.Lemoine|Jonathan Lemoine]], [[User:Nicolas.Husson|Nicolas Husson]]&lt;br /&gt;
 | Sophie Chareyron et Fréderic Rousseau&lt;br /&gt;
 | [[Proj-2012-2013-CaveVinNFC| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 1&lt;br /&gt;
 | Walid Bibi, Lotfi Manseur&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G1| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 2&lt;br /&gt;
 | Marion Dalle, Rémi Piotaix&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G2| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Carte de compétences===&lt;br /&gt;
* [[Android]] :&lt;br /&gt;
* [[XBox Kinect]] :&lt;br /&gt;
* Creative Webcam&lt;br /&gt;
* [[Robot Operating System|ROS]] : &lt;br /&gt;
* [[NFC]] :&lt;br /&gt;
* [[STM32]] :&lt;br /&gt;
* [[Arduino]] :&lt;br /&gt;
* [http://www.grid5000.org Grid&#039;5000] : Plate-forme distribuée dédiée à l&#039;expérimentation&lt;br /&gt;
* Technologies pour la virtualisation: KVM/lxc et openvswitch&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
==RICM5==&lt;br /&gt;
28 Janvier au 22 mars 2013 (voir [http://ade52-ujf.grenet.fr/ade/custom/modules/plannings/direct_planning.jsp?projectId=15&amp;amp;login=voirPOLYTECH&amp;amp;password=polytech&amp;amp;resources=1110,1117,1124,125,15&amp;amp;days=0,1,2,3,4&amp;amp;displayConfId=1 ADE]) [[Soutenances Projet RICM 5 2012-2013]]&lt;br /&gt;
# [[Armind]] (Renaud Blanch, Nicolas Glade, Nicolas Vuillerme) --&amp;gt; CHEVALLIER	MARIE (PL), FALL	YACINE, LU	XIAO&lt;br /&gt;
# Accessibilité handicap dans les transports (Didier Donsez, Xavier Spengler) --&amp;gt;  Non pris&lt;br /&gt;
# [[RobAIR2013]] (Didier Donsez, Xavier Spengler)  --&amp;gt; [[User:Nicolacm |NICOLACCINI	MICKAEL ]], ALEXANDRE	ARTHUR, HARRACHE	SALEM, PAZ HERNANDEZ	ELIZABETH&lt;br /&gt;
# [[Fusion multi-capteurs pour table tactile]] ((Renaud Blanch, Digitale)  --&amp;gt;  RAOUX	MAXENCE (PL), DAUVERGNE	LEOPOLD&lt;br /&gt;
# [[Développement d&#039;une appli mobile pour urgentistes en Afrique utilisant la synthèse vocale]] (Laurent Besacier, F. Camara et la société Voxygen)  --&amp;gt;  ELOY	FABIEN, NGOUALA	ROLLY, VIGIER	SYLVAIN, GU	QIKAI, SEGALA	JOACHIM&lt;br /&gt;
# [[Projet CERVIN de &amp;quot;Rehab Lab&amp;quot;]] (Renaud Blanch, Francois Letellier d&#039;ACONIT, le CCSTI) en commun avec 3I5  --&amp;gt;  OSWALD	CAMILLE, WIRTH	CLÉMENT, PRAK	SORIYA, GNATTO-BAHIE	CHRISTOPHER&lt;br /&gt;
# [[Projet 2013 : Interactive Digital Signage]] (Didier Donsez, Xavier Spengler)  --&amp;gt;  FOURURE	FLORIAN, BISCH	SIMON (PL), CLAVELIN	AURELIEN&lt;br /&gt;
# [[Coconode] | Projet Réseaux de Capteurs (Bernard Tourancheau) ] --&amp;gt;  CARAMELLI	NOE-JEAN (PL), LEVEQUE	FLORIAN, HO	MINH QUAN&lt;br /&gt;
# Projet Cloud Computing Middleware (Olivier Richard)  --&amp;gt; MERCIER	MICHAEL (PL)&lt;br /&gt;
&lt;br /&gt;
* Projet &amp;quot;Biométrie&amp;quot; (Laurent Besacier &amp;amp; Johann Poignant)&lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 RECONNAISSANCE FACIALE]] &lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 SIGNATURES]]&lt;br /&gt;
&lt;br /&gt;
==3I4==&lt;br /&gt;
&lt;br /&gt;
# [[No_Biofilm_No_Acoustic]]&lt;br /&gt;
# [[Dispositif d’apprentissage de la respiration et de la poussée pour l’accouchement]]&lt;br /&gt;
# [[Visualisation des champs visuels de patients atteints de DMLA]]&lt;br /&gt;
# [[Asservissement numérique d&#039;une bille sur un rail par une carte mbed]]&lt;br /&gt;
# [[Commande adaptative pour la régulation de température et d’hygrométrie d’une cave à vin]]&lt;br /&gt;
# [[Développement d’une maquette d’une plateforme ferroviaire automatique de stockage utilisant le code QR]]&lt;br /&gt;
# [[Traitement embarqué d’algorithmes pour la mise en évidence d’indices de co-contraction musculaire]]&lt;br /&gt;
# [[RobAIR2013]]&lt;br /&gt;
# [[Réalisation d’une platine de modulation numérique multiprotocole]]&lt;br /&gt;
# [[Projet ISTERRE]]&lt;br /&gt;
# [[flight tracking]]&lt;br /&gt;
&lt;br /&gt;
==3I5==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==M2PGI UE PM2M==&lt;br /&gt;
L&#039;UE [[Projets M2PGI Services Machine-to-Machine]] a pour objectif de prototyper une application [[Machine-to-Machine]] (M2M)&lt;br /&gt;
&amp;lt;br&amp;gt;Démarrage : semaine du 21/01/2013 (11 étudiants en 5 groupes)&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets M2PGI 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Building Management System]] ([[enOcean]], FIO+XBee, [[DeviceHive]])&lt;br /&gt;
 |  Margaux	Clerc, Bastien	Rohart&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BMSM2PGI | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Robot d&#039;inspection géotechnique]]&lt;br /&gt;
 | Thibaut	Guinoiseau, Laurent	Lemke, Sophie	Penot&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-RobotGeo | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Vélocimètre]] + [[NoiseUnderground]] ([[DeviceHive]]) avec (Raspberry JDK8 [[JavaFX]] + Webcam)&lt;br /&gt;
 | Philippe	Creignou, Baptiste	Venandy&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-VeloNoise | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Pointeuse mobile NFC]]&lt;br /&gt;
 | Martial	Chabot, Arthur	Plunet&lt;br /&gt;
 | Gérard Forestier&lt;br /&gt;
 | [[Proj-2012-2013-PointeuseNFC | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Moniteur d&#039;activité pour personnes agéés]] en [[ePython sur STM32]] et MQTT &lt;br /&gt;
 | Ulysse Cadour, Guillaume	Dupraz Canard&lt;br /&gt;
 | Thomas Calmant Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-ePythonSTM32 | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Réserve (boite à idées)==&lt;br /&gt;
&lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9881</id>
		<title>Projets 2012-2013</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9881"/>
		<updated>2013-03-20T14:25:14Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* RICM5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2011-2012]] [[Projets 2013-2014]]&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RICM4==&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Tout les documents que vous rédigerez seront de préférence en &#039;&#039;&#039;anglais&#039;&#039;&#039; (fiche de suivi, commentaire de code, documentaton, rapport). Une bonnification sera accordée pour cela.&lt;br /&gt;
* Utilisez un &#039;&#039;&#039;logiciel de gestion de version&#039;&#039;&#039; pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d&#039;utilise le site [https://github.com github] pour l&#039;hébergement de votre dépôt public.&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets RICM4 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Trodomètre | Trodomètre v2]]&lt;br /&gt;
 | Jean-François Bianco, Brice Théophile&lt;br /&gt;
 | Jacques Lemordant, Nicolas Palix, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-trodomètre | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 |[[RobAIR2013]] Groupe 1&lt;br /&gt;
 | [[User:Alexandre.Corso|Alexandre Corso]], [[User:Laurene.Guelorget|Laurène Guelorget]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe1-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 |[[RobAIR2013]] Groupe 2&lt;br /&gt;
 | [[User:Nicolas.Afonso|Nicolas Afonso]], [[User:Simon.Planes|Simon Planès]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe2-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 |[[RobAIR2013]] Groupe 3&lt;br /&gt;
 | [[User:Thomas.Nunes|Thomas Nunes]], [[User:Morgan.Bidois|Morgan Bidois]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe3-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 |[[Réducation Fonctionnelle 2013]]&lt;br /&gt;
 | [[User:Rebecca.Poustis|Rebecca Poustis]], [[User:Elisa.Martinez|Elisa Martinez]]&lt;br /&gt;
 | Nicolas Vuillerme, Alessandro Semere&lt;br /&gt;
 | [[Proj-2012-2013-RéducationFonctionnelle| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 |[[Sign2Text]]&lt;br /&gt;
 | Aitan Viegas, Valeria Fernandes&lt;br /&gt;
 | Nicolas Vuillerme, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-Sign2Text| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 |[[Building Management System]]&lt;br /&gt;
 | Mame Daba DIOUF, Michael COSTA DE CASTRO, Ruy Guilherme SILVA GOMES DE OLIVEIRA &lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BuildingManagementSystem| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 |[[Arduino_STM32_Discovery_2013 | Arduino et cartes STM32-Discovery]]&lt;br /&gt;
 | [[User:Tianming.Guo|Tianming Guo]], [[User:Minyi.Gu|Minyi Gu]], [[User:Xu.Feng|Xu Feng]]&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-arduino-stm32disco| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 |[[OAR_Cloud_Computing_2013 | Plateforme de Cloud Computing décentralisée]]&lt;br /&gt;
 | Alexandre Maurice, Jordan Calvi&lt;br /&gt;
 | Olivier Richard et coopération startup&lt;br /&gt;
 | [[Proj-2012-2013-OAR-Cloud| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 |[[RPI_G5K_2013 | Raspberry Pi et Grid&#039;5000 ]]&lt;br /&gt;
 | [[User:Pierre.Lartigue|Pierre Lartigue]], [[User:Matthieu.Caneill|Matthieu Caneill]]&lt;br /&gt;
 | Olivier Richard et Pierre Neyron&lt;br /&gt;
 | [[Proj-2012-2013-RPI-G5K| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 |[[Cave à vin NFC]] &lt;br /&gt;
 | [[User:Jonathan.Lemoine|Jonathan Lemoine]], [[User:Nicolas.Husson|Nicolas Husson]]&lt;br /&gt;
 | Sophie Chareyron et Fréderic Rousseau&lt;br /&gt;
 | [[Proj-2012-2013-CaveVinNFC| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 1&lt;br /&gt;
 | Walid Bibi, Lotfi Manseur&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G1| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 2&lt;br /&gt;
 | Marion Dalle, Rémi Piotaix&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G2| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Carte de compétences===&lt;br /&gt;
* [[Android]] :&lt;br /&gt;
* [[XBox Kinect]] :&lt;br /&gt;
* Creative Webcam&lt;br /&gt;
* [[Robot Operating System|ROS]] : &lt;br /&gt;
* [[NFC]] :&lt;br /&gt;
* [[STM32]] :&lt;br /&gt;
* [[Arduino]] :&lt;br /&gt;
* [http://www.grid5000.org Grid&#039;5000] : Plate-forme distribuée dédiée à l&#039;expérimentation&lt;br /&gt;
* Technologies pour la virtualisation: KVM/lxc et openvswitch&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
==RICM5==&lt;br /&gt;
28 Janvier au 22 mars 2013 (voir [http://ade52-ujf.grenet.fr/ade/custom/modules/plannings/direct_planning.jsp?projectId=15&amp;amp;login=voirPOLYTECH&amp;amp;password=polytech&amp;amp;resources=1110,1117,1124,125,15&amp;amp;days=0,1,2,3,4&amp;amp;displayConfId=1 ADE]) [[Soutenances Projet RICM 5 2012-2013]]&lt;br /&gt;
# [[Armind]] (Renaud Blanch, Nicolas Glade, Nicolas Vuillerme) --&amp;gt; CHEVALLIER	MARIE (PL), FALL	YACINE, LU	XIAO&lt;br /&gt;
# Accessibilité handicap dans les transports (Didier Donsez, Xavier Spengler) --&amp;gt;  Non pris&lt;br /&gt;
# [[RobAIR2013]] (Didier Donsez, Xavier Spengler)  --&amp;gt; [[User:Nicolacm |NICOLACCINI	MICKAEL ]], ALEXANDRE	ARTHUR, HARRACHE	SALEM, PAZ HERNANDEZ	ELIZABETH&lt;br /&gt;
# [[Fusion multi-capteurs pour table tactile]] ((Renaud Blanch, Digitale)  --&amp;gt;  RAOUX	MAXENCE (PL), DAUVERGNE	LEOPOLD&lt;br /&gt;
# [[Développement d&#039;une appli mobile pour urgentistes en Afrique utilisant la synthèse vocale]] (Laurent Besacier, F. Camara et la société Voxygen)  --&amp;gt;  ELOY	FABIEN, NGOUALA	ROLLY, VIGIER	SYLVAIN, GU	QIKAI, SEGALA	JOACHIM&lt;br /&gt;
# [[Projet CERVIN de &amp;quot;Rehab Lab&amp;quot;]] (Renaud Blanch, Francois Letellier d&#039;ACONIT, le CCSTI) en commun avec 3I5  --&amp;gt;  OSWALD	CAMILLE, WIRTH	CLÉMENT, PRAK	SORIYA, GNATTO-BAHIE	CHRISTOPHER&lt;br /&gt;
# [[Projet 2013 : Interactive Digital Signage]] (Didier Donsez, Xavier Spengler)  --&amp;gt;  FOURURE	FLORIAN, BISCH	SIMON (PL), CLAVELIN	AURELIEN&lt;br /&gt;
# [[Coconode]] Projet Réseaux de Capteurs (Bernard Tourancheau) --&amp;gt;  CARAMELLI	NOE-JEAN (PL), LEVEQUE	FLORIAN, HO	MINH QUAN&lt;br /&gt;
# Projet Cloud Computing Middleware (Olivier Richard)  --&amp;gt; MERCIER	MICHAEL (PL)&lt;br /&gt;
&lt;br /&gt;
* Projet &amp;quot;Biométrie&amp;quot; (Laurent Besacier &amp;amp; Johann Poignant)&lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 RECONNAISSANCE FACIALE]] &lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 SIGNATURES]]&lt;br /&gt;
&lt;br /&gt;
==3I4==&lt;br /&gt;
&lt;br /&gt;
# [[No_Biofilm_No_Acoustic]]&lt;br /&gt;
# [[Dispositif d’apprentissage de la respiration et de la poussée pour l’accouchement]]&lt;br /&gt;
# [[Visualisation des champs visuels de patients atteints de DMLA]]&lt;br /&gt;
# [[Asservissement numérique d&#039;une bille sur un rail par une carte mbed]]&lt;br /&gt;
# [[Commande adaptative pour la régulation de température et d’hygrométrie d’une cave à vin]]&lt;br /&gt;
# [[Développement d’une maquette d’une plateforme ferroviaire automatique de stockage utilisant le code QR]]&lt;br /&gt;
# [[Traitement embarqué d’algorithmes pour la mise en évidence d’indices de co-contraction musculaire]]&lt;br /&gt;
# [[RobAIR2013]]&lt;br /&gt;
# [[Réalisation d’une platine de modulation numérique multiprotocole]]&lt;br /&gt;
# [[Projet ISTERRE]]&lt;br /&gt;
# [[flight tracking]]&lt;br /&gt;
&lt;br /&gt;
==3I5==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==M2PGI UE PM2M==&lt;br /&gt;
L&#039;UE [[Projets M2PGI Services Machine-to-Machine]] a pour objectif de prototyper une application [[Machine-to-Machine]] (M2M)&lt;br /&gt;
&amp;lt;br&amp;gt;Démarrage : semaine du 21/01/2013 (11 étudiants en 5 groupes)&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets M2PGI 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Building Management System]] ([[enOcean]], FIO+XBee, [[DeviceHive]])&lt;br /&gt;
 |  Margaux	Clerc, Bastien	Rohart&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BMSM2PGI | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Robot d&#039;inspection géotechnique]]&lt;br /&gt;
 | Thibaut	Guinoiseau, Laurent	Lemke, Sophie	Penot&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-RobotGeo | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Vélocimètre]] + [[NoiseUnderground]] ([[DeviceHive]]) avec (Raspberry JDK8 [[JavaFX]] + Webcam)&lt;br /&gt;
 | Philippe	Creignou, Baptiste	Venandy&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-VeloNoise | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Pointeuse mobile NFC]]&lt;br /&gt;
 | Martial	Chabot, Arthur	Plunet&lt;br /&gt;
 | Gérard Forestier&lt;br /&gt;
 | [[Proj-2012-2013-PointeuseNFC | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Moniteur d&#039;activité pour personnes agéés]] en [[ePython sur STM32]] et MQTT &lt;br /&gt;
 | Ulysse Cadour, Guillaume	Dupraz Canard&lt;br /&gt;
 | Thomas Calmant Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-ePythonSTM32 | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Réserve (boite à idées)==&lt;br /&gt;
&lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9880</id>
		<title>Projets 2012-2013</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Projets_2012-2013&amp;diff=9880"/>
		<updated>2013-03-20T14:24:22Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* RICM5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt;[[Projets 2011-2012]] [[Projets 2013-2014]]&amp;gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==RICM4==&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* Tout les documents que vous rédigerez seront de préférence en &#039;&#039;&#039;anglais&#039;&#039;&#039; (fiche de suivi, commentaire de code, documentaton, rapport). Une bonnification sera accordée pour cela.&lt;br /&gt;
* Utilisez un &#039;&#039;&#039;logiciel de gestion de version&#039;&#039;&#039; pour vos développements comme [http://en.wikipedia.org/wiki/Git_%28software%29 git ] et nous vous conseillons d&#039;utilise le site [https://github.com github] pour l&#039;hébergement de votre dépôt public.&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets RICM4 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Trodomètre | Trodomètre v2]]&lt;br /&gt;
 | Jean-François Bianco, Brice Théophile&lt;br /&gt;
 | Jacques Lemordant, Nicolas Palix, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-trodomètre | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 |[[RobAIR2013]] Groupe 1&lt;br /&gt;
 | [[User:Alexandre.Corso|Alexandre Corso]], [[User:Laurene.Guelorget|Laurène Guelorget]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe1-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 |[[RobAIR2013]] Groupe 2&lt;br /&gt;
 | [[User:Nicolas.Afonso|Nicolas Afonso]], [[User:Simon.Planes|Simon Planès]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe2-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 |[[RobAIR2013]] Groupe 3&lt;br /&gt;
 | [[User:Thomas.Nunes|Thomas Nunes]], [[User:Morgan.Bidois|Morgan Bidois]]&lt;br /&gt;
 | David Eon, Didier Donsez, Olivier Richard, Nicolas Palix&lt;br /&gt;
 | [[RobAIR2013-RICM4-Groupe3-Suivi| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 |[[Réducation Fonctionnelle 2013]]&lt;br /&gt;
 | [[User:Rebecca.Poustis|Rebecca Poustis]], [[User:Elisa.Martinez|Elisa Martinez]]&lt;br /&gt;
 | Nicolas Vuillerme, Alessandro Semere&lt;br /&gt;
 | [[Proj-2012-2013-RéducationFonctionnelle| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 6&lt;br /&gt;
 |[[Sign2Text]]&lt;br /&gt;
 | Aitan Viegas, Valeria Fernandes&lt;br /&gt;
 | Nicolas Vuillerme, Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-Sign2Text| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 7&lt;br /&gt;
 |[[Building Management System]]&lt;br /&gt;
 | Mame Daba DIOUF, Michael COSTA DE CASTRO, Ruy Guilherme SILVA GOMES DE OLIVEIRA &lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BuildingManagementSystem| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 8&lt;br /&gt;
 |[[Arduino_STM32_Discovery_2013 | Arduino et cartes STM32-Discovery]]&lt;br /&gt;
 | [[User:Tianming.Guo|Tianming Guo]], [[User:Minyi.Gu|Minyi Gu]], [[User:Xu.Feng|Xu Feng]]&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-arduino-stm32disco| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 9&lt;br /&gt;
 |[[OAR_Cloud_Computing_2013 | Plateforme de Cloud Computing décentralisée]]&lt;br /&gt;
 | Alexandre Maurice, Jordan Calvi&lt;br /&gt;
 | Olivier Richard et coopération startup&lt;br /&gt;
 | [[Proj-2012-2013-OAR-Cloud| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 10&lt;br /&gt;
 |[[RPI_G5K_2013 | Raspberry Pi et Grid&#039;5000 ]]&lt;br /&gt;
 | [[User:Pierre.Lartigue|Pierre Lartigue]], [[User:Matthieu.Caneill|Matthieu Caneill]]&lt;br /&gt;
 | Olivier Richard et Pierre Neyron&lt;br /&gt;
 | [[Proj-2012-2013-RPI-G5K| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 11&lt;br /&gt;
 |[[Cave à vin NFC]] &lt;br /&gt;
 | [[User:Jonathan.Lemoine|Jonathan Lemoine]], [[User:Nicolas.Husson|Nicolas Husson]]&lt;br /&gt;
 | Sophie Chareyron et Fréderic Rousseau&lt;br /&gt;
 | [[Proj-2012-2013-CaveVinNFC| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 12&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 1&lt;br /&gt;
 | Walid Bibi, Lotfi Manseur&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G1| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 13&lt;br /&gt;
 |[[Audioprothèse DIY]] Groupe 2&lt;br /&gt;
 | Marion Dalle, Rémi Piotaix&lt;br /&gt;
 | Olivier Richard&lt;br /&gt;
 | [[Proj-2012-2013-Audioprothèse DIY-G2| &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
===Carte de compétences===&lt;br /&gt;
* [[Android]] :&lt;br /&gt;
* [[XBox Kinect]] :&lt;br /&gt;
* Creative Webcam&lt;br /&gt;
* [[Robot Operating System|ROS]] : &lt;br /&gt;
* [[NFC]] :&lt;br /&gt;
* [[STM32]] :&lt;br /&gt;
* [[Arduino]] :&lt;br /&gt;
* [http://www.grid5000.org Grid&#039;5000] : Plate-forme distribuée dédiée à l&#039;expérimentation&lt;br /&gt;
* Technologies pour la virtualisation: KVM/lxc et openvswitch&lt;br /&gt;
* [[Raspberry Pi]]&lt;br /&gt;
&lt;br /&gt;
==RICM5==&lt;br /&gt;
28 Janvier au 22 mars 2013 (voir [http://ade52-ujf.grenet.fr/ade/custom/modules/plannings/direct_planning.jsp?projectId=15&amp;amp;login=voirPOLYTECH&amp;amp;password=polytech&amp;amp;resources=1110,1117,1124,125,15&amp;amp;days=0,1,2,3,4&amp;amp;displayConfId=1 ADE]) [[Soutenances Projet RICM 5 2012-2013]]&lt;br /&gt;
# [[Armind]] (Renaud Blanch, Nicolas Glade, Nicolas Vuillerme) --&amp;gt; CHEVALLIER	MARIE (PL), FALL	YACINE, LU	XIAO&lt;br /&gt;
# Accessibilité handicap dans les transports (Didier Donsez, Xavier Spengler) --&amp;gt;  Non pris&lt;br /&gt;
# [[RobAIR2013]] (Didier Donsez, Xavier Spengler)  --&amp;gt; [[User:Nicolacm |NICOLACCINI	MICKAEL ]], ALEXANDRE	ARTHUR, HARRACHE	SALEM, PAZ HERNANDEZ	ELIZABETH&lt;br /&gt;
# [[Fusion multi-capteurs pour table tactile]] ((Renaud Blanch, Digitale)  --&amp;gt;  RAOUX	MAXENCE (PL), DAUVERGNE	LEOPOLD&lt;br /&gt;
# [[Développement d&#039;une appli mobile pour urgentistes en Afrique utilisant la synthèse vocale]] (Laurent Besacier, F. Camara et la société Voxygen)  --&amp;gt;  ELOY	FABIEN, NGOUALA	ROLLY, VIGIER	SYLVAIN, GU	QIKAI, SEGALA	JOACHIM&lt;br /&gt;
# [[Projet CERVIN de &amp;quot;Rehab Lab&amp;quot;]] (Renaud Blanch, Francois Letellier d&#039;ACONIT, le CCSTI) en commun avec 3I5  --&amp;gt;  OSWALD	CAMILLE, WIRTH	CLÉMENT, PRAK	SORIYA, GNATTO-BAHIE	CHRISTOPHER&lt;br /&gt;
# [[Projet 2013 : Interactive Digital Signage]] (Didier Donsez, Xavier Spengler)  --&amp;gt;  FOURURE	FLORIAN, BISCH	SIMON (PL), CLAVELIN	AURELIEN&lt;br /&gt;
# [[Coconode]]Projet Réseaux de Capteurs (Bernard Tourancheau) --&amp;gt;  CARAMELLI	NOE-JEAN (PL), LEVEQUE	FLORIAN, HO	MINH QUAN&lt;br /&gt;
# Projet Cloud Computing Middleware (Olivier Richard)  --&amp;gt; MERCIER	MICHAEL (PL)&lt;br /&gt;
&lt;br /&gt;
* Projet &amp;quot;Biométrie&amp;quot; (Laurent Besacier &amp;amp; Johann Poignant)&lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 RECONNAISSANCE FACIALE]] &lt;br /&gt;
## [[PAGE WIKI ETUDIANTS 2012-13 SIGNATURES]]&lt;br /&gt;
&lt;br /&gt;
==3I4==&lt;br /&gt;
&lt;br /&gt;
# [[No_Biofilm_No_Acoustic]]&lt;br /&gt;
# [[Dispositif d’apprentissage de la respiration et de la poussée pour l’accouchement]]&lt;br /&gt;
# [[Visualisation des champs visuels de patients atteints de DMLA]]&lt;br /&gt;
# [[Asservissement numérique d&#039;une bille sur un rail par une carte mbed]]&lt;br /&gt;
# [[Commande adaptative pour la régulation de température et d’hygrométrie d’une cave à vin]]&lt;br /&gt;
# [[Développement d’une maquette d’une plateforme ferroviaire automatique de stockage utilisant le code QR]]&lt;br /&gt;
# [[Traitement embarqué d’algorithmes pour la mise en évidence d’indices de co-contraction musculaire]]&lt;br /&gt;
# [[RobAIR2013]]&lt;br /&gt;
# [[Réalisation d’une platine de modulation numérique multiprotocole]]&lt;br /&gt;
# [[Projet ISTERRE]]&lt;br /&gt;
# [[flight tracking]]&lt;br /&gt;
&lt;br /&gt;
==3I5==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==M2PGI UE PM2M==&lt;br /&gt;
L&#039;UE [[Projets M2PGI Services Machine-to-Machine]] a pour objectif de prototyper une application [[Machine-to-Machine]] (M2M)&lt;br /&gt;
&amp;lt;br&amp;gt;Démarrage : semaine du 21/01/2013 (11 étudiants en 5 groupes)&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
 {|class=&amp;quot;wikitable alternance&amp;quot;&lt;br /&gt;
 |+ Affectation des projets M2PGI 2012-2013&lt;br /&gt;
 |-&lt;br /&gt;
 |&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Sujet&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Etudiants&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Enseignant(s)&lt;br /&gt;
 !scope=&amp;quot;col&amp;quot;| Fiche de suivi&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 1&lt;br /&gt;
 | [[Building Management System]] ([[enOcean]], FIO+XBee, [[DeviceHive]])&lt;br /&gt;
 |  Margaux	Clerc, Bastien	Rohart&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-BMSM2PGI | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 2&lt;br /&gt;
 | [[Robot d&#039;inspection géotechnique]]&lt;br /&gt;
 | Thibaut	Guinoiseau, Laurent	Lemke, Sophie	Penot&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-RobotGeo | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 3&lt;br /&gt;
 | [[Vélocimètre]] + [[NoiseUnderground]] ([[DeviceHive]]) avec (Raspberry JDK8 [[JavaFX]] + Webcam)&lt;br /&gt;
 | Philippe	Creignou, Baptiste	Venandy&lt;br /&gt;
 | Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-VeloNoise | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 4&lt;br /&gt;
 | [[Pointeuse mobile NFC]]&lt;br /&gt;
 | Martial	Chabot, Arthur	Plunet&lt;br /&gt;
 | Gérard Forestier&lt;br /&gt;
 | [[Proj-2012-2013-PointeuseNFC | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |-&lt;br /&gt;
 !scope=&amp;quot;row&amp;quot;| 5&lt;br /&gt;
 | [[Moniteur d&#039;activité pour personnes agéés]] en [[ePython sur STM32]] et MQTT &lt;br /&gt;
 | Ulysse Cadour, Guillaume	Dupraz Canard&lt;br /&gt;
 | Thomas Calmant Didier Donsez&lt;br /&gt;
 | [[Proj-2012-2013-ePythonSTM32 | &#039;&#039;&#039;Fiche&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
==Réserve (boite à idées)==&lt;br /&gt;
&lt;br /&gt;
# [[Passe moi ton fichier]] (Michaël Périn) &lt;br /&gt;
# [[Extensions à Fab Server]] (Jean-Michel Molenaar) sous reserve (CM ou SR)&lt;br /&gt;
# [[Table multijeux de café 2.0]]&lt;br /&gt;
# [[ GPIO_Qemu_RasPI| Emulation des GPIO dans QEMU pour le carte Raspberry Pi]] (Olivier Richard)&lt;br /&gt;
# [[ Qemu et STM32F0-Discovery ]] (Olivier Richard)&lt;br /&gt;
# [[Serrure à clé MIDI multifactorielle]] (Didier Donsez)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[iMailbox]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;ambience intelligent) (Didier Donsez)&lt;br /&gt;
# [[PDAmeetPDA]] (synchronisation d&#039;agenda) (Michaël Périn)&lt;br /&gt;
# [[1 000 000 VMs]] (expérimentation d&#039;application distribuée à très grande échelle) (Olivier Richard) (2-3 RICM4)&lt;br /&gt;
# [[Multiple Kinect]] (utilisation simultanée de plusieurs Kinect) (Olivier Richard) (RICM ou 3I)&lt;br /&gt;
# [[Kinect musicale]] (Didier Donsez) (RICM)&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# Ocaml on Cortex-M3&lt;br /&gt;
# [[Arduino on STM32 Discovery]]&lt;br /&gt;
# [[Reverse Geocache Puzzle Box]]&lt;br /&gt;
# [[OSGi ME]] (Didier Donsez)&lt;br /&gt;
# [[Affichage Etudiant à Polytech]]&lt;br /&gt;
# Synthèse 3D + motion capture Kinect&lt;br /&gt;
# Logiciel d&#039;[[apprentissage du calcul]] sur tablette Android (reconnaissance de chiffres manuscrits)&lt;br /&gt;
# Plancher de verre (saint gobain) à la [http://www.wat.tv/video/mickael-jackson-billie-jean-oewj_2ey2h_.html Mickael Jackson dans Billie Jean] ! woo&lt;br /&gt;
# [[Ktechlab Simavr Arduino | Ktechlab et integration de Simavr(Arduino)]] (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[CNC]]&lt;br /&gt;
# [[Idées en Vrac]]&lt;br /&gt;
# Scheme Everywhere (Olivier Richard) (2-3 RICM4-SR)&lt;br /&gt;
# [[Projet Station Météo]]&lt;br /&gt;
# Ocaml on AVR (Arduino)&lt;br /&gt;
# [[Table interactive musicale]] (Didier Donsez)&lt;br /&gt;
# [[AmILight]] (eclairage d&#039;amnbience intelligent) (Didier Donsez)&lt;br /&gt;
# [[Cube pointeur]] d&#039;activité ingénieur&lt;br /&gt;
# [http://www.instructables.com/id/Puppeteer-Motion-Capture-Costume/ Puppeteer Motion-Capture Costume]&lt;br /&gt;
# [[Musical Staircase]] @ Polytech (Didier Donsez, 1 RICM4 + 1 3I4)&lt;br /&gt;
# [[Total Recall]] (Didier Donsez)&lt;br /&gt;
# [[SoundMachine]]&lt;br /&gt;
# [[IGN-OSM|Importation de données IGN publiques dans OSM]]&lt;br /&gt;
# [[Speed-limit-OSM|Analyse de traces GPX pour déterminer les limitations de vitesse]]&lt;br /&gt;
# [[Multi perceptual cameras]] (Didier Donsez)&lt;br /&gt;
# [[Photomaton 3D]] (Didier Donsez)&lt;br /&gt;
# [[ArduCopter]]&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6754</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6754"/>
		<updated>2012-11-27T15:08:59Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Sprint 4 :13 Novembre au 27 Novembre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
* Maquettes IHM abstraite : page d’accueil, page de catégories, page de produit, page de panier, page de commande&lt;br /&gt;
* Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin) sans Hibernate&lt;br /&gt;
* Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
* Authentification de l&#039;utilisateur (login + mot de passe), filtrage de droit d&#039;accès aux ressources, gestion de session&lt;br /&gt;
* Panier&lt;br /&gt;
* Commandes&lt;br /&gt;
* Compte Restaurant&lt;br /&gt;
* Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)&lt;br /&gt;
* Finir les maquettes IHM et les modèles de tâches&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
Moins:&lt;br /&gt;
* Difficile d&#039;intégrer le Client lourd dans le projet Maven&lt;br /&gt;
* Annulation d&#039;idée d&#039;utiliser Hibernate pour la recherche&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 Novembre ==&lt;br /&gt;
Plus:&lt;br /&gt;
* Maquettes IHM abstraite fini : page d’accueil, page de catégories, page de produit, page de panier, page de commande&lt;br /&gt;
* Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin)&lt;br /&gt;
* Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l&#039;utilisateur&lt;br /&gt;
Moins:&lt;br /&gt;
* Difficile d&#039;intégrer le Client lourd dans le projet Maven&lt;br /&gt;
* Annulation d&#039;idée d&#039;utiliser Hibernate pour la recherche&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
* Authentification de l&#039;utilisateur (login + mot de passe), filtrage de droit d&#039;accès aux ressources, gestion de session&lt;br /&gt;
* Panier&lt;br /&gt;
* Commandes&lt;br /&gt;
* Compte Restaurant&lt;br /&gt;
* Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)&lt;br /&gt;
* Finir les maquettes IHM et les modèles de tâches&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter la liste les utilisateurs&lt;br /&gt;
* TODO : &lt;br /&gt;
** Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
** DeleteUser&lt;br /&gt;
** Authentification &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6753</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6753"/>
		<updated>2012-11-27T15:08:25Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Sprint 4 :13 Novembre au 27 Novembre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
Maquettes IHM abstraite : page d’accueil, page de catégories, page de produit, page de panier, page de commande&lt;br /&gt;
Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin) sans Hibernate&lt;br /&gt;
Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l&#039;utilisateur&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
Authentification de l&#039;utilisateur (login + mot de passe), filtrage de droit d&#039;accès aux ressources, gestion de session&lt;br /&gt;
Panier&lt;br /&gt;
Commandes&lt;br /&gt;
Compte Restaurant&lt;br /&gt;
Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)&lt;br /&gt;
Finir les maquettes IHM et les modèles de tâches&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
Moins:&lt;br /&gt;
* Difficile d&#039;intégrer le Client lourd dans le projet Maven&lt;br /&gt;
* Annulation d&#039;idée d&#039;utiliser Hibernate pour la recherche&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 Novembre ==&lt;br /&gt;
Plus:&lt;br /&gt;
* Maquettes IHM abstraite fini : page d’accueil, page de catégories, page de produit, page de panier, page de commande&lt;br /&gt;
* Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin)&lt;br /&gt;
* Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l&#039;utilisateur&lt;br /&gt;
Moins:&lt;br /&gt;
* Difficile d&#039;intégrer le Client lourd dans le projet Maven&lt;br /&gt;
* Annulation d&#039;idée d&#039;utiliser Hibernate pour la recherche&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
* Authentification de l&#039;utilisateur (login + mot de passe), filtrage de droit d&#039;accès aux ressources, gestion de session&lt;br /&gt;
* Panier&lt;br /&gt;
* Commandes&lt;br /&gt;
* Compte Restaurant&lt;br /&gt;
* Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)&lt;br /&gt;
* Finir les maquettes IHM et les modèles de tâches&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter la liste les utilisateurs&lt;br /&gt;
* TODO : &lt;br /&gt;
** Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
** DeleteUser&lt;br /&gt;
** Authentification &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6752</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6752"/>
		<updated>2012-11-27T15:05:23Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Sprint */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 Novembre ==&lt;br /&gt;
Plus:&lt;br /&gt;
* Maquettes IHM abstraite fini : page d’accueil, page de catégories, page de produit, page de panier, page de commande&lt;br /&gt;
* Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin)&lt;br /&gt;
* Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l&#039;utilisateur&lt;br /&gt;
Moins:&lt;br /&gt;
* Difficile d&#039;intégrer le Client lourd dans le projet Maven&lt;br /&gt;
* Annulation d&#039;idée d&#039;utiliser Hibernate pour la recherche&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
* Authentification de l&#039;utilisateur (login + mot de passe), filtrage de droit d&#039;accès aux ressources, gestion de session&lt;br /&gt;
* Panier&lt;br /&gt;
* Commandes&lt;br /&gt;
* Compte Restaurant&lt;br /&gt;
* Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)&lt;br /&gt;
* Finir les maquettes IHM et les modèles de tâches&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter la liste les utilisateurs&lt;br /&gt;
* TODO : &lt;br /&gt;
** Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
** DeleteUser&lt;br /&gt;
** Authentification &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6751</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6751"/>
		<updated>2012-11-27T15:04:31Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Sprint */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 Novembre ==&lt;br /&gt;
Plus:&lt;br /&gt;
* Maquettes IHM abstraite fini : page d’accueil, page de catégories, page de produit, page de panier, page de commande&lt;br /&gt;
* Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin)&lt;br /&gt;
* Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l&#039;utilisateur&lt;br /&gt;
Moins:&lt;br /&gt;
* Difficile d&#039;intégrer le Client lourd dans le projet Maven&lt;br /&gt;
* Annulation d&#039;idée d&#039;utiliser Hibernate pour la recherche&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
* Authentification de l&#039;utilisateur (login + mot de passe), filtrage de droit d&#039;accès aux ressources, gestion de session&lt;br /&gt;
* Panier&lt;br /&gt;
* Commandes&lt;br /&gt;
* Compte Restaurant&lt;br /&gt;
* Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)&lt;br /&gt;
* Finir les maquettes IHM et les modèles de tâches&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter la liste les utilisateurs&lt;br /&gt;
* TODO : &lt;br /&gt;
** Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
** DeleteUser&lt;br /&gt;
** Authentification &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6750</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6750"/>
		<updated>2012-11-27T15:02:58Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Mardi 27 Novembre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 Novembre ==&lt;br /&gt;
Plus:&lt;br /&gt;
* Maquettes IHM abstraite fini : page d’accueil, page de catégories, page de produit, page de panier, page de commande&lt;br /&gt;
* Fonctionnalité de recherche de vin fini (recherche par nom, prix, marge de prix, type de vin)&lt;br /&gt;
* Créer un compte utilisateur (soit sous rôle de Admin, soit Client), supprimer l&#039;utilisateur&lt;br /&gt;
Moins:&lt;br /&gt;
* Difficile d&#039;intégrer le Client lourd dans le projet Maven&lt;br /&gt;
* Annulation d&#039;idée d&#039;utiliser Hibernate pour la recherche&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
* Authentification de l&#039;utilisateur (login + mot de passe), filtrage de droit d&#039;accès aux ressources, gestion de session&lt;br /&gt;
* Panier&lt;br /&gt;
* Commandes&lt;br /&gt;
* Compte Restaurant&lt;br /&gt;
* Implémenter les pages web selon les maquettes IHM faites (JSP, CSS)&lt;br /&gt;
* Finir les maquettes IHM et les modèles de tâches&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter la liste les utilisateurs&lt;br /&gt;
* TODO : &lt;br /&gt;
** Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
** DeleteUser&lt;br /&gt;
** Authentification &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6744</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6744"/>
		<updated>2012-11-27T08:50:36Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Carnet de Bord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 27 Novembre ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter la liste les utilisateurs&lt;br /&gt;
* TODO : &lt;br /&gt;
** Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
** DeleteUser&lt;br /&gt;
** Authentification &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6634</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6634"/>
		<updated>2012-11-20T16:08:06Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Mardi 20 Novembre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter la liste les utilisateurs&lt;br /&gt;
* TODO : &lt;br /&gt;
** Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
** DeleteUser&lt;br /&gt;
** Authentification &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6633</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6633"/>
		<updated>2012-11-20T16:06:59Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Mardi 20 Novembre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Ajouter un produit au panier&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039; &#039;&#039;&#039;administrateur&#039;&#039;&#039;, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
L&#039;ensemble des acteurs peuvent parcourir le site web :&lt;br /&gt;
* Recherche de produit &lt;br /&gt;
* Parcours Page d&#039;accueil&lt;br /&gt;
* Parcours Page catalogue/Page achat /Page Bon Plan ...&lt;br /&gt;
* Ajout d&#039;un/plusieurs article(s) dans le panier&lt;br /&gt;
* Accès aux informations légales&lt;br /&gt;
Les fonctions suivantes sont également disponibles pour tous les acteurs&lt;br /&gt;
* Sauvegarde du panier si déconnexion non souhaitée&lt;br /&gt;
* Vue sur l&#039;historique de navigation au sein du site&lt;br /&gt;
* Retour en arrière&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;acteur (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** (Rechercher des vins)&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Gérer mon panier&lt;br /&gt;
** Finaliser la commande&lt;br /&gt;
&lt;br /&gt;
==== Commande ====&lt;br /&gt;
&lt;br /&gt;
Pour passer commande, les acteurs doivent être identifiés, ensuite ils peuvent :&lt;br /&gt;
* Renseigner leurs informations (adresse livraison, adresse facturation) &lt;br /&gt;
* Renseigner leur moyen de paiement&lt;br /&gt;
* Accéder au récapitulatif de la commande&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
** Recherche directe (mots-clés, Nom) &lt;br /&gt;
** Recherche par filtre (Vin, région,Année, Prix)&lt;br /&gt;
 &lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (invité)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 1&#039;&#039;&#039; : 2 Octobre au 16 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 2&#039;&#039;&#039; :16 Octobre au 30 Octobre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 3&#039;&#039;&#039; :30 Octobre au 13 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 4&#039;&#039;&#039; :13 Novembre au 27 Novembre ===&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
=== &#039;&#039;&#039;Sprint 5&#039;&#039;&#039; : 27 Novembre au 11 Decembre ===&lt;br /&gt;
&lt;br /&gt;
==== Sprint Backlog ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint Planning ====&lt;br /&gt;
&lt;br /&gt;
==== Sprint retrospective ====&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 20 Novembre ==&lt;br /&gt;
*Client Lourd opérationnelle &lt;br /&gt;
* A COMPLETER&lt;br /&gt;
&lt;br /&gt;
Quan : Mise en place du système d&#039;identification selon le type d&#039;acteur &lt;br /&gt;
* Ajout d&#039;utilisateur : nom, prénom, login, mot de passe (chiffré)&lt;br /&gt;
* Consulter les utilisateur&lt;br /&gt;
* TODO : Appel RMI à la méthode GetEncryptedPassword pour crypter le mot de passe avant d&#039;envoyer au serveur  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soriya : Réalisation de la fonction de recherche par Filtre(s) Combiné(s)&lt;br /&gt;
&lt;br /&gt;
Aurelien : Evolution des EJB pour la réalisation des catégories/types et des regions du vin &lt;br /&gt;
&lt;br /&gt;
Christopher : Début de la réalisation du dossier de conception IHM &lt;br /&gt;
*Etude des modèles de taches et des IHM abstraites&lt;br /&gt;
*Réalisation des prototypes d&#039;ihm semi concrète&lt;br /&gt;
&lt;br /&gt;
All : Mise à jour des documents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plus : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
Moins : &lt;br /&gt;
-&amp;gt; &lt;br /&gt;
-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : Recherche par filtre non combiné ( exemple : VIN ou ANNEE , etc)&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue. Accessible sur [http://mockupbuilder.com/App/32646 mockupBuilder ]&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean sans JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps.&lt;br /&gt;
Dans le cadre du projet ECOM, on se restreint à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6509</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6509"/>
		<updated>2012-11-13T08:56:25Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Carnet de Bord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 13 Novembre ==&lt;br /&gt;
* Client lourd : Mise en place la structure mais bug opérationnel (Maven)&lt;br /&gt;
* Recherche Vin : mot clé non combiné, migration Hibernate ?? pour rendre la requête plus extensible&lt;br /&gt;
* Prototype IHM : page d&#039;acceuil, catalogue&lt;br /&gt;
* Aspect sécurité (authenfication, authorization) : auto-formation&lt;br /&gt;
* Plus:&lt;br /&gt;
** Tâches réparties entre les membres du groupe, tout le monde voit la vue globale du projet&lt;br /&gt;
* Moins:&lt;br /&gt;
** Organisation + respect des échéances + moindre exploitation de Trello&lt;br /&gt;
** Bug Netbean + maven &lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean san JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps. Dans le cadre du projet ECOM, on se restreinte à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6508</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6508"/>
		<updated>2012-11-13T08:44:15Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* ScrumMaster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || Christopher GNATTO&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 30 Octobre  au 6 Novembre|| Vacances&lt;br /&gt;
|-&lt;br /&gt;
| 6 octobre au  13 Novembre|| Soriya PRAK&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || Minh Quan HO&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean san JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps. Dans le cadre du projet ECOM, on se restreinte à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6349</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6349"/>
		<updated>2012-10-23T14:52:31Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Carnet de Bord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean san JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps. Dans le cadre du projet ECOM, on se restreinte à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6348</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6348"/>
		<updated>2012-10-23T14:51:54Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Carnet de Bord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;br /&gt;
* Montrer la fonctionnalité AddVin, SearchVin et DeleteVin en mode JMS&lt;br /&gt;
* Choix de méthode Session Bean san JMS&lt;br /&gt;
** Justification : JMS est utilisé dans le contexte serveur asynchrone où il y a beaucoup de requêtes à traiter en même temps. Dans le cadre du projet ECOM, on se restreinte à utiliser Servlet pour modifier directement des EntityBean sans passer par JMS&lt;br /&gt;
* Remplir product backlog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6347</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6347"/>
		<updated>2012-10-23T14:45:13Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Product Backlog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6346</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6346"/>
		<updated>2012-10-23T14:44:47Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Product Backlog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6345</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6345"/>
		<updated>2012-10-23T14:43:29Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Product Backlog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur (identifié)&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6344</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6344"/>
		<updated>2012-10-23T14:43:06Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Page d&amp;#039;accueil */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6343</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6343"/>
		<updated>2012-10-23T14:42:08Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Product Backlog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6342</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6342"/>
		<updated>2012-10-23T14:38:44Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Comptes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je ne suis pas encore identifié donc pas de compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux :&lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux : &lt;br /&gt;
** Changer mon mot de passe&lt;br /&gt;
** Changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** Consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un compte client ou un compte partenaire&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux: &lt;br /&gt;
** Demander un partenariat (cas de restaurateur invité)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je ne peux pas demander un partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux: &lt;br /&gt;
** Envoyer une demande pour mettre fin le partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un partenaire&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6341</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6341"/>
		<updated>2012-10-23T14:37:10Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Identification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Je suis client et j&#039;ai déjà un compte Client : je m&#039;identifie avec mon compte Client&lt;br /&gt;
** Je suis client et je n&#039;ai pas de compte : j&#039;ouvre un compte Client&lt;br /&gt;
** Je suis restaurateur et j&#039;ai déjà un compte Partenaire : je m&#039;identifie avec mon compte Partenaire&lt;br /&gt;
** Je suis restaurateur et je n&#039;ai pas de compte Partenaire : je demande un partenariat en remplissant un formulaire&lt;br /&gt;
** Je suis Admin, je m&#039;identifie avec mon compte Admin&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux: &lt;br /&gt;
** Demander un partenariat (cas de restaurateur invité)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je ne peux pas demander un partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux: &lt;br /&gt;
** Envoyer une demande pour mettre fin le partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un partenaire&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6338</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6338"/>
		<updated>2012-10-23T14:29:15Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Identification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** soit m&#039;identifier avec un compte client déjà crée&lt;br /&gt;
** soit ouvrir un compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je suis déjà identifié&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux: &lt;br /&gt;
** Demander un partenariat (cas de restaurateur invité)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je ne peux pas demander un partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux: &lt;br /&gt;
** Envoyer une demande pour mettre fin le partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un partenaire&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6337</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6337"/>
		<updated>2012-10-23T14:26:01Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Partenaire */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** soit m&#039;identifier avec un compte client déjà crée&lt;br /&gt;
** soit créer un nouveau compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux:&lt;br /&gt;
** changer mon mot de passe&lt;br /&gt;
** changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux:&lt;br /&gt;
** soit demander un partenariat en remplissant une formulaire&lt;br /&gt;
** soit m&#039;identifier avec mon compte &amp;quot;Partenariat&amp;quot;&lt;br /&gt;
** consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** m&#039;identifier avec mon compte Admin&lt;br /&gt;
** supprimer un compte Client ou un compte Partenariat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux: &lt;br /&gt;
** Demander un partenariat (cas de restaurateur invité)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je ne peux pas demander un partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux: &lt;br /&gt;
** Envoyer une demande pour mettre fin le partenariat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** Supprimer un partenaire&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6335</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6335"/>
		<updated>2012-10-23T14:23:04Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Stock */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** soit m&#039;identifier avec un compte client déjà crée&lt;br /&gt;
** soit créer un nouveau compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux:&lt;br /&gt;
** changer mon mot de passe&lt;br /&gt;
** changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux:&lt;br /&gt;
** soit demander un partenariat en remplissant une formulaire&lt;br /&gt;
** soit m&#039;identifier avec mon compte &amp;quot;Partenariat&amp;quot;&lt;br /&gt;
** consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** m&#039;identifier avec mon compte Admin&lt;br /&gt;
** supprimer un compte Client ou un compte Partenariat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant qu&#039;administrateur,je peux : &lt;br /&gt;
** Modifier le stock des vins&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas d&#039;accès au stock&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6334</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6334"/>
		<updated>2012-10-23T14:21:23Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Recherche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** soit m&#039;identifier avec un compte client déjà crée&lt;br /&gt;
** soit créer un nouveau compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux:&lt;br /&gt;
** changer mon mot de passe&lt;br /&gt;
** changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux:&lt;br /&gt;
** soit demander un partenariat en remplissant une formulaire&lt;br /&gt;
** soit m&#039;identifier avec mon compte &amp;quot;Partenariat&amp;quot;&lt;br /&gt;
** consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** m&#039;identifier avec mon compte Admin&lt;br /&gt;
** supprimer un compte Client ou un compte Partenariat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
*Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Rechercher du vin&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6333</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6333"/>
		<updated>2012-10-23T14:20:27Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Panier */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** soit m&#039;identifier avec un compte client déjà crée&lt;br /&gt;
** soit créer un nouveau compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux:&lt;br /&gt;
** changer mon mot de passe&lt;br /&gt;
** changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux:&lt;br /&gt;
** soit demander un partenariat en remplissant une formulaire&lt;br /&gt;
** soit m&#039;identifier avec mon compte &amp;quot;Partenariat&amp;quot;&lt;br /&gt;
** consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** m&#039;identifier avec mon compte Admin&lt;br /&gt;
** supprimer un compte Client ou un compte Partenariat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Modifier mon panier (ajouter, modifier, supprimer)&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je n&#039;ai pas de panier&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Lubyb&amp;diff=6332</id>
		<title>Lubyb</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Lubyb&amp;diff=6332"/>
		<updated>2012-10-23T14:19:12Z</updated>

		<summary type="html">&lt;p&gt;Hmquan: /* Achat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;LUBYB : Let Us Bring Your Bottle&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:RICM5_ECOM_LUBYB_logo.png|thumb]]&lt;br /&gt;
= Présentation =&lt;br /&gt;
&lt;br /&gt;
== Description : ==&lt;br /&gt;
&lt;br /&gt;
Ce site rentre dans le cadre  du projet ECOM 2012 de la formation RICM5 à Polytech Grenoble.&lt;br /&gt;
&lt;br /&gt;
LUBYB (pour &amp;quot;Let us bring your bottle&amp;quot;) est un site de e-commerce basé sur la vente de vin en ligne.&lt;br /&gt;
&lt;br /&gt;
Le but de notre site d&#039; e-commerce de vente de vin en ligne est de permettre à l&#039;utilisateur de profiter du [http://fr.wikipedia.org/wiki/Apportez_Votre_Vin droit du bouchon].&lt;br /&gt;
&lt;br /&gt;
Un client peut se rendre sur notre site pour commander des bouteilles de son choix, et de se les faire livrer à domicile ou dans l&#039; un de nos restaurants partenaires.&lt;br /&gt;
&lt;br /&gt;
Cela permettrait notamment aux clients d’avoir un plus vaste choix de vin que celui proposé dans les restaurants non partenaires.&lt;br /&gt;
&lt;br /&gt;
== Equipe : ==&lt;br /&gt;
* CLAVELIN Aurélien&lt;br /&gt;
* GNATTO Christopher&lt;br /&gt;
* HO Minh Quan&lt;br /&gt;
* PRAK Soriya&lt;br /&gt;
&lt;br /&gt;
== Contacts : ==&lt;br /&gt;
===Enseignants ===&lt;br /&gt;
*[mailto:xavier.spengler@gmail.com Xavier Spengler] &lt;br /&gt;
*[mailto:Sybille.Caffiau@imag.fr Sybille Caffiau] &lt;br /&gt;
*[mailto:didier.donsez@imag.fr Didier Donsez] &lt;br /&gt;
&lt;br /&gt;
===Etudiants===&lt;br /&gt;
*[mailto:ricm5_lubyb@googlegroups.com Mailing List] &lt;br /&gt;
&lt;br /&gt;
== SVN ==&lt;br /&gt;
Vous pouvez accéder au repository de notre projet via la commande Subversion suivante : &lt;br /&gt;
&lt;br /&gt;
svn checkout --username &amp;lt;user_name&amp;gt; https://imag-forge.e.ujf-grenoble.fr:443/svn/lubyb&lt;br /&gt;
&lt;br /&gt;
= Methode Agile =&lt;br /&gt;
== Methode Scrum ==&lt;br /&gt;
&lt;br /&gt;
=== ScrumMaster === &lt;br /&gt;
Nous avons choisi de mettre en place un système de &#039;&#039;&#039;ScrumMaster changeant tous les 15 jours&#039;&#039;&#039;, et ce afin de favoriser une meilleure implication de chacun des membres de l&#039;equipe.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Periode || ScrumMaster&lt;br /&gt;
|-&lt;br /&gt;
| 2 Octobre au 16 Octobre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 16 Octobre  au 30 Octobre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 30 octobre au  13 Novembre|| ???&lt;br /&gt;
|-&lt;br /&gt;
| 13 Novembre au 27 Novembre || ???&lt;br /&gt;
|-&lt;br /&gt;
| 27 Novembre au 11 Decembre || ???&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Durée Sprint ===&lt;br /&gt;
La durée d&#039;un sprint a été fixée à &#039;&#039;&#039;deux semaines&#039;&#039;&#039;. La durée courte du sprint permettant des mises au point et feedbacks réguliers.&lt;br /&gt;
&lt;br /&gt;
=== ScrumBoard ===&lt;br /&gt;
Pour suivre l&#039;avancement des tâches de notre projet, nous utilisons l&#039; outil collaboratif [https://trello.com/ TRELLO].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez suivre notre ScrumBoard à l&#039;adresse suivante : https://trello.com/b/vPwzKBcm&lt;br /&gt;
&lt;br /&gt;
== Product Backlog ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Un des outils importants de la méthode Scrum est le « product backlog » qui répertorie l&#039;ensemble des objectifs principaux traduits sous forme de travaux concrets à réaliser.&amp;quot; [http://en.wikipedia.org/wiki/Scrum_%28development%29 (wikipedia)]&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de notre projet, nous pouvons définir quatre acteurs différents : &lt;br /&gt;
* Utilisateur en mode invité&lt;br /&gt;
* Utilisateur en mode identifié&lt;br /&gt;
* Restaurateur&lt;br /&gt;
* Administrateur&lt;br /&gt;
&lt;br /&gt;
==== Page d&#039;accueil ====&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;ensemble des acteurs:&lt;br /&gt;
** Visualiser le catalogue de produits&lt;br /&gt;
** Rechercher un produit&lt;br /&gt;
** Visualiser les promotions&lt;br /&gt;
** Accéder aux FAQ&lt;br /&gt;
** Accéder au  règlement&lt;br /&gt;
** Accéder à la rubrique contact&lt;br /&gt;
** Accéder au processus d&#039;identification&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;client (identifié)&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte &lt;br /&gt;
** Voir le contenu lié a mon activité récente (ex : dernier produit commandé)&lt;br /&gt;
** Accéder à la page de gestion des informations de mon compte&lt;br /&gt;
&lt;br /&gt;
* En tant que &#039;&#039;&#039;restaurateur&#039;&#039;&#039;, je dois pouvoir en plus :&lt;br /&gt;
** Accéder à mon compte&lt;br /&gt;
** Accéder à l&#039;interface utilisateur dédiée (restaurateur) &lt;br /&gt;
 &lt;br /&gt;
* En tant qu&#039;&#039;&#039;&#039;administrateur&#039;&#039;&#039;,&lt;br /&gt;
** Accéder à l&#039;interface de utilisateur dédiée ( admin)&lt;br /&gt;
&lt;br /&gt;
==== Navigation ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Achat ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux&lt;br /&gt;
** Rechercher des vins&lt;br /&gt;
** Ajouter des vins dans le panier&lt;br /&gt;
** Payer la commande&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je ne peux pas effectuer un achat&lt;br /&gt;
&lt;br /&gt;
==== Identification ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité), je peux:&lt;br /&gt;
** soit m&#039;identifier avec un compte client déjà crée&lt;br /&gt;
** soit créer un nouveau compte&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié), je peux:&lt;br /&gt;
** changer mon mot de passe&lt;br /&gt;
** changer mes info personnelles (adresse, téléphone etc)&lt;br /&gt;
** consulter mes commandes&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, je peux:&lt;br /&gt;
** soit demander un partenariat en remplissant une formulaire&lt;br /&gt;
** soit m&#039;identifier avec mon compte &amp;quot;Partenariat&amp;quot;&lt;br /&gt;
** consulter mon crédit du mois &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur, je peux:&lt;br /&gt;
** m&#039;identifier avec mon compte Admin&lt;br /&gt;
** supprimer un compte Client ou un compte Partenariat&lt;br /&gt;
&lt;br /&gt;
==== Comptes ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Panier ==== &lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Recherche ==== &lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Stock ==== &lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
==== Partenaire ====&lt;br /&gt;
&lt;br /&gt;
* En tant que client (invité),&lt;br /&gt;
&lt;br /&gt;
* En tant que client (identifié),&lt;br /&gt;
&lt;br /&gt;
* En tant que restaurateur, &lt;br /&gt;
&lt;br /&gt;
* En tant qu&#039;administrateur,&lt;br /&gt;
&lt;br /&gt;
== Sprint ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Sprint || Periode || Sprint  Backlog   || Sprint planning || Sprint retrospective &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 Octobre au 16 Octobre || ?|| ? ||? &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 16 Octobre  au 30 Octobre|| ? || ?  || ?  &lt;br /&gt;
|-&lt;br /&gt;
| 3 || 30 octobre au  13 Novembre|| ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 4 || 13 Novembre au 27 Novembre || ? ||?  ||?  &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 27 Novembre au 11 Decembre || ? ||?  ||?  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Carnet de Bord =&lt;br /&gt;
== Mardi 25 Septembre ==&lt;br /&gt;
* Choix du sujet &lt;br /&gt;
* Répartition des rôles&lt;br /&gt;
* Création et début de la rédaction du cahier des charges 1/8&lt;br /&gt;
* Conception d&#039;un sondage 1/3&lt;br /&gt;
* Prototypage de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Mardi 2 octobre ==&lt;br /&gt;
* Formation Java J2E&lt;br /&gt;
* Mise en place de la forge &lt;br /&gt;
* Mise en place de [http://jonas.ow2.org/xwiki/bin/view/Main/ JOnAS]&lt;br /&gt;
* Validation du Logo et de la charte graphique&lt;br /&gt;
&lt;br /&gt;
== Vendredi 5 octobre ==&lt;br /&gt;
* Envoi du questionnaire [https://docs.google.com/spreadsheet/viewform?fromEmail=true&amp;amp;formkey=dGZhZHhlWndDMzdnR21md3V6ZURKYVE6MQ lien] &lt;br /&gt;
* Rédaction du cahier des charges 4/8&lt;br /&gt;
&lt;br /&gt;
== Mardi 9 octobre ==&lt;br /&gt;
* Analyse des résultats du questionnaire&lt;br /&gt;
* Fin rédaction cahier des charges &lt;br /&gt;
* Relecture du cahier des charges&lt;br /&gt;
* Début réalisation prototype EJB&lt;br /&gt;
&lt;br /&gt;
== Mardi 16 octobre ==&lt;br /&gt;
*Changement du serveur d&#039;application :  Migration de Jonas vers [http://glassfish.java.net/fr/ GlassFish] &lt;br /&gt;
&#039;&#039;Décision prise à la suite des difficultés rencontrées pour la configuration de Jonas au sein de l&#039;IDE [http://www.eclipse.org/ eclipse] &#039;&#039;&lt;br /&gt;
*Réalisation des tutoriaux sur la mise en route de l&#039;EJB.&lt;br /&gt;
&lt;br /&gt;
== Mardi 23 octobre ==&lt;/div&gt;</summary>
		<author><name>Hmquan</name></author>
	</entry>
</feed>