Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques








télécharger 495.76 Kb.
titreRésumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques
page6/8
date de publication12.07.2017
taille495.76 Kb.
typeRésumé
ar.21-bal.com > documents > Résumé
1   2   3   4   5   6   7   8

7.3Bilan de cette étude



Après avoir réalisé cette étude de marché, j’ai consulté mon maître de stage, Mr Patrick VINCENT, afin que nous définissions ensemble les grandes lignes du projet et connaître plus en détails ce qu’il souhaitait mettre en oeuvre avec ce matériel. Cette réunion préparatoire à été forte utile et pleine d’enseignements. En effet après avoir consulté les différents types de matériel, il m’a parlé d’un projet de création d’une borne multimédia qui serait destinée aux visites de musée et qui intégrerait la technologie des puces RFID. Ainsi nous nous sommes orientés vers l’achat d’un lecteur RFID dans la gamme des 125 Khz car ce produit était le seul qui nous permettait de posséder une grande distance de détection (80 cm) à un faible coût.

7.4Architecture mise en place



Comme je l’ai déjà abordé précédemment, la finalité de l’utilisation des puces RFID, était la création d’une borne multimédia, qui permettrait l’affichage d’un contenu personnalisé en fonction d’un profil choisit par la personne l’utilisant.

En résumé la borne multimédia, composée d’un simple ordinateur et d’un lecteur RFID, devait être capable, de détecter le badge RFID porté par une personne passant à proximité de son champ de détection, afin de lui servir un contenu unique et personnel, d’une manière totalement transparente ou presque pour cet individu.

Ainsi cette borne multimédia placée au sein d’une exposition dans un musée permettrait aux visiteurs d’afficher un contenu multimédia (audio, vidéo, manuscrit …) en fonction de leur goût et de leur intérêt sur un thème qu’il auraient eux même choisit. Ces contenus multimédia présentés aux visiteurs seraient stockés dans une base de données MySQL et affichés sur la borne par l’application Java et PHP développée.



Afin d’aborder plus en détails l’architecture validée en collaboration avec Mr Patrick VINCENT, j’ai réalisé un schéma de synthèse, que voici :



Cette architecture est composée d’un ou plusieurs lecteurs RFID fonctionnant à une fréquence de 125 Khz et possédant une zone de détection d’environ 90 cm. Ce projet est également architecturé autour d’un serveur WEB Apache PHP dialoguant avec une base de donnée Mysql.

On peut également noter la présence d’une applet java intégrée à un formulaire PHP qui aura comme tâche fondamentale de récupérer l’identifiant unique contenu dans chaque badge RFID, afin de pouvoir associer un identifiant à une personne dans la base de données ainsi crée. La technologie Java a été choisie afin de permettre l’intégration de cette application au sein d’une page HTML qui sera générée par le serveur Web à l’aide du langage PHP. Ainsi lors d’une modification de ce programme seule la version se trouvant sur le serveur devra être mise à jour. Enfin des terminaux passifs permettront d’afficher le contenu proposé grâce à leurs navigateurs Web.

Afin de réaliser ce projet ambitieux j’ai choisi de découper celui en plus petite phase de travail, afin de pouvoir mieux gérer mon temps et également d’en réduire la complexité.


7.5Phases du projet



Tout d’abord, la première tache réalisée après la réception du matériel, à savoir le lecteur GP 90A, ainsi que 10 cartes RFID CFR-06, a été de comprendre le principe de fonctionnement de celui-ci. Pour se faire je me suis appuyé sur la documentation fournie (qui se trouve en annexe). J’ai pu rapidement m’apercevoir que ce lecteur ne possédait pas de prise RS232 et qu’il m’était nécessaire d’en câbler une moi-même. Pour se faire j’ai donc contacté la société H.T.T afin qu’il me fasse parvenir le schéma de principe de câblage d’une telle prise sur le lecteur. Je me suis alors lancé dans un travail de soudure qui fut plutôt fastidieux mais cependant efficace.

D’après la documentation que je possédais, le lecteur RFID communiquait avec un ordinateur par le port série (RS232), en envoyant 8 bits de données 1 bit de stop sans parité à un débit de 9600 bit/sec. Cette trame est composée d’un champ STX qui correspond à un bit de début de transmission, un champ Data qui contient le code de la carte RFID détecté. Ce code fait 10 octets codé en Hexadécimal. Cette trame possède également des champs CR (Carriage Return) et LF (Line Feed) qui sont des octets de contrôles et enfin un champs ETX qui lui correspond à un bit de fin de transmission.

