Belwafi bilel

49
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

Transcript of Belwafi bilel

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 21.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 62.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 183.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 latechnologie RFID

3.2.1.2 La carte Arduino . . . . . . . . . . . . . . . . . . . . . . . . 193.2.1.3 Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.2 Environnement logicielle . . . . . . . . . . . . . . . . . . . . . . . . 213.2.2.1 Les langages de développement . . . . . . . . . . . . . . . 213.2.2.2 Les outils de développement utilisés . . . . . . . . . . . . . 23

3.3 Modèle Relationnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.1 Règles de transformation . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.2 Description du modèle relationnel . . . . . . . . . . . . . . . . . . . . 25

3.4 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.4.1 Étude d’enchainement des menus . . . . . . . . . . . . . . . . . . . . 25

3.4.1.1 Menu adminstrateur . . . . . . . . . . . . . . . . . . . . . . 253.4.1.2 Menu client . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.4.2 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . 273.4.2.1 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . 273.4.2.2 Architecture détaillée de l’application . . . . . . . . . . . . . 29

3.5 Description des interfaces de l’application . . . . . . . . . . . . . . . . . . . . 303.5.1 Présentation des entrées . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.5.1.1 L’interface d’authentification . . . . . . . . . . . . . . . . . 303.5.1.2 Interface « Ajouter produit » . . . . . . . . . . . . . . . . . . 303.5.1.3 Interface « Modifier (ou Supprimer) un produit » . . . . . . . 31

3.5.2 Présentation des sorties . . . . . . . . . . . . . . . . . . . . . . . . . . 323.5.2.1 Interface « Menu principale » . . . . . . . . . . . . . . . . . 323.5.2.2 Interface « Liste des produits » . . . . . . . . . . . . . . . . 323.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 ». . . . . . . . . . . . . . . 82.2 Diagramme des cas d’utilisation du « Gestion des achats ». . . . . . . . . . . . 102.3 Diagramme de classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Diagramme de séquence « Chercher produit » . . . . . . . . . . . . . . . . . . 152.5 Diagramme de séquence « Ajouter produit » . . . . . . . . . . . . . . . . . . . 152.6 Diagramme d’activité « Ajouter produit ». . . . . . . . . . . . . . . . . . . . . 162.7 Diagramme d’état-transition de l’objet « Chariot ». . . . . . . . . . . . . . . . 17

3.1 Un lecteur Adafruit PN532. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2 La carte Arduino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.3 Le montage du lecteur Adafruit et de la carte Arduino. . . . . . . . . . . . . . 213.4 Menu Administrateur de l’application. . . . . . . . . . . . . . . . . . . . . . . 263.5 Menu client de l’application. . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.6 Architecture de l’application. . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.7 Interface « Authentification ». . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.8 Interface « Ajouter produit ». . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.9 Interface « Modifier Produit ». . . . . . . . . . . . . . . . . . . . . . . . . . . 313.10 Interface « Menu principale ». . . . . . . . . . . . . . . . . . . . . . . . . . . 323.11 Interface « Liste des produits ». . . . . . . . . . . . . . . . . . . . . . . . . . . 333.12 Interface « Recherche d’un produit ». . . . . . . . . . . . . . . . . . . . . . . . 333.13 Interface « Facture ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.14 le Principe fondamental de la RFID . . . . . . . . . . . . . . . . . . . . . . . 363.15 les Composants du système . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

iii

Liste des tableaux

2.1 Classe « Produits » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Classe « Factures » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Classe « Chariots » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4 Classe « Lignes_Factures » . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5 Classe « Catégories » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.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 entreprisestelles 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 passageprogressif 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 lesclients. De plus, l’existence d’un produit nécessite un moyen de contrôle. Ces sociétés visenttoujours à la recherche perpétuelle de solutions pratiques pour fidéliser les clients et faciliterleurs 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 RFIDet NFC pour remédier à ces problèmes. Ainsi, nous avons pensé à mettre en place une solutionmaté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 tempsimportant nécessaire pour le traitement des commandes : reconnaitres les détails des produits etla 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 étudepré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 suivantla 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 dernierchapitre 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ésultatsobtenus à travers quelques interfaces de l’application. Ce rapport débouchera sur une conclusiongé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 lasociété d’accueil. Par la suite, nous présenterons le champ de l’étude, les objectifs à atteindreainsi que le planning prévisionnel. Nous passerons enfin à l’analyse et le critique de l’existantafin 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 intelligentsde gestion du stock des magasins et des restaurants. De plus, elle prendre en charge tous lesdépannages informatiques ainsi que les installations de logiciels ou les changements de piècesdétachées.

