• Aucun résultat trouvé

Développement d’une application sur PDA pour la collecte de données

N/A
N/A
Protected

Academic year: 2021

Partager "Développement d’une application sur PDA pour la collecte de données"

Copied!
41
0
0

Texte intégral

(1)

HAL Id: hal-02796055

https://hal.inrae.fr/hal-02796055

Submitted on 5 Jun 2020

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

collecte de données

Marie-France Umutangampundu

To cite this version:

Marie-France Umutangampundu. Développement d’une application sur PDA pour la collecte de don-nées. Sciences du Vivant [q-bio]. 2015. �hal-02796055�

(2)

Département Réseaux et Télécommunications UREP – Site de Crouël 5 Chemin de Beaulieu

63039 Clermont-Ferrand cedex 2

Rapport de stage

Réalisé par :

UMUTANGAMPUNDU Marie France

Maître de stage :

M. Raphaël MARTIN

Année universitaire : 2014/2015

Développement d’une application sur PDA

pour la collecte de données

(3)

Remerciements

Mes remerciements s'adressent principalement à M. Raphaël MARTIN, mon encadrant de stage, pour m‟avoir intégré rapidement au sein de l‟unité, pour ses conseils avisés et la confiance qu‟il m‟a accordé tout au long de mon stage.

Je tiens également à remercier toutes les personnes avec qui j‟ai eu le plaisir de travailler durant dix semaines.

Et pour finir, j‟adresse mes remerciements à l‟IUT de Clermont-Ferrand, le département Réseaux et Télécommunications et l‟ensemble des professeurs, pour l‟ensemble des connaissances acquises durant ces deux années.

(4)

Sommaire

Remerciements ... 1

Sommaire ... 2

Table des figures ... 4

Introduction ... 5

I. Présentation du contexte ... 6

I.1 Présentation de l‟INRA... 6

I.1.1 Présentation générale ... 6

I.1.2 Présentation de l‟UREP ... 7

I.2 Analyse de l‟existant ... 8

I.3 Objectifs du stage et planning ... 10

II. Le travail effectué ... 12

II.1. Présentation des outils utilisés ... 12

Description du PDA ... 12

Langages de développement ... 12

L‟environnement de développement ... 13

II.2 Le développement de l‟application Windows mobile ... 13

II.2.1 Analyse et spécification des besoins... 14

II.2.1.1 Spécification des besoins ... 14

II.2.1.2 Analyse des besoins ... 15

II.2.2 Conception ... 17

II.2.3 Fonctionnement de l‟application ... 19

II.3 Réalisation d‟une base de données et de son interface utilisateur ... 22

II.3.1 Etude de l‟existant ... 22

II.3.2 Conception ... 24

(5)

III.1 Résultats obtenus ... 30

III.2 Difficultés rencontrées ... 31

III.3 Poursuites envisageables ... 31

Conclusion ... 32

Glossaire ... 33

Bibliographie ... 34

English summary ... 35

(6)

Table des figures

Figure 1: Inventaire de stock ... 8

Figure 2: Fiches réelles de suivi de l'emploi d'alcools ... 9

Figure 3: Diagramme de Gantt ... 11

Figure 4: Diagramme de cas d'utilisation ... 16

Figure 5 : Architecture MVC ... 18

Figure 6 : Diagramme de classes UML de l'application PDA ... 19

Figure 7: Page principale de l'application ... 20

Figure 8: Page de mise à jour ... 20

Figure 9: Page de mise à jour avec un code scanné ... 21

Figure 10: Page de mise à jour avec les informations existantes ... 21

Figure 11: Page de visualisation des codes ... 22

Figure 12 : Modèle Conceptuel de Données (MCD) ... 23

Figure 13: Interface principale de l'application JAVA, avant modification ... 24

Figure 14: Interface principale de l'application JAVA, après modification ... 24

Figure 15: Cycle de vie d'un produit chimique à l'UREP ... 26

Figure 16: Interface principale de l'application JAVA ... 28

Figure 17: Interface d'ajout d'une commande ... 28

Figure 18: Choix de consultation des commandes ... 29

Figure 19:Interface de consultation des commandes ... 29

(7)

Introduction

Dans le cadre de ma formation de DUT Réseaux et Télécommunications, j‟ai effectué mon stage de fin d‟études à l‟INRA (Institut National de la Recherche Agronomique) dans l‟unité UREP (Unité de Recherche sur l‟Ecosystème Prairial). J‟ai été encadré par M. Raphaël MARTIN, ingénieur informatique de l‟INRA.

