40
Rapport de Projet de fin d’études Année Universitaire 2009 - 2010 1 Application de surveillance et gestion de sEquences vidEo Réalisé par : Imad NOHAD Filière : Génie Informatique Encadré par : M. Mohamed NAIMI Mme. Géneviève DENIER Stage effectué : Du 15/04/2010 Au 30/05/2010

Rapport de PFE nohad imad.pdf

Embed Size (px)

Citation preview

Page 1: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

1

Application de surveillance et gestion

de sEquences vidEo

Réalisé par :

Imad NOHAD

Filière :

Génie Informatique

Encadré par :

M. Mohamed NAIMI

Mme. Géneviève DENIER

Stage effectué :

Du 15/04/2010 Au 30/05/2010

Page 2: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

2

A mes chers parents…

A ma famille…

A mes amis…

Page 3: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

3

D’emblée et avant d’entamer mon rapport de projet de fin d’études, je ne peux oublier de

remercier Mr. Karim ZAITOUNI, Directeur d’intégration au sein de S2M, de m’avoir accueilli

pour effectuer mon stage au sein de son équipe.

J’adresse mes remerciements aussi à tout le personnel de la Société Maghrébine de

Monétique (S2M), surtout à Mme. Hayat HAMRAOUI qui m’a offert l’opportunité de passer

mon stage dans les meilleures conditions.

Je tiens à exprimer mes remerciements à Mme. Géneviève DENIER pour m’avoir encadré

durant la période de stage et pour ses conseils et ses recommandations qui m’ont été très

utiles.

Je remercie tout particulièrement mon encadrant, M. Mohamed NAIMI, pour ses

renseignements et ses conseils.

J’adresse également mes remerciements à Mr. Moustapha OUALIM, Directeur de l’ESTB, et

à tout le corps pédagogique et administratif de l’ESTB pour leur aide et support tout au long

de la durée de la formation.

Enfin, je remercie toute personne ayant contribué de près ou de loin à la réalisation de ce

travail.

Page 4: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

4

I – Introduction ............................................................................................................................ 7

II – Présentation de S2M............................................................................................................ 8

1 – Présentation de S2M .................................................................................................. 8

1.1 - Historique ........................................................................................................... 8

1.2 – Produits et Prestations.................................................................................... 10

III – Présentation et Planning du projet .................................................................................... 13

1 – Mission et objectifs .................................................................................................. 13

2 – Etude de l’existant..................................................................................................... 13

3 – Cahier des charges................................................................................................... 14

3.1 - Les finalités du projet....................................................................................... 14

3.2 – Moyens à utiliser ............................................................................................. 14

3.3 – Contraintes du projet ...................................................................................... 14

4 – Organisation des tâches ........................................................................................... 15

IV - Modélisation et conception................................................................................................ 16

1 – Modélisation de l’application en UML ....................................................................... 16

1.1 – Définition d’UML.............................................................................................. 17

1.2 – Diagramme des cas d’utilisation..................................................................... 17

1.3 – Diagramme de séquences.............................................................................. 18

2 – Conception de la base de données .......................................................................... 20

2.1 – La méthode Merise ......................................................................................... 20

2.2 – Le modèle conceptuel de données (MCD)..................................................... 20

2.3 – Le modèle Logique de données (MLD) .......................................................... 21

2.4 – Les tables ........................................................................................................ 21

Page 5: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

5

V – Réalisation de l’application ................................................................................................ 23

1 - Les outils utilisés........................................................................................................ 23

1.1 – Microsoft Access 2007.................................................................................... 23

1.2 – Eclipse IDE : ................................................................................................... 24

1.3 – Le Langage JAVA : ......................................................................................... 25

1.4 – L’API JMF (JAVA Media Frame Work)........................................................... 27

2 – L’application .............................................................................................................. 31

2.1 - Descriptif .......................................................................................................... 31

2.2 – Interface Graphique ........................................................................................ 31

2.3 – Conclusion ...................................................................................................... 38

VI – Conclusion et perspectives............................................................................................... 39

VII - Webliographie .................................................................................................................. 40

Page 6: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

6

Figure 1: Aperçu du découpage des tâches (MS Project 2003) ........................................................ 15

Figure 2 : Aperçu de l’organigramme des tâches (MS Project 2003) ................................................ 16

Figure 3 : Diagramme des cas d’utilisation du projet...................................................................... 18

Figure 4 : Diagramme de séquence Authentification...................................................................... 19

Figure 5 : Diagramme de séquence Surveillance. ........................................................................... 19

Figure 6 : Diagramme de séquences Gestion fichiers. .................................................................... 19

Figure 7 : Le modèle conceptuel de données (MCD). ..................................................................... 20

Figure 8 : Aperçu de la table vidéo................................................................................................ 21

Figure 9 : Aperçu de la table photo............................................................................................... 22

Figure 10 : Aperçu de la table utilisateur....................................................................................... 22

Figure 11 : Logo de MS Access 2007. ............................................................................................ 23

Figure 12 : Logo d’Eclipse IDE. ...................................................................................................... 24

Figure 13 : Logo de JAVA.............................................................................................................. 25

