<?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=Damontp</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=Damontp"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Damontp"/>
	<updated>2026-06-02T21:04:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=5020</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=5020"/>
		<updated>2012-04-06T06:18:16Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Difficultés rencontrées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°4 nommée ServeurServlet&lt;br /&gt;
   Partie n°5 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
Architecture fonctionnelle :&lt;br /&gt;
&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Architecture détaillée :&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitectureDetaillee.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
    camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Sous la pate-forme OSGI du serveur central ces deux-la :&lt;br /&gt;
&lt;br /&gt;
    information-broker-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
    information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Une fois ces bundles déployés un simple accés à la servlet du serveur via un navigateur web a l&#039;url : http://localhost:8080/camera permettra de démarrerl&#039;acquisition sur la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le relevé de la caméra un accés à l&#039;url : http://localhost:8080/releve permettra de télécharger le fichier releve.xml généré par le serveur de la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Par défaut le téléchargement à lieu dans /home/&amp;quot;nom d&#039;utilisateur&amp;quot; (Ce nom est a préciser par l&#039;utilisateur lors de la compilation)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non portable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=5019</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=5019"/>
		<updated>2012-04-06T06:17:47Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°4 nommée ServeurServlet&lt;br /&gt;
   Partie n°5 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
Architecture fonctionnelle :&lt;br /&gt;
&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Architecture détaillée :&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitectureDetaillee.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
    camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Sous la pate-forme OSGI du serveur central ces deux-la :&lt;br /&gt;
&lt;br /&gt;
    information-broker-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
    information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Une fois ces bundles déployés un simple accés à la servlet du serveur via un navigateur web a l&#039;url : http://localhost:8080/camera permettra de démarrerl&#039;acquisition sur la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le relevé de la caméra un accés à l&#039;url : http://localhost:8080/releve permettra de télécharger le fichier releve.xml généré par le serveur de la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Par défaut le téléchargement à lieu dans /home/&amp;quot;nom d&#039;utilisateur&amp;quot; (Ce nom est a préciser par l&#039;utilisateur lors de la compilation)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5014</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5014"/>
		<updated>2012-04-06T00:09:54Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;nstallation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager pour l&#039;informer des variations de stock sur une période donnée&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
Nous avons été confrontés à de nombreux problèmes de dépendances, il a fallut en effet trouver les bundles nécessaires au bon fonctionnement de notre système.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;un moteur de règles est complexe et nécessite la compréhension de certains aspects non triviaux.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontrés de nombreuses difficultés avec le lecteur NFC ainsi que sa librairie.&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a permis d&#039;améliorer nos compétences dans les domaines suivants :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5013</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5013"/>
		<updated>2012-04-06T00:09:36Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager pour l&#039;informer des variations de stock sur une période donnée&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
Nous avons été confrontés à de nombreux problèmes de dépendances, il a fallut en effet trouver les bundles nécessaires au bon fonctionnement de notre système.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;un moteur de règles est complexe et nécessite la compréhension de certains aspects non triviaux.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontrés de nombreuses difficultés avec le lecteur NFC ainsi que sa librairie.&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a permis d&#039;améliorer nos compétences dans les domaines suivants :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;nstallation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5012</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5012"/>
		<updated>2012-04-06T00:08:03Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Apports personnels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager pour l&#039;informer des variations de stock sur une période donnée&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
Nous avons été confrontés à de nombreux problèmes de dépendances, il a fallut en effet trouver les bundles nécessaires au bon fonctionnement de notre système.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;un moteur de règles est complexe et nécessite la compréhension de certains aspects non triviaux.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontrés de nombreuses difficultés avec le lecteur NFC ainsi que sa librairie.&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a permis d&#039;améliorer nos compétences dans les domaines suivants :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5011</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5011"/>
		<updated>2012-04-06T00:05:18Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Difficultés rencontrées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager pour l&#039;informer des variations de stock sur une période donnée&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