L‟objectif de ce stage était de développer une application sur les PDA/lecteur de code barre afin de pouvoir scanner ce dernier et lui associer des opérations de base nécessaire à la gestion d‟un stock de produits chimiques.

Je vais ainsi m‟attacher, dans un premier temps, à vous détailler le contexte de mon stage, puis je détaillerai le travail effectué. Afin de conclure dans un dernier temps par un bilan et des perspectives.

(8)

I.

Présentation du contexte

I.1 Présentation de l’INRA

I.1.1 Présentation générale

L'Institut National de la Recherche Agronomique, plus connu sous le sigle INRA, a été fondé en 1946 dans le contexte de la reconstruction nationale d'après-guerre et du projet de modernisation de l'agriculture française. L'institut accompagne les changements du monde agricole, des filières alimentaires et des territoires dans l'objectif de répondre aux attentes exprimées par la société.

L‟INRA a le statut d‟établissement public à caractère scientifique et technologique et se trouve sous la double tutelle du ministère chargé de la Recherche et du ministère chargé de l'agriculture. Afin de répondre aux défis scientifiques et sociétaux qui ont évolués et qui ont une dimension mondiale, l'INRA a renouvelé ses approches. Les recherches de l‟institut se consacrent trois domaines, interdépendants : l‟agriculture, l‟alimentation et l‟environnement. L‟ambition des travaux de l‟INRA est le développement d‟une agriculture adaptée aux besoins nutritionnels de l‟homme tout en étant compétitive et respectueuse de l‟environnement.

Missions de l’INRA

L‟INRA a pour missions de :

 Produire et diffuser des connaissances scientifiques ;

 Concevoir des innovations et des savoir-faire pour la société ;

 Eclairer, par son expertise, les décisions des acteurs publics et privés ;

 Développer la culture scientifique et technique ;

(9)

I.1.2 Présentation de l’UREP

Rattachée au département Ecologie des Forêts, des Prairies et des milieux Aquatiques (EFPA), l'Unité de Recherche sur l'Ecosystème Prairial est l‟une des unités de recherche constituant l‟INRA. Elle se situe sur le site de Crouël et compte 23 agents.

L'UREP possède une expertise internationale dans le domaine de l'écologie prairiale et plus particulièrement concernant l'impact du changement climatique, les bilans de gaz à effet de serre, la séquestration de carbone, les cycles carbone et azote, les interactions plantes-sol (microorganismes) et herbe-animal, ou encore les effets des pratiques de gestion sur la dynamique prairiale.

Activités de recherche

Le projet de l‟Unité de Recherche sur l‟Ecosystème Prairial porte sur « l‟écologie, le fonctionnement et les services de la prairie permanente dans un contexte de changement global ». Il se positionne dans un contexte porteur et permet de répondre à la fois à des attentes en matière de travaux cognitifs (front de science) et finalisés (demande sociétale).

L‟enjeu est de contribuer à une gestion durable de l‟écosystème prairial dans un contexte changeant (climat et multifonctionnalité de l‟agriculture). Pour cela, l‟UREP développe une démarche intégrative et prédictive combinant observation, expérimentation et modélisation.

(10)

I.2 Analyse de l’existant

L‟UREP, de par son activité de recherche, est amenée à stocker de nombreux produits chimiques. Pour effectuer ce stockage dans de bonnes conditions de sécurité, l‟UREP a prévu un local et des armoires dans lesquels ces produits chimiques sont rangés. Par ailleurs, leur stockage impose de classer chaque catégorie en fonction de :

- Ses propriétés ;

- Le degré de dangerosité qu‟ils représentent ; - La date d‟entrée dans le lieu de stockage ; - La fréquentation d‟utilisation.

Comme tout stock, celui-ci doit être geré continuellement et en temps réel.

Voici ci-dessous une représentation de la gestion existante du stock de produits chimiques de l‟UREP.

(11)

Figure 2: Fiches réelles de suivi de l'emploi d'alcools

Le principal moyen de suivi est constitué par :

 Des feuilles Excel ;

 Des fiches papiers remplies manuellement.

Actuellement, la gestion du stock de produits chimiques des laboratoires de l‟UREP ne permet ni de connaitre à chaque instant l‟état des stocks ni de disposer d‟un suivi (historique) de l‟utilisation des produits.

Il était donc primordial de mettre en place un système permettant de suivre et optimiser la gestion du stock des produits chimiques.

Le travail qui a déjà été effectué concerne notamment :

 La réalisation d‟une base de données

(12)

I.3 Objectifs du stage et planning

