Vous êtes sur la page 1sur 40

Rapport de Projet de fin d’études

Année Universitaire 2009 - 2010

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

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

A mes chers parents…

A ma famille…

A mes amis…

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

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.

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

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

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

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

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

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

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

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.

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

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”.

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

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.

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

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 …).

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

 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 :

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

 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é).

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

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.

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

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.

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

 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)

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

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

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.

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

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.

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

Figure 3 : Diagr amme des cas d’utilisation du projet.

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.

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

Figure 4 : Diagr amme de séquence Authentification.

Figure 5 : Diagr amme de séquence Surveillance.

Figure 6 : Diagr amme de séquences Gestion fichiers.

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

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).

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

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.

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

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.

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

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.

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

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

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

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.

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

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.

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

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).

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

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

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

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.

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

 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).

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

 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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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.

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

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

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

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 majorité 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.

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

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

40

Vous aimerez peut-être aussi