Nous avons été confrontés à de nombreux problèmes de dépendances, il a fallut en effet trouver les bundles nécessaires au bon fonctionnement de notre système.&lt;br /&gt;
&lt;br /&gt;
L&#039;implémentation d&#039;un moteur de règles est complexe et nécessite la compréhension de certains aspects non triviaux.&lt;br /&gt;
&lt;br /&gt;
Nous avons rencontrés de nombreuses difficultés avec le lecteur NFC ainsi que sa librairie.&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5010</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5010"/>
		<updated>2012-04-05T23:58:05Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Fonctionnalités prévues et fonctionnalités réalisées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager pour l&#039;informer des variations de stock sur une période donnée&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5009</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5009"/>
		<updated>2012-04-05T23:56:12Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Fonctionnalités prévues et fonctionnalités réalisées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager pour l&#039;informer des variations de stock sur une période donnée&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5008</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5008"/>
		<updated>2012-04-05T23:26:24Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Evolutions envisageables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5007</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5007"/>
		<updated>2012-04-05T23:26:07Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités prévues et fonctionnalités réalisées==&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5006</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5006"/>
		<updated>2012-04-05T23:11:12Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5005</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5005"/>
		<updated>2012-04-05T23:00:33Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
===Configuration Felix===&lt;br /&gt;
&lt;br /&gt;
Nous avons du modifier le fichier de configuration de Felix pour exporter certaines classes afin qu&#039;elles soient chargées par défaut par le système. Notre fichier est disponible sur le svn.&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5004</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5004"/>
		<updated>2012-04-05T22:36:06Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Installation du lecteur NFC (Tikitag) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5003</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5003"/>
		<updated>2012-04-05T22:35:36Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
===Installation du lecteur NFC (Tikitag)===&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
** libccid&lt;br /&gt;
** pcscd&lt;br /&gt;
** pcsc-tools&lt;br /&gt;
** libpcsclite1&lt;br /&gt;
** libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
===Installation de la scanette===&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
===Base de données===&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5002</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5002"/>
		<updated>2012-04-05T22:33:25Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
* Installation du lecteur NFC (Tikitag)&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
** libccid&lt;br /&gt;
** pcscd&lt;br /&gt;
** pcsc-tools&lt;br /&gt;
** libpcsclite1&lt;br /&gt;
** libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
* Installation de la scanette :&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
* Base de données&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5001</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5001"/>
		<updated>2012-04-05T22:32:01Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
* Installation du lecteur NFC (Tikitag)&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
* libccid&lt;br /&gt;
* pcscd&lt;br /&gt;
* pcsc-tools&lt;br /&gt;
* libpcsclite1&lt;br /&gt;
* libpcsclite-dev&lt;br /&gt;
&lt;br /&gt;
* Installation de la scanette :&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
&lt;br /&gt;
* Base de données&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5000</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=5000"/>
		<updated>2012-04-05T22:31:28Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
* Installation du lecteur NFC (Tikitag)&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
libccid&lt;br /&gt;
pcscd&lt;br /&gt;
pcsc-tools&lt;br /&gt;
libpcsclite1&lt;br /&gt;
libpcsclite-dev&lt;br /&gt;
* Installation de la scanette :&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
* Base de données&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30),&lt;br /&gt;
    barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4999</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4999"/>
		<updated>2012-04-05T22:30:49Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