L‟objectif de ce stage est de développer une application Windows mobile pour PDA/lecteur de code barre en vue de pouvoir scanner ce dernier et de lui associer des opérations de base nécessaires à la gestion d‟un stock de produits chimiques.

Planning

Pour réaliser ce projet de stage, j‟ai structuré mon travail en plusieurs étapes organisées de manières chronologiques et logiques. Cela m‟a permis de poser des jalons à intervalles réguliers et ainsi, ayant un objectif clair à chacune des étapes, d‟améliorer l‟efficience de mon travail. A la fin de chacune de ces étapes, j‟ai pu faire de plus un point avec mon encadrant. Voici dans l‟ordre les différentes étapes qui ont jalonné mon projet

Première étape :

La première étape a surtout servi à utiliser, à apprendre, à maitriser les différents outils et à se familiariser aux règles de développement.

Deuxième étape :

Je me suis fixé l‟objectif de faire l‟analyse du sujet de stage afin d‟avoir une vue complète des services que devra offrir l‟application.

Troisième étape :

Lors de cette étape, j‟ai modélisé l‟application à développer via des diagrammes UML. Cela m‟a permis de mieux structurer mes développements et ainsi de préparer la phase d‟implémentation.

Quatrième étape :

(13)

Ci-dessous le diagramme de Gantt illustrant le planning prévisionnel. Il a pour but de montrer les différentes étapes du stage et leur durée.

(14)

II.

Le travail effectué

II.1. Présentation des outils utilisés

Description du PDA

Un PDA est une ordinateur de poche qui fournit des applications d'aide à l'organisation : l'agenda, gestionnaire des tâches, carnet d'adresses, messageries, etc. Il est doté d'un processeur, de mémoire vive, et d'un écran tactile. L'appareil est de la taille d'un téléphone et alimenté par une batterie rechargeable qui lui garantit un certain niveau d'autonomie.

Comme pour les ordinateurs, les PDA possèdent des systèmes d'exploitation portés par des constructeurs différents, dont les principaux sont :

- PalmOS, promu par la société Palm.

- Windows Mobile ou Pocket PC, promu par la société Microsoft.

Depuis son apparition, la technologie des PDA a connu des évolutions pour devenir un outil indispensable dans le domaine industriel, et plus particulièrement pour certains usages comme la collecte des données sur terrain. En effet, les PDA intégrés des composants comme le GPS, les lecteurs des codes-barres et une plateforme permettant de développer d'applications embarqués.

Deux environnements sont actuellement utilisés pour le développement des applications : Microsoft .Net Compact Framework, sur plateformes Windows CE/Mobile), et Java 2 Micro Edition (J2ME), sur quasiment toutes les plateformes mobiles.

Langages de développement

Le système d'exploitation Windows Mobile disponible sur les PDA supporte le langage C# et le « framework .NET » pour développer des applications. Le framework .NET (aussi écrit Dot NET et prononcé "dotte nette") est une sorte de boîte à outils qui offre toutes les possibilités comme : accès réseau, création de fenêtres, appel à une base de données...

(15)

Développer une application Windows Mobile, demande la connaissance du langage C#, qui est un langage orienté objet, et associé au framework .NET, le C# permet de créer des applications Windows avec des interfaces élégantes et intuitives.

L’environnement de développement

Pour créer une application Windows mobile en C# sur .NET, il faut installer Visual Studio 2008 Express (il existe des versions plus récentes et le choix doit se faire de la compatibilité avec le système d'exploitation des terminaux visés). L'outil Visual Studio est développé par Microsoft et ce dernier fourni une version express gratuite téléchargeable sur leur site officiel.

Une fois installé, le Visual Studio permet de créer des projets plus rapidement par les modèles appelés en anglais « template ». Les modèles sont très utiles pour démarrer un projet car toute la configuration du projet est déjà faite.

II.2 Le développement de l’application Windows mobile

Au cours de mon stage j‟ai travaillé sur diverses tâches. La plus grosse partie de mon travail consistait à développer une application Windows mobile pour PDA afin de collecter les données matérialisées par un code barre.

En effet, une application mobile est un logiciel applicatif développé pour un appareil électronique mobile, tel qu'un assistant personnel, un téléphone portable, un « smartphone », une tablette tactile, ou encore certains ordinateurs fonctionnant avec le système d'exploitation Windows Phone.

Pour mon projet de stage, je vais donc développer une application Windows mobile pour un assistant personnel/ lecteur de code barre en vue de pouvoir scanner le code barre et de lui associer des opérations pour la gestion d‟un stock de produits chimiques.

