SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Mémoire de stage de Licence
fondamentale en Sciences de
l’Informatique
Sciences et Technologies
N° d’ordre: 2016 23
République Tunisienne
Ministère de l’Enseignement Supérieur
et de la Recherche Scientifique
Université de Sfax
Institut Supérieur d’Informatique
et de Multimédia de Sfax
MEMOIRE
Présenté à
L’Institut Supérieur d’Informatique
et de Multimédia de Sfax
en vue de l’obtention du diplôme de
LICENCE FONDAMENTALE
en Informatique et Multimédia
intitulé
Développement d’un système de
reconnaissance des produits d’un chariot basé
sur la technologie RFID
Par
Samar Daoudi
Soutenu le 31 Mai 2016, devant le jury composé de :
Mr. Ali Wali Président
Mr. Nader Gassara Membre
Mme. Mouna Dammak Encadreur
Mr. Bilel Belwafi Encadreur société
Année Universitaire : 2015-2016
Dédicace
C’est tout simplement que je dédie ce projet de fin d’étude :
À mon père Ezzedinne
Pour ton amour, pour tes sacrifices, pour ton soutien tout au long de mes études j’espère être la
source de ta fierté. Que ce travail soit un modeste témoignage de mon éternelle reconnaissance. Que
Dieu te garde.
À ma mère Zakia
Nulle phrases aussi expressives soient-elles ne saurait exprimer ma reconnaissance pour ton
dévouement, tes précieux conseils et les efforts que tu ne cesse de déployer depuis mon enfance.En
ce jour mémorable, reçoit ce travail en signe de ma vive reconnaissance et ma profonde estime. Que
Dieu te donne santé, bonheur et longue vie afin que je puisse te combler à mon tour.
À mon Fiancé Kamel
Pour ta compréhension, ta confiance, ta patience et ta tendresse. Tu m’as toujours soutenu et
réconforté, tu es et tu resteras toujours ma source d’encourage. Tu as supporté mes caprices
pendant certaines périodes de ce parcours. Sincère gratitude.
À mes frères Amin et Maged et mes sœurs Amal,Ahlem,Rebh,Ilhem,Amina
En souvenir des meilleurs moments que nous avons partagés. Pour toute la complicité et l’entente qui
nous unis, ce travail est un témoignage de mon attachement et de mon amour. Je vous souhaite plein
de bonheur et de réussite. Que dieu vous protège et vous accorde santé et bonheur.
À mes chères amis :Asma,Chayma,Zayneb,Raki,Marwa,Khawla,Semia,Raja ..
Je vous remercie pour les moments inoubliables que nous avons partagés ensemble et pour le plaisir
dont j’ai joies avec vous.
À toute ma famille en témoignage de ma grande affection et de ma
reconnaissance et sans qui je ne serais rien,
À tous mes enseignants et à tous ceux qui m’ont aidé,
En témoignage de mon amour et de ma reconnaissance.
Remerciements…
A notre encadreur Madame Mouna Dammak
Je vous remercie infiniment pour la qualité de votre encadrement et votre disponibilité et
ce malgré vos charges professionnelles. Votre rigueur et votre minutie sont pour moi un
exemple. Merci sincèrement d’avoir encadré ce travail.
A notre encadreur de société Monsieur Bilel Belwafi
Je vous remercie Pour votre directive précieuse et pour la qualité de votre suivi durant
toute la période de notre projet, pour avoir assuré la partie pratique de celle-ci.
A notre président de jury
Monsieur Ali Wali
Vous me faites l’honneur de juger ce travail et d’accepter la présidence de ce jury.
Je vous exprime mon admiration pour vos compétences et vos qualités humaines.
Veuillez trouver dans ce travail l’expression de mon estime et ma sincère gratitude.
A Monsieur Nader Gassarra
Vous me faites honneur d’avoir accepté notre invitation et de siéger parmi les membres
du jury. Veuillez trouver dans ce travail le témoignage de mon profond respect.
Table des matières
1 Étude préalable 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Présentation de la société d’accueil . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Planning prévisionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1 Analyse de l’existant : . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.2 Critique de l’existant : . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Proposition d’une solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6 Déroulement du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 Modélisation Conceptuelle 6
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Méthodologie de conception choisie . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Modèle fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Les acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . 7
2.3.2.1 Diagramme des cas d’utilisation « gestion des rôles » . . . . 7
2.3.2.2 Diagramme des cas d’utilisation « Gestion des achats » . . . 9
2.4 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 Modéle dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.1 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.2 Diagramme d’activité : . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5.3 Diagramme d’états transition . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Réalisation 18
3.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Environnement du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1.1 Lecteur Adafruit PN532 RFID/NFC Shiled . . . . . . . . . 19
i
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
3.2.1.2 La carte Arduino . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1.3 Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.2 Environnement logicielle . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2.1 Les langages de développement . . . . . . . . . . . . . . . 21
3.2.2.2 Les outils de développement utilisés . . . . . . . . . . . . . 23
3.3 Modèle Relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.1 Règles de transformation . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2 Description du modèle relationnel . . . . . . . . . . . . . . . . . . . . 25
3.4 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.1 Étude d’enchainement des menus . . . . . . . . . . . . . . . . . . . . 25
3.4.1.1 Menu adminstrateur . . . . . . . . . . . . . . . . . . . . . . 25
3.4.1.2 Menu client . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.2 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.2.1 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.2.2 Architecture détaillée de l’application . . . . . . . . . . . . . 29
3.5 Description des interfaces de l’application . . . . . . . . . . . . . . . . . . . . 30
3.5.1 Présentation des entrées . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5.1.1 L’interface d’authentification . . . . . . . . . . . . . . . . . 30
3.5.1.2 Interface « Ajouter produit » . . . . . . . . . . . . . . . . . . 30
3.5.1.3 Interface « Modifier (ou Supprimer) un produit » . . . . . . . 31
3.5.2 Présentation des sorties . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5.2.1 Interface « Menu principale » . . . . . . . . . . . . . . . . . 32
3.5.2.2 Interface « Liste des produits » . . . . . . . . . . . . . . . . 32
3.5.2.3 Interface « Facture » . . . . . . . . . . . . . . . . . . . . . . 34
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Samar Daoudi ii
Table des figures
1.1 Le chronogramme des étapes de la réalisation du projet. . . . . . . . . . . . . . 3
2.1 Diagramme des cas d’utilisation « gestion des rôles ». . . . . . . . . . . . . . . 8
2.2 Diagramme des cas d’utilisation du « Gestion des achats ». . . . . . . . . . . . 10
2.3 Diagramme de classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Diagramme de séquence « Chercher produit » . . . . . . . . . . . . . . . . . . 15
2.5 Diagramme de séquence « Ajouter produit » . . . . . . . . . . . . . . . . . . . 15
2.6 Diagramme d’activité « Ajouter produit ». . . . . . . . . . . . . . . . . . . . . 16
2.7 Diagramme d’état-transition de l’objet « Chariot ». . . . . . . . . . . . . . . . 17
3.1 Un lecteur Adafruit PN532. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 La carte Arduino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 Le montage du lecteur Adafruit et de la carte Arduino. . . . . . . . . . . . . . 21
3.4 Menu Administrateur de l’application. . . . . . . . . . . . . . . . . . . . . . . 26
3.5 Menu client de l’application. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6 Architecture de l’application. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.7 Interface « Authentification ». . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.8 Interface « Ajouter produit ». . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.9 Interface « Modifier Produit ». . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.10 Interface « Menu principale ». . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.11 Interface « Liste des produits ». . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.12 Interface « Recherche d’un produit ». . . . . . . . . . . . . . . . . . . . . . . . 33
3.13 Interface « Facture ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.14 le Principe fondamental de la RFID . . . . . . . . . . . . . . . . . . . . . . . 36
3.15 les Composants du système . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
iii
Liste des tableaux
2.1 Classe « Produits » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Classe « Factures » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Classe « Chariots » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Classe « Lignes_Factures » . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Classe « Catégories » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Classe « Cartes_Fidélité » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1 Caractéristiques de micro-ordinateur. . . . . . . . . . . . . . . . . . . . . . . . 18
iv
Introduction générale
Grâce à l’évolution de la technologie et des pratiques d’archivage, plusieurs entreprises
telles que les magasins et les hypermarchés n’ont pas hésité à exploiter les avancées technolo-
giques pour offrir des services innovants et rapides à leurs consommateurs. Ainsi, le passage
progressif des produits en papier aux produits numérisés est devenu une vitalité pour les ma-
gasins afin de faciliter la tâche aux caissiers. Cette solution reste toujours insuffisante pour les
clients. De plus, l’existence d’un produit nécessite un moyen de contrôle. Ces sociétés visent
toujours à la recherche perpétuelle de solutions pratiques pour fidéliser les clients et faciliter
leurs achats.
C’est dans cette optique, dans le cadre de notre projet de fin d’étude, nous nous intéressons
à développer un système intelligent pour le chariot d’un magasin basé sur la technologie RFID
et NFC pour remédier à ces problèmes. Ainsi, nous avons pensé à mettre en place une solution
matérielle/logicielle qui permet de contrôler les produits d’une maniére automatique. Cette so-
lution a pour objectif, d’une part, à améliorer la qualité de service de vente comme le temps
important nécessaire pour le traitement des commandes : reconnaitres les détails des produits et
la somme totale de la commande. D’autre part, elle permet de garantir la sécurité des produits.
Afin de détailler la solution décrite ci-dessus, ce travail s’articule autour de trois chapitres.
Dans le premier chapitre, nous commençons par la présentation de la société et faire une étude
préalable du projet en analysant l’existant et présentant la solution proposée. Le deuxième cha-
pitre, intitulé ”Modélisation conceptuelle”, est dédié à la modélisation conceptuelle en suivant
la méthode de conception UML. Nous décrirons dans cette partie les différents diagrammes per-
mettant une visibilité plus précise des fonctionnalités de la solution proposée. Dans le dernier
chapitre intitulé ”Réalisation", nous présenterons les étapes de réalisation, le modèle relationnel,
l’architecture logicielle, l’environnement de travail, les choix techniques ainsi que les résultats
obtenus à travers quelques interfaces de l’application. Ce rapport débouchera sur une conclusion
générale et les perspectives ouvertes pour nos travaux.
Chapitre 1
Étude préalable
1.1 Introduction
Dans ce chapitre nous décrirons l’environnement du stage à travers une présentation de la
société d’accueil. Par la suite, nous présenterons le champ de l’étude, les objectifs à atteindre
ainsi que le planning prévisionnel. Nous passerons enfin à l’analyse et le critique de l’existant
afin de proposer la solution visant à la résolution de la problématique.
1.2 Présentation de la société d’accueil
La société Groupe Belwafi Programmer Soft (GBPSoft) est fondée en 2015 par le Program-
meur de développement Web et génie logiciel Bilel BELWAFI. C’est une société des Innova-
tions Informatique. Cette société est spécialisée dans la réalisation des systèmes intelligents
de gestion du stock des magasins et des restaurants. De plus, elle prendre en charge tous les
dépannages informatiques ainsi que les installations de logiciels ou les changements de pièces
détachées.
1.3 Planning prévisionnel
Pendant le mois de Février 2016 nous avons commencé par la collecte des informations
nécessaires pour réussir notre projet. Nous avons visité quelques magasins afin de contacter ses
responsables pour nous décrire leurs besoins. Puis nous avons fait une étude préalable de ce
projet en analysant et critiquant l’existant et nous avons proposé la solution convenable. A la
fin du mois de Février nous avons déjà validé les fonctionnalités de cette application et nous
avons rédigé le cahier des charges afin d’analyser la partie à développer à la suite. Au début
du mois de Mars nous avons fait l’analyse et la conception de cette application à l’aide de la
méthode conception UML. Au cours du mois de Mars nous avons commencé le développement
des interfaces de l’application. Ensuite nous avons achevé la partie dévellopement en utilisant
2
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
la language java jusqu’a fin du mois d’avril. Finallement, durant le mois de Mai nous avons
fini d’integrer la partie Arduino et le test des interfaces de l’application.La rédaction du rapport
a été faite tout au long de ces mois. La figure 1.1 illustre le chronogramme des étapes de la
réalisation du projet.
FIGURE 1.1 – Le chronogramme des étapes de la réalisation du projet.
1.4 Étude de l’existant
L’étude de l’existant nécessite une analyse détaillée de son domaine d’étude, de son environ-
nement, de ses perspectives, suivie d’une critique qui permet de dégager le dysfonctionnement
de la gestion des achats de produit afin de remédier à ces problèmes détecter et apporter des
solutions requises ainsi que des suggestions d’améliorations.
1.4.1 Analyse de l’existant :
Habituellement, un agent de magasin enregistre manuellement les détails des produits sur
des papiers, ainsi que les commandes. Pour un client donné, ce dernier commence à prendre un
chariot, puis, il circule dans le magasin et consulte les produits. Ensuite, il prend un ou plusieurs
produit(s) à acheter et les mettre dans le chariot (sans connaître la somme de ces produits). Puis,
il passe à la phase de paiement. Alors, il attend son rôle dans la queue en caisse. Après certains
moments, il reprendre les produits au nouveau à partir du chariot et les mettre au nouveau devant
le caissier, pour que ce dernier peut calculer la somme de la facture ainsi que de la valider.
Samar Daoudi 3
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
1.4.2 Critique de l’existant :
Les principaux des fonctionnements de la situation actuelle sont : D’une part, le processus
de l’achat des produits nécessite un temps important. En effet, reprendre les produits du chariot,
et le calcul de la somme de la commande peut ralentir les services. De plus, un client ne sait
pas d’avance la totalité de la commande. En cas de manque d’argent, il doit retourner certains
produits et par la suite, toute la commande doit être recalculer. Cette tâche est très pénible et
fait perdre de temps. Aussi la recherche d’une information de produit ou catégorie prend du
temps et cela influe sur la qualité de service donné aux clients. Nous pouvons aussi avoir des
situations de vols, dans le cas où le client cache certains produits. D’autre part, pour un agent
d’un magasin, la gestion manuelle des produits entraine une perte de temps important. Alors,
nous avons besoin de plus d’employés pour se partager les tâches.
1.5 Proposition d’une solution
Pour remédier à ces problèmes, un système informatique sera proposé. Ainsi, nous allons
entamer les parties suivantes :
— Gestion des produits.
— Gestion des catégories.
— Gestion des cartes fidélités
— Gestion des factures.
— Gestion des chariots.
— Gestion des commandes.
1.6 Déroulement du projet
L’identification par radio fréquence est un terrain qui devrait encore être développé dans
les années à venir, et plusieurs ingénieurs et chercheurs travaillent déjà sur des standards pour
mieux l’encadrer et parvenir à unifier les modulations et techniques pour traiter les informations
qui circulent s’appuyant sur ce système. Dans ce cadre, nous avons proposé de développer un
système intelligent en JAVA basé sur la technologie RFID. Ainsi, comme phase de préparation à
notre projet, nous allons étudier les différentes composantes RFID qui seront utilisées dans notre
implémentation ainsi que les langages de programmation qui seront utilisées pour commander
ces composantes. Tous les processus seront faits d’une manière informatisée et plus facile et
toutes les données seront sauvegardés dans une base de données. Ce qui permet principalement
de reconnaître automatiquement les détails des produits.
Samar Daoudi 4
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
1.7 Conclusion
Dans ce chapitre nous avons présenté le cadre général du projet, une étude de l’existant ainsi
que la solution envisagée à travers la présentation du sujet. Compte tenu de cette présentation,
nous passerons à la partie conception.
Samar Daoudi 5
Chapitre 2
Modélisation Conceptuelle
2.1 Introduction
Ce chapitre sera consacré à la présentation des différentes étapes de la conception de notre
application pour le développement de notre système intitulé « Développement d’un système
de reconnaissance des produits d’un chariot basé sur la technologie RFID ». Afin présenter au
mieux cette partie nous avons choisi à modéliser le système proposé en UML (Unified Mo-
deling Language) qui offre une flexibilité marquante. Cette modélisation est exprimé à travers
les différents types de diagra1mmes.Ainsi, nous allons commencer à détailler la conception en
présentant les diagrammes des cas d’utilisation. Puis, nous définirons des classes avec leurs at-
tributs ainsi que le diagramme de classe. Enfin, Nous réaliserons des vues dynamiques montrant
le fonctionnement du système via des scénarios.
2.2 Méthodologie de conception choisie
UML est un langage qui permet de modéliser une application selon une vision objet sans
se soucier des détails d’implémentation inhérents au langage de programmation utilisé. UML
est conçu pour s’adapter à n’importe quel langage de programmation Orientée Objet (POO)
et présente plusieurs modèles (diagrammes). UML va donc nous permettre de nous concentrer
sur la conception de notre application, tout en allant à l’essentiel concernant sa documentation.
Le méta modèle UML fournit une panoplie d’outils permettant de représenter l’ensemble des
éléments du monde objet (classes, objets, ...) ainsi que les liens qui les relie [1].
Les points forts d’UML
— UML est un langage formel et normalisé.
— UML est un support de communication performant.
Les points faibles d’UML
6
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
— La mise en pratique d’UML nécessite un apprentissage et passe par une période d’adap-
tation.
— Le processus (non couvert par UML) est une autre clé de la réussite d’un projet [2].
2.3 Modèle fonctionnel
2.3.1 Les acteurs
Notre projet exige 2 acteurs :
— Un administrateur : il gère les produits, les catalogues, les chariots à travers l’interface
Java.
— Un client : Il gère les achats à travers l’interface Arduino.
2.3.2 Diagramme de cas d’utilisation
Un diagramme de cas d’utilisation est un diagramme UML utilisé pour donner une vision
globale du comportement fonctionnel d’un système logiciel [3].
2.3.2.1 Diagramme des cas d’utilisation « gestion des rôles »
La figure 2.1 illustre le Diagramme des cas d’utilisation « gestion des rôles»
— DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « S’AUTHENTIFIER »
Nom cas d’utilisation : s’authentifier
Objectif : l’administrateur s’authentifie afin d’accéder à la gestion des produits, des com-
mandes, des catégories, et les cartes fidélité, à l’aide de son carte RFID.
Acteur principal : administrateur
Précondition : Les informations de l’administrateur sont sauvegardées dans la base de
données.
Scénario nominal :
1. L’utilisateur demande l’accès au système.
2. Le système détecte le numéro de la carte RFID.
3. Le système vérifie le numéro détecté.
Scénario alternatif :
Le numéro de la carte RFID introuvable dans la base de données : le système commu-
nique avec la base de données et refuse l’accès.
Le scénario nominal reprend à l’étape 1.
Scénario d’échec :
L’administrateur oubli sa carte RFID.
Samar Daoudi 7
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 2.1 – Diagramme des cas d’utilisation « gestion des rôles ».
— DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « AJOUTER PRODUIT »
Nom cas d’utilisation : ajouter produit
Objectif : l’administrateur doit pouvoir ajouter un nouveau produit en saisissant ses dé-
tails à travers le formulaire d’ajout.
Acteur principal : administrateur
Précondition : L’administrateur s’authentifie
Scénario nominal :
1. L’administrateur se connecte en passant sa carte devant le lecteur RFID.
2. Le système détecte et reconnaitre lé numéro de la carte RFID.
3. Le système affiche le menu de la liste des produits.
4. L’administrateur accède au menu d’ajout d’un nouveau produit.
5. Le système montre le formulaire d’ajout.
6. L’administrateur saisit les informations nécessaires du produit.
◦ Le système détecte automatiquement l’étiquette du produit.
◦ L’administrateur saisit les autres informations nécessaires du produit (libelle,
prix, ..., catégorie).
Samar Daoudi 8
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
7. L’administrateur valide les données saisis.
8. Le système ajoute le nouveau produit dans la base de données.
Scénario alternatif :
Le numéro de la carte est introuvable dans la base de données : la page communique
avec la base de données et refuse l’accès au système.
Le scénario nominal reprend à l’étape 1.
Scénario d’échec : L’administrateur annule l’ajout du nouveau produit.
— DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « GÉRER LES CHARIOT
»
Nom cas d’utilisation : ajouter chariot
Objectif : l’administrateur doit pouvoir ajouter un nouveau chariot en saisissant ses dé-
tails à travers le formulaire d’ajout.
Acteur principal : administrateur
Précondition : L’administrateur s’authentifie
Scénario nominal :
1. L’administrateur se connecte en passant sa carte devant le lecteur RFID.
2. Le système détecte et reconnaitre lé numéro de la carte RFID.
3. Le système affiche le menu.
4. L’administrateur accède au menu d’ajout d’un nouveau chariot.
5. Le système montre le formulaire d’ajout.
6. L’administrateur saisit les informations nécessaires du chariot.
7. L’administrateur valide les données saisis.
8. Le système ajoute le nouveau chariot dans la base de données.
Scénario alternatif :
Numéro de la carte est introuvable dans la base de données : la page communique avec
la base de données et refuse l’accès.
Le scénario nominal reprend à l’étape 1.
Scénario d’échec :
L’administrateur annule l’ajout du nouveau chariot.
2.3.2.2 Diagramme des cas d’utilisation « Gestion des achats »
La figure 2.2 illustre le Diagramme des cas d’utilisation « gestion des achats »
Samar Daoudi 9
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 2.2 – Diagramme des cas d’utilisation du « Gestion des achats ».
— DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « GÉRER LES ACHATS »
Nom cas d’utilisation : Gérer l’achat
Objectif : Le client doit choisir un chariot dans lequel il remet les produits demandés.
Acteur principal : Client
Pré-condition : Le client choisit un chariot occupé par une appareil de détection
Scénario nominal :
1. Le client ajoute un produit dans le chariot, la page communique avec la base de
données et affiche son prix.
2. Le client supprime un produit du chariot.
3. Le système mettre à jour la facture.
4. Le système recalcule et affiche la somme totale.
Scénario d’échec :
Le client retourne le chariot à sa place.
2.4 Diagramme de classes
Un diagramme de classes fournit une vue globale d’un système en présentant ses classes, in-
terfaces et collaborations, et les relations entre elles. Les diagrammes de classes sont statiques :
ils affichent ce qui interagit mais pas ce qui se passe pendant l’interaction [4].
Samar Daoudi 10
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 2.3 – Diagramme de classe.
Ci-dessous quelques règles de gestion pour la bonne formation du diagramme de classes de
la figure 2.3.
— Un produit appartient a un et un seul catégorie et un catégorie contient plusieurs produit.
— Une Facture contient plusieurs produits et appartient a une unique chariot.
— Une facture appartient a une seule carte fidélité et cette dernier peut contenir plusieurs
factures.
Dictionnaire apures de données Les tableaux suivants illustrent les différents attributs de
l’ensemble des classes constituant le diagramme de classe :
Samar Daoudi 11
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
Classe Produits
Attributs
Code Désignation Type
Id_Pro Identifiant de produit Numérique
Code_tag_Pro Code de produit Chaine de caractére
Nom_Pro Nom du produit Chaine de caractére
Marque_Pro Marque du produit Chaine de caractére
Poids_Pro Poids du produit Chaine de caractére
Prix_Pro Prix du produit Chaine de caractére
Désignation_Pro Désignation du produit Chaine de caractére
Photo_Pro Photo du produit Chaine de caractére
Date_fabrication_Pro Date Fabrication du produit Chaine de caractére
Date_limite_Pro Date limite du produit Chaine de caractére
Méthodes
Nom Description
Ajouter () Ajout d’un produit
Modifier () Modification d’un produit
Rechercher () Recherche d’un produit
Afficher () Affichage d’un produit
Supprimer () Suppression d’un produit
Exigences
Nom Contraintes
Date_fabrication_Pro Date_limite_Pro>Date_fabrication_Pro
TABLE 2.1 – Classe « Produits »
Classe « Factures»
Attributs
Code Désignation Type
Id_Fac Identifiant de Facture Numérique
Date_Fac Date de facture Chaine de caractére
Total_Fac Total de Facture Chaine de caractére
Méthodes
Nom Description
Calculer_Somme() Calculer la somme des produits
Supprimer() Supprimer la facture
TABLE 2.2 – Classe « Factures »
Samar Daoudi 12
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
Classe « Chariots»
Attributs
Code Désignation Type
Id_Cha Identifiant de Chariot Numérique
Num_Cha Numéro de chariot Numérique
Méthodes
Nom Description
Ajouter () Ajout d’un Chariot
Modifier () Modification d’un Chariot
Rechercher () Recherche d’un Chariot
Afficher () Affichage d’un Chariot
Supprimer () Suppression d’un Chariot
TABLE 2.3 – Classe « Chariots »
Classe « Lignes_Factures»
Attributs
Code Désignation Type
Id_Lig_Fac Identifiant de la Lignes de Facture Numérique
Heure_Lig_Fac Heure de la Lignes de Facture Chaine de caractére
Prix_Lig_Fac Prix de la Ligne de Facture Chaine de caractére
Qte_Lig_Fac Quantité de la Ligne de facture Numérique
TABLE 2.4 – Classe « Lignes_Factures »
Classe Catégories
Attributs
Code Désignation Type
Id_Cat Identifiant de Catégorie Numérique
Emplacement_Cat Emplacement de catégorie Chaine de caractére
Description_Cat Description de catégorie Chaine de caractére
Promotion_Cat Promotion de catégorie Chaine de caractére
Méthodes
Nom Description
Ajouter () Ajout d’une catégorie
Modifier () Modification d’une catégorie
Rechercher () Recherche d’une catégorie
Afficher () Affichage d’une catégorie
Supprimer () Suppression d’une catégorie
TABLE 2.5 – Classe « Catégories »
Samar Daoudi 13
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
Classe « Cartes_Fidélité »
Attributs
Code Désignation Type
Id_Car_Fid Identifiant de carte fidélité Numérique
Num_Car_Fid Numéro de la carte fidélité Chaine de caractére
Nom_Car_Fid Nom de personne ayant la carte fidélité Chaine de caractére
Prenom_Car_Fid Prenom de personne ayant la carte fidélité Chaine de caractére
Adresse_Car_Fid Adresse de personne ayant la carte fidélité Chaine de caractére
Tel_Car_Fid Téléphone de personne ayant la carte fidélité Numérique
Mail_Car_Fid Mail de personne ayant la carte fidélité Chaine de caractére
Points_Car_Fid Points de personne ayant la carte fidélité Numérique
Méthodes
Nom Description
Ajouter () Ajout de la carte fidélité
Modifier () Modification de la carte fidélité
Rechercher () Recherche de la carte fidélité
Afficher () Affichage de la carte fidélité
Supprimer () Suppression de la carte fidélité
TABLE 2.6 – Classe « Cartes_Fidélité »
2.5 Modéle dynamique
2.5.1 Diagramme de séquence
Le diagramme de séquence permet de décrire les scénarios de chaque cas d’utilisation en
mettant l’accent sur la chronologie des opérations en interaction avec les objets. [5]
Diagramme de séquence « gestion des rôles » Après l’authentification, l’administrateur peut
consulter la liste des produits ou chercher un produit en utilisant des critères de recherche
comme le libellé. Il a le droit d’ajouter un nouveau produit à travers le formulaire d’ajout par la
détection automatique du tag du produit, puis en saisissant ses détails spécifique. Un adminis-
trateur peut également modifier les informations d’un produit ou le supprimer. Les figures 2.5
et 2.4 montrent le diagramme de séquence « Ajouter produit » et « Chercher produit » successi-
vement.
Samar Daoudi 14
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 2.4 – Diagramme de séquence « Chercher produit »
FIGURE 2.5 – Diagramme de séquence « Ajouter produit »
Samar Daoudi 15
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
2.5.2 Diagramme d’activité :
Le diagramme d’activités donne une vision des enchaînements des activités propres à une
opération ou un cas d’utilisation. Dans cette partie, nous allons présenter le diagramme d’acti-
vité « Ajouter produit ».
Diagramme d’activité « Ajouter produit»
FIGURE 2.6 – Diagramme d’activité « Ajouter produit ».
2.5.3 Diagramme d’états transition
Le diagramme d’états-transition montre les différents états des objets en réaction aux évè-
nements [6]. Dans cette partie, nous allons présenter le diagramme d’état-transition de l’objet «
Chariot ».
Diagramme d’état-transition de l’objet « Chariot » :
Samar Daoudi 16
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 2.7 – Diagramme d’état-transition de l’objet « Chariot ».
2.6 Conclusion
A travers ce chapitre, nous avons présenté notre conception de l’application. Nous avons
fourni, en premier lieu, nous avons détaillé la conception de l’application à travers les dia-
grammes de cas d’utilisation d u système. En deuxième lieu nous avons présenté les diagrammes
de classe. A la fin du chapitre nous avons présenté le modèle dynamique à travers le diagramme
de séquence et les diagrammes comportementaux (activité et état-transition). A présent, nous
sommes capables d’entamer la partie réalisation.
Samar Daoudi 17
Chapitre 3
Réalisation
3.1 INTRODUCTION
Après avoir élaboré la conception de notre application, nous abordons dans ce chapitre le
dernier volet de ce rapport, qui a pour objectif d’exposer la phase de réalisation. La phase de
réalisation est considérée comme étant la concrétisation finale de toute la méthode de concep-
tion. Nous menons tout d’abord une étude technique où nous décrivons les ressources logicielles
utilisées dans le développement de notre projet. Nous présentons en premier lieu notre choix
de l’environnement de travail, où nous spécifions l’environnement matériel et logiciel qu‘on a
utilisé pour réaliser notre application puis nous détaillons l’architecture, aussi nous présentons
quelques interfaces réalisées pour illustrer le fonctionnement réel de notre application.
3.2 Environnement du travail
Nous allons consacrer cette section à la présentation les différents matériels, langages, tech-
nologies et outils logiciels utilisés dans le cadre de ce projet.
3.2.1 Environnement matériel
Pour la réalisation de notre logiciel, nous avons utilisé d’une part un micro-ordinateur décrit
dans le tableau 3.1.
Marque Dell
Processeur Intel® Core™ i3-3110M CPU @ 2,4GHz
RAM 4GO
Disque dur 500GO
Système d’exploitation Microsoft Windows 7 Professionnel
TABLE 3.1 – Caractéristiques de micro-ordinateur.
18
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
D’autre part, l’architecture de notre système est basée sur la technologie RFID. Cette tech-
nologie sera détaillé par la suite dans l’annexe 3.6. Pour la réalisation de notre application, nous
avons choisi un lecteur Adafruit et une carte Arduino.
3.2.1.1 Lecteur Adafruit PN532 RFID/NFC Shiled
Les lecteurs Adafruit PN532 est l’interface qui va permettre de lire l’information contenue
dans la puce. Ils ont globalement tous le même mode de fonctionnement, mais un choix de
lecteur adapté diffère complètement d’une utilisation à l’autre. Les lecteurs Adafruit PN532
(Figure 3.1) peuvent prendre des formes variées selon l’utilisation à laquelle ils seront destinés.
Du fait qu’il n’a pas besoin d’être en contact direct avec la puce [7].
FIGURE 3.1 – Un lecteur Adafruit PN532.
3.2.1.2 La carte Arduino
Les modules Arduino sont des plates-formes de prototype micro contrôlées « open-source »
spécialement conçues pour les artistes, les concepteurs et toute personne intéressée par la créa-
tion d’objets ou environnements interactifs. L’Arduino propose plusieurs types de cartes de
développement qui se présentent sous forme de circuits imprimés sur les quelles se trouve un
microcontrôleur pour analyser et produire des signaux électriques de manière à effectuer des
tâches très diverses comme la domotique, la robotique et tous type d’applications embarqués.
Nous imagions sur la Figure 3.2, la carte Arduino de type Uno qui est construite autour d’un
microcontrôleur de type Atmega 1280.
Une carte ArduinoUno présente les interfaces suivantes :
Samar Daoudi 19
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
— Les puces
— Port USB.
— 14 entrées/sorties numériques GPIO.
— 6 entrées analogiques.
Une carte Arduino est généralement construite autour d’un microcontrôleur, et de compo-
sants complémentaires qui facilitent la programmation et l’interfaçage avec d’autres circuits.
Chaque module possède au moins un régulateur linéaire 5V. L’Arduino utilise la plupart des
entrées/sorties du microcontrôleur pour l’interfaçage avec les autres circuits. [8]
FIGURE 3.2 – La carte Arduino.
3.2.1.3 Montage
Pour connecter le lecteur Adafruit PN532 à notre ArduinoUno, il suffira de mettre la shield
au-dessus de la carte Arduino comme l’illustre la figure 3.3 :
Samar Daoudi 20
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 3.3 – Le montage du lecteur Adafruit et de la carte Arduino.
3.2.2 Environnement logicielle
3.2.2.1 Les langages de développement
Dans cette section nous allons lister les langages utilisés tout en définissant brièvement
chacun :
Java Java est un langage de programmation moderne, orienté objet développé par Sun
Microsystems (aujourd’hui racheté par Oracle). C’est un langage très utilisé, notamment par un
grand nombre de programmeurs professionnels, ce qui en fait un langage incontournable actuel-
lement. Une de ses plus grandes forces est son excellente portabilité. Autrementt dit, une fois
le programme est créé, il fonctionne automatiquement sous Windows, Mac, Linux, etc. Pour ce
raison, divers plateformes et Framework associés visent à guider, sinon garantir, cette portabilité
des applications développées en Java [donner une référence]. Java offre aussi de diverses pro-
grammes telques : des applications, sous forme de fenêtre ou de console, des applets, qui sont
des programmes Java incorporés à des pages web ; des applications pour appareils mobiles, avec
J2ME ;et bien d’autres J2EE, JMF, J3D pour la 3D... [9].
Samar Daoudi 21
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
C++ est une évolution du langage C vers un langage orienté objet. Il garde les
points forts du C et en corrige certains points faibles. Entre les langages «bas niveau» comme
l’assembleur, et les langages «haut niveau» comme Java, C++ peut à la fois interagir avec les
couches hardware et fonctionner comme un puissant langage de haut niveau. C++ est un langage
de programmation compilé. C++ est l’un des langages de programmation les plus populaires,
avec une grande variété de plateformes matérielles et de systèmes [donner une référence]. Ce
langage C++ est un des langages les plus célèbres au monde.
Il est caractérisé aussi poar son portabilité. Il est très répandu câd Ceratins programmens
doivent car il foctionnes. C’est en particulier le cas des jeux vidéo, mais aussi des outils finan-
ciers ou de certains programmes militaires qui doivent fonctionner en temps réel. Il existe de
nombreuses bibliothèques pour le C++. Les bibliothèques sont des extensions pour le langage,
un peu comme des plug-ins. De base, le C++ ne sait pas faire grand chose mais, en le combinant
avec de bonnes bibliothèques, on peut créer des programmes 3D, réseaux, audio, fenêtrés, etc.
Il est multi-paradigmes signifie la possiilité de programmer de différentes façons en C++ [10].
XML
L’Extensible Markup Language (XML, « langage à balise extensible » en fran-
çais) est un langage informatique de balisage générique qui dérive du SGML. Cette syntaxe
est dite «extensible» car elle permet de définir différents espaces de noms, c’est-à-dire des lan-
gages avec chacun leur vocabulaire et leur grammaire, comme XHTML, XSLT, RSS, SVG...
Elle est reconnaissable par son usage des chevrons (<>) encadrant les balises. L’objectif ini-
tial est de faciliter l’échange automatisé de contenus complexes (arbres, texte riche...) entre
systèmes d’informations hétérogènes (interopérabilité) [11].
MySQL
Le Langage de requêtes structuré MySQL (acronyme de « My Structured Query
Langage») est un système de gestion de bases de données relationnelles dédiées Open source.
Il est très rapide, fiable et facile à utiliser et gratuit. Il a été développé à l’origine pour gérer de
très grandes bases de données beaucoup plus rapidement que des solutions déjà établies. Il offre
Samar Daoudi 22
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
un ensemble de fonctionnalités large et riche. Sa rapidité et sa sécurisation en font un outil idéal
pour les applications internet [12].
3.2.2.2 Les outils de développement utilisés
Les principaux outils qui ont contribué à l’élaboration de notre application sont les suivants :
Visual Paradigm for UML
Visual Paradigm for UML est, comme son nom le laisse supposer, un logiciel
permettant aux programmeurs de mettre en place des diagrammes UML. Disposant d’un outil
créant des rapports personnalisables aux formats PDF, Word ou HTML afin de les partager et les
publier sur Internet, cette application est compatible avec de nombreuses applications, standards
et environnements. Ainsi, nous pouvons générer notamment des diagrammes de séquences ou
de cas d’utilisation et ainsi produire du code source dans de nombreux langages comme le Java
ou encore le C++, ou bien faire l’inverse, générer des diagrammes à partir de code déjà existant
[13].
Netbeans
Netbeans est un environnement de développement intégré (EDI), placé
en open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development
and Distribution License). En plus de Java, Netbeans permet également de supporter différents
autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend
toutes les caractéristiques d’un IDE moderne (éditeur en couleur, projets multi-langage, refac-
toring, éditeur graphique d’interfaces et de pages Web). Conçu en Java, Netbeans est disponible
sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indépen-
dante des systèmes d’exploitation (requérant une machine virtuelle Java). Un environnement
Java Development Kit JDK est requis pour les développements en Java. Netbeans constitue par
ailleurs une plateforme qui permet le développement d’applications spécifiques (bibliothèque
Swing (Java)). L’IDE Netbeans s’appuie sur cette plateforme [14].
XAMPP
Samar Daoudi 23
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
XAMPP est un ensemble de logiciels permettant de mettre en place facilement
un serveur Web et un serveur FTP. Il s’agit d’une distribution de logiciels libres (X Apache
MySQL Perl PHP) offrant une souplesse d’utilisation, réputée pour son installation simple et
rapide. Ainsi, il est à la portée d’un grand nombre de personnes puisqu’il ne requiert pas de
connaissances particulières et fonctionne, de plus, sur les systèmes d’exploitation les plus répan-
dus. Cette « distribution » se chargera donc d’installer l’ensemble des outils dont nous aurons
besoin lors de la création d’un site Web. Plus d’une dizaine d’utilitaires sont intégrés, comme
MySQL, PHP, Perl ou encore PhpMyAdmin. Il est distribué avec différentes bibliothèques logi-
cielles qui élargissent la palette des services de façon notable : OpenSSL, Expat (parseur XML),
PNG, SQLite, Zlib, ... ainsi que différents modules Perl et Tom cat, FileZilla Server [15].
Lyx
LYX est un logiciel libre WYSIWYM sous licence GNU GPL pour la création
de documents LATEX. À la différence des éditeurs de texte courants, LYX n’est pas tout à fait
WYSIWYG. Le résultat de l’impression d’un document n’est pas identique à ce qui est affiché
à l’écran. Le logiciel LYX a été conçu pour que l’utilisateur n’ait pas à sa charge la mise en
page, et qu’il puisse se concentrer sur le contenu du texte et sur la structure du document. Les
concepteurs de LYX ont développé le logiciel afin qu’il obéisse à la règle WYSIWYM selon
laquelle ce que vous voyez (à l’écran) est ce que vous voulez dire [16].
3.3 Modèle Relationnel
3.3.1 Règles de transformation
Nous distinguons deux règles de passage principales :
1. Transformation des classes : chaque classe de données devient une relation, il faut choisir
un attribut de la classe pouvant jouer le rôle de clé.
2. Transformation des associations : Nous distinguons trois familles d’associations
— Association 1.. : il faut ajouter un attribut de type clé étrangère dans la relation fils de
l’association. L’attribut porte le nom de la clé primaire de la relation père de l’associa-
tion.
Samar Daoudi 24
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
— Association *..* et n-aire et classes-association : la classe-association devient une rela-
tion. La clé primaire de cette relation est la concaténation des identifiants des classes
connectées à l’association.
— Association 1.. 1 : il faut ajouter un attribut de type clé étrangère dans la relation dérivée
de la classe ayant la multiplicité minimale égale à un. L’attribut porte le nom de la
clé primaire de la relation dérivée de la classe connectée à l’association. Si les deux
multiplicités minimales sont à un, il est préférable de fusionner les deux classes en une
seule [17].
3.3.2 Description du modèle relationnel
— Produit(Id_Pro, Code_Tag_Pro, Nom_Pro, Marque_Pro, Poids_Pro, Prix_Pro, Designa-
tion_Pro, Choix_Pro, Photo_Pro, Date_Fabrication_Pro, Date_Limite_Pro, #Id_Catégorie)
— Chariots(Id_Cha, Num_Cha, #Id_Facture)
— Factures(Id_Fac, Total_Fac, Date_Fac, #Id_Carte_Fidélité)
— Catégories(Id_Cat, Nom_Cat, Emplacement_Cat, Description_Cat, Promotion_Cat)
— Lignes_Factures(Id_Lig_Fac, Qte_Lig_Fac, Prix_Lig_Fac, #Id_Produit, #Id_Facture)
— Cartes_Fidelité(Id_Car_Fid, Nom_Car_Fid, Prenom_Car_Fid, Adresse_Car_Fid, Tel_Car_Fid,
Mail_Car_Fid, Points_Car_Fid)
— Lecteur(Id_Lec)
3.4 Implémentation
3.4.1 Étude d’enchainement des menus
3.4.1.1 Menu adminstrateur
Samar Daoudi 25
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 3.4 – Menu Administrateur de l’application.
Samar Daoudi 26
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
3.4.1.2 Menu client
FIGURE 3.5 – Menu client de l’application.
3.4.2 Architecture de l’application
3.4.2.1 Architecture MVC
Le patron d’architecture logicielle Modèle-Vue-Contrôleur (MVC, en anglais Model-View-
Controller) est un modèle destiné à répondre aux besoins des applications interactives en sépa-
rant les problématiques liées aux différents composants au sein de leur architecture respective.
Ce paradigme regroupe les fonctions nécessaires en trois catégories :
1. Un modèle (modèle de données) ;
2. Une vue (présentation, interface utilisateur) ;
3. Un contrôleur (logique de contrôle, gestion des événements, synchronisation).
Modèle : Le modèle représente le cœur (algorithmique) de l’application : traitements des
données, interactions avec la base de données, etc. Il décrit les données manipulées par l’ap-
plication. Il regroupe la gestion de ces données et est responsable de leur intégrité. La base de
Samar Daoudi 27
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
données sera l’un de ses composants. Le modèle comporte des méthodes standards pour mettre
à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes
pour récupérer ces données. Les résultats renvoyés par le modèle ne s’occupent pas de la présen-
tation. Le modèle ne contient aucun lien direct vers le contrôleur ou la vue. Sa communication
avec la vue s’effectue au travers du patron Observateur.
Vue : Ce avec quoi l’utilisateur interagit se nomme précisément la vue. Sa première tâche est
de présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toute action
de l’utilisateur (hover, clic de souris, sélection d’un bouton radio, cochage d’une case, entrée de
texte, de mouvements, de voix, etc.). Ces différents événements sont envoyés au contrôleur. La
vue n’effectue pas de traitement, elle se contente d’afficher les résultats des traitements effectués
par le modèle et d’interagir avec l’utilisateur. Plusieurs vues peuvent afficher des informations
partielles ou non d’un même modèle. Par exemple si une application de conversion de base a
un entier comme unique donnée, ce même entier peut être affiché de multiples façons (en texte
dans différentes bases, bit par bit avec des boutons à cocher, avec des curseurs). La vue peut
aussi offrir à l’utilisateur la possibilité de changer de vue. Ceci permet une certaine récursivité
du modèle.
Contrôleur : Le contrôleur prend en charge la gestion des événements de synchronisation
pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de
la vue et enclenche les actions à effectuer. Si une action nécessite un changement des don-
nées, le contrôleur demande la modification des données au modèle afin que les données af-
fichées se mettent à jour. D’après le patron de conception observateur/observable, la vue est
un « observateur » du modèle qui est lui « observable ». Certains événements de l’utilisateur
ne concernent pas les données mais la vue. Dans ce cas, le contrôleur demande à la vue de se
modifier. Le contrôleur n’effectue aucun traitement, ne modifie aucune donnée. Il analyse la
requête du client et se contente d’appeler le modèle adéquat et de renvoyer la vue correspon-
dant à la demande. Par exemple, dans le cas d’une base de données gérant les emplois du temps
des professeurs d’une école, une action de l’utilisateur peut être l’entrée (saisie) d’un nouveau
cours. Le contrôleur ajoute ce cours au modèle et demande sa prise en compte par la vue. Une
action de l’utilisateur peut aussi être de sélectionner une nouvelle personne pour visualiser tous
ses cours. Ceci ne modifie pas la base des cours mais nécessite simplement que la vue s’adapte
et offre à l’utilisateur une vision des cours de cette personne. Quand un même objet contrôleur
reçoit les événements de tous les composants, il lui faut déterminer l’origine de chaque évé-
nement. Ce tri des événements peut s’avérer fastidieux et peut conduire à un code peu élégant
(un énorme switch). C’est pourquoi le contrôleur est souvent scindé en plusieurs parties dont
chacune reçoit les événements d’une partie des composants [18].
Samar Daoudi 28
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
3.4.2.2 Architecture détaillée de l’application
Notre projet est basé sur la technologie d’identification par radio fréquence afin de gérer
les produits grâce à la radio-étiquette qu’elle porte Nous avons intérêt à mettre en place une
architecture rigoureuse, de manière à garantir la maintenabilité, l’évolutivité et l’exploitabilité
de notre application. La Figure 3.6 montre l’architecture qui sera mise en place dans le cadre de
notre projet. Il est décomposé de deux parties principales :
les étiquettes RFID : Nous utilisons des étiquettes semi-passives. Chaque étiquette RFID
contient une information de 20 octets : un octet de début de tag, un identifiant ou tag constitué de
18 octets et donc de 18 nombres codés en hexadécimal et un octet marquant la fin du tag. Nous
avons associé chaque étiquette RFID à un produit du magasin au sein de la base de données et
à l’administrateur.
Une partie « client » embarquée : Elle représente le terminal utilisateur. Nous avons utilisé
un ordinateur portable pour représenter cette partie. Cet ordinateur est équipé d’un lecteur RFID.
Sur l’ordinateur portable, un programme réalisé en C++ permet la gestion des informations
arrivant sur le port USB et l’extraction du tag lorsque le lecteur RFID passe au dessus d’une
étiquette.
FIGURE 3.6 – Architecture de l’application.
Samar Daoudi 29
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
La communication entre eux est réalisée par une liaison port série.
3.5 Description des interfaces de l’application
3.5.1 Présentation des entrées
3.5.1.1 L’interface d’authentification
L’authentification est une procédure principale afin autoriser l’accès a l’application. Dans
cette phase, l’administrateur accède à l’application en détectant automatiquement le numéro
de la carte RFID. L’administrateur va passer son carte RFID devant le lecteur pour qu’il soit
connecter et avoir la permission de passer au système. La figure 3.7 montre la phase d’authen-
tification.
FIGURE 3.7 – Interface « Authentification ».
3.5.1.2 Interface « Ajouter produit »
Un administrateur a le droit d’ajouter des nouveaux produits en remplissant le formulaire
présenté dans la figure 3.7. Nous notons que le champ de codeTag du produit sera détecté
automatiquement. Cette interface présente le cas d’ajout un produit (il peut annuler l’ajout en
cas d’erreur).
Samar Daoudi 30
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 3.8 – Interface « Ajouter produit ».
3.5.1.3 Interface « Modifier (ou Supprimer) un produit »
En cliquant sur la ligne correspondante à un produit, l’administrateur peut modifier ses dé-
tails ou le supprimer. Sinon, un pop-up s’affiche. La figure 3.7 montre la phase de modification
ou suppresion d’un produit sélectionné.
FIGURE 3.9 – Interface « Modifier Produit ».
Samar Daoudi 31
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
3.5.2 Présentation des sorties
3.5.2.1 Interface « Menu principale »
Après l’authentification en tant que administrateur, le menu principale s’affiche permettant
de gérer les produits, les catégories, les chariots ou les cartes de fidélité.
FIGURE 3.10 – Interface « Menu principale ».
3.5.2.2 Interface « Liste des produits »
En cliquant sur le bouton « Produits », la Figure 3.11 montre la liste des produits.
Samar Daoudi 32
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 3.11 – Interface « Liste des produits ».
En cliquant sur une ligne donnée, cette interface montre les détails du produit relatif au
produit sélectionné dans la partie droite. Un champ de recherche, au haut de la page, permet de
saisir le nom du produit comme le montre la Figure 3.12.
FIGURE 3.12 – Interface « Recherche d’un produit ».
Samar Daoudi 33
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
3.5.2.3 Interface « Facture »
Cette interface permet à un client donné de savoir la liste des produits ajoutés dans le chariot.
La commande sera mettre à jour immédiatement à chaue opération d’ajout ou de suppression
d’un produit. La Figure 3.13 illuste un example d’une facture d’un client.
FIGURE 3.13 – Interface « Facture ».
3.6 Conclusion
Dans ce chapitre, nous avons présenté les aspects de réalisation de notre solution pour éla-
borer ce travail. Nous avons aussi présenté nos choix techniques. Enfin nous avons clôturé ce
chapitre par quelques captures d’écrans de l’application.
Samar Daoudi 34
Annexe
Système RFID
Le système d’identification par radio-fréquence (RFID l’acronyme de Radio Frequency
Identification) est une technologie qui permet de mémoriser et de récupérer des informations
à distance grâce à une étiquette qui émet des ondes radio. Le terme RFID englobe toutes les
technologies qui utilisent les ondes radio pour identifier automatiquement des objets ou des
personnes. Cette technologie est très attractive pour l’entreprise qui offre la possibilité d’une
gestion automatique du nombre conséquent d’informations qu’elle doit traiter. Les équipements
adaptés à ce système permettent de synchroniser les flux physiques avec les flux d’informations.
Principe fondamental de la RFID
RFID fait partie des technologies d’identification automatique, au même titre que la recon-
naissance optique de caractères ou de codes barre. Cette technologie permet d’identifier un objet
ou une personne, d’en suivre le cheminement et d’en connaître les caractéristiques à distance
grâce à une étiquette émettant des ondes radio, attachée ou incorporée à l’objet ou à la per-
sonne. La technologie RFID permet la lecture des étiquettes même sans ligne de vue directe et
peut traverser de fines couches de matériaux (peinture, neige, etc.). La figure illustre le Principe
fondamental de la RFID.
35
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
FIGURE 3.14 – le Principe fondamental de la RFID
Composants et fonctionnement du système
Une solution complète de RFID comprend les étiquettes, les lecteurs et encodeurs et l’inter-
giciel (middleware). Ce dernier permet d’intégrer le flux des données dans le système d’infor-
mation de l’entreprise.
FIGURE 3.15 – les Composants du système
Samar Daoudi 36
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
Les étiquettes
Une des méthodes d’identification les plus utilisées est d’abriter un numéro de série ou une
suite de données dans une puce (chip) et de relier cette dernière à une petite antenne. Ce couple
(puce silicium + antenne) est alors encapsulé dans un support (RFID Tag ou RFID Label). Ces
"tag" peuvent alors être incorporés dans des objets ou être collés sur des produits. Le tout est
alors imprimé sur un support pliable, souvent adhésif. Le format des données inscrites sur les
étiquettes est standardisé à l’initiative d’EPC Global (Electronic Product Code).
Les différents types de tags et leurs spécificités techniques
Les étiquettes actifs Pour exploiter les informations contenues dans ces étiquettes, il faut im-
pérativement disposer du lecteur approprié. Celui-ci émet des ondes radios en direction de la
capsule ce qui permet de l’alimenter en énergie (alimentation par induction électromagnétique),
en d’autres termes de l’activer (la puce renvoie alors des données), pour en extraire les informa-
tions qu’elle renferme. Ces puces ne sont pas capables d’effectuer des traitements dynamiques
mais seulement de renvoyer des données statiques.
Les étiquettes passifs (sans batterie) Ne disposant d’aucune alimentation externe, ils dé-
pendent de l’effet électromagnétique de réception d’un signal émis par le lecteur. C’est ce cou-
rant qui leur permet d’alimenter leurs microcircuits. Ils sont peu coûteux à produire et sont
généralement réservés à des productions en volume. Ce sont eux que l’on trouve plus particu-
lièrement dans la logistique et le transport. Ils utilisent différentes bandes de fréquences radio
selon leur capacité à transmettre à distance plus ou moins importante et au travers de substances
différentes (air, eau, métal). La distance de lecture est inférieure à un mètre. Les basses et hautes
fréquences sont normalisées au niveau mondial. Ces puces sont collées sur les produits pour un
suivi allant jusqu’aux inventaires. Elles sont jetables ou réutilisables suivant les cas. Les puces
avec une antenne de type “papillon“ ont une portée courante de 1 à 6 mètres (images 3, 5, 6 et 7).
Ces puces UHF (Ultra Haute Fréquence) sont utilisées pour la traçabilité des palettes dans les
entrepôts. Par contre, la tolérance aux obstacles est moyenne. Pour les très hautes fréquences,
l’Europe, l’Asie et les Etats-Unis se distinguent par des fréquences et des réglementations dif-
férentes.
Les étiquettes semi_passifs Ces tags sont similaires aux cartes d’identification passive. Ils
emploient des technologies proches, mais avec quelques différences importantes. Ils disposent
en effet eux aussi d’une petite batterie qui fonctionne en permanence, ce qui libère l’antenne
pour d’autres tâches, dont notamment la réception de signaux de retour. Ces tags sont plus
robustes et plus rapides en lecture et en transmission que les tags passifs, mais ils sont aussi
plus chers.
Samar Daoudi 37
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
Les fréquences d’utilisation
Le choix de l’étiquette RFID doit se faire en fonction de la fréquence souhaitée qui influen-
cera la distance et la vitesse de lecture :
— l’étiquette basse fréquence (BF) 125 kHz
— l’étiquette haute fréquence (HF) 13,56 MHz
— l’étiquette RFID (UHF) 868 MHz.
Application
Les applications RFID s’appuient sur différents standards dépendant des fonctionnalités exi-
gées par les processus métier et par certaines contraintes locales. La RFID permet de répondre à
un grand nombre de besoins. Elle se développe bien en intra entreprise et dans la logistique. Les
principales difficultés auxquelles le standard RFID doit faire face sont en voie d’être surmon-
tées : coût de l’étiquette), gestion de l’anticollision en cas de lecture de nombreuses étiquettes
en simultané, lecture au travers des fluides, adoption ou convergence trop lente de certains stan-
dards, remise en cause de processus anciens, problèmes de sécurité et d’éthique.
Avantages et inconvénients
Avantages
La capacité de mise à jour du contenu par les intervenants A la différence du code à barres
pour lequel les données sont figées une fois imprimée ou marquée, le contenu des données
stockées dans une étiquette radio fréquence va pouvoir être modifié, augmenté ou diminué par
les intervenants autorisés (étiquettes en lecture et écriture multiple).
Une plus grande capacité de contenu Dans une étiquette radiofréquence une capacité de
1000 caractères est aisément stockable sur 1mm2, et peut atteindre sans difficulté particulière
10000 caractères. Dans une étiquette logistique apposée sur une palette, les différentes unités
contenues et leurs quantités respectives pourront être enregistrées et lues.
La vitesse de marquage Le code à barres dans un contexte logistique nécessite le plus sou-
vent l’impression d’un support papier. La manipulation et la pose des étiquettes restent des
opérations manuelles ou mécaniques. Les étiquettes radio fréquence peuvent être inclues dans
le support de manutention ou dans les conditionnements dès l’origine. Les données concernant
les objets contenues ou transportées sont écrites en une fraction de seconde au moment de la
constitution de l’unité logistique ou de transport, sans manipulation supplémentaire.
Une sécurité d’accès au contenu Comme tout support numérique, l’étiquette radio fréquence
peut être protégée par mot de passe en écriture ou en lecture. Les données peuvent être chiffrées.
Samar Daoudi 38
Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la
technologie RFID
Dans une même étiquette, une partie de l’information peut être en accès libre, et l’autre protégée.
Cette faculté fait de l’étiquette RF, un outil adaptée à la lutte contre le vol et la contre façon.
Une plus grande durée de vie Dans les applications où un même objet peut être utilisé plu-
sieurs fois, comme l’identification des supports de manutention, ou la consignation du conte-
nant, une étiquette radio fréquence peut être réutilisée 1 000 000 de fois.
Une plus grande souplesse de positionnement Avec l’étiquette radio fréquence, il est pos-
sible de s’abstraire des contraintes liées à la lecture optique, elle n’a pas besoin d’être vue. Il lui
suffit d’entrer dans le champ du lecteur pour que sa présence soit détectée.
Inconvénients
La perturbation par l’environnement physique La lecture des étiquettes radio fréquences
est perturbée par la présence, par exemple, de métaux dans leur environnement immédiat. Des
solutions doivent être étudiées au cas par cas pour minimiser ces perturbations, comme cela a
été fait par exemple pour l’identification des bouteilles de gaz.
Les interrogations sur l’impact de la radio fréquence sur la santé Cette question fait dé-
bat depuis quelques années, en particulier concernant les portiques antivol et les téléphones
portables. Les étiquettes passives ne présentent aucun risque quel que soit leur nombre puis-
qu’elles ne sont actives que lorsqu’elles se trouvent dans le champ d’un lecteur. Les études
portent donc essentiellement sur les lecteurs et visent à définir les critères de régulation de leur
puissance d’émission afin d’éviter qu’ils ne créent des perturbations sur les équipements de
santé tels que les pacemakers, mais aussi sur l’organisme humain
Samar Daoudi 39
Conclusion générale et perspectives
Le présent travail décrit la réalisation d’un système de reconnaissance des produits d’un
chariot à distance basé sur la technologie RFID.
Cette application dispose de dispositifs matériels et logiciels qui permettent la reconnais-
sance à distance les produits grâce aux tags RFID. Cette application permet aussi de gérer les
produits, faire le suivi automatique d’une manière plus rapide, efficace et sécurisée. De plus,
nous avons assuré à notre programme une grande portabilité grâce au langage de programma-
tion JAVA avec le lecteur RFID et la base de données MySQL.
La réalisation de cette application porte sur trois chapitres. Nous avons présenté dans la
première partie un recueil présentant le champ de l’étude, l’étude de l’existant, les objectifs à
atteindre, et la solution définie. La deuxième partie porte sur la modélisation conceptuelle en
se basant sur le langage de conception des systèmes d’information UML. Enfin, nous avons
effectué la réalisation de notre application en définissant l’environnement matériel et logiciel
de la réalisation, le modèle physique des données et le fonctionnement de notre application à
travers la présentation de certaines feuilles d’interfaces.
Par ailleurs, nous avons rencontré des difficultés et des obstacles que nous avons essayé de
les surmonter. Les contraintes de temps et l’aptitude à comprendre le domaine d’Arduino et
les difficultés matérielles des cartes RFID sont les principaux obstacles. La réalisation de ce
projet nous a été très bénéfique sur le plan technique. En effet, nous avons eu une opportunité
de mieux maîtriser le développement en Java et de savoir plus l’environnement de l’ Arduino.
En conclusion, ce travail a accompli ses objectifs, mais ce travail n’est que le début d’un long
processus. En effet, il existe quelques améliorations et extensions qui peuvent enrichir notre
application telle que le suivi des historiques des commandes commandes, les cartes de fidélités
,configuraton et paramétrage de lecteur.
40
Bibliographie
[1] http ://www.memoireonline.com/01/13/6849/m_Application-client-serveur-de-gestion-
des-stocks8.html
[2] http ://uml.free.fr/cours/p5.html
[3] https ://fr.wikipedia.org/wiki/Diagramme_des_cas_d%27utilisation
[4] http ://uml.free.fr/cours/i-p14.html
[5] https ://fr.wikipedia.org/wiki/Diagramme_de_s%C3%A9quence
[6] http ://niedercorn.free.fr/iris/iris1/uml/uml09.pdf
[7] http ://rfid.comprendrechoisir.com/comprendre/lecteur-rfid
[8] http ://rfid.comprendrechoisir.com/comprendre/etiquette-rfid
[9] http ://ipeti.forumpro.fr/t21-definition-de-langage-java-java-script
[10] http ://www.modelia.org/html/9_fichesTechniques/510_CppEtJava.htm
[11] https ://fr.wikipedia.org/wiki/Extensible_Markup_Language
[12] https ://fr.wikipedia.org/wiki/MySQL
[13]http ://www.visual-paradigm.com/editions/modeler.jsp
[14]http ://fr.wikipedia.org/wiki/NetBeans
[15]http ://fr.wikipedia.org/wiki/XAMPP
[16] https ://fr.wikipedia.org/wiki/LYX
[17] http ://stephanie.laporte.pagesperso-orange.fr/Pdf/passageMCDMR.pdf
[18] https ://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-contr%C3%B4leur
[19] https ://fr.wikipedia.org/wiki/Radio-identification
[20] http ://www.nopanda.com/inconvenients-technologie-s522015.htm
41
Développement d’un système de
reconnaissance des produits d’un chariot basé
sur la technologie RFID
Samar Daoudi
‫الخالصة‬:
Résumé :
Notre projet intitulé « Développement d’un système de reconnaissance des produits
d’un chariot basé sur la technologie RFID». Ce présent travail comporte deux parties :
Une partie qui se base sur la technologie innovante RFID à l’aide des cartes Arduino.
L’autre partie forme une application java. Nous avons achevés notre travail, grâce à
l’approche UML pour la conception de notre système. Dans la partie réalisation, nous
avons capturé des imprimes écran de la majorité des interfaces de notre projet.
Abstract:
Our project entitled «Development of a product recognition system of a shopping cart
based on RFID technology». This work is composed of two parts: The one part is based
on a innovent technology through RFID cards(Arduino). The other part composed a
java application. We have achieved this work using UML model for system modeling.
Most of our application interfaces are captured.
‫المفاتيح‬:‫المنتجات‬ ‫إدارة‬,‫التعرف‬,Java,Arduino ,RFID
Mots clés: Gestion des produits, Reconnaissance, RFID, Java, Arduino
Key-words: Product management, Recognition, RFID, Java, Arduino
Pôle technologique route tunis Km 10 ; B.P. : 242 SFAX 3021
Tél. : 216 74 86 22 33 ; Fax : 216 74 86 24 32
www.isimsf.rnu.tn
‫التكنولوجي‬ ‫القطب‬‫كلم‬ ‫تونس‬ ‫طريق‬10:.‫ص.ب‬ ‫؛‬242‫صفاقس‬ ‫؛‬3021
‫هاتف‬:74 86 22 33216‫؛‬‫فاكس‬:32248674 216

Contenu connexe

Tendances

Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
 
Rapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueRapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueEric Maxime
 
rapport fin d'etude
rapport fin d'etuderapport fin d'etude
rapport fin d'etudesihem-med
 
présentation de soutenance PFE
présentation de soutenance PFEprésentation de soutenance PFE
présentation de soutenance PFEKarim Labidi
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Anas Riahi
 
pfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfpfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfnesrine haloui
 
Rapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework KinectRapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework KinectAmine MEGDICHE
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...Hajer Dahech
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti MohammedMohammed JAITI
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développementDonia Hammami
 
réalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesréalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesMedk Salhi
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesHosni Mansour
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'étéJinenAbdelhak
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsMohamed Ayoub OUERTATANI
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESTombariAhmed
 

Tendances (20)

Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
 
Rapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc InformatiqueRapport PFE: Gestion de Parc Informatique
Rapport PFE: Gestion de Parc Informatique
 
rapport fin d'etude
rapport fin d'etuderapport fin d'etude
rapport fin d'etude
 
présentation de soutenance PFE
présentation de soutenance PFEprésentation de soutenance PFE
présentation de soutenance PFE
 
iRecruite
iRecruiteiRecruite
iRecruite
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
 
pfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfpfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdf
 
Rapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework KinectRapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework Kinect
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
Rapport PFE
Rapport PFERapport PFE
Rapport PFE
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
réalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiquesréalisation une application web de gestion des informations météorologiques
réalisation une application web de gestion des informations météorologiques
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Rapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humainesRapport projet c : Logiciel de gestion des ressources humaines
Rapport projet c : Logiciel de gestion des ressources humaines
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Rapport pfev7
Rapport pfev7Rapport pfev7
Rapport pfev7
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDES
 

Similaire à Belwafi bilel

Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Adem Amen Allah Thabti
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...Mohamed Amine Mahmoudi
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifsSafaAballagh
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueYosra ADDALI
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...mouafekmazia
 
Projet de conception et de développement
Projet de conception et de développementProjet de conception et de développement
Projet de conception et de développementGlei Hadji
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Yasmine Lachheb
 
OpenERP - Gestion de prix de revient
OpenERP - Gestion de prix de revientOpenERP - Gestion de prix de revient
OpenERP - Gestion de prix de revientTaieb Kristou
 
Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...Houssem Eddine Jebri
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testahmed oumezzine
 
Outpatient Department System (OPD)
Outpatient Department System (OPD) Outpatient Department System (OPD)
Outpatient Department System (OPD) Ben Ahmed Zohra
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesEvaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesBenjamin Vidal
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsUniversité de Rennes 1
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaIlef Ben Slima
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP SoftphoneHamza Lazaar
 

Similaire à Belwafi bilel (20)

Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...Conception et développement d'une marketplace basée sur l'architecture micros...
Conception et développement d'une marketplace basée sur l'architecture micros...
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifs
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
Rapport Projet De Fin D'étude de Conception et développement d’une applicatio...
 
Projet de conception et de développement
Projet de conception et de développementProjet de conception et de développement
Projet de conception et de développement
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
OpenERP - Gestion de prix de revient
OpenERP - Gestion de prix de revientOpenERP - Gestion de prix de revient
OpenERP - Gestion de prix de revient
 
Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...Implémentation et mise en place d’un système décisionnel pour la solution Meg...
Implémentation et mise en place d’un système décisionnel pour la solution Meg...
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
réaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de testréaliser une plateforme d’automatisation et de génération des rapports de test
réaliser une plateforme d’automatisation et de génération des rapports de test
 
Outpatient Department System (OPD)
Outpatient Department System (OPD) Outpatient Department System (OPD)
Outpatient Department System (OPD)
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesEvaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
 
Fourth year internship report
Fourth year internship reportFourth year internship report
Fourth year internship report
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
Rapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben SlimaRapport PFE Ilef Ben Slima
Rapport PFE Ilef Ben Slima
 
Report Master
Report MasterReport Master
Report Master
 
Android VoIP/SIP Softphone
Android VoIP/SIP SoftphoneAndroid VoIP/SIP Softphone
Android VoIP/SIP Softphone
 

Plus de Belwafi Bilel

Application de pointage basé sur la technologie rfid
Application de pointage basé sur la technologie rfidApplication de pointage basé sur la technologie rfid
Application de pointage basé sur la technologie rfidBelwafi Bilel
 
Bus intelligent [enregistrement automatique]
Bus intelligent [enregistrement automatique]Bus intelligent [enregistrement automatique]
Bus intelligent [enregistrement automatique]Belwafi Bilel
 
Presentation de projet de fin de etude
Presentation de projet de fin de etudePresentation de projet de fin de etude
Presentation de projet de fin de etudeBelwafi Bilel
 
Rapport interface terminal
Rapport interface terminalRapport interface terminal
Rapport interface terminalBelwafi Bilel
 
Application web et mobile.potx
Application web et mobile.potxApplication web et mobile.potx
Application web et mobile.potxBelwafi Bilel
 

Plus de Belwafi Bilel (7)

Application de pointage basé sur la technologie rfid
Application de pointage basé sur la technologie rfidApplication de pointage basé sur la technologie rfid
Application de pointage basé sur la technologie rfid
 
Bus intelligent [enregistrement automatique]
Bus intelligent [enregistrement automatique]Bus intelligent [enregistrement automatique]
Bus intelligent [enregistrement automatique]
 
Belwafi bilel
Belwafi bilelBelwafi bilel
Belwafi bilel
 
Présentation
PrésentationPrésentation
Présentation
 
Presentation de projet de fin de etude
Presentation de projet de fin de etudePresentation de projet de fin de etude
Presentation de projet de fin de etude
 
Rapport interface terminal
Rapport interface terminalRapport interface terminal
Rapport interface terminal
 
Application web et mobile.potx
Application web et mobile.potxApplication web et mobile.potx
Application web et mobile.potx
 

Belwafi bilel

  • 1. Mémoire de stage de Licence fondamentale en Sciences de l’Informatique Sciences et Technologies N° d’ordre: 2016 23 République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Sfax Institut Supérieur d’Informatique et de Multimédia de Sfax MEMOIRE Présenté à L’Institut Supérieur d’Informatique et de Multimédia de Sfax en vue de l’obtention du diplôme de LICENCE FONDAMENTALE en Informatique et Multimédia intitulé Développement d’un système de reconnaissance des produits d’un chariot basé sur la technologie RFID Par Samar Daoudi Soutenu le 31 Mai 2016, devant le jury composé de : Mr. Ali Wali Président Mr. Nader Gassara Membre Mme. Mouna Dammak Encadreur Mr. Bilel Belwafi Encadreur société Année Universitaire : 2015-2016
  • 2. Dédicace C’est tout simplement que je dédie ce projet de fin d’étude : À mon père Ezzedinne Pour ton amour, pour tes sacrifices, pour ton soutien tout au long de mes études j’espère être la source de ta fierté. Que ce travail soit un modeste témoignage de mon éternelle reconnaissance. Que Dieu te garde. À ma mère Zakia Nulle phrases aussi expressives soient-elles ne saurait exprimer ma reconnaissance pour ton dévouement, tes précieux conseils et les efforts que tu ne cesse de déployer depuis mon enfance.En ce jour mémorable, reçoit ce travail en signe de ma vive reconnaissance et ma profonde estime. Que Dieu te donne santé, bonheur et longue vie afin que je puisse te combler à mon tour. À mon Fiancé Kamel Pour ta compréhension, ta confiance, ta patience et ta tendresse. Tu m’as toujours soutenu et réconforté, tu es et tu resteras toujours ma source d’encourage. Tu as supporté mes caprices pendant certaines périodes de ce parcours. Sincère gratitude. À mes frères Amin et Maged et mes sœurs Amal,Ahlem,Rebh,Ilhem,Amina En souvenir des meilleurs moments que nous avons partagés. Pour toute la complicité et l’entente qui nous unis, ce travail est un témoignage de mon attachement et de mon amour. Je vous souhaite plein de bonheur et de réussite. Que dieu vous protège et vous accorde santé et bonheur. À mes chères amis :Asma,Chayma,Zayneb,Raki,Marwa,Khawla,Semia,Raja .. Je vous remercie pour les moments inoubliables que nous avons partagés ensemble et pour le plaisir dont j’ai joies avec vous. À toute ma famille en témoignage de ma grande affection et de ma reconnaissance et sans qui je ne serais rien, À tous mes enseignants et à tous ceux qui m’ont aidé, En témoignage de mon amour et de ma reconnaissance.
  • 3. Remerciements… A notre encadreur Madame Mouna Dammak Je vous remercie infiniment pour la qualité de votre encadrement et votre disponibilité et ce malgré vos charges professionnelles. Votre rigueur et votre minutie sont pour moi un exemple. Merci sincèrement d’avoir encadré ce travail. A notre encadreur de société Monsieur Bilel Belwafi Je vous remercie Pour votre directive précieuse et pour la qualité de votre suivi durant toute la période de notre projet, pour avoir assuré la partie pratique de celle-ci. A notre président de jury Monsieur Ali Wali Vous me faites l’honneur de juger ce travail et d’accepter la présidence de ce jury. Je vous exprime mon admiration pour vos compétences et vos qualités humaines. Veuillez trouver dans ce travail l’expression de mon estime et ma sincère gratitude. A Monsieur Nader Gassarra Vous me faites honneur d’avoir accepté notre invitation et de siéger parmi les membres du jury. Veuillez trouver dans ce travail le témoignage de mon profond respect.
  • 4. Table des matières 1 Étude préalable 2 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Présentation de la société d’accueil . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Planning prévisionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.1 Analyse de l’existant : . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4.2 Critique de l’existant : . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 Proposition d’une solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 Déroulement du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Modélisation Conceptuelle 6 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Méthodologie de conception choisie . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Modèle fonctionnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.1 Les acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.2 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . 7 2.3.2.1 Diagramme des cas d’utilisation « gestion des rôles » . . . . 7 2.3.2.2 Diagramme des cas d’utilisation « Gestion des achats » . . . 9 2.4 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 Modéle dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5.1 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5.2 Diagramme d’activité : . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5.3 Diagramme d’états transition . . . . . . . . . . . . . . . . . . . . . . . 16 2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3 Réalisation 18 3.1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Environnement du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2.1.1 Lecteur Adafruit PN532 RFID/NFC Shiled . . . . . . . . . 19 i
  • 5. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 3.2.1.2 La carte Arduino . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.1.3 Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.2 Environnement logicielle . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2.2.1 Les langages de développement . . . . . . . . . . . . . . . 21 3.2.2.2 Les outils de développement utilisés . . . . . . . . . . . . . 23 3.3 Modèle Relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.1 Règles de transformation . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.3.2 Description du modèle relationnel . . . . . . . . . . . . . . . . . . . . 25 3.4 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.4.1 Étude d’enchainement des menus . . . . . . . . . . . . . . . . . . . . 25 3.4.1.1 Menu adminstrateur . . . . . . . . . . . . . . . . . . . . . . 25 3.4.1.2 Menu client . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.2 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.2.1 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . 27 3.4.2.2 Architecture détaillée de l’application . . . . . . . . . . . . . 29 3.5 Description des interfaces de l’application . . . . . . . . . . . . . . . . . . . . 30 3.5.1 Présentation des entrées . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5.1.1 L’interface d’authentification . . . . . . . . . . . . . . . . . 30 3.5.1.2 Interface « Ajouter produit » . . . . . . . . . . . . . . . . . . 30 3.5.1.3 Interface « Modifier (ou Supprimer) un produit » . . . . . . . 31 3.5.2 Présentation des sorties . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.5.2.1 Interface « Menu principale » . . . . . . . . . . . . . . . . . 32 3.5.2.2 Interface « Liste des produits » . . . . . . . . . . . . . . . . 32 3.5.2.3 Interface « Facture » . . . . . . . . . . . . . . . . . . . . . . 34 3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Samar Daoudi ii
  • 6. Table des figures 1.1 Le chronogramme des étapes de la réalisation du projet. . . . . . . . . . . . . . 3 2.1 Diagramme des cas d’utilisation « gestion des rôles ». . . . . . . . . . . . . . . 8 2.2 Diagramme des cas d’utilisation du « Gestion des achats ». . . . . . . . . . . . 10 2.3 Diagramme de classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Diagramme de séquence « Chercher produit » . . . . . . . . . . . . . . . . . . 15 2.5 Diagramme de séquence « Ajouter produit » . . . . . . . . . . . . . . . . . . . 15 2.6 Diagramme d’activité « Ajouter produit ». . . . . . . . . . . . . . . . . . . . . 16 2.7 Diagramme d’état-transition de l’objet « Chariot ». . . . . . . . . . . . . . . . 17 3.1 Un lecteur Adafruit PN532. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 La carte Arduino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3 Le montage du lecteur Adafruit et de la carte Arduino. . . . . . . . . . . . . . 21 3.4 Menu Administrateur de l’application. . . . . . . . . . . . . . . . . . . . . . . 26 3.5 Menu client de l’application. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.6 Architecture de l’application. . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.7 Interface « Authentification ». . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.8 Interface « Ajouter produit ». . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.9 Interface « Modifier Produit ». . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.10 Interface « Menu principale ». . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.11 Interface « Liste des produits ». . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.12 Interface « Recherche d’un produit ». . . . . . . . . . . . . . . . . . . . . . . . 33 3.13 Interface « Facture ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.14 le Principe fondamental de la RFID . . . . . . . . . . . . . . . . . . . . . . . 36 3.15 les Composants du système . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 iii
  • 7. Liste des tableaux 2.1 Classe « Produits » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Classe « Factures » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Classe « Chariots » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Classe « Lignes_Factures » . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5 Classe « Catégories » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6 Classe « Cartes_Fidélité » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1 Caractéristiques de micro-ordinateur. . . . . . . . . . . . . . . . . . . . . . . . 18 iv
  • 8. Introduction générale Grâce à l’évolution de la technologie et des pratiques d’archivage, plusieurs entreprises telles que les magasins et les hypermarchés n’ont pas hésité à exploiter les avancées technolo- giques pour offrir des services innovants et rapides à leurs consommateurs. Ainsi, le passage progressif des produits en papier aux produits numérisés est devenu une vitalité pour les ma- gasins afin de faciliter la tâche aux caissiers. Cette solution reste toujours insuffisante pour les clients. De plus, l’existence d’un produit nécessite un moyen de contrôle. Ces sociétés visent toujours à la recherche perpétuelle de solutions pratiques pour fidéliser les clients et faciliter leurs achats. C’est dans cette optique, dans le cadre de notre projet de fin d’étude, nous nous intéressons à développer un système intelligent pour le chariot d’un magasin basé sur la technologie RFID et NFC pour remédier à ces problèmes. Ainsi, nous avons pensé à mettre en place une solution matérielle/logicielle qui permet de contrôler les produits d’une maniére automatique. Cette so- lution a pour objectif, d’une part, à améliorer la qualité de service de vente comme le temps important nécessaire pour le traitement des commandes : reconnaitres les détails des produits et la somme totale de la commande. D’autre part, elle permet de garantir la sécurité des produits. Afin de détailler la solution décrite ci-dessus, ce travail s’articule autour de trois chapitres. Dans le premier chapitre, nous commençons par la présentation de la société et faire une étude préalable du projet en analysant l’existant et présentant la solution proposée. Le deuxième cha- pitre, intitulé ”Modélisation conceptuelle”, est dédié à la modélisation conceptuelle en suivant la méthode de conception UML. Nous décrirons dans cette partie les différents diagrammes per- mettant une visibilité plus précise des fonctionnalités de la solution proposée. Dans le dernier chapitre intitulé ”Réalisation", nous présenterons les étapes de réalisation, le modèle relationnel, l’architecture logicielle, l’environnement de travail, les choix techniques ainsi que les résultats obtenus à travers quelques interfaces de l’application. Ce rapport débouchera sur une conclusion générale et les perspectives ouvertes pour nos travaux.
  • 9. Chapitre 1 Étude préalable 1.1 Introduction Dans ce chapitre nous décrirons l’environnement du stage à travers une présentation de la société d’accueil. Par la suite, nous présenterons le champ de l’étude, les objectifs à atteindre ainsi que le planning prévisionnel. Nous passerons enfin à l’analyse et le critique de l’existant afin de proposer la solution visant à la résolution de la problématique. 1.2 Présentation de la société d’accueil La société Groupe Belwafi Programmer Soft (GBPSoft) est fondée en 2015 par le Program- meur de développement Web et génie logiciel Bilel BELWAFI. C’est une société des Innova- tions Informatique. Cette société est spécialisée dans la réalisation des systèmes intelligents de gestion du stock des magasins et des restaurants. De plus, elle prendre en charge tous les dépannages informatiques ainsi que les installations de logiciels ou les changements de pièces détachées. 1.3 Planning prévisionnel Pendant le mois de Février 2016 nous avons commencé par la collecte des informations nécessaires pour réussir notre projet. Nous avons visité quelques magasins afin de contacter ses responsables pour nous décrire leurs besoins. Puis nous avons fait une étude préalable de ce projet en analysant et critiquant l’existant et nous avons proposé la solution convenable. A la fin du mois de Février nous avons déjà validé les fonctionnalités de cette application et nous avons rédigé le cahier des charges afin d’analyser la partie à développer à la suite. Au début du mois de Mars nous avons fait l’analyse et la conception de cette application à l’aide de la méthode conception UML. Au cours du mois de Mars nous avons commencé le développement des interfaces de l’application. Ensuite nous avons achevé la partie dévellopement en utilisant 2
  • 10. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID la language java jusqu’a fin du mois d’avril. Finallement, durant le mois de Mai nous avons fini d’integrer la partie Arduino et le test des interfaces de l’application.La rédaction du rapport a été faite tout au long de ces mois. La figure 1.1 illustre le chronogramme des étapes de la réalisation du projet. FIGURE 1.1 – Le chronogramme des étapes de la réalisation du projet. 1.4 Étude de l’existant L’étude de l’existant nécessite une analyse détaillée de son domaine d’étude, de son environ- nement, de ses perspectives, suivie d’une critique qui permet de dégager le dysfonctionnement de la gestion des achats de produit afin de remédier à ces problèmes détecter et apporter des solutions requises ainsi que des suggestions d’améliorations. 1.4.1 Analyse de l’existant : Habituellement, un agent de magasin enregistre manuellement les détails des produits sur des papiers, ainsi que les commandes. Pour un client donné, ce dernier commence à prendre un chariot, puis, il circule dans le magasin et consulte les produits. Ensuite, il prend un ou plusieurs produit(s) à acheter et les mettre dans le chariot (sans connaître la somme de ces produits). Puis, il passe à la phase de paiement. Alors, il attend son rôle dans la queue en caisse. Après certains moments, il reprendre les produits au nouveau à partir du chariot et les mettre au nouveau devant le caissier, pour que ce dernier peut calculer la somme de la facture ainsi que de la valider. Samar Daoudi 3
  • 11. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 1.4.2 Critique de l’existant : Les principaux des fonctionnements de la situation actuelle sont : D’une part, le processus de l’achat des produits nécessite un temps important. En effet, reprendre les produits du chariot, et le calcul de la somme de la commande peut ralentir les services. De plus, un client ne sait pas d’avance la totalité de la commande. En cas de manque d’argent, il doit retourner certains produits et par la suite, toute la commande doit être recalculer. Cette tâche est très pénible et fait perdre de temps. Aussi la recherche d’une information de produit ou catégorie prend du temps et cela influe sur la qualité de service donné aux clients. Nous pouvons aussi avoir des situations de vols, dans le cas où le client cache certains produits. D’autre part, pour un agent d’un magasin, la gestion manuelle des produits entraine une perte de temps important. Alors, nous avons besoin de plus d’employés pour se partager les tâches. 1.5 Proposition d’une solution Pour remédier à ces problèmes, un système informatique sera proposé. Ainsi, nous allons entamer les parties suivantes : — Gestion des produits. — Gestion des catégories. — Gestion des cartes fidélités — Gestion des factures. — Gestion des chariots. — Gestion des commandes. 1.6 Déroulement du projet L’identification par radio fréquence est un terrain qui devrait encore être développé dans les années à venir, et plusieurs ingénieurs et chercheurs travaillent déjà sur des standards pour mieux l’encadrer et parvenir à unifier les modulations et techniques pour traiter les informations qui circulent s’appuyant sur ce système. Dans ce cadre, nous avons proposé de développer un système intelligent en JAVA basé sur la technologie RFID. Ainsi, comme phase de préparation à notre projet, nous allons étudier les différentes composantes RFID qui seront utilisées dans notre implémentation ainsi que les langages de programmation qui seront utilisées pour commander ces composantes. Tous les processus seront faits d’une manière informatisée et plus facile et toutes les données seront sauvegardés dans une base de données. Ce qui permet principalement de reconnaître automatiquement les détails des produits. Samar Daoudi 4
  • 12. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 1.7 Conclusion Dans ce chapitre nous avons présenté le cadre général du projet, une étude de l’existant ainsi que la solution envisagée à travers la présentation du sujet. Compte tenu de cette présentation, nous passerons à la partie conception. Samar Daoudi 5
  • 13. Chapitre 2 Modélisation Conceptuelle 2.1 Introduction Ce chapitre sera consacré à la présentation des différentes étapes de la conception de notre application pour le développement de notre système intitulé « Développement d’un système de reconnaissance des produits d’un chariot basé sur la technologie RFID ». Afin présenter au mieux cette partie nous avons choisi à modéliser le système proposé en UML (Unified Mo- deling Language) qui offre une flexibilité marquante. Cette modélisation est exprimé à travers les différents types de diagra1mmes.Ainsi, nous allons commencer à détailler la conception en présentant les diagrammes des cas d’utilisation. Puis, nous définirons des classes avec leurs at- tributs ainsi que le diagramme de classe. Enfin, Nous réaliserons des vues dynamiques montrant le fonctionnement du système via des scénarios. 2.2 Méthodologie de conception choisie UML est un langage qui permet de modéliser une application selon une vision objet sans se soucier des détails d’implémentation inhérents au langage de programmation utilisé. UML est conçu pour s’adapter à n’importe quel langage de programmation Orientée Objet (POO) et présente plusieurs modèles (diagrammes). UML va donc nous permettre de nous concentrer sur la conception de notre application, tout en allant à l’essentiel concernant sa documentation. Le méta modèle UML fournit une panoplie d’outils permettant de représenter l’ensemble des éléments du monde objet (classes, objets, ...) ainsi que les liens qui les relie [1]. Les points forts d’UML — UML est un langage formel et normalisé. — UML est un support de communication performant. Les points faibles d’UML 6
  • 14. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID — La mise en pratique d’UML nécessite un apprentissage et passe par une période d’adap- tation. — Le processus (non couvert par UML) est une autre clé de la réussite d’un projet [2]. 2.3 Modèle fonctionnel 2.3.1 Les acteurs Notre projet exige 2 acteurs : — Un administrateur : il gère les produits, les catalogues, les chariots à travers l’interface Java. — Un client : Il gère les achats à travers l’interface Arduino. 2.3.2 Diagramme de cas d’utilisation Un diagramme de cas d’utilisation est un diagramme UML utilisé pour donner une vision globale du comportement fonctionnel d’un système logiciel [3]. 2.3.2.1 Diagramme des cas d’utilisation « gestion des rôles » La figure 2.1 illustre le Diagramme des cas d’utilisation « gestion des rôles» — DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « S’AUTHENTIFIER » Nom cas d’utilisation : s’authentifier Objectif : l’administrateur s’authentifie afin d’accéder à la gestion des produits, des com- mandes, des catégories, et les cartes fidélité, à l’aide de son carte RFID. Acteur principal : administrateur Précondition : Les informations de l’administrateur sont sauvegardées dans la base de données. Scénario nominal : 1. L’utilisateur demande l’accès au système. 2. Le système détecte le numéro de la carte RFID. 3. Le système vérifie le numéro détecté. Scénario alternatif : Le numéro de la carte RFID introuvable dans la base de données : le système commu- nique avec la base de données et refuse l’accès. Le scénario nominal reprend à l’étape 1. Scénario d’échec : L’administrateur oubli sa carte RFID. Samar Daoudi 7
  • 15. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 2.1 – Diagramme des cas d’utilisation « gestion des rôles ». — DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « AJOUTER PRODUIT » Nom cas d’utilisation : ajouter produit Objectif : l’administrateur doit pouvoir ajouter un nouveau produit en saisissant ses dé- tails à travers le formulaire d’ajout. Acteur principal : administrateur Précondition : L’administrateur s’authentifie Scénario nominal : 1. L’administrateur se connecte en passant sa carte devant le lecteur RFID. 2. Le système détecte et reconnaitre lé numéro de la carte RFID. 3. Le système affiche le menu de la liste des produits. 4. L’administrateur accède au menu d’ajout d’un nouveau produit. 5. Le système montre le formulaire d’ajout. 6. L’administrateur saisit les informations nécessaires du produit. ◦ Le système détecte automatiquement l’étiquette du produit. ◦ L’administrateur saisit les autres informations nécessaires du produit (libelle, prix, ..., catégorie). Samar Daoudi 8
  • 16. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 7. L’administrateur valide les données saisis. 8. Le système ajoute le nouveau produit dans la base de données. Scénario alternatif : Le numéro de la carte est introuvable dans la base de données : la page communique avec la base de données et refuse l’accès au système. Le scénario nominal reprend à l’étape 1. Scénario d’échec : L’administrateur annule l’ajout du nouveau produit. — DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « GÉRER LES CHARIOT » Nom cas d’utilisation : ajouter chariot Objectif : l’administrateur doit pouvoir ajouter un nouveau chariot en saisissant ses dé- tails à travers le formulaire d’ajout. Acteur principal : administrateur Précondition : L’administrateur s’authentifie Scénario nominal : 1. L’administrateur se connecte en passant sa carte devant le lecteur RFID. 2. Le système détecte et reconnaitre lé numéro de la carte RFID. 3. Le système affiche le menu. 4. L’administrateur accède au menu d’ajout d’un nouveau chariot. 5. Le système montre le formulaire d’ajout. 6. L’administrateur saisit les informations nécessaires du chariot. 7. L’administrateur valide les données saisis. 8. Le système ajoute le nouveau chariot dans la base de données. Scénario alternatif : Numéro de la carte est introuvable dans la base de données : la page communique avec la base de données et refuse l’accès. Le scénario nominal reprend à l’étape 1. Scénario d’échec : L’administrateur annule l’ajout du nouveau chariot. 2.3.2.2 Diagramme des cas d’utilisation « Gestion des achats » La figure 2.2 illustre le Diagramme des cas d’utilisation « gestion des achats » Samar Daoudi 9
  • 17. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 2.2 – Diagramme des cas d’utilisation du « Gestion des achats ». — DESCRIPTION TEXTUELLE DU CAS D’UTILISATION « GÉRER LES ACHATS » Nom cas d’utilisation : Gérer l’achat Objectif : Le client doit choisir un chariot dans lequel il remet les produits demandés. Acteur principal : Client Pré-condition : Le client choisit un chariot occupé par une appareil de détection Scénario nominal : 1. Le client ajoute un produit dans le chariot, la page communique avec la base de données et affiche son prix. 2. Le client supprime un produit du chariot. 3. Le système mettre à jour la facture. 4. Le système recalcule et affiche la somme totale. Scénario d’échec : Le client retourne le chariot à sa place. 2.4 Diagramme de classes Un diagramme de classes fournit une vue globale d’un système en présentant ses classes, in- terfaces et collaborations, et les relations entre elles. Les diagrammes de classes sont statiques : ils affichent ce qui interagit mais pas ce qui se passe pendant l’interaction [4]. Samar Daoudi 10
  • 18. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 2.3 – Diagramme de classe. Ci-dessous quelques règles de gestion pour la bonne formation du diagramme de classes de la figure 2.3. — Un produit appartient a un et un seul catégorie et un catégorie contient plusieurs produit. — Une Facture contient plusieurs produits et appartient a une unique chariot. — Une facture appartient a une seule carte fidélité et cette dernier peut contenir plusieurs factures. Dictionnaire apures de données Les tableaux suivants illustrent les différents attributs de l’ensemble des classes constituant le diagramme de classe : Samar Daoudi 11
  • 19. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID Classe Produits Attributs Code Désignation Type Id_Pro Identifiant de produit Numérique Code_tag_Pro Code de produit Chaine de caractére Nom_Pro Nom du produit Chaine de caractére Marque_Pro Marque du produit Chaine de caractére Poids_Pro Poids du produit Chaine de caractére Prix_Pro Prix du produit Chaine de caractére Désignation_Pro Désignation du produit Chaine de caractére Photo_Pro Photo du produit Chaine de caractére Date_fabrication_Pro Date Fabrication du produit Chaine de caractére Date_limite_Pro Date limite du produit Chaine de caractére Méthodes Nom Description Ajouter () Ajout d’un produit Modifier () Modification d’un produit Rechercher () Recherche d’un produit Afficher () Affichage d’un produit Supprimer () Suppression d’un produit Exigences Nom Contraintes Date_fabrication_Pro Date_limite_Pro>Date_fabrication_Pro TABLE 2.1 – Classe « Produits » Classe « Factures» Attributs Code Désignation Type Id_Fac Identifiant de Facture Numérique Date_Fac Date de facture Chaine de caractére Total_Fac Total de Facture Chaine de caractére Méthodes Nom Description Calculer_Somme() Calculer la somme des produits Supprimer() Supprimer la facture TABLE 2.2 – Classe « Factures » Samar Daoudi 12
  • 20. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID Classe « Chariots» Attributs Code Désignation Type Id_Cha Identifiant de Chariot Numérique Num_Cha Numéro de chariot Numérique Méthodes Nom Description Ajouter () Ajout d’un Chariot Modifier () Modification d’un Chariot Rechercher () Recherche d’un Chariot Afficher () Affichage d’un Chariot Supprimer () Suppression d’un Chariot TABLE 2.3 – Classe « Chariots » Classe « Lignes_Factures» Attributs Code Désignation Type Id_Lig_Fac Identifiant de la Lignes de Facture Numérique Heure_Lig_Fac Heure de la Lignes de Facture Chaine de caractére Prix_Lig_Fac Prix de la Ligne de Facture Chaine de caractére Qte_Lig_Fac Quantité de la Ligne de facture Numérique TABLE 2.4 – Classe « Lignes_Factures » Classe Catégories Attributs Code Désignation Type Id_Cat Identifiant de Catégorie Numérique Emplacement_Cat Emplacement de catégorie Chaine de caractére Description_Cat Description de catégorie Chaine de caractére Promotion_Cat Promotion de catégorie Chaine de caractére Méthodes Nom Description Ajouter () Ajout d’une catégorie Modifier () Modification d’une catégorie Rechercher () Recherche d’une catégorie Afficher () Affichage d’une catégorie Supprimer () Suppression d’une catégorie TABLE 2.5 – Classe « Catégories » Samar Daoudi 13
  • 21. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID Classe « Cartes_Fidélité » Attributs Code Désignation Type Id_Car_Fid Identifiant de carte fidélité Numérique Num_Car_Fid Numéro de la carte fidélité Chaine de caractére Nom_Car_Fid Nom de personne ayant la carte fidélité Chaine de caractére Prenom_Car_Fid Prenom de personne ayant la carte fidélité Chaine de caractére Adresse_Car_Fid Adresse de personne ayant la carte fidélité Chaine de caractére Tel_Car_Fid Téléphone de personne ayant la carte fidélité Numérique Mail_Car_Fid Mail de personne ayant la carte fidélité Chaine de caractére Points_Car_Fid Points de personne ayant la carte fidélité Numérique Méthodes Nom Description Ajouter () Ajout de la carte fidélité Modifier () Modification de la carte fidélité Rechercher () Recherche de la carte fidélité Afficher () Affichage de la carte fidélité Supprimer () Suppression de la carte fidélité TABLE 2.6 – Classe « Cartes_Fidélité » 2.5 Modéle dynamique 2.5.1 Diagramme de séquence Le diagramme de séquence permet de décrire les scénarios de chaque cas d’utilisation en mettant l’accent sur la chronologie des opérations en interaction avec les objets. [5] Diagramme de séquence « gestion des rôles » Après l’authentification, l’administrateur peut consulter la liste des produits ou chercher un produit en utilisant des critères de recherche comme le libellé. Il a le droit d’ajouter un nouveau produit à travers le formulaire d’ajout par la détection automatique du tag du produit, puis en saisissant ses détails spécifique. Un adminis- trateur peut également modifier les informations d’un produit ou le supprimer. Les figures 2.5 et 2.4 montrent le diagramme de séquence « Ajouter produit » et « Chercher produit » successi- vement. Samar Daoudi 14
  • 22. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 2.4 – Diagramme de séquence « Chercher produit » FIGURE 2.5 – Diagramme de séquence « Ajouter produit » Samar Daoudi 15
  • 23. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 2.5.2 Diagramme d’activité : Le diagramme d’activités donne une vision des enchaînements des activités propres à une opération ou un cas d’utilisation. Dans cette partie, nous allons présenter le diagramme d’acti- vité « Ajouter produit ». Diagramme d’activité « Ajouter produit» FIGURE 2.6 – Diagramme d’activité « Ajouter produit ». 2.5.3 Diagramme d’états transition Le diagramme d’états-transition montre les différents états des objets en réaction aux évè- nements [6]. Dans cette partie, nous allons présenter le diagramme d’état-transition de l’objet « Chariot ». Diagramme d’état-transition de l’objet « Chariot » : Samar Daoudi 16
  • 24. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 2.7 – Diagramme d’état-transition de l’objet « Chariot ». 2.6 Conclusion A travers ce chapitre, nous avons présenté notre conception de l’application. Nous avons fourni, en premier lieu, nous avons détaillé la conception de l’application à travers les dia- grammes de cas d’utilisation d u système. En deuxième lieu nous avons présenté les diagrammes de classe. A la fin du chapitre nous avons présenté le modèle dynamique à travers le diagramme de séquence et les diagrammes comportementaux (activité et état-transition). A présent, nous sommes capables d’entamer la partie réalisation. Samar Daoudi 17
  • 25. Chapitre 3 Réalisation 3.1 INTRODUCTION Après avoir élaboré la conception de notre application, nous abordons dans ce chapitre le dernier volet de ce rapport, qui a pour objectif d’exposer la phase de réalisation. La phase de réalisation est considérée comme étant la concrétisation finale de toute la méthode de concep- tion. Nous menons tout d’abord une étude technique où nous décrivons les ressources logicielles utilisées dans le développement de notre projet. Nous présentons en premier lieu notre choix de l’environnement de travail, où nous spécifions l’environnement matériel et logiciel qu‘on a utilisé pour réaliser notre application puis nous détaillons l’architecture, aussi nous présentons quelques interfaces réalisées pour illustrer le fonctionnement réel de notre application. 3.2 Environnement du travail Nous allons consacrer cette section à la présentation les différents matériels, langages, tech- nologies et outils logiciels utilisés dans le cadre de ce projet. 3.2.1 Environnement matériel Pour la réalisation de notre logiciel, nous avons utilisé d’une part un micro-ordinateur décrit dans le tableau 3.1. Marque Dell Processeur Intel® Core™ i3-3110M CPU @ 2,4GHz RAM 4GO Disque dur 500GO Système d’exploitation Microsoft Windows 7 Professionnel TABLE 3.1 – Caractéristiques de micro-ordinateur. 18
  • 26. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID D’autre part, l’architecture de notre système est basée sur la technologie RFID. Cette tech- nologie sera détaillé par la suite dans l’annexe 3.6. Pour la réalisation de notre application, nous avons choisi un lecteur Adafruit et une carte Arduino. 3.2.1.1 Lecteur Adafruit PN532 RFID/NFC Shiled Les lecteurs Adafruit PN532 est l’interface qui va permettre de lire l’information contenue dans la puce. Ils ont globalement tous le même mode de fonctionnement, mais un choix de lecteur adapté diffère complètement d’une utilisation à l’autre. Les lecteurs Adafruit PN532 (Figure 3.1) peuvent prendre des formes variées selon l’utilisation à laquelle ils seront destinés. Du fait qu’il n’a pas besoin d’être en contact direct avec la puce [7]. FIGURE 3.1 – Un lecteur Adafruit PN532. 3.2.1.2 La carte Arduino Les modules Arduino sont des plates-formes de prototype micro contrôlées « open-source » spécialement conçues pour les artistes, les concepteurs et toute personne intéressée par la créa- tion d’objets ou environnements interactifs. L’Arduino propose plusieurs types de cartes de développement qui se présentent sous forme de circuits imprimés sur les quelles se trouve un microcontrôleur pour analyser et produire des signaux électriques de manière à effectuer des tâches très diverses comme la domotique, la robotique et tous type d’applications embarqués. Nous imagions sur la Figure 3.2, la carte Arduino de type Uno qui est construite autour d’un microcontrôleur de type Atmega 1280. Une carte ArduinoUno présente les interfaces suivantes : Samar Daoudi 19
  • 27. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID — Les puces — Port USB. — 14 entrées/sorties numériques GPIO. — 6 entrées analogiques. Une carte Arduino est généralement construite autour d’un microcontrôleur, et de compo- sants complémentaires qui facilitent la programmation et l’interfaçage avec d’autres circuits. Chaque module possède au moins un régulateur linéaire 5V. L’Arduino utilise la plupart des entrées/sorties du microcontrôleur pour l’interfaçage avec les autres circuits. [8] FIGURE 3.2 – La carte Arduino. 3.2.1.3 Montage Pour connecter le lecteur Adafruit PN532 à notre ArduinoUno, il suffira de mettre la shield au-dessus de la carte Arduino comme l’illustre la figure 3.3 : Samar Daoudi 20
  • 28. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 3.3 – Le montage du lecteur Adafruit et de la carte Arduino. 3.2.2 Environnement logicielle 3.2.2.1 Les langages de développement Dans cette section nous allons lister les langages utilisés tout en définissant brièvement chacun : Java Java est un langage de programmation moderne, orienté objet développé par Sun Microsystems (aujourd’hui racheté par Oracle). C’est un langage très utilisé, notamment par un grand nombre de programmeurs professionnels, ce qui en fait un langage incontournable actuel- lement. Une de ses plus grandes forces est son excellente portabilité. Autrementt dit, une fois le programme est créé, il fonctionne automatiquement sous Windows, Mac, Linux, etc. Pour ce raison, divers plateformes et Framework associés visent à guider, sinon garantir, cette portabilité des applications développées en Java [donner une référence]. Java offre aussi de diverses pro- grammes telques : des applications, sous forme de fenêtre ou de console, des applets, qui sont des programmes Java incorporés à des pages web ; des applications pour appareils mobiles, avec J2ME ;et bien d’autres J2EE, JMF, J3D pour la 3D... [9]. Samar Daoudi 21
  • 29. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID C++ est une évolution du langage C vers un langage orienté objet. Il garde les points forts du C et en corrige certains points faibles. Entre les langages «bas niveau» comme l’assembleur, et les langages «haut niveau» comme Java, C++ peut à la fois interagir avec les couches hardware et fonctionner comme un puissant langage de haut niveau. C++ est un langage de programmation compilé. C++ est l’un des langages de programmation les plus populaires, avec une grande variété de plateformes matérielles et de systèmes [donner une référence]. Ce langage C++ est un des langages les plus célèbres au monde. Il est caractérisé aussi poar son portabilité. Il est très répandu câd Ceratins programmens doivent car il foctionnes. C’est en particulier le cas des jeux vidéo, mais aussi des outils finan- ciers ou de certains programmes militaires qui doivent fonctionner en temps réel. Il existe de nombreuses bibliothèques pour le C++. Les bibliothèques sont des extensions pour le langage, un peu comme des plug-ins. De base, le C++ ne sait pas faire grand chose mais, en le combinant avec de bonnes bibliothèques, on peut créer des programmes 3D, réseaux, audio, fenêtrés, etc. Il est multi-paradigmes signifie la possiilité de programmer de différentes façons en C++ [10]. XML L’Extensible Markup Language (XML, « langage à balise extensible » en fran- çais) est un langage informatique de balisage générique qui dérive du SGML. Cette syntaxe est dite «extensible» car elle permet de définir différents espaces de noms, c’est-à-dire des lan- gages avec chacun leur vocabulaire et leur grammaire, comme XHTML, XSLT, RSS, SVG... Elle est reconnaissable par son usage des chevrons (<>) encadrant les balises. L’objectif ini- tial est de faciliter l’échange automatisé de contenus complexes (arbres, texte riche...) entre systèmes d’informations hétérogènes (interopérabilité) [11]. MySQL Le Langage de requêtes structuré MySQL (acronyme de « My Structured Query Langage») est un système de gestion de bases de données relationnelles dédiées Open source. Il est très rapide, fiable et facile à utiliser et gratuit. Il a été développé à l’origine pour gérer de très grandes bases de données beaucoup plus rapidement que des solutions déjà établies. Il offre Samar Daoudi 22
  • 30. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID un ensemble de fonctionnalités large et riche. Sa rapidité et sa sécurisation en font un outil idéal pour les applications internet [12]. 3.2.2.2 Les outils de développement utilisés Les principaux outils qui ont contribué à l’élaboration de notre application sont les suivants : Visual Paradigm for UML Visual Paradigm for UML est, comme son nom le laisse supposer, un logiciel permettant aux programmeurs de mettre en place des diagrammes UML. Disposant d’un outil créant des rapports personnalisables aux formats PDF, Word ou HTML afin de les partager et les publier sur Internet, cette application est compatible avec de nombreuses applications, standards et environnements. Ainsi, nous pouvons générer notamment des diagrammes de séquences ou de cas d’utilisation et ainsi produire du code source dans de nombreux langages comme le Java ou encore le C++, ou bien faire l’inverse, générer des diagrammes à partir de code déjà existant [13]. Netbeans Netbeans est un environnement de développement intégré (EDI), placé en open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development and Distribution License). En plus de Java, Netbeans permet également de supporter différents autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend toutes les caractéristiques d’un IDE moderne (éditeur en couleur, projets multi-langage, refac- toring, éditeur graphique d’interfaces et de pages Web). Conçu en Java, Netbeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indépen- dante des systèmes d’exploitation (requérant une machine virtuelle Java). Un environnement Java Development Kit JDK est requis pour les développements en Java. Netbeans constitue par ailleurs une plateforme qui permet le développement d’applications spécifiques (bibliothèque Swing (Java)). L’IDE Netbeans s’appuie sur cette plateforme [14]. XAMPP Samar Daoudi 23
  • 31. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID XAMPP est un ensemble de logiciels permettant de mettre en place facilement un serveur Web et un serveur FTP. Il s’agit d’une distribution de logiciels libres (X Apache MySQL Perl PHP) offrant une souplesse d’utilisation, réputée pour son installation simple et rapide. Ainsi, il est à la portée d’un grand nombre de personnes puisqu’il ne requiert pas de connaissances particulières et fonctionne, de plus, sur les systèmes d’exploitation les plus répan- dus. Cette « distribution » se chargera donc d’installer l’ensemble des outils dont nous aurons besoin lors de la création d’un site Web. Plus d’une dizaine d’utilitaires sont intégrés, comme MySQL, PHP, Perl ou encore PhpMyAdmin. Il est distribué avec différentes bibliothèques logi- cielles qui élargissent la palette des services de façon notable : OpenSSL, Expat (parseur XML), PNG, SQLite, Zlib, ... ainsi que différents modules Perl et Tom cat, FileZilla Server [15]. Lyx LYX est un logiciel libre WYSIWYM sous licence GNU GPL pour la création de documents LATEX. À la différence des éditeurs de texte courants, LYX n’est pas tout à fait WYSIWYG. Le résultat de l’impression d’un document n’est pas identique à ce qui est affiché à l’écran. Le logiciel LYX a été conçu pour que l’utilisateur n’ait pas à sa charge la mise en page, et qu’il puisse se concentrer sur le contenu du texte et sur la structure du document. Les concepteurs de LYX ont développé le logiciel afin qu’il obéisse à la règle WYSIWYM selon laquelle ce que vous voyez (à l’écran) est ce que vous voulez dire [16]. 3.3 Modèle Relationnel 3.3.1 Règles de transformation Nous distinguons deux règles de passage principales : 1. Transformation des classes : chaque classe de données devient une relation, il faut choisir un attribut de la classe pouvant jouer le rôle de clé. 2. Transformation des associations : Nous distinguons trois familles d’associations — Association 1.. : il faut ajouter un attribut de type clé étrangère dans la relation fils de l’association. L’attribut porte le nom de la clé primaire de la relation père de l’associa- tion. Samar Daoudi 24
  • 32. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID — Association *..* et n-aire et classes-association : la classe-association devient une rela- tion. La clé primaire de cette relation est la concaténation des identifiants des classes connectées à l’association. — Association 1.. 1 : il faut ajouter un attribut de type clé étrangère dans la relation dérivée de la classe ayant la multiplicité minimale égale à un. L’attribut porte le nom de la clé primaire de la relation dérivée de la classe connectée à l’association. Si les deux multiplicités minimales sont à un, il est préférable de fusionner les deux classes en une seule [17]. 3.3.2 Description du modèle relationnel — Produit(Id_Pro, Code_Tag_Pro, Nom_Pro, Marque_Pro, Poids_Pro, Prix_Pro, Designa- tion_Pro, Choix_Pro, Photo_Pro, Date_Fabrication_Pro, Date_Limite_Pro, #Id_Catégorie) — Chariots(Id_Cha, Num_Cha, #Id_Facture) — Factures(Id_Fac, Total_Fac, Date_Fac, #Id_Carte_Fidélité) — Catégories(Id_Cat, Nom_Cat, Emplacement_Cat, Description_Cat, Promotion_Cat) — Lignes_Factures(Id_Lig_Fac, Qte_Lig_Fac, Prix_Lig_Fac, #Id_Produit, #Id_Facture) — Cartes_Fidelité(Id_Car_Fid, Nom_Car_Fid, Prenom_Car_Fid, Adresse_Car_Fid, Tel_Car_Fid, Mail_Car_Fid, Points_Car_Fid) — Lecteur(Id_Lec) 3.4 Implémentation 3.4.1 Étude d’enchainement des menus 3.4.1.1 Menu adminstrateur Samar Daoudi 25
  • 33. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 3.4 – Menu Administrateur de l’application. Samar Daoudi 26
  • 34. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 3.4.1.2 Menu client FIGURE 3.5 – Menu client de l’application. 3.4.2 Architecture de l’application 3.4.2.1 Architecture MVC Le patron d’architecture logicielle Modèle-Vue-Contrôleur (MVC, en anglais Model-View- Controller) est un modèle destiné à répondre aux besoins des applications interactives en sépa- rant les problématiques liées aux différents composants au sein de leur architecture respective. Ce paradigme regroupe les fonctions nécessaires en trois catégories : 1. Un modèle (modèle de données) ; 2. Une vue (présentation, interface utilisateur) ; 3. Un contrôleur (logique de contrôle, gestion des événements, synchronisation). Modèle : Le modèle représente le cœur (algorithmique) de l’application : traitements des données, interactions avec la base de données, etc. Il décrit les données manipulées par l’ap- plication. Il regroupe la gestion de ces données et est responsable de leur intégrité. La base de Samar Daoudi 27
  • 35. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID données sera l’un de ses composants. Le modèle comporte des méthodes standards pour mettre à jour ces données (insertion, suppression, changement de valeur). Il offre aussi des méthodes pour récupérer ces données. Les résultats renvoyés par le modèle ne s’occupent pas de la présen- tation. Le modèle ne contient aucun lien direct vers le contrôleur ou la vue. Sa communication avec la vue s’effectue au travers du patron Observateur. Vue : Ce avec quoi l’utilisateur interagit se nomme précisément la vue. Sa première tâche est de présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toute action de l’utilisateur (hover, clic de souris, sélection d’un bouton radio, cochage d’une case, entrée de texte, de mouvements, de voix, etc.). Ces différents événements sont envoyés au contrôleur. La vue n’effectue pas de traitement, elle se contente d’afficher les résultats des traitements effectués par le modèle et d’interagir avec l’utilisateur. Plusieurs vues peuvent afficher des informations partielles ou non d’un même modèle. Par exemple si une application de conversion de base a un entier comme unique donnée, ce même entier peut être affiché de multiples façons (en texte dans différentes bases, bit par bit avec des boutons à cocher, avec des curseurs). La vue peut aussi offrir à l’utilisateur la possibilité de changer de vue. Ceci permet une certaine récursivité du modèle. Contrôleur : Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de la vue et enclenche les actions à effectuer. Si une action nécessite un changement des don- nées, le contrôleur demande la modification des données au modèle afin que les données af- fichées se mettent à jour. D’après le patron de conception observateur/observable, la vue est un « observateur » du modèle qui est lui « observable ». Certains événements de l’utilisateur ne concernent pas les données mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier. Le contrôleur n’effectue aucun traitement, ne modifie aucune donnée. Il analyse la requête du client et se contente d’appeler le modèle adéquat et de renvoyer la vue correspon- dant à la demande. Par exemple, dans le cas d’une base de données gérant les emplois du temps des professeurs d’une école, une action de l’utilisateur peut être l’entrée (saisie) d’un nouveau cours. Le contrôleur ajoute ce cours au modèle et demande sa prise en compte par la vue. Une action de l’utilisateur peut aussi être de sélectionner une nouvelle personne pour visualiser tous ses cours. Ceci ne modifie pas la base des cours mais nécessite simplement que la vue s’adapte et offre à l’utilisateur une vision des cours de cette personne. Quand un même objet contrôleur reçoit les événements de tous les composants, il lui faut déterminer l’origine de chaque évé- nement. Ce tri des événements peut s’avérer fastidieux et peut conduire à un code peu élégant (un énorme switch). C’est pourquoi le contrôleur est souvent scindé en plusieurs parties dont chacune reçoit les événements d’une partie des composants [18]. Samar Daoudi 28
  • 36. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 3.4.2.2 Architecture détaillée de l’application Notre projet est basé sur la technologie d’identification par radio fréquence afin de gérer les produits grâce à la radio-étiquette qu’elle porte Nous avons intérêt à mettre en place une architecture rigoureuse, de manière à garantir la maintenabilité, l’évolutivité et l’exploitabilité de notre application. La Figure 3.6 montre l’architecture qui sera mise en place dans le cadre de notre projet. Il est décomposé de deux parties principales : les étiquettes RFID : Nous utilisons des étiquettes semi-passives. Chaque étiquette RFID contient une information de 20 octets : un octet de début de tag, un identifiant ou tag constitué de 18 octets et donc de 18 nombres codés en hexadécimal et un octet marquant la fin du tag. Nous avons associé chaque étiquette RFID à un produit du magasin au sein de la base de données et à l’administrateur. Une partie « client » embarquée : Elle représente le terminal utilisateur. Nous avons utilisé un ordinateur portable pour représenter cette partie. Cet ordinateur est équipé d’un lecteur RFID. Sur l’ordinateur portable, un programme réalisé en C++ permet la gestion des informations arrivant sur le port USB et l’extraction du tag lorsque le lecteur RFID passe au dessus d’une étiquette. FIGURE 3.6 – Architecture de l’application. Samar Daoudi 29
  • 37. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID La communication entre eux est réalisée par une liaison port série. 3.5 Description des interfaces de l’application 3.5.1 Présentation des entrées 3.5.1.1 L’interface d’authentification L’authentification est une procédure principale afin autoriser l’accès a l’application. Dans cette phase, l’administrateur accède à l’application en détectant automatiquement le numéro de la carte RFID. L’administrateur va passer son carte RFID devant le lecteur pour qu’il soit connecter et avoir la permission de passer au système. La figure 3.7 montre la phase d’authen- tification. FIGURE 3.7 – Interface « Authentification ». 3.5.1.2 Interface « Ajouter produit » Un administrateur a le droit d’ajouter des nouveaux produits en remplissant le formulaire présenté dans la figure 3.7. Nous notons que le champ de codeTag du produit sera détecté automatiquement. Cette interface présente le cas d’ajout un produit (il peut annuler l’ajout en cas d’erreur). Samar Daoudi 30
  • 38. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 3.8 – Interface « Ajouter produit ». 3.5.1.3 Interface « Modifier (ou Supprimer) un produit » En cliquant sur la ligne correspondante à un produit, l’administrateur peut modifier ses dé- tails ou le supprimer. Sinon, un pop-up s’affiche. La figure 3.7 montre la phase de modification ou suppresion d’un produit sélectionné. FIGURE 3.9 – Interface « Modifier Produit ». Samar Daoudi 31
  • 39. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 3.5.2 Présentation des sorties 3.5.2.1 Interface « Menu principale » Après l’authentification en tant que administrateur, le menu principale s’affiche permettant de gérer les produits, les catégories, les chariots ou les cartes de fidélité. FIGURE 3.10 – Interface « Menu principale ». 3.5.2.2 Interface « Liste des produits » En cliquant sur le bouton « Produits », la Figure 3.11 montre la liste des produits. Samar Daoudi 32
  • 40. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 3.11 – Interface « Liste des produits ». En cliquant sur une ligne donnée, cette interface montre les détails du produit relatif au produit sélectionné dans la partie droite. Un champ de recherche, au haut de la page, permet de saisir le nom du produit comme le montre la Figure 3.12. FIGURE 3.12 – Interface « Recherche d’un produit ». Samar Daoudi 33
  • 41. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID 3.5.2.3 Interface « Facture » Cette interface permet à un client donné de savoir la liste des produits ajoutés dans le chariot. La commande sera mettre à jour immédiatement à chaue opération d’ajout ou de suppression d’un produit. La Figure 3.13 illuste un example d’une facture d’un client. FIGURE 3.13 – Interface « Facture ». 3.6 Conclusion Dans ce chapitre, nous avons présenté les aspects de réalisation de notre solution pour éla- borer ce travail. Nous avons aussi présenté nos choix techniques. Enfin nous avons clôturé ce chapitre par quelques captures d’écrans de l’application. Samar Daoudi 34
  • 42. Annexe Système RFID Le système d’identification par radio-fréquence (RFID l’acronyme de Radio Frequency Identification) est une technologie qui permet de mémoriser et de récupérer des informations à distance grâce à une étiquette qui émet des ondes radio. Le terme RFID englobe toutes les technologies qui utilisent les ondes radio pour identifier automatiquement des objets ou des personnes. Cette technologie est très attractive pour l’entreprise qui offre la possibilité d’une gestion automatique du nombre conséquent d’informations qu’elle doit traiter. Les équipements adaptés à ce système permettent de synchroniser les flux physiques avec les flux d’informations. Principe fondamental de la RFID RFID fait partie des technologies d’identification automatique, au même titre que la recon- naissance optique de caractères ou de codes barre. Cette technologie permet d’identifier un objet ou une personne, d’en suivre le cheminement et d’en connaître les caractéristiques à distance grâce à une étiquette émettant des ondes radio, attachée ou incorporée à l’objet ou à la per- sonne. La technologie RFID permet la lecture des étiquettes même sans ligne de vue directe et peut traverser de fines couches de matériaux (peinture, neige, etc.). La figure illustre le Principe fondamental de la RFID. 35
  • 43. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID FIGURE 3.14 – le Principe fondamental de la RFID Composants et fonctionnement du système Une solution complète de RFID comprend les étiquettes, les lecteurs et encodeurs et l’inter- giciel (middleware). Ce dernier permet d’intégrer le flux des données dans le système d’infor- mation de l’entreprise. FIGURE 3.15 – les Composants du système Samar Daoudi 36
  • 44. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID Les étiquettes Une des méthodes d’identification les plus utilisées est d’abriter un numéro de série ou une suite de données dans une puce (chip) et de relier cette dernière à une petite antenne. Ce couple (puce silicium + antenne) est alors encapsulé dans un support (RFID Tag ou RFID Label). Ces "tag" peuvent alors être incorporés dans des objets ou être collés sur des produits. Le tout est alors imprimé sur un support pliable, souvent adhésif. Le format des données inscrites sur les étiquettes est standardisé à l’initiative d’EPC Global (Electronic Product Code). Les différents types de tags et leurs spécificités techniques Les étiquettes actifs Pour exploiter les informations contenues dans ces étiquettes, il faut im- pérativement disposer du lecteur approprié. Celui-ci émet des ondes radios en direction de la capsule ce qui permet de l’alimenter en énergie (alimentation par induction électromagnétique), en d’autres termes de l’activer (la puce renvoie alors des données), pour en extraire les informa- tions qu’elle renferme. Ces puces ne sont pas capables d’effectuer des traitements dynamiques mais seulement de renvoyer des données statiques. Les étiquettes passifs (sans batterie) Ne disposant d’aucune alimentation externe, ils dé- pendent de l’effet électromagnétique de réception d’un signal émis par le lecteur. C’est ce cou- rant qui leur permet d’alimenter leurs microcircuits. Ils sont peu coûteux à produire et sont généralement réservés à des productions en volume. Ce sont eux que l’on trouve plus particu- lièrement dans la logistique et le transport. Ils utilisent différentes bandes de fréquences radio selon leur capacité à transmettre à distance plus ou moins importante et au travers de substances différentes (air, eau, métal). La distance de lecture est inférieure à un mètre. Les basses et hautes fréquences sont normalisées au niveau mondial. Ces puces sont collées sur les produits pour un suivi allant jusqu’aux inventaires. Elles sont jetables ou réutilisables suivant les cas. Les puces avec une antenne de type “papillon“ ont une portée courante de 1 à 6 mètres (images 3, 5, 6 et 7). Ces puces UHF (Ultra Haute Fréquence) sont utilisées pour la traçabilité des palettes dans les entrepôts. Par contre, la tolérance aux obstacles est moyenne. Pour les très hautes fréquences, l’Europe, l’Asie et les Etats-Unis se distinguent par des fréquences et des réglementations dif- férentes. Les étiquettes semi_passifs Ces tags sont similaires aux cartes d’identification passive. Ils emploient des technologies proches, mais avec quelques différences importantes. Ils disposent en effet eux aussi d’une petite batterie qui fonctionne en permanence, ce qui libère l’antenne pour d’autres tâches, dont notamment la réception de signaux de retour. Ces tags sont plus robustes et plus rapides en lecture et en transmission que les tags passifs, mais ils sont aussi plus chers. Samar Daoudi 37
  • 45. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID Les fréquences d’utilisation Le choix de l’étiquette RFID doit se faire en fonction de la fréquence souhaitée qui influen- cera la distance et la vitesse de lecture : — l’étiquette basse fréquence (BF) 125 kHz — l’étiquette haute fréquence (HF) 13,56 MHz — l’étiquette RFID (UHF) 868 MHz. Application Les applications RFID s’appuient sur différents standards dépendant des fonctionnalités exi- gées par les processus métier et par certaines contraintes locales. La RFID permet de répondre à un grand nombre de besoins. Elle se développe bien en intra entreprise et dans la logistique. Les principales difficultés auxquelles le standard RFID doit faire face sont en voie d’être surmon- tées : coût de l’étiquette), gestion de l’anticollision en cas de lecture de nombreuses étiquettes en simultané, lecture au travers des fluides, adoption ou convergence trop lente de certains stan- dards, remise en cause de processus anciens, problèmes de sécurité et d’éthique. Avantages et inconvénients Avantages La capacité de mise à jour du contenu par les intervenants A la différence du code à barres pour lequel les données sont figées une fois imprimée ou marquée, le contenu des données stockées dans une étiquette radio fréquence va pouvoir être modifié, augmenté ou diminué par les intervenants autorisés (étiquettes en lecture et écriture multiple). Une plus grande capacité de contenu Dans une étiquette radiofréquence une capacité de 1000 caractères est aisément stockable sur 1mm2, et peut atteindre sans difficulté particulière 10000 caractères. Dans une étiquette logistique apposée sur une palette, les différentes unités contenues et leurs quantités respectives pourront être enregistrées et lues. La vitesse de marquage Le code à barres dans un contexte logistique nécessite le plus sou- vent l’impression d’un support papier. La manipulation et la pose des étiquettes restent des opérations manuelles ou mécaniques. Les étiquettes radio fréquence peuvent être inclues dans le support de manutention ou dans les conditionnements dès l’origine. Les données concernant les objets contenues ou transportées sont écrites en une fraction de seconde au moment de la constitution de l’unité logistique ou de transport, sans manipulation supplémentaire. Une sécurité d’accès au contenu Comme tout support numérique, l’étiquette radio fréquence peut être protégée par mot de passe en écriture ou en lecture. Les données peuvent être chiffrées. Samar Daoudi 38
  • 46. Developpement d’un systeme de reconnaissance des produits d’un chariot base sur la technologie RFID Dans une même étiquette, une partie de l’information peut être en accès libre, et l’autre protégée. Cette faculté fait de l’étiquette RF, un outil adaptée à la lutte contre le vol et la contre façon. Une plus grande durée de vie Dans les applications où un même objet peut être utilisé plu- sieurs fois, comme l’identification des supports de manutention, ou la consignation du conte- nant, une étiquette radio fréquence peut être réutilisée 1 000 000 de fois. Une plus grande souplesse de positionnement Avec l’étiquette radio fréquence, il est pos- sible de s’abstraire des contraintes liées à la lecture optique, elle n’a pas besoin d’être vue. Il lui suffit d’entrer dans le champ du lecteur pour que sa présence soit détectée. Inconvénients La perturbation par l’environnement physique La lecture des étiquettes radio fréquences est perturbée par la présence, par exemple, de métaux dans leur environnement immédiat. Des solutions doivent être étudiées au cas par cas pour minimiser ces perturbations, comme cela a été fait par exemple pour l’identification des bouteilles de gaz. Les interrogations sur l’impact de la radio fréquence sur la santé Cette question fait dé- bat depuis quelques années, en particulier concernant les portiques antivol et les téléphones portables. Les étiquettes passives ne présentent aucun risque quel que soit leur nombre puis- qu’elles ne sont actives que lorsqu’elles se trouvent dans le champ d’un lecteur. Les études portent donc essentiellement sur les lecteurs et visent à définir les critères de régulation de leur puissance d’émission afin d’éviter qu’ils ne créent des perturbations sur les équipements de santé tels que les pacemakers, mais aussi sur l’organisme humain Samar Daoudi 39
  • 47. Conclusion générale et perspectives Le présent travail décrit la réalisation d’un système de reconnaissance des produits d’un chariot à distance basé sur la technologie RFID. Cette application dispose de dispositifs matériels et logiciels qui permettent la reconnais- sance à distance les produits grâce aux tags RFID. Cette application permet aussi de gérer les produits, faire le suivi automatique d’une manière plus rapide, efficace et sécurisée. De plus, nous avons assuré à notre programme une grande portabilité grâce au langage de programma- tion JAVA avec le lecteur RFID et la base de données MySQL. La réalisation de cette application porte sur trois chapitres. Nous avons présenté dans la première partie un recueil présentant le champ de l’étude, l’étude de l’existant, les objectifs à atteindre, et la solution définie. La deuxième partie porte sur la modélisation conceptuelle en se basant sur le langage de conception des systèmes d’information UML. Enfin, nous avons effectué la réalisation de notre application en définissant l’environnement matériel et logiciel de la réalisation, le modèle physique des données et le fonctionnement de notre application à travers la présentation de certaines feuilles d’interfaces. Par ailleurs, nous avons rencontré des difficultés et des obstacles que nous avons essayé de les surmonter. Les contraintes de temps et l’aptitude à comprendre le domaine d’Arduino et les difficultés matérielles des cartes RFID sont les principaux obstacles. La réalisation de ce projet nous a été très bénéfique sur le plan technique. En effet, nous avons eu une opportunité de mieux maîtriser le développement en Java et de savoir plus l’environnement de l’ Arduino. En conclusion, ce travail a accompli ses objectifs, mais ce travail n’est que le début d’un long processus. En effet, il existe quelques améliorations et extensions qui peuvent enrichir notre application telle que le suivi des historiques des commandes commandes, les cartes de fidélités ,configuraton et paramétrage de lecteur. 40
  • 48. Bibliographie [1] http ://www.memoireonline.com/01/13/6849/m_Application-client-serveur-de-gestion- des-stocks8.html [2] http ://uml.free.fr/cours/p5.html [3] https ://fr.wikipedia.org/wiki/Diagramme_des_cas_d%27utilisation [4] http ://uml.free.fr/cours/i-p14.html [5] https ://fr.wikipedia.org/wiki/Diagramme_de_s%C3%A9quence [6] http ://niedercorn.free.fr/iris/iris1/uml/uml09.pdf [7] http ://rfid.comprendrechoisir.com/comprendre/lecteur-rfid [8] http ://rfid.comprendrechoisir.com/comprendre/etiquette-rfid [9] http ://ipeti.forumpro.fr/t21-definition-de-langage-java-java-script [10] http ://www.modelia.org/html/9_fichesTechniques/510_CppEtJava.htm [11] https ://fr.wikipedia.org/wiki/Extensible_Markup_Language [12] https ://fr.wikipedia.org/wiki/MySQL [13]http ://www.visual-paradigm.com/editions/modeler.jsp [14]http ://fr.wikipedia.org/wiki/NetBeans [15]http ://fr.wikipedia.org/wiki/XAMPP [16] https ://fr.wikipedia.org/wiki/LYX [17] http ://stephanie.laporte.pagesperso-orange.fr/Pdf/passageMCDMR.pdf [18] https ://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-contr%C3%B4leur [19] https ://fr.wikipedia.org/wiki/Radio-identification [20] http ://www.nopanda.com/inconvenients-technologie-s522015.htm 41
  • 49. Développement d’un système de reconnaissance des produits d’un chariot basé sur la technologie RFID Samar Daoudi ‫الخالصة‬: Résumé : Notre projet intitulé « Développement d’un système de reconnaissance des produits d’un chariot basé sur la technologie RFID». Ce présent travail comporte deux parties : Une partie qui se base sur la technologie innovante RFID à l’aide des cartes Arduino. L’autre partie forme une application java. Nous avons achevés notre travail, grâce à l’approche UML pour la conception de notre système. Dans la partie réalisation, nous avons capturé des imprimes écran de la majorité des interfaces de notre projet. Abstract: Our project entitled «Development of a product recognition system of a shopping cart based on RFID technology». This work is composed of two parts: The one part is based on a innovent technology through RFID cards(Arduino). The other part composed a java application. We have achieved this work using UML model for system modeling. Most of our application interfaces are captured. ‫المفاتيح‬:‫المنتجات‬ ‫إدارة‬,‫التعرف‬,Java,Arduino ,RFID Mots clés: Gestion des produits, Reconnaissance, RFID, Java, Arduino Key-words: Product management, Recognition, RFID, Java, Arduino Pôle technologique route tunis Km 10 ; B.P. : 242 SFAX 3021 Tél. : 216 74 86 22 33 ; Fax : 216 74 86 24 32 www.isimsf.rnu.tn ‫التكنولوجي‬ ‫القطب‬‫كلم‬ ‫تونس‬ ‫طريق‬10:.‫ص.ب‬ ‫؛‬242‫صفاقس‬ ‫؛‬3021 ‫هاتف‬:74 86 22 33216‫؛‬‫فاكس‬:32248674 216