Figure 14 : Schéma Présentatif et explicatif de l’API....................................................................... 28

Figure 15 : Charte illustrant le fonctionnement d’un Processor. ..................................................... 30

Figure 16 : Ecran d’authentification .............................................................................................. 32

Figure 17 : Ecran principal (caméra inactive). ................................................................................ 33

Figure 18 : Ecran principal (caméra active). ................................................................................... 34

Figure 19 : Ecran permettant d’enregistrer la cible des fichiers en cours d’enregistrement. ............. 35

Figure 20 : Ecran permettant la gestion des fichiers enregistrés. .................................................... 36

Figure 21 : Ecran permettant la gestion des utilisateurs. ................................................................ 37

Figure 22 : Ecran permettant l'ajout d'un utilisateur. ..................................................................... 38

Page 7: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

7

I – Introduction

Ce rapport est le fruit d’un travail effectué au sein de la Société Maghrébine de

Monétisation (S2M) dans le cadre de mon stage de fin d’études.

Ce projet est motivé par le souci de pouvoir automatiser le processus de

surveillance des locaux propres aux clients (entreprises, agences bancaires…)

via des caméras vidéo qui sont gérées par une application informatique. En

effet, une telle application permettra de faciliter la gestion des images et des

séquences vidéo capturées et par suite permettra de garantir une meilleure

sécurité pour ces locaux.

Nous nous intéresserons dans un premier temps à la présentation de la société

S2M ; pionnière dans le domaine de la monétique au Maroc.

Nous verrons dans un second temps les détails du projet sur lequel j’ai travaillé

et les problématiques à résoudre. Dans ce sens, nous commençons d’abord par

l’organisation du projet, ensuite nous présentons les technologies employées

avant de passer à la phase de réalisation. Enfin, nous clôturons cette partie en

commentant les résultats obtenus.

Dans un dernier temps, nous terminons par une conclusion générale suivie de

quelques perspectives qui pourront faire l’objet d’un travail ultérieur.

Page 8: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

8

II – Présentation de S2M

1 – Présentation de S2M

A l'origine du développement de la monétique au Maroc, S2M depuis 1983, s'est imposée rapidement comme l'un des acteurs majeurs de l'édition et de l'intégration de solutions

monétiques ainsi que de la fourniture de moyens de paiement.

S2M propose à ses clients l'offre la plus complète et la plus sûre du marché, intégrant les produits et solutions suivantes :

Solutions monétiques. Solutions cartes à puce.

Solutions verticales : pétrolier, hôteliers, carte salaire. Personnalisation des moyens de paiement: cartes bancaires et privatives, chèques...

Outsourcing: hébergement de solutions. Editique (impression, mise sous pli,….).

S2M offre en plus un large éventail de services d'accompagnement :

Le conseil. L'intégration. La formation. L'assistance. Le support technique et la maintenance.

S2M, c'est surtout une notoriété internationale et des références dans une vingtaine de

pays; plus de 120 banques privées et publiques ont fait confiance à ses solutions.

1.1 - Historique

Depuis plus de deux décennies, S2M anticipe les exigences et les tendances du marché en

faisant constamment évoluer ses solutions.

1983 voit la création de S2M et l’édition de la première version du produit MultiPac,

destinée aussi bien aux banques qu’aux centres interbancaires.

L’année 1985 marque le début de l’activité “personnalisation de cartes bancaires”.

Page 9: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

9

En 1988, pressentant la tendance du Down-Sizing et de l’architecture Client-serveur, S2M conçoit le premier logiciel monétique sous UNIX : MultiXPac. A la fois modulaire et global, il

sera rapidement adopté par des banques de premier ordre, d’abord sur le marché marocain, ensuite en Afrique et au Moyen-Orient.

C’est au cours de cette même année que débute l’activité “chèques”.

En 1995, S2M décide de s’allier avec la société américaine First Bank Card Software pour accéder aux marchés américains et asiatiques.

L’obtention en 1997 du 1er Trophée Marocain à l’Exportation témoignant de la reconnaissance de ses clients internationaux.

1998 voit se concrétiser le portage de MultiXPac sous Oracle afin de bénéficier de sa robustesse, de ses performances et de son ouverture vers l’Infocentre. Cette dernière

version répond aux besoins les plus exigeants en matière d’exploitation.

1999 est l’année de la certification Qualité ISO 9002 du Centre de Production de S2M.

En 2000, S2M met sur le marché sa solution globale de paiement sécurisé pour le commerce électronique.

L’année 2002 voit la sortie, sur le marché, de la nouvelle version 6 “native EMV” qui permet d’accompagner les banques dans leur migration vers la norme EMV. Cette dernière version

bénéficie d’avancées majeures aussi bien technologiques que fonctionnelles et apporte une nouvelle vision d'un serveur monétique orientée : convivialité, modèle

relationnel, traitement par WorkFlow, exploitation assistée, sécurité et disponibilité accrues.

L’année 2003 est marquée par la prise de participation de Maghreb Private Equity Fund (MPEF) dans le capital de S2M. En Mai, S2M Services obtient la certification ISO 9001 Version 2000. En Juillet, S2M décroche le Premier Accessit aux Trophées de l’Exportation.