(16)

II.2.1 Analyse et spécification des besoins

L‟analyse et la spécification des besoins représentent la première phase du cycle de développement d'un logiciel. Elle sert à identifier les acteurs réactifs du système et leur associer chacun l'ensemble d'actions avec lesquelles il intervient dans l'objectif de donner un résultat optimal et satisfaisant au client.

Je vais donc spécifier en premier lieu les besoins auxquels doit répondre l‟application, puis j‟analyserai ces derniers à travers l‟introduction des acteurs et les diagrammes de cas d‟utilisation relatifs à ces acteurs.

II.2.1.1 Spécification des besoins Les besoins fonctionnels

Les services proposés par l‟application se résument en quatre actions majeures. Cette dernière doit donc permettre de :

1. scanner le code barre

2. mettre à jour les informations liées aux contenants de produits chimiques. 3. consulter les informations liées aux produits chimiques

4. changer l‟état de certains produits chimiques en les marquant par exemple comme « à la poubelle ».

Les besoins non fonctionnels

Les besoins non fonctionnels décrivent toutes les contraintes auxquelles est soumis l‟application pour sa réalisation et son bon fonctionnement. On peut citer :

(17)

1. L'application doit offrir une interface conviviale et ergonomique. Elle doit être facilement exploitable par l'utilisateur.

2. Le code de l‟application doit permettre une maintenabilité et une évolutivité aisée de l‟application.

II.2.1.2 Analyse des besoins

Cette étape d‟analyse met en relation les besoins des utilisateurs avec la solution à mettre en place. Je vais donc établir les cas d‟utilisations et les acteurs auxquels ils sont reliés.

En effet, les acteurs sont des entités externes (personnes ou logiciels) qui interviennent dans le fonctionnement de l‟application. Dans notre cas, l‟application dispose d‟un seul acteur : responsable de produit chimique.

(18)

Figure 4: Diagramme de cas d'utilisation

Voici une explication des différents cas d‟utilisations :

Scanner le code barre

Chaque contenant de produits chimiques est associé à un identifiant unique qui est matérialisé par un code barre. Pour identifier un contenant, il faut tout d‟abord scanner le code barre.

Consulter

Cette fonctionnalité permettra à l‟utilisateur de visualiser les caractéristiques majeures d‟un contenant.

Mettre à jour la quantité

Cette action permettra de modifier la quantité d‟un produit chimique (après utilisation par exemple)

(19)

Mettre à jour la qualité

Cette fonctionnalité permettra à l‟utilisateur de mettre à jour la qualité d‟un produit chimique dans un contenant (principalement son degré de pureté).

Mettre à jour le local

C‟est cette fonctionnalité qui permettra à l‟utilisateur de spécifier où se trouve un contenant de produit chimique.

Ajouter une note

L‟utilisateur peut ajouter ici une note.

Supprimer

Cette fonctionnalité permettra de spécifier les contenants placés à la poubelle. Ces contenants seront toujours en base afin d‟assurer la traçabilité.

II.2.2 Conception

II.2.2.1 Conception architecturale

Il est primordiale à la conception de tout système informatique de choisir le modèle d'architecture qui lui sera adéquat pouvant assurer un bon fonctionnement, des meilleurs performances ainsi que la réutilisation et l'interconnexion fiable de ce système avec d'autres. C'est à cet effet que j‟opte pour le modèle MVC qui sera également très pratique pour gérer l'interaction entre les différents composants de l‟application Windows mobile.

L’architecture MVC

L'architecture MVC (modèle, vue et contrôleur) est un modèle architectural très puissant qui intervient dans la réalisation d'une application. Il tire sa puissance de son concept de base qui est la séparation des données (modèle), de l'affichage (vue) et des actions (contrôleur).

(20)

C'est trois couches sont décrites comme suit: - Modèle

Il décrit les données manipulées par l‟application. Le modèle peut aussi agir sur la vue en mettant à jour ses données.

- Vue

Ne contenant que les informations liées à l'affichage, la vue se contente d'afficher le contenu qu'elle reçoit sans avoir connaissance des données.

- Contrôleur

Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue et le modèle et les synchroniser. Il reçoit tous les événements de la vue enclenche les actions à effectuer.

(21)

Les avantages apportés par cette architecture sont :

- La séparation des données de la vue et du contrôleur ce qui permet une conception claire de l'application

- Une indépendance des données, de l'affichage et des actions ce qui donne plus de souplesse pour la maintenabilité et l'évolutivité du système.

II.2.2.2 Conception détaillée