Ainsi pour pouvoir récupérer l’identifiant unique de chaque badge RFID, détecté par le lecteur, j’ai du concevoir une application Java permettant de dialoguer sur le port série. Pour cela je me suis servi d’une API nommé Javax.comm.

7.5.1Développement de l’application Java



Cette API contient différentes classes et interfaces présentées ci-dessous :

7.5.1.1Pour la gestion des événements :


  • interface javax.comm.CommPortOwnershipListener (extends java.util.EventListener)

  • class javax.comm.ParallelPortEvent

  • class javax.comm.SerialPortEvent

  • interface javax.comm.ParallelPortEventListener (extends java.util.EventListener)

  • interface javax.comm.SerialPortEventListener (extends java.util.EventListener)

7.5.1.2Pour les exceptions :


  • class javax.comm.NoSuchPortException

  • class javax.comm.PortInUseException

  • class javax.comm.UnsupportedCommOperationException

7.5.1.3Pour la gestion des ports :


  • class javax.comm.CommPort Abstraite

  • class javax.comm.ParallelPort extends CommPort

  • class javax.comm.SerialPort extends CommPort

  • class javax.comm.CommPortIdentifier

Il existe deux niveaux pour la gestion des ports de communication :

  • un niveau haut avec les deux classes CommPortIdentifier et CommPort

  • un niveau bas avec les deux classes SerialPort et ParallelPort

La classe CommPortIdentifier est la classe centrale pour le contrôle des accès aux ports de communication. Elle inclut les méthodes pour déterminer les ports de communications disponibles, ouvrir les ports et résoudre les conflits et changements.
Une application utilise d'abord CommPortIdentifier pour négocier avec le driver et découvrir les ports qui existent sur la machine puis en sélectionner un pour l'ouverture. Ensuite elle utilise les méthodes des autres classes comme CommPort, ParallelPort et SerialPort pour communiquer par ce port.
La classe CommPort est une classe abstraite qui décrit les ports de communication rendus disponibles par le système. Elle inclut les méthodes pour le contrôle des entrées/sorties qui sont communes aux différents types de ports de communications. SerialPort et ParallelPort sont des sous-classes de CommPort qui incluent des méthodes additionnelles pour le contrôle bas-niveau des ports de communication.
Il n'y a pas de constructeur pour CommPort. Par conséquent une application doit utiliser la méthode CommPortIdentifier.getPortIdentifiers() pour générer une liste des ports disponibles. Elle choisit ensuite un port dans la liste et appelle CommPortIdentifier.open pour créer un objet CommPort qui est casté ensuite en SerialPort.
Après qu'un port de communication a été identifié et ouvert, il peut être configuré avec les méthodes de bas niveau de la classe SerialPort.
Il est a noté que pour utiliser cette API une DLL est nécessaire, ainsi pour utiliser cette application sous Linux il faut utiliser une autre API nommé RX/TX.

7.5.1.4Construction de l’applet



Nous avons choisi de développer une applet Java afin de placer celle-ci sur le serveur web central. Ainsi l’applet sera chargée sur une machine cliente directement via un navigateur web. Cette technologie facilite la maintenance de l’application et son déploiement, puisqu’elle est centralisée sur un serveur distant.

J’ai réalisé deux applets, la première qui réalise la fonction de récupération du code unique inscrit dans la carte RFID (Applet1.java), et une autre qui est une déclinaison de la précédente mais qui a pour tâche d’appeler une URL, lorsqu’ un identifiant RFID est détecté (URLComplet.java). L’URL chargée par cette applet contient l’identifiant de la personne détectée et charge un contenu multimédia en rapport avec son profil personnel.
L’intégralité des sources produites en Java et en PHP est présentée en Annexes.

7.5.2Création de formulaire PHP



La deuxième étape de ce projet à été d’intégrer l’application java à l’intérieur d’un formulaire PHP afin de pouvoir utiliser l’identifiant détecté comme clé unique lié a la personne portant le badge RFID. Ainsi le premier script PHP réalisé a été « insertion_user.php ».

7.5.2.1Insertion_user.php