En 2004, suite à l'ouverture de son capital, S2M lance un programme de développement et d'investissement ambitieux.

En outre, la nouvelle version 6 fait une véritable percée dans la région Afrique et Moyen Orient ; cette percée se caractérise par l’accueil pour le moins excellent qu’a réservé la

communauté bancaire de la région à la V6 ; 5 nouveaux pays placent leur confiance en S2M et cette version : la Syrie, le Yémen, le Soudan, le Togo & la Palestine.

Page 10: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

10

Au cours de l’année 2005, l’Inde et le Koweït font tour à tour confiance à S2M et sa solution monétique.

En 2005, afin de marquer la rupture fonctionnelle et technologique, S2M rebaptise sa

solution monétique qui désormais porte le nom de SelectsystemR (The Secure Electronic Card Transactions System). Selectsystem® a été conçue et développée autour de la norme

EMV et afin d’apporter de nouvelles fonctionnalités et modules qui répondent aux besoins des clients.

Selectsystem® est de fait un nouveau produit apportant une richesse fonctionnelle inégalée. Au cours de cette même année, l’Inde, le Koweït et la Mauritanie font tour à tour confiance à S2M et sa solution monétique Selectsystem®. En 2006, S2M gagne la confiance de 4 nouveaux pays qui adoptent sa solution monétique : le Cameroun, la République Démocratique du Congo, l’Iran et le Niger. Au mois de Février, l’atelier de personnalisation des cartes bancaires et privatives de S2M Production obtient les certifications puce VSDC de VISA et M-Chip de MasterCard qui

l’habilitent désormais à personnaliser des cartes à puce EMV.

En décembre, S2M reçoit le Grand Prix de l’Exportation catégorie grandes entreprises.

2007 est marquée par l’inauguration du nouveau Centre de Production de S2M : certifié ISO 9001 Version 2000, ainsi que par VISA et MasterCard, ce nouveau centre de 2000 m² a

nécessité un investissement de 20 millions de Dirhams hors équipements de production.

Au cours de l’année, 3 nouveaux pays africains sont conquis par S2M et sa solution monétique : la Tanzanie, la Guinée Equatoriale et la Guinée Bissau. En 2008, S2M a 25 ans d’existence. La France ainsi que 2 nouveaux pays africains, le Bénin et la Lybie, lui accordent leur confiance. Récemment, la société a été certifiée de niveau 2 du CMMI méthode continue, et vise atteindre les niveaux 3 et 4.

1.2 – Produits et Prestations

Solutions monétiques : SelectsystemR.

Solutions cartes à puce.

Solutions e-commerce.

Solutions verticales (pétroliers, hôteliers, carte salaire …).

Page 11: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

11

Développement d’applications TPE :

Bancaires. E-Top Up.

Porte-monnaie électronique.

Pétrolier.

Transfert d’argent.

Fidélité. Intégration :

Définition des besoins. Gestion de projets.

Développements spécifiques. Certification.

Formation. Consulting :

Conseil en systèmes de paiement.

Audit. Assistance à maîtrise d’ouvrage.

Service de maintenance :

Hot line.

Intervention sur site. Cartes bancaires :

Gestion et vente des supports cartes (aide à la conception, impression, certification auprès des organismes internationaux).

Personnalisation des cartes à piste et à puce EMV.

Calcul, impression et acheminement des codes confidentiels .

Cartes privatives de paiement et de fidélité :

Cartes avec ou sans pistes, cartes à puce, cartes sécurisées.

Conception, impression et personnalisation de la carte. Chèques :

Personnalisation par impression de qualité laser sur papier amagnétique et sécurisé.

Façonnage des chéquiers et conditionnement par lot. Personnalisation des lettres chèques.

Editique : Edition et personnalisation de différents types de documents .

Mise sous pli et publipostage pour les banques, les sociétés de crédits, les agences de communication …

Affranchissement automatique et gestion des retours .

Fourniture et entretien de TPE :

Page 12: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

12

Fourniture de TPE, logiciel de gestion de parc TPE et équipements réseau

pour TPE. Maintenance des TPE.

Outsourcing :

Hébergement de solutions monétiques, en mode ASP (paiement, crédit et fidélité).

Page 13: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

13

III – Présentation et Planning du projet

1 – Mission et objectifs

Ce projet a pour objectif de réaliser une application informatique simple à utiliser en se

basant sur JAVA comme langage de programmation et sur MS Access comme SGBD.

Cette application doit être capable de :

Se connecter à une webcam et la contrôler.

Afficher les media capturés dans une interface graphique.

Capturer des images et des séquences vidéo.

Stocker les images et les séquences vidéo sur le disque dur.

Stocker les informations concernant les fichiers enregistrés dans une

base de données.

Gérer les fichiers stockés (suppression, visualisation).

2 – Etude de l’existant

Etant donné que la sécurité demeure un élément crucial dans le cycle de vie de n’importe

quel organisme économique, la mise en place des systèmes de sécurité a connu une

révolution réelle dans les deux dernières décennies.