Figure 6 : Diagramme de classes UML de l'application PDA

Le diagramme de classes ci-dessus représente les classes intervenant dans le système.

II.2.3 Fonctionnement de l’application

Dans cette partie, je donnerai un aperçu sur quelques captures d‟écran traduisant le déroulement de l‟application.

(22)

Tout d‟abord, l'application débute par le lancement de la fenêtre d‟accueil :

Figure 7: Page principale de l'application

La page d‟accueil comporte trois boutons :

- Le bouton « SCANNER » permettant d‟accéder à une nouvelle page

- Le bouton « CONSULTER » permettant de visualiser les informations liées aux contenants de produits chimiques.

- Enfin, le bouton « QUITTER » servant à fermer l‟application.

Mon but étant de scanner le code barre, il me suffit de faire le choix Scanner. Ce qui donnera lieu à la page suivante :

(23)

L‟utilisateur devra placer la fenêtre de lecture en face du code à barres. Appuyer sur le bouton de lecture. S‟assurer que le faisceau laser rouge couvre la totalité du code à barres. Une fois que ce dernier sera correctement décodé, le code va s‟afficher dans le champ « code » de la page de mise à jour.

Ci-dessous un exemple d‟un code barre scanné :

Figure 9: Page de mise à jour avec un code scanné

Ensuite, en appuyant sur le bouton « ok », l‟utilisateur aura la possibilité de visualiser les données existantes liées au code. En prenant en compte l‟exemple précédent, celui-ci donnera lieu à la page suivante :

(24)

L‟utilisateur devra donc éditer les champs proposés en faisant les choix correspondants au contenant à modifier. Puis cliquer sur « VALIDER » afin de réaliser les modifications dans le fichier image. De plus, suite à cette validation, une nouvelle page devra s‟afficher.

Figure 11: Page de visualisation des codes

Au niveau de cette page, il est possible de visualiser tous les codes scannés. L‟utilisateur pourra sélectionner un code et affecter à ce dernier une opération, par exemple la mise à jour. Cette page permet également à l‟utilisateur d‟accéder aux différentes pages de l‟application. II.3 Réalisation d’une base de données et de son interface utilisateur

II.3.1 Etude de l’existant

Un projet ISIMA, a été réalisé en amont de mon stage. Le but de celui-ci était de réaliser une base de données et son interface utilisateur permettant la gestion d‟un stock de produits chimiques.

Une base de données a été réalisée. Ci-dessous un modèle conceptuel de données représentant les tables de la base de données et les relations les reliant.

(25)

Figure 12 : Modèle Conceptuel de Données (MCD)

La table „Contenant‟ constitue l‟élément central de la base de données. Celle-ci représente les contenants physiques de produits chimiques stockés. Chaque contenant se caractérise par un code barre, un CAS représentant le produit contenu, une quantité restante, une unité de mesure, une nature, une qualité, une date de livraison, une date de péremption, une date d‟ouverture et enfin une note particulière que pourra ajouter l'utilisateur à sa convenance. L‟interface a été réalisée en Java sous Eclipse avec la bibliothèque graphique Swing. Elle répond aux fonctionnalités suivantes : Ajout, Modification, Suppression, Consultation et Export des données.

Après avoir étudié ce projet, il manquait toutefois plusieurs fonctionnalités majeures à cette application. Tout d‟abord, il était impossible à cette dernière de communiquer avec le PDA, interdisant toute synchronisation. De plus, la gestion des commandes n‟était pas implémentée, ce qui interdisait le suivi d‟un produit durant tout son cycle de vie. J‟ai donc étudié, analysé

(26)

II.3.2 Conception

La fonction de synchronisation

Afin de permettre la communication entre le PDA et la solution existante, j‟ai ajouté une fonction de synchronisation. Voir code en annexe 1.

Figure 13: Interface principale de l'application JAVA, avant modification

(27)

Comme le montré la figure 14, j‟ai ajouté dans l‟application le menu « Option PDA » avec deux sous menus.

L‟option « Importer PDA » permettra de charger le contenu du fichier image dans la base de données.

L‟option « Synchroniser » servira quant à elle à actualiser le fichier image, mais aussi mettre le contenu de toutes les tables de la base dans des fichiers .csv.

Implémentation des commandes

Comme vu précédemment lors de l‟étude de l‟existant, la vie d‟un contenant de produits chimiques est suivie dès sa livraison au stock. Par conséquent, les commandes ne sont pas implémentées.