Le deploiement des bundles du projet nécessite des services fournis par d&#039;autres bundles. Ces bundles nécessaires sont téléchargeables sur le svn dans le dossier Bundles présent à la racine du dépôt.&lt;br /&gt;
&lt;br /&gt;
* Installation du lecteur NFC (Tikitag)&lt;br /&gt;
&lt;br /&gt;
Pour utiliser le lecteur NFC il est nécessaire d&#039;installer les librairies suivantes :&lt;br /&gt;
libccid&lt;br /&gt;
pcscd&lt;br /&gt;
pcsc-tools&lt;br /&gt;
libpcsclite1&lt;br /&gt;
libpcsclite-dev&lt;br /&gt;
* Installation de la scanette :&lt;br /&gt;
La scanette ne demande pas d&#039;installation particulière, il suffit seulement de la brancher à un port USB.&lt;br /&gt;
* Base de données&lt;br /&gt;
La base de données doit être une base MySQL, car nous avons choisi ce type de base pour implementer le WarehouseManager. Cette base doit contenir une table VINS. Cette table peut être créée à l&#039;aide de la requête suivante :&lt;br /&gt;
    create table VINS (idVin integer auto_increment, name varchar(256), year integer, color varchar(10), price float, quantity integer, tag varchar(30), barcode varchar(30), primary key (idVin));&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:ArchitectureDetaillee.jpg&amp;diff=4998</id>
		<title>File:ArchitectureDetaillee.jpg</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:ArchitectureDetaillee.jpg&amp;diff=4998"/>
		<updated>2012-04-05T22:15:42Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4997</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4997"/>
		<updated>2012-04-05T22:15:19Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
Architecture fonctionnelle :&lt;br /&gt;
&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Architecture détaillée :&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitectureDetaillee.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
    camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Sous la pate-forme OSGI du serveur central ces deux-la :&lt;br /&gt;
&lt;br /&gt;
    information-broker-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
    information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Une fois ces bundles déployés un simple accés à la servlet du serveur via un navigateur web a l&#039;url : http://localhost:8080/camera permettra de démarrerl&#039;acquisition sur la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le relevé de la caméra un accés à l&#039;url : http://localhost:8080/releve permettra de télécharger le fichier releve.xml généré par le serveur de la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Par défaut le téléchargement à lieu dans /home/&amp;quot;nom d&#039;utilisateur&amp;quot; (Ce nom est a préciser par l&#039;utilisateur lors de la compilation)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Example.jpg&amp;diff=4996</id>
		<title>File:Example.jpg</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Example.jpg&amp;diff=4996"/>
		<updated>2012-04-05T22:13:13Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4995</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4995"/>
		<updated>2012-04-05T22:12:49Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