Les sociétés évoquent des mesures de sécurité dans toutes leurs activités: accès à leurs

sièges, transfert d’argent, transaction monétaire, stockage des informations confidentielles…

La surveillance des locaux présente l’une des mesures les plus propagées. C’est dans ce

cadre que se trouve mon projet consistant à manipuler une caméra de surveillance grâce a

une application informatique.

La surveillance se faisait par un système qui capture les flux en temps réel et les affiche dans

un moniteur.

Page 14: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

14

L’application constituant le sujet de mon projet vise à ajouter plusieurs fonctionnalités au

système existant comme la capture et l’enregistrement des vidéos ainsi que des images.

L’application doit également garantir la gestion des fichiers générés par les caméras.

3 – Cahier des charges

Le cahier des charges résume les composantes nécessaires aidant à la réalisation du projet, il

contient :

Les finalités du projet.

Les moyens à utiliser.

Les contraintes du projet.

3.1 - Les finalités du projet

Comme c’est déjà évoqué précédemment, le but principal du projet est de réaliser une

application informatique pouvant servir d’outil de gestion des fichiers vidéo, provenant des

caméras de surveillance, en temps réel (stockage, suppression...).

3.2 – Moyens à utiliser

Pour réaliser le projet, nous avons fait appel à de nombreux outils matériels et logiciels:

Outils matériels : Ordinateur portable, Webcam.

Outils logiciels : Compilateur JAVA Eclipse, MS Access 2007, MS Project,

DIA, langage JAVA.

3.3 – Contraintes du projet

La réalisation de n’importe quel projet est confrontée à toutes sortes de contraintes . Dans

notre cas, voici les contraintes que nous avons dues respecter:

Le temps : 2 mois pour réaliser le projet.

Page 15: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

15

La rareté de la documentation à propos de certains modules

constituant le cœur du projet (en l’occurrence, l’API JMF).

La mise à jour systématique des objectifs du projet.

4 – Organisation des tâches

L’organisation est un élément clé menant à la réussite de n’importe quel projet. Abstraction

de son niveau de difficulté. Une telle organisation permet de faciliter ainsi la définition des

tâches à exécuter, le suivi de l’évolution du projet, le bon contrôle des modules et des

moyens et de gérer les risques de façon fiable.

Afin de mener à bien la réalisation du projet, nous avons essayé de la découper en tâches

spécifiques définies par des délais à la fois raisonnables et bénéfiques, en matière de la

durée totale du projet. Une telle planification doit se faire en prenant en compte toutes les

modifications qui peuvent survenir concernant le cahier des charges ou les besoins exprimés

au préalable.

Pour que l’organisation du projet ne reste pas tout à fait abstraite, il faut mettre en place un

plan modélisant chaque tâche avec ses dates début et fin.

Pour ce faire, je me suis servi du logiciel MS Project de la suite Microsoft Office version 2003,

afin d’assurer un suivi habile de la réalisation de mon projet.

Figure 1: Aperçu du découpage des t âches (MS Project 2003)

Page 16: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

16

IV - Modélisation et conception

La réalisation d’un projet ne débute sûrement pas tout d’un coup, il est nécessaire de passer

par plusieurs étapes. En fait, le projet d’une application informatique doit passer par

l’analyse de ses fonctionnalités et la modélisation de ses éléments dans l’intention de

faciliter son exécution et de diminuer toutes les actions correctives nécessaires au fur et à

mesure du développement de l’application.

L’analyse des besoins exprimés et l’étude de l’environnement m’a guidé vers la conception

d’une base de données ainsi que la modélisation de l’application associée au projet.

1 – Modélisation de l’application en UML

En ce qui concerne la planification de l’application, j’ai opté pour UML comme langage de

modélisation.

Figure 2 : Aperçu de l’organigramme des tâches (MS Project 2003)

Page 17: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

17

1.1 – Définition d’UML

UML (en anglais Unified Modeling Language ou « langage de modélisation unifié ») est

un langage de modélisation graphique à base de pictogrammes. Il est apparu dans le monde

du génie logiciel, dans le cadre de la « conception orientée objet ». Couramment utilisé dans

les projets logiciels, il peut être appliqué à toutes sortes de systèmes ne se limitant pas au

domaine informatique. UML comporte en générale 13 types de diagrammes dans la V2.

En fait, lors de la modélisation et la conception de mon projet, je ne me suis servi que de 2

types de diagrammes: le diagramme de cas d’utilisation et le diagramme de séquences.

1.2 – Diagramme des cas d’utilisation

Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une

vision globale du comportement fonctionnel d'un système logiciel. Un cas d'utilisation

représente une unité discrète d'interaction entre un utilisateur (humain ou machine) et un

système. Il est une unité significative de travail. Dans un diagramme de cas d'utilisation, les

utilisateurs sont appelés acteurs, ils interagissent avec les cas d'utilisation.

Les cas d’utilisation:

Visualiser le flux vidéo en temps réel : voir ce que capture la caméra grâce à

l’interface du programme.

Enregistrer des vidéos : enregistrer des séquences vidéo sur le disque.

Capturer des images : prendre des photos selon le choix et les enregistrer sur le