Afin d‟ajouter cette fonctionnalité, il m‟a fallu imaginer des scénarios permettant de suivre le produit durant tout son cycle de vie.

(28)

Figure 15: Cycle de vie d'un produit chimique à l'UREP

Comme le montré la figure 15, toutes les commandes seront passées à partir de l‟application. Pour cela, l‟ajout de nouvelles tables dans la base de données s‟est avéré nécessaire. Ces dernières concernent notamment la table utilisateur, la table commande et enfin, la table status.

(29)

La table « commande » donne la liste de toutes les commandes passées. Chaque commande se caractérise par une date de commande, le nom de l‟émetteur, le nom du fournisseur, le nom du produit commandé, une référence, la quantité, le prix.

La table « utilisateur » fournit la liste des utilisateurs de l‟application. Chaque utilisateur se caractérise par un identifiant qui lui est unique, un nom, un prénom, un numéro de téléphone et enfin une adresse mail.

La table « status » servira pour ajouter un status aux contenants. Pour cela, j‟ai tout d‟abord apporté les modifications suivantes dans la table « contenant » :

ALTER TABLE contenant ADD id_status int(11) NOT NULL,

ALTER TABLE contenant MODIFY code_barre serial AUTO_INCREMENT;

La première ligne permettra d‟ajouter la colonne « id_status » dans la table « contenant ». Trois valeurs de status sont possibles pour un contenant : en cours d‟approvisionnement, en stock, et à la poubelle.

La dernière ligne, quant à elle servira à attribuer automatiquement un code_barre au contenant qui sera ajouté dans la table.

Les tables sont donc ajoutées dans la base, je vais ensuite m‟intéresser aux fonctionnalités que j‟ai ajoutées dans l‟interface utilisateur permettant de gérer cette dernière. Ces nouvelles fonctionnalités concernent l‟ajout et la consultation des commandes.

Scénario d’ajout d’une commande

(30)

Figure 16: Interface principale de l'application JAVA

Mon but étant de réaliser l‟ajout d‟une commande, il suffit de choisir Ajouter  Commande. Ce qui donnera lieu à l‟interface suivante :

Figure 17: Interface d'ajout d'une commande

L‟utilisateur devra donc remplir les champs proposés en faisant les choix correspondants à la commande à ajouter. Puis cliquer sur „Valider l‟ajout‟ afin de réaliser l‟ajout dans la base de données.

(31)

Scénario de consultation des commandes

Figure 18: Choix de consultation des commandes

Ce choix donnera lieu à l‟interface suivante :

Figure 19:Interface de consultation des commandes

Au niveau de cette interface, il nous est possible de consulter toutes les commandes enregistrées en base avec les données les concernant. Il nous est également possible de réaliser des opérations particulières sur chaque commande de notre table et cela en cliquant sur la case „Détails‟ de la ligne correspondante. S‟affiche alors le choix suivant :

(32)

Figure 20: Choix d'opération pour une commande

En cliquant sur « Annuler la commande », ceci supprimera la commande. Cette option sera utilisée une fois que l‟on souhaite supprimer toutes les données liées à la commande.

En cliquant sur « Modifier la commande », la commande choisie dans la base sera modifié. Ce choix donnera lieu à une interface identique à celle de l‟ajout d‟une commande, avec les cases déjà remplies avec les valeurs existantes dans la base pour cette commande. Il sera donc possible d‟opérer les modifications seulement sur les données voulues sans avoir à ressaisir les données à préserver.

En cliquant sur « Valider la commande », un nouvel contenant sera ajouté dans la base avec un code barre qui lui sera affecté automatiquement. Le nom du fournisseur lié à la commande va être récupérer à cette commande. Puis, le contenant aura le status « en cours d‟approvisionnement ». Le gestionnaire de l‟unité sera la seule personne à pouvoir faire cette action.

Enfin, une fois que le produit sera livré, le responsable de produits chimiques va imprimer code barre, le coller sur le contenant, et va remplir le reste des informations correspondant à ce dernier.

III.

Bilan

III.1 Résultats obtenus

Je vais maintenant m‟intéresser au résultat final de mon projet de stage. Après le développement de l‟application, j‟ai effectué quelques tests de fonctionnement. Comme je n‟ai pas pu générer un code barre moi-même, j‟ai utilisé les codes-barres déjà matérialisés sur les produits pour effectuer mes tests.

(33)

En prenant en considération la figure 9, le code affiché est l‟un des codes flashés lors des tests. L‟application sur PDA réalisée est donc prête à être utilisée. Elle capable de :

- Flasher et décoder les codes-barres ;