Le principe de ce script, est de remettre un badge à une personne qui va s’inscrire sur une borne multimédia possédant un lecteur RFID. Les données du formulaire ainsi que l’identifiant RFID sont stockées dans une base de données MySql. On stocke le nom, le prénom, l’adresse mail, une photo, le sexe ainsi que le profil de visite de la personne. On peut imaginer par exemple que pour une exposition une personne mal voyante pourra sélectionner un profil handicapé, qui affichera l’article concerné en plus gros caractère ou bien encore que le contenu sera sonore plutôt que visuel.


Dans ce même formulaire, on récapitule les données stockées sur la personne, ainsi que l’identifiant associé à son badge RFID. On peut ensuite modifier les informations que l’on a entrées dans la base de donnée, ainsi que sélectionner ses centres d’intérêts par l’intermédiaire du deuxième script PHP.

7.5.2.2Modification.php



Il faut tout d’abord rentrer son E-mail, pour que l’on récupère les informations associées au profil stocké dans la base de donnée :


Affichage des données retrouvées dans la base MySql :


A l’aide du menu « Préférences thématiques » vous pouvez ajouter ou supprimer des centres d’intérêts :


7.5.2.3Formulaire.php



Ce script PHP est une page invisible qui mais est très importante dans le processus d’identification et de traçabilité. En effet l’applet java qui est en charge d’appeler une URL pointe vers ce fichier.

Celui-ci se charge d’inscrire dans la base de données, la date, l’heure du dernier passage ainsi que l’identifiant de la borne que de la personne a rencontrée. Ensuite une fonction compare cette date avec la date et l’heure actuelle. Si la personne a déjà été identifiée dans les dernières 60 secondes alors ce fichier bloc le processus d’affichage de données afin d’éviter le rechargement d’une page pendant la consultation d’un article par exemple.

Enfin suite à ces actions ce script appelle une nouvelle Url contenant le fichier qui réalise l’affichage du contenu multimédia.

7.5.2.4Dessin.php



J’ai intégré une fonction de dessin à notre architecture. En effet le but de ce fichier était de reproduire sur un plan détaillé le parcours d’un visiteur pendant une exposition. Ainsi lors d’une visite une personne va consulter différentes bornes multimédia qui vont le détecter puis enregistrer son identifiant et l’heure de passage dans une table SQL. Ainsi grâce à la librairie GD de PHP on peut tracer le parcours d’une visite entre les différentes bornes traversées.
Voici le parcours tracé :


Voici la succession de bornes traversé par l’identifiant 190108F518, à savoir la borne 192.168.0.111 puis 192.168.0.113 puis 192.168.0.112 puis 192.168.0.111.

7.5.2.5Extraction.php



Après récupération de l’identifiant d’une personne, de son profil de visite ainsi que de ses centres d’intérêts, ce script va afficher un contenu personnalisé en choisissant au hasard dans une base de contenu multimédia, un article dont le thème correspond au centre d’intérêt de la personne.

Nous avons choisi de nous servir d’un CMS (SPIP) pour gérer, rassembler, et unifier le contenu multimédia. Un CMS est un outil de gestion de contenu, qui permet a n’importe qui de contribuer à la base de connaissances et publier sur le site Internet un article sur le thème de son choix.

7.5.3Architecture d’un CMS



Voici le fonctionnement général d’un site de gestion de contenu contributif. On peut distinguer deux parties. Une réservée aux administrateurs du site : « le Back office » qui permet de gérer les utilisateurs, le contenu ainsi que l’indexation et l’arborescence du site. Et une seconde partie « le Front office » qui est la partie publique du site qui gère l’ensemble du système d’affichage des articles disponibles.


7.5.4Base donnée mise en place



Afin de faire fonctionner l’ensemble des scripts PHP développés il a fallu mettre en place une structure de données complètes.

Nous avons choisi d’architecturer notre projet autour d’une base MySQL (version 4.1.11). Le logiciel PhpMyAdmin a été également installé afin de faciliter la gestion ainsi que l’administration de la base de donnée pendant la phase de développement.

L’accès à celle ci a été sécurisé par la mise en place d’une authentification http, réalisé sur le serveur web Apache (version 2.0.54), dont voici le détail :


/etc/httpd/conf/httpd.conf :
/home/rfid/rfid.erasme.org/phpMyAdmin/>

Satisfy Any

Order deny, allow

Deny from all
AuthType Basic

AuthName "Acces prive"

AuthUserFile /home/rfid/.users

Require valid-user



[root@www2 ~]# cd /home/rfid

[root@www2 rfid]# htpasswd -c .users rfid

New password:

Re-type new password:

Adding password for user rfid

[root@www2 rfid]# more .users