disque.

Gérer les éléments stockés : gestion des fichiers enregistrés (suppression,

modification....).

Lecture des fichiers stockés : Lecture des fichiers enregistrés grâce au lecteur

multimédia du programme.

Page 18: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

18

1.3 – Diagramme de séquences

Le diagramme de séquences est un autre type de diagramme proposé par le langage UML et

qui illustre graphiquement les échanges effectués entre les acteurs et le système suivant un

ordre chronologique. Ce diagramme interprète tous les scénarios d’interactions possibles

entre système et acteurs.

Figure 3 : Diagramme des cas d’utilisation du projet.

Page 19: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

19

Figure 4 : Diagramme de séquence Authentification.

Figure 5 : Diagramme de séquence Surveillance.

Figure 6 : Diagramme de séquences Gestion fichiers.

Page 20: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

20

2 – Conception de la base de données

La conception par Merise m’a permise d’établir les éléments nécessaires constituant la base

de données :

2.1 – La méthode Merise

MERISE est une méthode de conception des systèmes d’information. Le but de cette

méthode est d'arriver à concevoir un système d'information. La méthode MERISE est basée

sur la séparation des données et des traitements à effectuer en plusieurs modèles

conceptuels et logiques.

Merise propose plusieurs types de modèles servant à la modélisation d’un système

d’information. Parmi ces modèles, je me suis intéressé au MCD (modèle conceptuel de

données) et au MLD (modèle logique de données).

2.2 – Le modèle conceptuel de données (MCD)

Figure 7 : Le modèle conceptuel de données (MCD).

Page 21: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

21

2.3 – Le modèle Logique de données (MLD)

En appliquant les règles de passage du MCD vers le MLD, on a obtenu le MLD suivant :

PHOTO (id_photo, nom_photo, cible) ;

VIDEO (id_vid, nom_vid, cible) ;

UTILISATEUR (id, login, mdp) ;

VISUALISER (id_photo, id_vid, id) ;

GERER (id_photo, id_vid, id) ;

ENREGISTRER (id_photo, id_vid, id) ;

2.4 – Les tables

La base de données, un élément essentiel de l’application, est constituée de trois

tables servant à stocker les informations provenant de l’application.

La table Vidéo : sert à stocker comme données les informations concernant les éléments de

type vidéo enregistrés sur le disque dur par l’application.

Figure 8 : Aperçu de la table vidéo.

La table photo : sert à stocker comme données les informations concernant les éléments de

type photo enregistrés sur le disque dur par l’application.

Page 22: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

22

Figure 9 : Aperçu de la table photo.

La table utilisateur : sert à stocker les informations concernant les utilisateurs (login, mot de passe) ayant accès à l’application.

Figure 10 : Aperçu de la table utilisateur.

Page 23: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

23

V – Réalisation de l’application

1 - Les outils utilisés

Durant la phase d’études du projet j’ai pris quelque temps pour choisir les outils

informatiques que je vais exploiter pour concrétiser mon application selon la modélisation

que j’ai conçue.

Ci-après, je vais présenter un descriptif de chaque outil utilisé afin de donner une image

globale illustrant la manière dont j’ai réalisé le projet.

1.1 – Microsoft Access 2007

Figure 11 : Logo de MS Access 2007.

Microsoft Access ou MS Access (officiellement Microsoft Office Access) est un système de

gestion de base de données payant édité par la Microsoft. Il fait partie de la suite

bureautique MS Office Pro.

MS Access est composé de deux programmes : le moteur de base de données et l'éditeur

graphique. Les deux ne sont pas librement séparables.

Page 24: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

24

Il est compatible avec les requêtes SQL (sous certaines restrictions) et dispose d'une

interface graphique pour saisir les requêtes. Il permet aussi de configurer, avec des

assistants ou librement, des formulaires et sous-formulaires de saisie.

Comme beaucoup de systèmes de gestion de bases de données relationnelles, ses données

peuvent être utilisées dans des programmes écrits dans divers langages.

En JAVA, Microsoft Access peut être utilisé de façon transparente via JDBC à l'aide de la

passerelle JDBC-ODBC de Sun.

1.2 – Eclipse IDE :

Figure 12 : Logo d’Eclipse IDE.

Eclipse est un environnement de développement intégré libre extensible, universel et

polyvalent, permettant de créer des projets de développement mettant en œuvre n'importe