- Associer les informations actualisées au code.

Concernant, l‟application JAVA sur PC, l‟amélioration de l‟interface utilisateur a été réalisée avec succès. Elle dispose maintenant de fonctionnalités supplémentaires (implémentation des commandes) ce qui optimise davantage la gestion du stock de produis chimiques de l‟UREP.

III.2 Difficultés rencontrées

D‟un point de vue personnel, j‟ai rencontré quelques difficultés au début de mon stage. N‟ayant aucune expérience, j‟ai commencé à douter de mes capacités car je ne connaissais pas du tout l‟atmosphère qui pouvait se dégager dans un établissement.

D‟un point de vue technique, la plus grande difficulté a été d‟être la première utilisatrice des PDA dans l‟unité. En effet, l‟UREP avait récemment acquis les PDA, et aucun des informaticiens n‟avait déjà développé sur ce type d‟outil. Je devais donc faire preuve d‟esprit de la recherche, mais ça tout de même était difficile d‟être efficace dès mon arrivée.

Dans le cadre d‟aider les futures stagiaires, j‟ai donc fait une documentation sur la page Wiki.inra.fr. (Documentation présenté en annexe 2).

III.3 Poursuites envisageables

L‟objectif de ce stage étant atteint, il y a cependant beaucoup de perspectives d‟amélioration. La première poursuite possible est bien entendu l‟ajout de nouvelles fonctionnalités dans la base. Ci-dessous quelques améliorations possibles :

- Permettre l‟authentification des utilisateurs - Gérer les droits des utilisateurs

(34)

Conclusion

Ce stage fut une première et excellente expérience professionnelle et personnelle. Le stage s‟est déroulé dans de très bonnes conditions. Travailler dans cette unité fut vraiment plaisant. Tout au long du stage, j‟ai en permanence été suivi et l‟on m‟a fourni une aide technique précieuse.

Le projet de stage consistait à développer une application sur le PDA/ lecteur de code barre afin de pouvoir scanner ce dernier et lui associer les opérations de base permettant l‟optimisation de la gestion d‟un stock de produits chimiques. Les objectifs de ce stage ont été remplis et le résultat obtenu était celui attendu. L‟application réalisée permet de flasher le code barre et lui associer les informations actualisées.

Le travail que j‟ai réalisé m‟a permis de me perfectionner dans la programmation orienté objet. J‟ai pu approfondir considérablement mes compétences en développement de logiciel embarqué notamment à l‟utilisation de « frameworks ». Les tâches m‟ayant été confiées ont toutes été aussi importantes les unes que les autres. J‟ai pu à chaque fois découvrir un aspect différent de la programmation.

De mon point de vue personnel, ce stage m‟a pleinement satisfait et a été pour moi une vraie réussite à tous les niveaux.

(35)

Glossaire

CAS Chemical Abstracts Service, Le numéro CAS d'une substance chimique, est son numéro d'enregistrement unique auprès de la banque de données de Chemical Abstracts Service.

CSV Comma-separated values, est un format informatique ouvert représentant des

données tabulaires sous forme de valeurs séparées par des virgules.

C# C Sharp, est un langage de programmation orienté objet.

INRA Institut National de Recherche Agronomique.

IT Information Technology,

JAVA est un langage de programmation informatique orienté objet.

MVC Model-View-Controler, est un modèle destiné à répondre aux besoins des applications interactives en séparant les problématiques liées aux différents composants au sein de leur architecture respective.

PDA Personal Digital Asssistant, un assistant numérique personnel, un pocket PC, ou un agenda électronique est un appareil numérique portable.

Swing est une bibliothèque graphique pour le langage de programmation Java.

UML Unified Modeling Language (Langage de modélisation unifié), est un langage de modélisation graphique utilisé en développement logiciel.

(36)

Bibliographie

1. http://www.codeproject.com/Articles/43357/Windows-Mobile-App-Development-Part-Creating-you 2. https://km.zebra.com/resources/sites/ZEBRA/content/live/WHITE_PAPERS/0/WH57/ en_US/WinMobileSDK_CSharp_GettingStarted_WH.pdf 3. https://en.wikipedia.org 4. https://www1.clermont.inra.fr/urep/presentation/index.html

(37)

English summary

As part of my two-year undergraduate diploma in Computer Networking and Telecommunications, I carried out a ten-week internship at the UREP, one of research units of INRA. The internship began in April and finished in mid-June. My supervisor was Mr. Raphael Martin. He is a IT engineer at INRA.