1.3 Planning prévisionnel

Pendant le mois de Février 2016 nous avons commencé par la collecte des informationsnécessaires pour réussir notre projet. Nous avons visité quelques magasins afin de contacter sesresponsables pour nous décrire leurs besoins. Puis nous avons fait une étude préalable de ceprojet en analysant et critiquant l’existant et nous avons proposé la solution convenable. A lafin du mois de Février nous avons déjà validé les fonctionnalités de cette application et nousavons rédigé le cahier des charges afin d’analyser la partie à développer à la suite. Au débutdu mois de Mars nous avons fait l’analyse et la conception de cette application à l’aide de laméthode conception UML. Au cours du mois de Mars nous avons commencé le développementdes 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 latechnologie RFID

la language java jusqu’a fin du mois d’avril. Finallement, durant le mois de Mai nous avonsfini d’integrer la partie Arduino et le test des interfaces de l’application.La rédaction du rapporta été faite tout au long de ces mois. La figure 1.1 illustre le chronogramme des étapes de laré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 dysfonctionnementde la gestion des achats de produit afin de remédier à ces problèmes détecter et apporter dessolutions 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 surdes papiers, ainsi que les commandes. Pour un client donné, ce dernier commence à prendre unchariot, puis, il circule dans le magasin et consulte les produits. Ensuite, il prend un ou plusieursproduit(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 certainsmoments, il reprendre les produits au nouveau à partir du chariot et les mettre au nouveau devantle 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 latechnologie RFID

1.4.2 Critique de l’existant :

Les principaux des fonctionnements de la situation actuelle sont : D’une part, le processusde 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 saitpas d’avance la totalité de la commande. En cas de manque d’argent, il doit retourner certainsproduits et par la suite, toute la commande doit être recalculer. Cette tâche est très pénible etfait perdre de temps. Aussi la recherche d’une information de produit ou catégorie prend dutemps et cela influe sur la qualité de service donné aux clients. Nous pouvons aussi avoir dessituations de vols, dans le cas où le client cache certains produits. D’autre part, pour un agentd’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 allonsentamer 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é dansles années à venir, et plusieurs ingénieurs et chercheurs travaillent déjà sur des standards pourmieux l’encadrer et parvenir à unifier les modulations et techniques pour traiter les informationsqui circulent s’appuyant sur ce système. Dans ce cadre, nous avons proposé de développer unsystè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 notreimplémentation ainsi que les langages de programmation qui seront utilisées pour commanderces composantes. Tous les processus seront faits d’une manière informatisée et plus facile ettoutes les données seront sauvegardés dans une base de données. Ce qui permet principalementde reconnaître automatiquement les détails des produits.

Samar Daoudi 4

Developpement d’un systeme de reconnaissance des produits d’un chariot base sur latechnologie RFID

1.7 Conclusion

Dans ce chapitre nous avons présenté le cadre général du projet, une étude de l’existant ainsique 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 notreapplication pour le développement de notre système intitulé « Développement d’un systèmede reconnaissance des produits d’un chariot basé sur la technologie RFID ». Afin présenter aumieux 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é à traversles différents types de diagra1mmes.Ainsi, nous allons commencer à détailler la conception enpré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 montrantle 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 sansse soucier des détails d’implémentation inhérents au langage de programmation utilisé. UMLest 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 concentrersur 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 latechnologie 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’interfaceJava.

— 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 visionglobale 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’authentifierObjectif : 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 : administrateurPrécondition : Les informations de l’administrateur sont sauvegardées dans la base dedonné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 latechnologie 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 produitObjectif : l’administrateur doit pouvoir ajouter un nouveau produit en saisissant ses dé-tails à travers le formulaire d’ajout.Acteur principal : administrateurPrécondition : L’administrateur s’authentifieScé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 latechnologie 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 communiqueavec 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 chariotObjectif : l’administrateur doit pouvoir ajouter un nouveau chariot en saisissant ses dé-tails à travers le formulaire d’ajout.Acteur principal : administrateurPrécondition : L’administrateur s’authentifieScé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 avecla 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 latechnologie 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’achatObjectif : Le client doit choisir un chariot dans lequel il remet les produits demandés.Acteur principal : ClientPré-condition : Le client choisit un chariot occupé par une appareil de détectionScénario nominal :

1. Le client ajoute un produit dans le chariot, la page communique avec la base dedonné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 latechnologie RFID

FIGURE 2.3 – Diagramme de classe.

Ci-dessous quelques règles de gestion pour la bonne formation du diagramme de classes dela 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 del’ensemble des classes constituant le diagramme de classe :

Samar Daoudi 11

Developpement d’un systeme de reconnaissance des produits d’un chariot base sur latechnologie RFID

Classe ProduitsAttributs

Code Désignation TypeId_Pro Identifiant de produit Numérique

Code_tag_Pro Code de produit Chaine de caractéreNom_Pro Nom du produit Chaine de caractére

Marque_Pro Marque du produit Chaine de caractérePoids_Pro Poids du produit Chaine de caractérePrix_Pro Prix du produit Chaine de caractére

Désignation_Pro Désignation du produit Chaine de caractérePhoto_Pro Photo du produit Chaine de caractére

Date_fabrication_Pro Date Fabrication du produit Chaine de caractéreDate_limite_Pro Date limite du produit Chaine de caractére

MéthodesNom Description

Ajouter () Ajout d’un produitModifier () Modification d’un produit

Rechercher () Recherche d’un produitAfficher () Affichage d’un produit

Supprimer () Suppression d’un produitExigences

Nom ContraintesDate_fabrication_Pro Date_limite_Pro>Date_fabrication_Pro

TABLE 2.1 – Classe « Produits »

Classe « Factures»Attributs

Code Désignation TypeId_Fac Identifiant de Facture Numérique

Date_Fac Date de facture Chaine de caractéreTotal_Fac Total de Facture Chaine de caractére

MéthodesNom Description

Calculer_Somme() Calculer la somme des produitsSupprimer() Supprimer la facture

TABLE 2.2 – Classe « Factures »

Samar Daoudi 12

Developpement d’un systeme de reconnaissance des produits d’un chariot base sur latechnologie RFID

Classe « Chariots»Attributs

Code Désignation TypeId_Cha Identifiant de Chariot Numérique

Num_Cha Numéro de chariot NumériqueMéthodes

Nom DescriptionAjouter () Ajout d’un ChariotModifier () Modification d’un Chariot

Rechercher () Recherche d’un ChariotAfficher () Affichage d’un Chariot

Supprimer () Suppression d’un Chariot

TABLE 2.3 – Classe « Chariots »

Classe « Lignes_Factures»Attributs

Code Désignation TypeId_Lig_Fac Identifiant de la Lignes de Facture Numérique

Heure_Lig_Fac Heure de la Lignes de Facture Chaine de caractérePrix_Lig_Fac Prix de la Ligne de Facture Chaine de caractéreQte_Lig_Fac Quantité de la Ligne de facture Numérique

TABLE 2.4 – Classe « Lignes_Factures »

Classe CatégoriesAttributs

Code Désignation TypeId_Cat Identifiant de Catégorie Numérique

Emplacement_Cat Emplacement de catégorie Chaine de caractéreDescription_Cat Description de catégorie Chaine de caractérePromotion_Cat Promotion de catégorie Chaine de caractére

MéthodesNom Description

Ajouter () Ajout d’une catégorieModifier () Modification d’une catégorie

Rechercher () Recherche d’une catégorieAfficher () 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 latechnologie RFID

Classe « Cartes_Fidélité »Attributs

Code Désignation TypeId_Car_Fid Identifiant de carte fidélité Numérique

Num_Car_Fid Numéro de la carte fidélité Chaine de caractéreNom_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éreAdresse_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ériqueMail_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ériqueMéthodes

Nom DescriptionAjouter () 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 enmettant 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 peutconsulter la liste des produits ou chercher un produit en utilisant des critères de recherchecomme le libellé. Il a le droit d’ajouter un nouveau produit à travers le formulaire d’ajout par ladé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.5et 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 latechnologie 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 latechnologie RFID

2.5.2 Diagramme d’activité :

Le diagramme d’activités donne une vision des enchaînements des activités propres à uneopé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 latechnologie 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 avonsfourni, 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 diagrammesde classe. A la fin du chapitre nous avons présenté le modèle dynamique à travers le diagrammede séquence et les diagrammes comportementaux (activité et état-transition). A présent, noussommes 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 ledernier volet de ce rapport, qui a pour objectif d’exposer la phase de réalisation. La phase deré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 logiciellesutilisées dans le développement de notre projet. Nous présentons en premier lieu notre choixde l’environnement de travail, où nous spécifions l’environnement matériel et logiciel qu‘on autilisé pour réaliser notre application puis nous détaillons l’architecture, aussi nous présentonsquelques 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écritdans le tableau 3.1.

Marque DellProcesseur Intel® Core™ i3-3110M CPU @ 2,4GHz

RAM 4GODisque 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 latechnologie 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, nousavons 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 contenuedans la puce. Ils ont globalement tous le même mode de fonctionnement, mais un choix delecteur 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 dedéveloppement qui se présentent sous forme de circuits imprimés sur les quelles se trouve unmicrocontrôleur pour analyser et produire des signaux électriques de manière à effectuer destâ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’unmicrocontrô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 latechnologie 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 desentré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 shieldau-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 latechnologie 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èvementchacun :

Java Java est un langage de programmation moderne, orienté objet développé par SunMicrosystems (aujourd’hui racheté par Oracle). C’est un langage très utilisé, notamment par ungrand 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 foisle programme est créé, il fonctionne automatiquement sous Windows, Mac, Linux, etc. Pour ceraison, 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 sontdes programmes Java incorporés à des pages web ; des applications pour appareils mobiles, avecJ2ME ;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 latechnologie RFID

C++ est une évolution du langage C vers un langage orienté objet. Il garde lespoints forts du C et en corrige certains points faibles. Entre les langages «bas niveau» commel’assembleur, et les langages «haut niveau» comme Java, C++ peut à la fois interagir avec lescouches hardware et fonctionner comme un puissant langage de haut niveau. C++ est un langagede 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]. Celangage 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 programmensdoivent 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 denombreuses 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 combinantavec 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 syntaxeest 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. . .) entresystèmes d’informations hétérogènes (interopérabilité) [11].