rfid:MJVESVPJD0BNg

[root@www2 rfid]# service httpd reload


Voici l’effet de cette configuration :




Ensuite j’ai dû créer la structure de donnée suivante :


La création de la table « Formulaire » a été nécessaire afin de stocker les informations envoyées par le script « Insertion_user.php ». Elle contient les données liées à un visiteur, c'est-à-dire ses coordonnées, son sexe, la date de son inscription, une image personnelle, ainsi que l’identifiant contenu dans son badge RFID. Cette table est en relation avec la table « Sexe », la table « Langue », la table « Themes_usager » ainsi qu’avec la table « Passages ».

La table « Themes_usager » est une table pivot créée afin qu’un visiteur puisse choisir plusieurs centres d’intérêts pour un même profil de visite. C’est pour cette raison qu’elle est connectée à la table Spip_rubriques, qui contient l’ensemble des thématiques offertes aux visiteurs. Il est à noter que les centres d’intérêts représentent en réalité les rubriques existantes dans le CMS mis en place afin de gérer le contenu multimédia.

La table « Passages » est également une table centrale de cette architecture puisque c’est elle qui stocke pour un utilisateur précis, représenté par son identifiant, la date, l’heure de son passage, l’ id de la borne traversée, ainsi que l’id de l’article consulté. La liaison avec la table « Spip_articles », qui contient l’ensemble des id_article crée représente ce processus. Enfin cette table est connectée à la table « Bornes » qui contient la liste des bornes déployées ainsi que leur position en X et en Y sur un plan.

7.5.5Site Internet



Afin de regrouper l’ensemble des scripts PHP créés, ainsi que les fonctionnalités développées, j’ai crée un espace d’hébergement sur un serveur Web Apache.

Ce site est disponible a l’adresse suivante : http://rfid.erasme.org et est consultable en ligne. Il permet d’enregistrer un nouvel utilisateur, de modifier son profil et ses informations personnelles, de contribuer à la base d’articles en ligne, ainsi que de tracer le parcours de visite d’une personne.


La partie back office du site concernant la gestion de contenu du CMS, qui permet de publier ou de consulter des articles en ligne, a été sécurisée a l’aide de la configuration suivante :
/home/rfid/rfid.erasme.org/CMS/>

Satisfy Any

Order deny,allow

Deny from all

Allow from 192.168.0 128.69.45 213.245.116.145

AuthType Basic

AuthName "Acces prive"

AuthUserFile /home/rfid/.users

Require valid-user


L’identification est active pour toutes les adresses qui ne sont pas dans notre plage d’adresses locales. J’ai effectué un test en passant par le site : http://anon.free.anonymizer.com qui permet de passer par un Proxy sur le Web et donc de ne pas avoir une adresse IP autorisée.


Le contenu est donc accessible et modifiable en interne mais soumis à une authentification pour l’extérieur.

1   2   3   4   5   6   7   8

similaire:

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconFlorilege des questions / reponses
«s’applique aux surélévations ou aux additions de bâtiments existants.» Par défaut, la rt 2012, s’applique donc à toute nouvelle...

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconRapport de stage 2ème année dut informatique
«Les travaux dont IL est question dans le présent document ont été exécutés durant un stage de formation effectué au Centre international...

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconRapport de fin de stage brevet de technicien superieur

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconRapport de stage du dea d’Informatique de Lyon

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconRapport de stage de dess: “Analyse de la vidéo basée sur la suivie du regard humain”
«Eye Tracking» qui permet de déterminer le point d’un écran que regarde un sujet

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconNous ferons une lecture dans le livre de l’Apocalypse 3/7 : Ecris...
«Que celui qui a des oreilles entende ce que l’Esprit dit aux Eglises: veillons !» Je ne continuerai pas sur ce sujet de l’enlèvement...

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconProposition de stage Master 1 ou 2

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconGénie Informatique -electrotechnique -electronique -reseaux informatique- telecommunications

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconA machloukh ahmed
«Technicien Spécialisé en Systèmes et Réseaux Informatiques» cfmoti (Complexe de Formation aux Métiers de l’Offshoring et des Technologies...

Résumé Ce rapport concerne mon stage de fin d’étude de Master 2 Informatique appliqué aux Réseaux. Le sujet de celui-ci comportait diverses problématiques iconLe courage n’est pas une maladie contagieuse…
«Toile», j’ai ajouté mon deuxième prénom qui est aussi celui de mon grand-père, artisan-tonnelier








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com