quel langage de programmation. Eclipse IDE est principalement écrit en JAVA (à l'aide de

Page 25: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

25

la bibliothèque graphique SWT, d'IBM), et ce langage, grâce à des bibliothèques spécifiques,

est également utilisé pour écrire des extensions.

Le cœur d'Eclipse est en fait composé :

d'un socle capable de charger des modules (plugins).

de modules de base permettant de gérer des ensembles de ressources (projets, fichiers, répertoires, …).

de modules pour permettre la création d'interfaces graphiques cohérentes. En

utilisant cette librairie, les plugins ont un aspect homogène.

Eclipse peut aussi servir de socle à tout outil de développement, quel que soit le langage et

les formats de fichiers supportés.

1.3 – Le Langage JAVA :

Figure 13 : Logo de JAVA.

Le langage JAVA est un langage de programmation informatique orienté objet créé

par James Gosling et Patrick Naughton employés de Sun Microsystems avec le soutien de Bill

Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement le 23 mai 1995

au SunWorld.

Page 26: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

26

Le langage JAVA a la particularité principale que les logiciels écrits avec ce dernier sont très

facilement portables sur plusieurs systèmes d’exploitation tels qu’UNIX, Microsoft Windows,

Mac OS ou GNU/Linux avec peu ou pas de modifications. C’est la plate-forme qui garantit la

portabilité des applications développées en JAVA.

Le langage reprend en grande partie la syntaxe du langage C++, très utilisé par les

informaticiens. Néanmoins, JAVA a été épurée des concepts les plus subtils du C++ et à la

fois les plus déroutants, tels que les pointeurs et références, et l’héritage multiple remplacé

par l’implémentation des interfaces. Les concepteurs ont privilégié l’approche orientée

objet de sorte qu’en JAVA, tout est objet à l’exception des types primitifs (nombres entiers,

nombres à virgule flottante, etc.)

JAVA permet de développer des applications client-serveur. Côté client, les applets sont à

l’origine de la notoriété du langage. C’est surtout côté serveur que JAVA s’est imposé dans le

milieu de l’entreprise grâce aux servlets, le pendant serveur des applets, et plus récemment

les JSP (JAVA Server Pages) qui peuvent se substituer à PHP, ASP et ASP.NET.

JAVA a donné naissance à un système d'exploitation (JAVAOS), à un environnement de

développement (eclipse/JDK), des machines virtuelles (MSJVM, JRE),des applicatives multi

plates-formes (JVM), une bibliothèque JAVA (J2ME) avec interface graphique (AWT/Swing),

des applications JAVA (logiciels, servlet, applet). La portabilité du code JAVA est assurée par

la machine virtuelle. JRE est la machine virtuelle qui effectue la traduction et l'exécution

du bytecode en code natif supportant plusieurs processus de compilation (à la

volée/bytecode, natif). La portabilité est dépendante de la qualité de portage des JVM sur

chaque OS.

Aujourd'hui, JAVA (sous la forme de JAVAFx) trouve une nouvelle niche dans la création

d'applications RIA (Rich Internet Applications), des applications qui proposent des

fonctionnalités, notamment des interfaces, plus évoluées à la fois sur Internet et sur les

téléphones portables. Le langage JAVAFx est un langage agile dérivé de JAVA, sous le

contrôle de Sun Microsystems, qui met à profit la portabilité de JAVA ainsi que les vastes

bibliothèques déjà disponibles dans le langage JAVA.

Page 27: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

27

1.4 – L’API JMF (JAVA Media Frame Work)

Le JAVA Media Framework (JMF) est une bibliothèque JAVA qui permet audio, vidéo et

autres médias basés sur le temps d'être ajouté à des applications et des applets JAVA. Ce

forfait optionnel, qui peut capturer, jouer, écouter, et transcoder plusieurs formats de

médias, étend la plate-forme JAVA, Standard Edition (JAVA SE) et permet le développement

d'applications multimédia multiplateformes.

Medias supportés par JMF :

JMF traite les données utilisant le temps. Les divers types traités par JMF sont :

protocoles: FILE, HTTP, FTP, RTP.

audio: AIFF, AU, AVI, GSM, MIDI, MP2, MP3, QT, RMF, WMA.

vidéo: AVI, MPEG-1, QT, H.261, H.263.

autres : Flash 2, HotMedia.

Historique :

JMF développé par Sun MicroSystems, Silicon Graphics, Intel, IBM et RealNetworks est

composé de trois parties : Player, Capture, Conferencing. Début des spécifications en 1996. Première implémentation (version 0.95) rendue publique

en Février 1997.

Les implémentations "natives" font appel aux couches logicielles natives multimédia de la plateforme. Il existe une implémentation 100% pur JAVA (cross-platform).

Page 28: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

28

Figure 14 : Schéma Présentatif et explicatif de l’API.

Ce schéma illustre les manières dont la JMF traite les données et les fichiers multimédia. L’API exécute un traitement passant par trois étapes pour tout type d’opérations effectuées

sur les médias.

Premièrement, les flux média sont récupérés par trois voies différentes :

o Capturés par un périphérique (caméra, microphone).

o Lus depuis un fichier multimédia de type audio ou vidéo.

o Reçus depuis le réseau.

Deuxièmement, c’est la phase de traitement qui intervienne. JMF permet d’effectuer un certain nombre de traitement sur les média récupérés :

o Appliquer des effets sur les médias.

o Compresser ou bien décompresser les médias récupérés.

o Convertir d’un type de forma à un autre.

Finalement, le média doit être rendu au système. Plusieurs opérations peuvent être effectuées à ce niveau :

o Présenter les médias en temps réel en les affichant via un composant graphique.

o Stocker les médias sur le disque selon les formats désirés par l’utilisateur.

o Envoyer vers d’autres systèmes par le biais du réseau.

Les lecteurs JMF utilisent en général des "DataSource"(définis par l'API JMF) pour gérer le transfert du contenu d'un media. Il encapsule un ensemble de données sur le transfert à

effectuer :

o L'emplacement du fichier que l'on veut transporter.

o Le protocole que l'on va utiliser pour délivrer le flux.

o Les outils utilisés pour le transfert.

Un DataSource est identifié par un objet MediaLocator ou URL permettant de spécifier l'emplacement du media à gérer. Un MediaLocator est similaire à l'objet URL et peut être

Page 29: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

29

construit à partir de celui-ci. La seule différence est qu'il ne nécessite pas que le handler (gestionnaire) du protocole utilisé soit installé sur la machine pour être utilisé.

ex : ftp://... On pourrait l'utiliser même si le handler ftp n'était pas installé. Il existe alors deux types de DataSources en fonction de l'emetteur et du récepteur :

o Pull Data-Source : Le client initialise le transfert de données et contrôle le

flot de données avec le PullDataSource.

o Push Data-Source : Le serveur initialise le transfert de données et contrôle le flow de données avec le PushDataSource.

Les formats de fichiers multimédias sont gérés par des classes de type Format contenant les attributs spécifiques du format utilisé.

Quelques composants de la JMF utilisées dans le projet :

L’objet Player :

Un objet Player prend un flux en entrée sous la forme d'un DataSource et le présente (effectue un rendu) à un temps donné. On peut alors le configurer pour obtenir le rendu que

l'on désire. Il est en fait le lecteur qui va nous permettre d'interpréter le flux et l'afficher.

Il peut se trouver dans six états différents en respectant l'ordre suivant :

Unrealized : Le Player vient d'être instancié mais ne connais rien sur le média qu'il doit traiter.

Realizing : A l'appel de la méthode "realize" il passe dans cet état. Cela consiste à

acquérir les ressources qu'il n'a besoin d'acquérir qu'une fois. Cela comprend le rendu et les différentes informations dont il a besoin sur le media à présenter.

Realized : Le Player passe dans cet état à la sortie de la méthode "realize". Il connait toutes les ressources dont il a besoin, le type du media à présenter et la

façon dont il doit le faire.

Prefetching : Il passe dans cet état à l'appel de "prefetch". Le Player pré charge le média, prend un accès exclusif sur les ressources dont il a besoin et prépare tout

ce dont il a besoin pour lancer la lecture.

Prefetched : Le Player est prêt à être lancé.

Started : Il a commencé la lecture ou la commencera à un temps donné.

Le Player envoie des "Transition Events" lorsqu'il passe d'un état à un autre.

Page 30: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

30

L’objet Processor :

Les données d'un flux média sont soumises à un traitement avant d'être présentées à un utilisateur. On pourra alors effectuer les opérations suivantes avant la présentation du

média :

Si le flux est multiplexé, on peut extraire les pistes individuelles .

Si les pistes sont compressées, elles sont décodées et décompressées.

On peut convertir le flux dans un autre format.

On peut appliquer des filtres d'effets sur le flux.

L'objet Processor est en fait un Player particulier pouvant contrôler les traitements effectués sur le flux. Il peut présenter un média ou proposer un nouveau Data Source en sortie.

Figure 15 : Charte illustrant le fonctionnement d’un Processor .

Les managers :

Pour simplifier l'utilisation des différentes fonctions de l'API, JMF fournit des classes Managers permettant d'accéder à tous les services principaux. Cela permet de centra liser les différentes fonctions :

Manager : Cette classe permet la construction des objets principaux, autrement

dit les Players, Processors, DataSources et DataSinks (permettre l'enregistrement d'un flux ou la capture)

PackageManager : Maintient un registre de packages contenant des classes JMF customisés (Players particuliers ...)

CaptureDeviceManager : Maintient une liste des périphériques de capture valable dans JMF

PlugInManager : maintient une liste des plugins JMF de traitement utilisables (Multiplexers, Demultiplexers, Codecs, Effects, Renderers).

Page 31: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

31

Les DataSources :

Une DataSource est une abstraction pour les médias protocole gestionnaires. DataSource gère le cycle de vie de la source des médias en fournissant un protocole de connexion

simple.

Une DataSource pourrait soutenir une opération qui ne fait pas partie de la définition de la classe DataSource. Par exemple, une source pourrait soutenir le positionnement de ses médias à un moment donné. Certaines opérations sont tributaires de flux de données que la source est la gestion et le soutien ne peut être déterminé qu'après la source a été connecté. Pour obtenir tous les objets qui permettent le contrôle sur une DataSource, getControls usage qui retourne un tableau d'objet de déterminer si un type particulier de contrôle est disponible et obtenir l'objet qu'il met en œuvre, GetControl usage qui prend le nom de la classe ou l'interface celle de la commande désirée.

L’objet DataSink :

DataSink est l'interface de base pour les objets qui lisent le contenu des médias rendu par une DataSource et de rendre les médias dans une certaine destination. La destination est spécifiée avec une MediaLocator. Un exemple de DataSink est un objet écrivain fichier qui

stocke les médias dans un fichier.

Un DataSink est créé selon le mécanisme de l'usine permet de créer un Player.

2 – L’application

2.1 - Descriptif

L’interface homme-machine baptisée IHM est un élément crucial dans les projets d’applications informatiques. Elle joue le rôle d’intermédiaire entre la partie développement

ou programmation et l’utilisateur qui peut être quelqu’un qui n’a aucun rapport avec le domaine de développement informatique.

L’application est dotée d’une interface simple à utiliser respectant les normes d’une interface homme-machine qui vise à faciliter la tâche de l’utilisateur en lui permettant de maîtriser les fonctionnalités de l’application tout en fournissant le moins d’efforts et en gagnant le plus de temps possible.

2.2 – Interface Graphique

En lançant l’application une interface d’identification s’affiche. Elle permet aux utilisateurs

de s’authentifier selon leur login et mot de passe.

Page 32: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

32

Figure 16 : Ecran d’authentification

Après la saisie de la combinaison login/mot de passe, ces données seront vérifiées avec celles stockées dans la base; notamment dans la table utilisateur. Si l’authentification est

incorrecte un message d’erreur s’affiche, sinon la fenêtre principale du programme apparait.

Page 33: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

33

Figure 17 : Ecran principal (caméra inactive).

Le menu en bas de la fenêtre (figure 17) sert à contrôler le fonctionnement du périphérique d’entrée (dans notre cas, une webcam). il permet de démarrer la webcam, capturer des

images quand la caméra est mise en marche, enregistrer des vidéos et finalement arrêter la caméra en cours d’utilisation.

Page 34: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

34

Figure 18 : Ecran principal (caméra active).

Une fois la caméra détectée et démarrée, celle-ci affiche ce qu’elle capture via l’interface

graphique en donnant à l’utilisateur la possibilité d’enregistrer des vidéos ou bien capturer des photos instantanées.

Page 35: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

35

Figure 19 : Ecran permettant d’enregistrer la cible des fichiers en cours d’enregistrement .

Lorsque l’utilisateur choisit d’enregistrer un fichier (soit image, soit vidéo), l’application lui donne le choix de sélectionner le répertoire d’enregistrement.

Page 36: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

36

Figure 20 : Ecran permettant la gestion des fichiers enregistrés.

Cet écran est affiché lorsque l’utilisateur choisit de gérer les fichiers stockés sur le disque. Les informations concernant ces fichiers sont affichées ; notamment l’id du fichier, son nom et la cible dans laquelle il est enregistré. L’utilisateur possède trois choix possibles, il peut :

Supprimer le fichier qu’il sélectionne.

Le visualiser.

Quitter l’écran de gestion des fichiers et revenir à l’écran principal.

Page 37: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

37

s

Figure 21 : Ecran permettant la gestion des utilisateurs.

Cette interface permet la gestion des utilisateurs ayant accès à l’application. Elle propose le choix d’ajouter, de modifier et de supprimer les données concernant les utilisateurs.

Page 38: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

38

Figure 22 : Ecran permettant l'ajout d'un utilisateur.

Cet écran permet de saisir un nouvel utilisateur pouvant accéder à l’application en

définissant son nom d’utilisateur (login) et son mot de passe.

2.3 – Conclusion

Je tiens à signaler que certaines fonctionnalités et précisions à propos du projet, restent en cours de développement, pour la raison que mon stage continue toujours, jusqu’à la fin du

Page 39: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

39

mois juillet, et que la présente version constitue une version de test provisoire qui, par la suite, va subir plusieurs modifications afin d’aboutir à un produit finalisé prêt à être livré.

Mais j’ai essayé, comme même, de compléter la ma jorité des composants définis dans le descriptif de l’application.

VI – Conclusion et perspectives

Pendant la période de mon stage, j’ai eu l’opportunité de travailler avec

différentes technologies, ce qui s’est avéré très enrichissant pour mon

expérience professionnelle. J’ai pu appliquer mes connaissances théoriques et

pratiques que j’ai acquises durant ma formation sur un projet concret qui m’a

permis d’améliorer mes compétences.

En conclusion, ce stage, de part sa diversité tant d’un point de vue technique que d’un point de vue relationnel, m’a été bénéfique. Ainsi, au niveau technique, il m’a permis de découvrir des branches de métiers nouvelles nécessitant l’exploitation de diverses technologies en appliquant les méthodes de travail utilisées dans une société telle que S2M. Au niveau relationnel, le stage était une expérience très riche qui m’a permis, dune part, de me familiariser avec un environnement de travail professionnel et d’autre part, de scinder des relations amicales avec le personnel de la société. J’ai également beaucoup apprécié les très bonnes conditions dans lesquelles j’ai pu passer mon stage de fin d’études qui se veut une étape importante dans le cursus d’études.

Page 40: Rapport de PFE nohad imad.pdf

Rapport de Projet de fin d’études Année Universitaire 2009 - 2010

40

VII - Webliographie

http://www.wikipedia.com

http://www-igm.univ-mlv.fr/~dr/XPOSE2005/boitel/base.php

http://JAVA.sun.com/JAVAse/technologies/desktop/media/jmf/

http://www.s2m .ma