MySQL

Le Langage de requêtes structuré MySQL (acronyme de « My Structured QueryLangage») 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 detrè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 latechnologie RFID

un ensemble de fonctionnalités large et riche. Sa rapidité et sa sécurisation en font un outil idéalpour 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 logicielpermettant aux programmeurs de mettre en place des diagrammes UML. Disposant d’un outilcréant des rapports personnalisables aux formats PDF, Word ou HTML afin de les partager et lespublier sur Internet, cette application est compatible avec de nombreuses applications, standardset environnements. Ainsi, nous pouvons générer notamment des diagrammes de séquences oude cas d’utilisation et ainsi produire du code source dans de nombreux langages comme le Javaou 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 Developmentand Distribution License). En plus de Java, Netbeans permet également de supporter différentsautres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprendtoutes 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 disponiblesous 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 environnementJava Development Kit JDK est requis pour les développements en Java. Netbeans constitue parailleurs une plateforme qui permet le développement d’applications spécifiques (bibliothèqueSwing (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 latechnologie RFID

XAMPP est un ensemble de logiciels permettant de mettre en place facilementun serveur Web et un serveur FTP. Il s’agit d’une distribution de logiciels libres (X ApacheMySQL Perl PHP) offrant une souplesse d’utilisation, réputée pour son installation simple etrapide. Ainsi, il est à la portée d’un grand nombre de personnes puisqu’il ne requiert pas deconnaissances 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 auronsbesoin lors de la création d’un site Web. Plus d’une dizaine d’utilitaires sont intégrés, commeMySQL, 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éationde documents LATEX. À la différence des éditeurs de texte courants, LYX n’est pas tout à faitWYSIWYG. 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 enpage, et qu’il puisse se concentrer sur le contenu du texte et sur la structure du document. Lesconcepteurs de LYX ont développé le logiciel afin qu’il obéisse à la règle WYSIWYM selonlaquelle 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 choisirun 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 del’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 latechnologie 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 classesconnectées à l’association.

— Association 1.. 1 : il faut ajouter un attribut de type clé étrangère dans la relation dérivéede la classe ayant la multiplicité minimale égale à un. L’attribut porte le nom de laclé primaire de la relation dérivée de la classe connectée à l’association. Si les deuxmultiplicités minimales sont à un, il est préférable de fusionner les deux classes en uneseule [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 latechnologie 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 latechnologie 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 desdonné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 latechnologie 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éthodespour 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 communicationavec 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 estde présenter les résultats renvoyés par le modèle. Sa seconde tâche est de recevoir toute actionde l’utilisateur (hover, clic de souris, sélection d’un bouton radio, cochage d’une case, entrée detexte, de mouvements, de voix, etc.). Ces différents événements sont envoyés au contrôleur. Lavue n’effectue pas de traitement, elle se contente d’afficher les résultats des traitements effectuéspar le modèle et d’interagir avec l’utilisateur. Plusieurs vues peuvent afficher des informationspartielles ou non d’un même modèle. Par exemple si une application de conversion de base aun entier comme unique donnée, ce même entier peut être affiché de multiples façons (en textedans différentes bases, bit par bit avec des boutons à cocher, avec des curseurs). La vue peutaussi 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 synchronisationpour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements dela 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 estun « observateur » du modèle qui est lui « observable ». Certains événements de l’utilisateurne concernent pas les données mais la vue. Dans ce cas, le contrôleur demande à la vue de semodifier. Le contrôleur n’effectue aucun traitement, ne modifie aucune donnée. Il analyse larequê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 tempsdes professeurs d’une école, une action de l’utilisateur peut être l’entrée (saisie) d’un nouveaucours. Le contrôleur ajoute ce cours au modèle et demande sa prise en compte par la vue. Uneaction de l’utilisateur peut aussi être de sélectionner une nouvelle personne pour visualiser tousses cours. Ceci ne modifie pas la base des cours mais nécessite simplement que la vue s’adapteet offre à l’utilisateur une vision des cours de cette personne. Quand un même objet contrôleurreç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 dontchacune 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 latechnologie 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érerles produits grâce à la radio-étiquette qu’elle porte Nous avons intérêt à mettre en place unearchitecture 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 denotre projet. Il est décomposé de deux parties principales :

les étiquettes RFID : Nous utilisons des étiquettes semi-passives. Chaque étiquette RFIDcontient une information de 20 octets : un octet de début de tag, un identifiant ou tag constitué de18 octets et donc de 18 nombres codés en hexadécimal et un octet marquant la fin du tag. Nousavons 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 informationsarrivant 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 latechnologie 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. Danscette phase, l’administrateur accède à l’application en détectant automatiquement le numérode la carte RFID. L’administrateur va passer son carte RFID devant le lecteur pour qu’il soitconnecter 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 formulairepré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 encas d’erreur).

Samar Daoudi 30

Developpement d’un systeme de reconnaissance des produits d’un chariot base sur latechnologie 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 modificationou 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 latechnologie 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 permettantde 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 latechnologie RFID

FIGURE 3.11 – Interface « Liste des produits ».

En cliquant sur une ligne donnée, cette interface montre les détails du produit relatif auproduit sélectionné dans la partie droite. Un champ de recherche, au haut de la page, permet desaisir 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 latechnologie 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 suppressiond’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é cechapitre 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 FrequencyIdentification) 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 lestechnologies qui utilisent les ondes radio pour identifier automatiquement des objets ou despersonnes. Cette technologie est très attractive pour l’entreprise qui offre la possibilité d’unegestion automatique du nombre conséquent d’informations qu’elle doit traiter. Les équipementsadapté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 objetou une personne, d’en suivre le cheminement et d’en connaître les caractéristiques à distancegrâ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 etpeut traverser de fines couches de matériaux (peinture, neige, etc.). La figure illustre le Principefondamental de la RFID.

35

Developpement d’un systeme de reconnaissance des produits d’un chariot base sur latechnologie 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 latechnologie RFID

Les étiquettes

Une des méthodes d’identification les plus utilisées est d’abriter un numéro de série ou unesuite 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 estalors 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 lacapsule 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 dynamiquesmais 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 sontgé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 radioselon leur capacité à transmettre à distance plus ou moins importante et au travers de substancesdifférentes (air, eau, métal). La distance de lecture est inférieure à un mètre. Les basses et hautesfréquences sont normalisées au niveau mondial. Ces puces sont collées sur les produits pour unsuivi allant jusqu’aux inventaires. Elles sont jetables ou réutilisables suivant les cas. Les pucesavec 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 lesentrepô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. Ilsemploient des technologies proches, mais avec quelques différences importantes. Ils disposenten effet eux aussi d’une petite batterie qui fonctionne en permanence, ce qui libère l’antennepour d’autres tâches, dont notamment la réception de signaux de retour. Ces tags sont plusrobustes et plus rapides en lecture et en transmission que les tags passifs, mais ils sont aussiplus chers.

Samar Daoudi 37

Developpement d’un systeme de reconnaissance des produits d’un chariot base sur latechnologie 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. Lesprincipales 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 étiquettesen 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 à barrespour lequel les données sont figées une fois imprimée ou marquée, le contenu des donnéesstockées dans une étiquette radio fréquence va pouvoir être modifié, augmenté ou diminué parles intervenants autorisés (étiquettes en lecture et écriture multiple).

Une plus grande capacité de contenu Dans une étiquette radiofréquence une capacité de1000 caractères est aisément stockable sur 1mm2, et peut atteindre sans difficulté particulière10000 caractères. Dans une étiquette logistique apposée sur une palette, les différentes unitéscontenues 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 desopérations manuelles ou mécaniques. Les étiquettes radio fréquence peuvent être inclues dansle support de manutention ou dans les conditionnements dès l’origine. Les données concernantles objets contenues ou transportées sont écrites en une fraction de seconde au moment de laconstitution 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équencepeut ê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 latechnologie 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 luisuffit 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équencesest perturbée par la présence, par exemple, de métaux dans leur environnement immédiat. Dessolutions 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éphonesportables. 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 étudesportent donc essentiellement sur les lecteurs et visent à définir les critères de régulation de leurpuissance d’émission afin d’éviter qu’ils ne créent des perturbations sur les équipements desanté 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’unchariot à 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 lesproduits, 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 lapremiè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 ense basant sur le langage de conception des systèmes d’information UML. Enfin, nous avonseffectué la réalisation de notre application en définissant l’environnement matériel et logicielde 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é deles surmonter. Les contraintes de temps et l’aptitude à comprendre le domaine d’Arduino etles difficultés matérielles des cartes RFID sont les principaux obstacles. La réalisation de ceprojet 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 longprocessus. En effet, il existe quelques améliorations et extensions qui peuvent enrichir notreapplication 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

3021؛ صفاقس 242؛ ص.ب.: 10طريق تونس كلم القطب التكنولوجي

216 74 86 24 32 :فاكس؛ 216 33 22 86 74: هاتف