Through its research activity, the UREP is made to store many chemicals. The current chemicals stock management does not allow knowing at every moment the state of the stocks or have a traceability of product use. Therefore, it was essential to put in place a system to monitor and optimize stock management.

My internship project consisted in developing an application on a PDA/ barcode reader in order to scan the barcode and associate it with basic operations necessary to optimize the inventory management of a chemical products stock.

I am going to explain my project in detail. The application has been programmed using the C# programming language with the help of the .NET Framework. The code was realized under the development environment Visual Studio. Thus, the first step of my job was to get acquainted with these development tools. After that, I did the analysis in order to have a complete view of the services that will offer the application.

Functional requirements

A functional requirement defines a function of a system and its components. The services offered by the application are:

1. Scan the barcode

2. Update the information (such as quantity, quality…) related to the chemical containers.

3. View information related to chemicals

(38)

Non-functional requirements

A non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system. Here are some examples:

1. The application must provide an easy-to-use interface

2. The application code should allow the maintainability and changeability of the application.

During the internship, I come across difficulties. The main difficulty for me was to be the first user of PDA. Therefore, it was difficult to be effective upon my arrival at the unit. Thus, to overcome this, I had doubled my efforts. As result, the application is now operational and ready to use.

As conclusion, throughout my time as an intern, I was independent and I worked in full autonomy. It was the opportunity for me to discover the world of work, and it allowed me to improve my technical skills in object-oriented programming as well as my software development skills.

(39)
(40)

Annexe 1 : Code ajouté dans l‟application JAVA public class Menu extends JFrame implements ActionListener {

private JMenu menuPDA = new JMenu("Options PDA");

private JMenuItem consulterCommandes = new JMenuItem("Commandes");

private JMenuItem ajouterCommande = new JMenuItem("Commande");

private JMenuItem itemPDA = new JMenuItem("Importer PDA"); private JMenuItem itemImgPDA = new JMenuItem("Synchroniser");

public Menu(){

//On initialise nos menus

this.menuConsulter.add(consulterCommandes); this.menuAjouter.add(ajouterCommande);

this.menuPDA.add(itemPDA);

this.menuPDA.add(itemImgPDA);

//Action sur les éléments

consulterCommandes.addActionListener(this);

ajouterCommande.addActionListener(this);

itemPDA.addActionListener(this); itemImgPDA.addActionListener(this); this. menuBar.add(menuPDA);

}

public void actionPerformed (ActionEvent arg0) {

if(arg0.getSource().equals(consulterCommandes)){

new ConsulterCommande();

if(arg0.getSource().equals(ajouterCommande)){

new AjouterCommande(); }

if(arg0.getSource().equals(itemPDA)){

new ImporterPDA();

JOptionPane.showMessageDialog(null, "Le fichier a été importé","Confirmation",JOptionPane.INFORMATION_MESSAGE);

(41)

}

if(arg0.getSource().equals(itemImgPDA)){

new ImageFiles();

JOptionPane.showMessageDialog(null, "Synchronisation complete","Confirmation",JOptionPane.INFORMATION_MESSAGE);

}

} }

Figure

Figure 1: Inventaire de stock
Figure 2: Fiches réelles de suivi de l'emploi d'alcools  Le principal moyen de suivi est constitué par :
Figure 3: Diagramme de Gantt
Figure 4: Diagramme de cas d'utilisation
+7

Références

Documents relatifs

137 The PIC compiler is used in this project to write the software running on the PIC16F876 microcontroller, and the EPIC Plus Programmer is used to download the software to the

De nombreux travailleurs sont exposés quotidiennement à des niveaux de bruit susceptibles d'endommager leur audition. De ce fait, la mesure de l'exposition sonore est essentielle afin

Bousculé, apostrophé, harcelé, l'auditeur ne sait plus si le bulletin météorologique qui annonce la neige a trait à la journée d'hier ou à celle de demain ; et il se retrouve en

Pour repérer la thèse défendue, il convient tout d'abord de trouver le thème du texte.. On peut ensuite chercher le jugement ou le sentiment du locuteur à propos de

Le récepteur est adapté aux personnes avec ou sans problème d’audition et peut être utilisé pour diverses applications d’aide aux malentendants : vérification

Notre projet a permis de développer une application web qui permet de réaliser plusieurs tâches : la gestion des clients et produits est l’une des principales

En cette année 2016 l’Europe est à la croisée des chemins : (a) soit elle se contente d’agir à la marge en centrant son attention essentiellement sur les problèmes de

The implementation of Agenda 2030 requires that for the next 15 years, the international community should be able to translate the Sustainable Development Goals