[[File:Example.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
    camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Sous la pate-forme OSGI du serveur central ces deux-la :&lt;br /&gt;
&lt;br /&gt;
    information-broker-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
    information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Une fois ces bundles déployés un simple accés à la servlet du serveur via un navigateur web a l&#039;url : http://localhost:8080/camera permettra de démarrerl&#039;acquisition sur la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le relevé de la caméra un accés à l&#039;url : http://localhost:8080/releve permettra de télécharger le fichier releve.xml généré par le serveur de la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Par défaut le téléchargement à lieu dans /home/&amp;quot;nom d&#039;utilisateur&amp;quot; (Ce nom est a préciser par l&#039;utilisateur lors de la compilation)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4994</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4994"/>
		<updated>2012-04-05T22:11:30Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
[[Media:/home/damont/Downloads/architecture.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Media:http://air.imag.fr/mediawiki/index.php/File:Architecture.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
    camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Sous la pate-forme OSGI du serveur central ces deux-la :&lt;br /&gt;
&lt;br /&gt;
    information-broker-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
    information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Une fois ces bundles déployés un simple accés à la servlet du serveur via un navigateur web a l&#039;url : http://localhost:8080/camera permettra de démarrerl&#039;acquisition sur la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le relevé de la caméra un accés à l&#039;url : http://localhost:8080/releve permettra de télécharger le fichier releve.xml généré par le serveur de la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Par défaut le téléchargement à lieu dans /home/&amp;quot;nom d&#039;utilisateur&amp;quot; (Ce nom est a préciser par l&#039;utilisateur lors de la compilation)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Architecture.jpg&amp;diff=4993</id>
		<title>File:Architecture.jpg</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Architecture.jpg&amp;diff=4993"/>
		<updated>2012-04-05T22:10:28Z</updated>

		<summary type="html">&lt;p&gt;Damontp: uploaded a new version of &amp;quot;File:Architecture.jpg&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Architecture.jpg&amp;diff=4992</id>
		<title>File:Architecture.jpg</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Architecture.jpg&amp;diff=4992"/>
		<updated>2012-04-05T22:09:49Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4991</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4991"/>
		<updated>2012-04-05T22:09:06Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
[[Media:/home/damont/Downloads/architecture.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
    camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Sous la pate-forme OSGI du serveur central ces deux-la :&lt;br /&gt;
&lt;br /&gt;
    information-broker-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
    information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Une fois ces bundles déployés un simple accés à la servlet du serveur via un navigateur web a l&#039;url : http://localhost:8080/camera permettra de démarrerl&#039;acquisition sur la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le relevé de la caméra un accés à l&#039;url : http://localhost:8080/releve permettra de télécharger le fichier releve.xml généré par le serveur de la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Par défaut le téléchargement à lieu dans /home/&amp;quot;nom d&#039;utilisateur&amp;quot; (Ce nom est a préciser par l&#039;utilisateur lors de la compilation)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4990</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4990"/>
		<updated>2012-04-05T22:06:16Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;utilisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
    camera-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Sous la pate-forme OSGI du serveur central ces deux-la :&lt;br /&gt;
&lt;br /&gt;
    information-broker-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
    information-broker-servlet-bundle-0.0.1-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
Une fois ces bundles déployés un simple accés à la servlet du serveur via un navigateur web a l&#039;url : http://localhost:8080/camera permettra de démarrerl&#039;acquisition sur la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Pour récupérer le relevé de la caméra un accés à l&#039;url : http://localhost:8080/releve permettra de télécharger le fichier releve.xml généré par le serveur de la caméra distante.&lt;br /&gt;
&lt;br /&gt;
Par défaut le téléchargement à lieu dans /home/&amp;quot;nom d&#039;utilisateur&amp;quot; (Ce nom est a préciser par l&#039;utilisateur lors de la compilation)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4989</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4989"/>
		<updated>2012-04-05T22:04:11Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponibles sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4988</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4988"/>
		<updated>2012-04-05T22:03:24Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponible sur le svn suivant :&lt;br /&gt;
    https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4987</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4987"/>
		<updated>2012-04-05T22:03:03Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
Les sources du projet sont disponible sur le svn suivant :&lt;br /&gt;
[https://subversion.assembla.com/svn/M2M-warehouse/]&lt;br /&gt;
&lt;br /&gt;
Notre projet est un projet Maven, il est donc nécessaire de le compiler grâce à cet outil. Le projet est découpé en trois modules distincts (TagSystem, BarcodeSystem, WarehouseServer) qu&#039;il est possible de compiler séparément.&lt;br /&gt;
Les bundles générés doivent être déployés sur une plateforme OSGi (Par exemple Felix)&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4986</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4986"/>
		<updated>2012-04-05T22:01:45Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
https://subversion.assembla.com/svn/M2M-warehouse/&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4985</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4985"/>
		<updated>2012-04-05T21:56:47Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[[Image:Architecture_V2.jpg|Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4984</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4984"/>
		<updated>2012-04-05T21:56:36Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;utilisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target du sous-projet maven correspondant à la partie en question.&lt;br /&gt;
&lt;br /&gt;
Ainsi sous la plate-forme OSGI embarqué sur l&#039;ordinateur possédant la caméra nous devons avoir ces bundles de déployés :&lt;br /&gt;
&lt;br /&gt;
    camera-broker-bundle-0-SNAPSHOT.jar&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4983</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4983"/>
		<updated>2012-04-05T21:55:53Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
[File:Architecture_V2.jpg]&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Architecture_V2.jpg&amp;diff=4982</id>
		<title>File:Architecture V2.jpg</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Architecture_V2.jpg&amp;diff=4982"/>
		<updated>2012-04-05T21:55:04Z</updated>

		<summary type="html">&lt;p&gt;Damontp: Architecture projet Warehouse&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Architecture projet Warehouse&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4981</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4981"/>
		<updated>2012-04-05T21:53:19Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;utilisation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
Un fois les parties compilées avec les chemins adéquats, il faut insérer dans le répertoire bundle de felix les paquets générés par maven.&lt;br /&gt;
Ces paquets se situent dans le répertoire target.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4980</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4980"/>
		<updated>2012-04-05T21:53:13Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
(Schéma)&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi.&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4979</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4979"/>
		<updated>2012-04-05T21:50:20Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;utilisation==&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4978</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4978"/>
		<updated>2012-04-05T21:49:06Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
(Schéma)&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi. &lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle).&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4977</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4977"/>
		<updated>2012-04-05T21:49:01Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Améliorations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
Il resterait à étendre la gestion des caméras à partir du serveur.&lt;br /&gt;
Par exemple fournir une api web permmettant d&#039;ajouter ou de retirer des caméras suivants leur adresse.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part si nous avions la possibilité d&#039;être connecter à l&#039;automate du feu, nous pourrions lancer les aquisitions suivants l&#039;état du feu.&lt;br /&gt;
Actuellement nous avons lançons l&#039;acquisition pour une durée pré-determinée.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevés pourrait être ainsi plus conséquente, et s&#039;étaler sur une journée entière et prendre ne compte plus d&#039;informations (infractions par exemple).&lt;br /&gt;
&lt;br /&gt;
La reconnaissance pourrait être affinée afin de reconnaitre des objets plus précis (seulement des voitures).&lt;br /&gt;
&lt;br /&gt;
Un outil d&#039;analyse des données sur le serveur central, permettant d&#039;éditer des courbes par exemple serait utile à l&#039;interprétation des résultats.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4976</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4976"/>
		<updated>2012-04-05T21:48:04Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour but de fournir un système permettant la gestion d&#039;un entrepôt. Le système doit gérer les entrées et sorties de produits. Un moteur de règles permettra d&#039;analyser les différentes opérations et pour certains évènements particuliers (par exemple un produit bientôt en rupture de stock) le manager sera notifié.&lt;br /&gt;
Les mouvements de stock seront effectués à l&#039;aide d&#039;une scanette et d&#039;un lecteur NFC.&lt;br /&gt;
Nous avons choisi de gérer un stockage de bouteilles de vins.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
Notre système se compose de trois parties :&lt;br /&gt;
Le &amp;quot;Tag System&amp;quot; qui permet d&#039;utiliser le lecteur NFC pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Barcode System&amp;quot; qui permet d&#039;utiliser une scanette pour communiquer avec le server de l&#039;entrepôt&lt;br /&gt;
Le &amp;quot;Warehouse Server&amp;quot; qui permet de gérer l&#039;entrepôt&lt;br /&gt;
&lt;br /&gt;
(Schéma)&lt;br /&gt;
&lt;br /&gt;
Tag System et Barcode System sont tout deux composés de deux modules :&lt;br /&gt;
* Un module  « Reader » (TagReader et BarcodeReader) qui permet de scanner les objets et de communiquer avec le serveur grâce à des requêtes REST&lt;br /&gt;
* Un module « GUI » (TagGUI et BarcodeGUI) qui offre une interface en Swing pour utiliser le module « Reader »&lt;br /&gt;
&lt;br /&gt;
Warehouse Server :&lt;br /&gt;
* Une base de données pour stocker les informations des produits de l&#039;entrepôt&lt;br /&gt;
* Un module « WarehouseManager » permettant d&#039;effectuer des opérations sur la base de données &lt;br /&gt;
* Deux modules « Solver » (TagSolver et BarcodeSolver) exposant des services REST afin de récuperer les informations envoyées par les « Readers », les analyser et effectuer l&#039;opération requise &lt;br /&gt;
* Un module « ManagerNotifier » offrant la possibilité d&#039;envoyer des emails au manager de l&#039;entrepôt (utilisation de l&#039;API JavaMail)&lt;br /&gt;
* Un moteur de règles basé sur Drools pour implémenter une logique métier&lt;br /&gt;
&lt;br /&gt;
Les différents modules étant des bundles OSGi, les systèmes devront tourner sur une plateforme OSGi. &lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
L&#039;objectif de ce projet était de réaliser les fonctionnalités suivantes :&lt;br /&gt;
* Ajouter un produit grâce à un lecteur NFC&lt;br /&gt;
* Ajouter un produit grâce à une scanette&lt;br /&gt;
* Retirer des produits du stock grâce à un lecteur NFC&lt;br /&gt;
* Retirer des produits du stock grâce à une scanette&lt;br /&gt;
* Envoyer un mail au manager en cas de stock faible d&#039;un produit&lt;br /&gt;
* Envoyer un mail au manager régulièrement pour l&#039;informer des variations de stock&lt;br /&gt;
* Stocker les informations des produits dans une base de données&lt;br /&gt;
* Interagir avec la base de données&lt;br /&gt;
&lt;br /&gt;
Toutes les fonctionnalités ont été réalisées excepté l&#039;envoi d&#039;un mail au manager pour l&#039;informer des variations de stock.&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
L&#039;architecture a été pensée de manière à pouvoir facilement ajouter des modules supplémentaires pour interagir avec les « Reader », en plus de l&#039;interface graphique déjà présente. Par exemple une console web, une interface en ligne de commmande ou une interface orientée smartphone (ce qui n&#039;est pas le cas de l&#039;interface actuelle)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre système permet la gestion de bouteilles de vin. Il aurait cependant été intéressant d&#039;offrir au manager la possibilité de gérer d&#039;autres produits en lui proposant une gestion générique des produits stockés.&lt;br /&gt;
&lt;br /&gt;
Le moteur de règles pourrait être exploité d&#039;une meilleure manière, de nouvelles règles plus élaborées pourraient être créées.&lt;br /&gt;
&lt;br /&gt;
Permettre à l&#039;utilisateur de configurer les éventuelles options d&#039;un modules (Mail du manager, serveur de messagerie, url et port du serveur, …)&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
Ce projet nous a apporté de nouvelles compétences :&lt;br /&gt;
* Utilisation d&#039;une plateforme OSGi&lt;br /&gt;
* Création de bundles OSGi (Notamment avec iPOJO)&lt;br /&gt;
* Utilisation de Drools&lt;br /&gt;
* Utilisation de REST&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation de notre système est assez simple, que ce soit pour une utilisation avec la scanette ou le lecteur NFC elle se fait à travers l&#039;interface. Cette interface permet à l&#039;utilisateur de modifier la quantité d&#039;un produit en ajoutant ou retirant une quantité choisie. Elle permet également d&#039;ajouter un nouveau produit qui n&#039;existerai pas dans la base.&lt;br /&gt;
&lt;br /&gt;
Modification de la quantité d&#039;un vin :&lt;br /&gt;
* Sélectionner l&#039;action : Ajouter ou Supprimer&lt;br /&gt;
* Saisir la quantité à ajouter ou retirer&lt;br /&gt;
* Scanner le produit avec le lecteur NFC ou la scanette&lt;br /&gt;
* Valider le scan&lt;br /&gt;
* Le produit existe :&lt;br /&gt;
** Les informations et la nouvelle quantité pour le produit sont affichées&lt;br /&gt;
* Le produit n&#039;existe pas :&lt;br /&gt;
** Compléter les informations concernant le produit dans le panel apparu&lt;br /&gt;
** Valider les informations entrées&lt;br /&gt;
*Possibilité de passer à un nouveau produit en recommençant la procédure&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4975</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4975"/>
		<updated>2012-04-05T21:41:28Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Fonctionnalités réalisées */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
Nous n&#039;avons pu develloper un gestion de n caméras, actuellement le système ne fonctionne qu&#039;avec un serveur central et une partie deportée abritant la caméra (simple webcam dans notre cas).&lt;br /&gt;
&lt;br /&gt;
Nous avons mis en place un service de comptage minimal, le défaut étant qu&#039;il reconnait tout les objets en mouvement, pas seulement les voitures, ce qui fausse le résultat.&lt;br /&gt;
&lt;br /&gt;
L&#039;édition de relevé a partir du comptage effectué est fonctionnel.&lt;br /&gt;
Ce relevé est téléchargeable a partir du serveur central, la remontée d&#039;information est donc opérationnellev ia le protocole HTTP.&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4974</id>
		<title>ECOM Warehouse Management System</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ECOM_Warehouse_Management_System&amp;diff=4974"/>
		<updated>2012-04-05T21:39:46Z</updated>

		<summary type="html">&lt;p&gt;Damontp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez&lt;br /&gt;
* Etudiants M2PGI : CASAGRANDE Thierry, RICHARD David&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Matériel==&lt;br /&gt;
* RFID + QRCode + Barcode 1D&lt;br /&gt;
* USB Barcode reader &lt;br /&gt;
* USB NFC Reader&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Logiciels==&lt;br /&gt;
* Apache Felix&lt;br /&gt;
* Drools Expert&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
&lt;br /&gt;
==Evolutions envisageables==&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
==Apports personnels==&lt;br /&gt;
&lt;br /&gt;
==Manuel Utilisateur==&lt;br /&gt;
&lt;br /&gt;
==Manuel Installation==&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4973</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4973"/>
		<updated>2012-04-05T21:35:21Z</updated>

		<summary type="html">&lt;p&gt;Damontp: a&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
Nous souhaitions disposer de n caméras, de pouvoir déclencher leur acquisition à distance sur une période donnée, et d&#039;effectuer une collecte automatisée des relevés générés par ces caméras.&lt;br /&gt;
Ces relevés seraient stockés dans une base de données en attendant d&#039;être traitées par un outil d&#039;analyse.&lt;br /&gt;
Nous souhaitions aussi pouvoir détecter une inffraction.&lt;br /&gt;
&lt;br /&gt;
D&#039;autre part, bien qu&#039;il ne s&#039;agisse pas d&#039;un projet ayant pour sujet le traitement d&#039;image, l&#039;objectif était d&#039;avoir un système de reconnaissance minimal.&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4972</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4972"/>
		<updated>2012-04-05T21:26:26Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Fonctionnalités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités envisagées==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités réalisées==&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4971</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4971"/>
		<updated>2012-04-05T21:22:39Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 4 sous-projets maven et une partie C++:&lt;br /&gt;
 &lt;br /&gt;
La partie n°1  nommée Camera_Finale  est à compiler obligatoirement sur le pc embarquant la caméra, du fait de la non portabilité du code C++.&lt;br /&gt;
     &lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à compiler et à déployer sur le pc jouant le role du serveur&lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
En effet le projet étant encore en développement, les chemins d&#039;accès aux relevés et à l&#039;executable doivent être modifiés.&lt;br /&gt;
(Notamment encas de deploiement sous système windows)&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4970</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4970"/>
		<updated>2012-04-05T21:08:11Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 5 parties :&lt;br /&gt;
      &lt;br /&gt;
Ces 3 parties sont à déployer sur le pc embarqué avec la caméra&lt;br /&gt;
    Partie n°1 nommée Camera_Finale &lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à déployer sur le pc embarqué avec la caméra &lt;br /&gt;
   Partie n°3 nommée ServeurServlet&lt;br /&gt;
   Partie n°3 nommée ServeurCentral&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4969</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4969"/>
		<updated>2012-04-05T21:07:18Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Materiel et configuration Requise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
* Apache Maven&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 5 parties :&lt;br /&gt;
      &lt;br /&gt;
Ces 3 parties sont à déployer sur le pc embarqué avec la caméra &lt;br /&gt;
    Partie n°1 nommée Camera_Finale &lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à déployer sur le pc embarqué avec la caméra &lt;br /&gt;
   Partie n°3 nommée CameraServlet&lt;br /&gt;
   Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4968</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4968"/>
		<updated>2012-04-05T21:06:58Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Manuel d&amp;#039;installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 5 parties :&lt;br /&gt;
      &lt;br /&gt;
Ces 3 parties sont à déployer sur le pc embarqué avec la caméra &lt;br /&gt;
    Partie n°1 nommée Camera_Finale &lt;br /&gt;
    Partie n°2 nommée CameraServeur&lt;br /&gt;
    Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
Ces 2 parties sont à déployer sur le pc embarqué avec la caméra &lt;br /&gt;
   Partie n°3 nommée CameraServlet&lt;br /&gt;
   Partie n°3 nommée CameraServlet&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4967</id>
		<title>Détection de trafic automobile et de d’attente aux feux</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=D%C3%A9tection_de_trafic_automobile_et_de_d%E2%80%99attente_aux_feux&amp;diff=4967"/>
		<updated>2012-04-05T20:57:18Z</updated>

		<summary type="html">&lt;p&gt;Damontp: /* Materiel et configuration Requise */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Enseignant : Didier Donsez, Thomas Calmant&lt;br /&gt;
* Etudiants: CEYTE Christophe, DAMONT Pierre-Rémy.&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
Ce projet a pour d&#039;effectuer des décomptes de trafic automobiles à differents feux d&#039;une ou plusieurs villes.&lt;br /&gt;
Les resultats seraient rendus à un serveur central sous forme de relevés.&lt;br /&gt;
Ces relevés pourraient être ensuite analysés et interprétés afin de modifier l&#039;ordonnancement des feux, ou une modification de l&#039;urbanisme.&lt;br /&gt;
Il pourrait aussi servir à reperer une voiture en infraction dans le cas du passage alors que le feu est rouge&lt;br /&gt;
&lt;br /&gt;
==Materiel et configuration Requise==&lt;br /&gt;
* Deux ordinateurs dont un ayant une webcam&lt;br /&gt;
* OS : Linux ubuntu ou fedora&lt;br /&gt;
* Un JRE ou JDK java&lt;br /&gt;
* Plateforme OSGI Felix ou Equinox&lt;br /&gt;
* Librairie OpenCv&lt;br /&gt;
* Compilateur C/C++&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
*Partie embarquée : &lt;br /&gt;
Cette partie est destinée a être embarquée sur les caméras positionnées aux feux à surveiller.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer la Camera et recuperer le relevé de celle-ci.&lt;br /&gt;
&lt;br /&gt;
*Partie fixe :&lt;br /&gt;
Cette partie est destinée a être installée sur un ordinateur fixe dont le role sera de récupérer les données des différentes caméras déployées.&lt;br /&gt;
Composée de deux bundles proposant les services suivants : demarrer les acquisitions et recuperer les relevés.&lt;br /&gt;
&lt;br /&gt;
==Manuel d&#039;installation==&lt;br /&gt;
&lt;br /&gt;
-Récuperer les sources a l&#039;adresse svn suivante :&lt;br /&gt;
&lt;br /&gt;
        http://subversion.assembla.com/svn/m2m_surveillance_flux_autoroutiers&lt;br /&gt;
&lt;br /&gt;
-Le projet se découpe en 5 parties :&lt;br /&gt;
      &lt;br /&gt;
    Partie n°1 : code C++ utilisant openCv non portable&lt;br /&gt;
    Partie n°2 : code ServeurCamera&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Améliorations==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Difficultés rencontrées==&lt;br /&gt;
&lt;br /&gt;
- Découverte d&#039;OSGI, packager les composants en bundle.&lt;br /&gt;
&lt;br /&gt;
- Trouver un système de reconnaissance un minimum efficace et rapide, la solution actuelle étant un code open source &amp;quot;FastMatchTemplate&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
- Appeller ce code C/C++ non protable à partir d&#039;un bundle.&lt;/div&gt;</summary>
		<author><name>Damontp</name></author>
	</entry>
</feed>