Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Application de surveillance et gestion de sEquences vidEo
Ralis par :
Imad NOHAD
Filire :
Gnie Informatique
Encadr par :
M. Mohamed NAIMI Mme. Gnevive DENIER
Stage effectu :
Du 15/04/2010 Au 30/05/2010
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
A mes chers parents A ma famille A mes amis
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Demble et avant dentamer mon rapport de projet de fin dtudes, je ne peux oublier de remercier Mr. Karim ZAITOUNI, Di recteur dintgration au sein de S2M, de mavoir accueilli pour effectuer mon stage au sein de son quipe. Jadresse mes remerciements aussi tout le personnel de la Socit Maghrbine de Montique (S2M), surtout Mme. Hayat HAMRAOUI qui ma offert lopp ortunit de passer mon stage dans les meilleures conditions. Je tiens exprimer mes remerciements Mme. Gnevive DENIER pour mavoir encadr durant la priode de stage et pour ses conseils et ses recommandations qui mont t trs utiles. Je remercie tout particulirement mon encadrant, M. Mohamed NAIMI, pour ses renseignements et ses conseils. Jadresse galement mes remerciements Mr. Moustapha OUALIM, Directeur de lESTB, et tout le corps pdagogique et administratif de lESTB pour leur aide et su pport tout au long de la dure de la formation. Enfin, je remercie toute personne ayant contribu de prs ou de loin la ralisation de ce travail.
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
I Introduction ............................................................................................................................ 7 II Prsentation de S2M ............................................................................................................ 8 1 Prsentation de S2M .................................................................................................. 8 1.1 - Historique ........................................................................................................... 8 1.2 Produits et Prestations .................................................................................... 10 III Prsentation et Planning du projet .................................................................................... 13 1 Mission et objectifs .................................................................................................. 13 2 Etude de lexistant..................................................................................................... 13 3 Cahier des charges ................................................................................................... 14 3.1 - Les finalits du projet ....................................................................................... 14 3.2 Moyens utiliser ............................................................................................. 14 3.3 Contraintes du projet ...................................................................................... 14 4 Organisation des tches ........................................................................................... 15 IV - Modlisation et conception ................................................................................................ 16 1 Modlisation de lapplication en UML ....................................................................... 16 1.1 Dfinition dUML .............................................................................................. 17 1.2 Diagramme des cas dutilisation ..................................................................... 17 1.3 Diagramme de squences.............................................................................. 18 2 Conception de la base de donnes .......................................................................... 20 2.1 La mthode Merise ......................................................................................... 20 2.2 Le modle conceptuel de donnes (MCD)..................................................... 20 2.3 Le modle Logique de donnes (MLD) .......................................................... 21 2.4 Les tables ........................................................................................................ 21
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
V Ralisation de lapplication ................................................................................................ 23 1 - Les outils utiliss ........................................................................................................ 23 1.1 Microsoft Access 2007.................................................................................... 23 1.2 Eclipse IDE : ................................................................................................... 24 1.3 Le Langage JAVA : ......................................................................................... 25 1.4 LAPI JMF (JAVA Media Frame Work)........................................................... 27 2 Lapplication .............................................................................................................. 31 2.1 - Descriptif .......................................................................................................... 31 2.2 Interface Graphique ........................................................................................ 31 2.3 Conclusion ...................................................................................................... 38 VI Conclusion et perspectives............................................................................................... 39 VII - Webliographie .................................................................................................................. 40
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 1: Aperu du dcoupage des tches (MS Project 2003) ........................................................ 15 Figure 2 : Aperu de lorganigramme des tches (MS Project 2003) ................................................ 16 Figure 3 : Diagramme des cas dutilisation du projet...................................................................... 18 Figure 4 : Diagramme de squence Authentification...................................................................... 19 Figure 5 : Diagramme de squence Surveillance. ........................................................................... 19 Figure 6 : Diagramme de squences Gestion fichiers. .................................................................... 19 Figure 7 : Le modle conceptuel de donnes (MCD). ..................................................................... 20 Figure 8 : Aperu de la table vido................................................................................................ 21 Figure 9 : Aperu de la table photo............................................................................................... 22 Figure 10 : Aperu de la table utilisateur....................................................................................... 22 Figure 11 : Logo de MS Access 2007. ............................................................................................ 23 Figure 12 : Logo dEclipse IDE. ...................................................................................................... 24 Figure 13 : Logo de JAVA.............................................................................................................. 25 Figure 14 : Schma Prsentatif et explicatif de lAPI....................................................................... 28 Figure 15 : Charte illustrant le fonctionnement dun Processor. ..................................................... 30 Figure 16 : Ecran dauthentification .............................................................................................. 32 Figure 17 : Ecran principal (camra inactive). ................................................................................ 33 Figure 18 : Ecran principal (camra active).................................................................................... 34 Figure 19 : Ecran permettant denregistrer la cible des fichiers en cours denregistrement. ............. 35 Figure 20 : Ecran permettant la gestion des fichiers enregistrs. .................................................... 36 Figure 21 : Ecran permettant la gestion des utilisateurs. ................................................................ 37 Figure 22 : Ecran permettant l'ajout d'un utilisateur. ..................................................................... 38
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
I Introduction
Ce rapport est le fruit dun travail effectu au sein de la Socit Maghrbine de Montisation (S2M) dans le cadre de mon stage de fin dtudes. Ce projet est motiv par le souci de pouvoir automatiser le processus de surveillance des locaux propres aux clients (entreprises, agences bancaires) via des camras vido qui sont gres par une application informatique. En effet, une telle application permettra de faciliter la gestion des images et des squences vido captures et par suite permettra de garantir une meilleure scurit pour ces locaux. Nous nous intresserons dans un premier temps la prsentation de la socit S2M ; pionnire dans le domaine de la montique au Maroc. Nous verrons dans un second temps les dtails du projet sur lequel jai travaill et les problmatiques rsoudre. Dans ce sens, nous commenons dabord par lorganisation du projet, ensuite nous prsentons les technologies employes avant de passer la phase de ralisation. Enfin, nous clturons cette partie en commentant les rsultats obtenus. Dans un dernier temps, nous terminons par une conclusion gnrale suivie de quelques perspectives qui pourront faire lobjet dun travail ultrieur.
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
II Prsentation de S2M
1 Prsentation de S2M
A l'origine du dveloppement de la montique au Maroc, S2M depuis 1983, s'est impose rapidement comme l'un des acteurs majeurs de l'dition et de l'intgration de solutions montiques ainsi que de la fourniture de moyens de paiement. S2M propose ses clients l'offre la plus complte et la plus sre du march, intgrant les produits et solutions suivantes :
Solutions montiques. Solutions cartes puce. Solutions verticales : ptrolier, hteliers, carte salaire. Personnalisation des moyens de paiement: cartes bancaires et privatives, chques... Outsourcing: hbergement de solutions. Editique (impression, mise sous pli,.) .
S2M offre en plus un large ventail de services d'accompagnement :
Le conseil. L'intgration. La formation. L'assistance. Le support technique et la maintenance. S2M, c'est surtout une notorit internationale et des rfrences dans une vingtaine de pays; plus de 120 banques prives et publiques ont fait confiance ses solutions.
1.1 - Historique
Depuis plus de deux dcennies, S2M anticipe les exigences et les tendances du march en faisant constamment voluer ses solutions. 1983 voit la cration de S2M et ldition de la premire version du produit MultiPac, destine aussi bien a ux banques quaux centres interbancaires. Lanne 1985 marque le dbut de lactivit personnalisation de cartes bancaires.
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
En 1988, pressentant la tendance du Down- Sizing et de larchitecture Client-serveur, S2M conoit le premier logiciel montique sous UNIX : MultiXPac. A la fois modulaire et global, il sera rapidement adopt par des banques de premier ordre, dabord sur le march marocain, ensuite en Afrique et au Moyen-Orient. Cest au cours de cette mme anne que dbute lactivit chques. En 1995, S2M dcide de sallier avec la socit amricaine First Bank Card Software pour accder aux marchs amricains et asiatiques. Lobtention en 1997 du 1er Trophe Marocain lExportation tmoignant de la reconnaissance de ses clients internationaux. 1998 voit se concrtiser le portage de MultiXPac sous Oracle afin de bnficier de sa robustesse, de ses performances et de son ouverture vers lInfocentre. Cette dernire version rpond aux besoins les plus exigeants en matire dex ploitation. 1999 est lanne de la certification Qualit ISO 9002 du Centre de Production de S2M. En 2000, S2M met sur le march sa solution globale de paiement scuris pour le commerce lectronique. Lanne 2002 voit la sortie, sur le march, de la nouvelle ve rsion 6 native EMV qui permet daccompagner les banques dans leur migration vers la norme EMV. Cette dernire version bnficie davances majeures aussi bien technologiques que fonctionnelles et apporte une nouvelle vision d'un serveur montique oriente : convivialit, modle relationnel, traitement par WorkFlow, exploitation assiste, scurit et disponibilit accrues. Lanne 2003 est marque 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 dcroche le Premier Accessit aux Trophes de lExportation. En 2004, suite l'ouverture de son capital, S2M lance un programme de dveloppement et d'investissement ambitieux. En outre, la nouvelle version 6 fait une vritable perce dans la rgion Afrique et Moyen Orient ; cette perce se caractrise par laccueil pour le moins excellent qua rserv la communaut bancaire de la rgion la V6 ; 5 nouveaux pays placent leur confiance en S2M et cette version : la Syrie, le Ymen, le Soudan, le Togo & la Palestine.
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Au cours de lanne 2005, lInde et le Kowet font tour tour confiance S2M et sa solution montique. En 2005, afin de marquer la rupture fonctionnelle et technologique, S2M rebaptise sa solution montique qui dsormais porte le nom de SelectsystemR (The Secure Electronic Card Transactions System). Selectsystem a t conue et dveloppe autour de la norme EMV et afin dapporter de nouvelles fonctionnalits et modules qui rpondent aux besoins des clients. Selectsystem est de fait un nouveau produit apportant une richesse fonctionnelle ingale. Au cours de cette mme anne, lInde, le Kowet et la Maurit anie font tour tour confiance S2M et sa solution montique Selectsystem. En 2006, S2M gagne la confiance de 4 nouveaux pays qui adoptent sa solution montique : le Cameroun, la Rpublique Dmocratique du Congo, lIran et le Niger. Au mois de Fvrier, latelier de personnalisation des cartes bancaires et privatives de S2M Production obtient les certifications puce VSDC de VISA et M-Chip de MasterCard qui lhabilitent dsormais personnaliser des cartes puce EMV. En dcembre, S2M reoit le Grand Prix de lExportation catgorie grandes entreprises. 2007 est marque par linauguration du no uveau Centre de Production de S2M : certifi ISO 9001 Version 2000, ainsi que par VISA et MasterCard, ce nouveau centre de 2000 m a ncessit un investissement de 20 millions de Dirhams hors quipements de production. Au cours de lanne, 3 nouveaux pays africains sont conquis par S2M et sa solution montique : la Tanzanie, la Guine Equatoriale et la Guine Bissau. En 2008, S2M a 25 ans dexistence. La France ainsi que 2 nouveaux pays africains, le Bnin et la Lybie, lui accordent leur confiance. Rcemment, la socit a t certifie de niveau 2 du CMMI mthode continue, et vise atteindre les niveaux 3 et 4.
1.2 Produits et Prestations
Solutions montiques : SelectsystemR. Solutions cartes puce. Solutions e-commerce. Solutions verticales (ptroliers, hteliers, carte salaire ) .
10
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Dveloppement dapplications TPE : Bancaires. E-Top Up. Porte-monnaie lectronique. Ptrolier. Transfert dargent. Fidlit. Dfinition des besoins. Gestion de projets. Dveloppements spcifiques. Certification. Formation.
Intgration :
Consulting :
Conseil en systmes de paiement. Audit. Assistance matrise douvrage. Service de maintenance : Hot line. Intervention sur site. Cartes bancaires : Gestion et vente des supports cartes (aide la conception, impression, certification auprs des organismes internationaux). Personnalisation des cartes piste et puce EMV. Calcul, impression et acheminement des codes confidentiels . Cartes privatives de paiement et de fidlit : Cartes avec ou sans pistes, cartes puce, cartes scurises. Conception, impression et personnalisation de la carte. Chques : Personnalisation par impression de qualit laser sur papier amagntique et scuris. Faonnage des chquiers et conditionnement par lot. Personnalisation des lettres chques. Editique : Edition et personnalisation de diffrents types de documents . Mise sous pli et publipostage pour les banques, les socits de crdits, les agences de communication Affranchissement automatique et gestion des retours.
Fourniture et entretien de TPE :
11
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Fourniture de TPE, logiciel de gestion de parc TPE et quipements rseau pour TPE. Maintenance des TPE.
Outsourcing :
Hbergement de solutions montiques, en mode ASP (paiement, crdit et fidlit).
12
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
III Prsentation et Planning du projet
1 Mission et objectifs
Ce projet a pour objectif de raliser 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 contrler. Afficher les media capturs dans une interface graphique. Capturer des images et des squences vido. Stocker les images et les squences vido sur le disque dur. Stocker les informations concernant les fichiers enregistrs dans une base de donnes. Grer les fichiers stocks (suppression, visualisation).
2 Etude de lexistant
Etant donn que la scurit demeure un lment crucial dans le cycle de vie de nimporte quel organisme conomique, la mise en place des systmes de scurit a connu une rvolution relle dans les deux dernires dcennies. Les socits voquent des mesures de scurit dans toutes leurs activits: accs leurs siges, transfert dargent, transaction montaire, stockage des informations confide ntielles La surveillance des locaux prsente lune des mesures les plus propages. Cest dans ce cadre que se trouve mon projet consistant manipuler une camra de surveillance grce a une application informatique. La surveillance se faisait par un systme qui capture les flux en temps rel et les affiche dans un moniteur.
13
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Lapplication constituant le sujet de mon projet vise ajouter plusieurs fonctionnalits au systme existant comme la capture et lenregistrement des vidos ainsi que des images. Lapplication doit g alement garantir la gestion des fichiers gnrs par les camras.
3 Cahier des charges
Le cahier des charges rsume les composantes ncessaires aidant la ralisation du projet, il contient : Les finalits du projet. Les moyens utiliser. Les contraintes du projet.
3.1 - Les finalits du projet
Comme cest dj voqu prcdemment, le but principal du projet est de raliser une application informatique pouvant servir doutil de gestion des fichiers vido, provenant des camras de surveillance, en temps rel (stockage, suppression...).
3.2 Moyens utiliser
Pour raliser le projet, nous avons fait appel de nombreux outils matriels et logiciels: Outils matriels : Ordinateur portable, Webcam. Outils logiciels : Compilateur JAVA Eclipse, MS Access 2007, MS Project, DIA, langage JAVA.
3.3 Contraintes du projet
La ralisation de nimporte quel projet est confronte toutes sortes de contraintes . Dans notre cas, voici les contraintes que nous avons dues respecter: Le temps : 2 mois pour raliser le projet.
14
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
La raret de la documentation propos de certains modules constituant le cur du projet (en loccurrence, lAPI JMF). La mise jour systmatique des objectifs du projet.
4 Organisation des tches
Lorganisation est un lment cl menant la russite de nimporte quel projet. Abstraction de son niveau de difficult. Une telle organisation permet de faciliter ainsi la dfinition des tches excuter, le suivi de lvolution du projet, le bon contrle des modules et des moyens et de grer les risques de faon fiable. Afin de mener bien la ralisation du projet, nous avons essay de la dcouper en tches spcifiques dfinies par des dlais la fois raisonnables et bnfiques, en matire de la dure 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 exprims au pralable. Pour que l organisation du projet ne reste pas tout fait abstraite, il faut mettre en place un plan modlisant chaque tche avec ses dates dbut et fin. Pour ce faire, je me suis servi du logiciel MS Project de la suite Microsoft Office version 2003, afin dassurer un suivi habile de la ralisation de mon projet.
Figure 1: Aperu du dcoupage des t ches (MS Project 2003)
15
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 2 : Aperu de lorganigr amme des tches (MS Project 2003)
IV - Modlisation et conception
La ralisation dun projet ne dbute srement pas tout dun coup, il est ncessaire de passer par plusieurs tapes. En fait, le projet dune application informatique doit passer par lanalyse de ses fonctionnalits et la modlisation de ses lments dans lintention de faciliter son excution et de diminuer toutes les actions correctives ncessaires au fur et mesure du d veloppement de lapplication. Lanalyse des besoins exprims et ltude de lenvironnement ma guid vers la conception dune base de donnes ainsi que la modlisation de lapplication associe au projet.
1 Modlisation de lapplication en UML
En ce qui concerne la planification de lapplication, jai opt pour UML comme langage de modlisation.
16
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
1.1 Dfinition dUML
UML (en anglais Unified Modeling Language ou langage de modlisation unifi ) est un langage de modlisation graphique base de pictogrammes. Il est apparu dans le monde du gnie logiciel, dans le cadre de la conception oriente objet . Couramment utilis dans les projets logiciels, il peut tre appliqu toutes sortes de systmes ne se limitant pas au domaine informatique. UML comporte en gnrale 13 types de diagrammes dans la V2. En fait, lors de la modlisation et la conception de mon projet, je ne me suis servi que de 2 types de diagrammes : le diagramme de cas dutilisation et le diagramme de squences.
1.2 Diagramme des cas dutilisation
Les diagrammes de cas d'utilisation sont des diagrammes UML utiliss pour donner une vision globale du comportement fonctionnel d'un systme logiciel. Un cas d'utilisation reprsente une unit discrte d'interaction entre un utilisateur (humain ou machine) et un systme. Il est une unit significative de travail. Dans un diagramme de cas d'utilisation, les utilisateurs sont appels acteurs, ils interagissent avec les cas d'utilisation. Les cas dutilisation: Visualiser le flux vido en temps rel : voir ce que capture la camra grce linterface du programme. Enregistrer des vidos : enregistrer des squences vido sur le disque. Capturer des images : prendre des photos selon le choix et les enregistrer sur le disque. Grer les lments stocks : gestion des fichiers enregistrs (suppression, modification....). Lecture des fichiers stocks : Lecture des fichiers enregistrs grce au lecteur multimdia du programme.
17
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 3 : Diagr amme des cas dutilisation du projet .
1.3 Diagramme de squences
Le diagramme de squences est un autre type de diagramme propos par le langage UML et qui illustre graphiquement les changes effectus entre les acteurs et le systme suivant un ordre chronologique. Ce diagramme interprte tous les scnarios dinteractions possibles entre systme et acteurs.
18
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 4 : Diagr amme de squence Authentification.
Figure 5 : Diagr amme de squence Surveillance.
Figure 6 : Diagr amme de squences Gestion fichiers.
19
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
2 Conception de la base de donnes
La conception par Merise ma permise dtablir les lments ncessaires constituant la base de donnes :
2.1 La mthode Merise
MERISE es t une mthode de conception des systmes dinformation . Le but de cette mthode est d'arriver concevoir un systme d'information. La mthode MERISE est base sur la sparation des donnes et des traitements effectuer en plusieurs modles conceptuels et logiques. Merise propose plusieurs types de modles servant la modlisation d un systme dinformation. Parmi ces modles, je me suis intress au MCD (modle conceptuel de donnes) et au MLD (modle logique de donnes).
2.2 Le modle conceptuel de donnes (MCD)
Figure 7 : Le modle conceptuel de donnes (MCD).
20
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
2.3 Le modle Logique de donnes (MLD)
En appliquant les rgles 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 donnes, un lment essentiel de lapplication, est constitue de trois tables servant stocker les informations provenant de lapplication. La table Vido : sert stocker comme donnes les informations concernant les lments de type vido enregistrs sur le disque dur par lapplication.
Figure 8 : Aperu de la table vido.
La table photo : sert stocker comme donnes les informations concernant les lments de type photo enregistrs sur le disque dur par lapplication.
21
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 9 : Aperu de la table photo.
La table utilisateur : sert stocker les informations concernant les utilisateurs (login, mot de passe) ayant accs lapplication.
Figure 10 : Aperu de la table utilisateur.
22
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
V Ralisation de lapplication
1 - Les outils utiliss
Durant la phase dtudes du projet jai pris quelque temps pour choisir les outils informatiques que je vais exploiter pour concrtiser mon application selon la modlisation que jai conue. Ci-aprs, je vais prsenter un descriptif de chaque outil utilis afin de donner une image globale illustrant la manire dont j ai ralis 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 systme de gestion de base de donnes 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 donnes et l'diteur graphique. Les deux ne sont pas librement sparables.
23
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Il est compatible avec les requtes SQL (sous certaines restrictions) et dispose d'une interface graphique pour saisir les requtes. Il permet aussi de configurer, avec des assistants ou librement, des formulaires et sous-formulaires de saisie.
Comme beaucoup de systmes de gestion de bases de donnes relationnelles, ses donnes peuvent tre utilises dans des programmes crits dans divers langages. En JAVA, Microsoft Access peut tre utilis de faon transparente via JDBC l'aide de la passerelle JDBC-ODBC de Sun.
1.2 Eclipse IDE :
Figure 12 : Logo dEclipse IDE.
Eclipse est un environnement de dveloppement intgr libre extensible, universel et polyvalent, permettant de crer des projets de dveloppement 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 dtudes
Anne Universitaire 2009 - 2010
la bibliothque graphique SWT, d'IBM), et ce langage, grce des bibliothques spcifiques, est galement utilis pour crire des extensions. Le cur d'Eclipse est en fait compos :
d'un socle capable de charger des modules (plugins).
de modules de base permettant de grer des ensembles de ressources (projets, fichiers, rpertoires, ) . de modules pour permettre la cration d'interfaces graphiques cohrentes. En utilisant cette librairie, les plugins ont un aspect homogne.
Eclipse peut aussi servir de socle tout outil de dveloppement, quel que soit le langage et les formats de fichiers supports.
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 employs de Sun Microsystems avec le soutien de Bill Joy (cofondateur de Sun Microsystems en 1982), prsent officiellement le 23 mai 1995 au SunWorld.
25
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Le langage JAVA a la particularit principale que les logiciels crits avec ce dernier sont trs facilement portables sur plusieurs systmes dexploitation tels quUNIX, Microsoft Windows, Mac OS ou GNU/Linux avec peu ou pas de modifications. Cest la plate -forme qui garantit la portabilit des applications dveloppes en JAVA.
Le langage reprend en grande partie la syntaxe du langage C++, trs utilis par les informaticiens. Nanmoins, JAVA a t pure des concepts les plus subtils du C++ et la fois les plus droutants, tels que les pointeurs et rfrences, et lhritage multiple remplac par limplmentation des interfaces. Les concepteurs ont privilgi lapproche oriente objet de sorte quen JAVA, tout est objet lexception des types primitifs (nombres entiers, nombres virgule flottante, etc.) JAVA permet de dvelopper des applications client-serveur. Ct client, les applets sont lorigine de la notorit du langage. Cest surtout ct serveur que JAVA sest impos dans le milieu de lentreprise grce aux servlets, le pendant serveur des applets, et plus rcemment les JSP (JAVA Server Pages) qui peuvent se substituer PHP, ASP et ASP.NET. JAVA a donn naissance un systme d'exploitation (JAVAOS), un environnement de dveloppement (eclipse/JDK), des machines virtuelles (MSJVM, JRE),des applicatives multi plates-formes (JVM), une bibliothque JAVA (J2ME) avec interface graphique (AWT/Swing), des applications JAVA (logiciels, servlet, applet). La portabilit du code JAVA est assure par la machine virtuelle. JRE est la machine virtuelle qui effectue la traduction et l'excution du bytecode en code natif supportant plusieurs processus de compilation ( la vole/bytecode, natif). La portabilit est dpendante de la qualit de portage des JVM sur chaque OS. Aujourd'hui, JAVA (sous la forme de JAVAFx) trouve une nouvelle niche dans la cration d'applications RIA (Rich Internet Applications), des applications qui proposent des fonctionnalits, notamment des interfaces, plus volues la fois sur Internet et sur les tlphones portables. Le langage JAVAFx est un langage agile driv de JAVA, sous le contrle de Sun Microsystems, qui met profit la portabilit de JAVA ainsi que les vastes bibliothques dj disponibles dans le langage JAVA.
26
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
1.4 LAPI JMF (JAVA Media Frame Work)
Le JAVA Media Framework (JMF) est une bibliothque JAVA qui permet audio, vido et autres mdias bass 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 mdias, tend la plate-forme JAVA, Standard Edition (JAVA SE) et permet le dveloppement d'applications multimdia multiplateformes. Medias supports par JMF : JMF traite les donnes utilisant le temps. Les divers types traits par JMF sont : protocoles: FILE, HTTP, FTP, RTP. audio: AIFF, AU, AVI, GSM, MIDI, MP2, MP3, QT, RMF, WMA. vido: AVI, MPEG-1, QT, H.261, H.263. autres : Flash 2, HotMedia. Historique : JMF dvelopp par Sun MicroSystems, Silicon Graphics, Intel, IBM et RealNetworks est compos de trois parties : Player, Capture, Conferencing. Dbut des spcifications en 1996. Premire implmentation (version 0.95) rendue publique en Fvrier 1997. Les implmentations "natives" font appel aux couches logicielles natives multimdia de la plateforme. Il existe une implmentation 100% pur JAVA (cross-platform).
27
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 14 : Schma Prsentatif et explicatif de lAPI.
Ce schma illustre les manires dont la JMF traite les donnes et les fichiers multimdia. LAPI excute un traitement passant par trois tapes pour tout type dopration s effectues sur les mdias. Premirement, les flux mdia sont rcuprs par trois voies diffrentes :
o Capturs par un priphrique (camra, microphone). o Lus depuis un fichier multimdia de type audio ou vido. o Reus depuis le rseau. Deuximement, ces t la phase de traitement qui intervienne. JMF permet deffectuer un certain nombre de traitement sur les mdia rcuprs : o Appliquer des effets sur les mdias. o Compresser ou bien dcompresser les mdias rcuprs. o Convertir dun type de forma un autre. Finalement, le mdia doit tre rendu au systme. Plusieurs oprations peuvent tre effectues ce niveau : o Prsenter les mdias en temps rel en les affichant via un composant graphique. o Stocker les mdias sur le disque selon les formats dsirs par lutilisateur. o Envoyer vers dautres systmes par le biais du rseau. Les lecteurs JMF utilisent en gnral des "DataSource"(dfinis par l'API JMF) pour grer le transfert du contenu d'un media. Il encapsule un ensemble de donnes sur le transfert effectuer :
o o o
L'emplacement du fichier que l'on veut transporter. Le protocole que l'on va utiliser pour dlivrer le flux. Les outils utiliss pour le transfert.
Un DataSource est identifi par un objet MediaLocator ou URL permettant de spcifier l'emplacement du media grer. Un MediaLocator est similaire l'objet URL et peut tre
28
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
construit partir de celui-ci. La seule diffrence est qu'il ne ncessite pas que le handler (gestionnaire) du protocole utilis soit install sur la machine pour tre utilis. ex : ftp://... On pourrait l'utiliser mme si le handler ftp n'tait pas install. Il existe alors deux types de DataSources en fonction de l'emetteur et du rcepteur :
o
Pull Data-Source : Le client initialise le transfert de donnes et contrle le flot de donnes avec le PullDataSource. Push Data-Source : Le serveur initialise le transfert de donnes et contrle le flow de donnes avec le PushDataSource.
Les formats de fichiers multimdias sont grs par des classes de type Format contenant les attributs spcifiques du format utilis. Quelques composants de la JMF utilises dans le projet : Lobjet Player :
Un objet Player prend un flux en entre sous la forme d'un DataSource et le prsente (effectue un rendu) un temps donn. On peut alors le configurer pour obtenir le rendu que l'on dsire. Il est en fait le lecteur qui va nous permettre d'interprter le flux et l'afficher. Il peut se trouver dans six tats diffrents en respectant l'ordre suivant :
Unrealized : Le Player vient d'tre instanci mais ne connais rien sur le mdia qu'il doit traiter. Realizing : A l'appel de la mthode "realize" il passe dans cet tat. Cela consiste acqurir les ressources qu'il n'a besoin d'acqurir qu'une fois. Cela comprend le rendu et les diffrentes informations dont il a besoin sur le media prsenter. Realized : Le Player passe dans cet tat la sortie de la mthode "realize". Il connait toutes les ressources dont il a besoin, le type du media prsenter et la faon dont il doit le faire. Prefetching : Il passe dans cet tat l'appel de "prefetch". Le Player pr charge le mdia, prend un accs exclusif sur les ressources dont il a besoin et prpare tout ce dont il a besoin pour lancer la lecture. Prefetched : Le Player est prt 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 dtudes
Anne Universitaire 2009 - 2010
Lobjet Processor : Les donnes d'un flux mdia sont soumises un traitement avant d'tre prsentes un utilisateur. On pourra alors effectuer les oprations suivantes avant la prsentation du mdia :
Si le flux est multiplex, on peut extraire les pistes individuelles . Si les pistes sont compresses, elles sont dcodes et dcompresses. 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 contrler les traitements effectus sur le flux. Il peut prsenter un mdia ou proposer un nouveau Data Source en sortie.
Figure 15 : Charte illustrant le fonctionnement dun Processor .
Les managers : Pour simplifier l'utilisation des diffrentes fonctions de l'API, JMF fournit des classes Managers permettant d'accder tous les services principaux. Cela permet de centra liser les diffrentes 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 customiss (Players particuliers ...) CaptureDeviceManager : Maintient une liste des priphriques 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 dtudes
Anne Universitaire 2009 - 2010
Les DataSources :
Une DataSource est une abstraction pour les mdias protocole gestionnaires. DataSource gre le cycle de vie de la source des mdias en fournissant un protocole de connexion simple. Une DataSource pourrait soutenir une opration qui ne fait pas partie de la dfinition de la classe DataSource. Par exemple, une source pourrait soutenir le positionnement de ses mdias un moment donn. Certaines oprations sont tributaires de flux de donnes que la source est la gestion et le soutien ne peut tre dtermin qu'aprs la source a t connect. Pour obtenir tous les objets qui permettent le contrle sur une DataSource, getControls usage qui retourne un tableau d'objet de dterminer si un type particulier de contrle 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 dsire. Lobjet DataSink :
DataSink est l'interface de base pour les objets qui lisent le contenu des mdias rendu par une DataSource et de rendre les mdias dans une certaine destination. La destination est spcifie avec une MediaLocator. Un exemple de DataSink est un objet crivain fichier qui stocke les mdias dans un fichier. Un DataSink est cr selon le mcanisme de l'usine permet de crer un Player.
2 Lapplication
2.1 - Descriptif
Linterface homme-machine baptise IHM est un lment crucial dans les projets dapplications informatiques. Elle joue le rle dintermdiaire entre la partie dveloppement ou programmation et lutilisateur qui peut tre quelquun qui na aucun rapport avec le domaine de dveloppement informatique. Lapplication est dote dune interface simple utili ser respectant l es normes dune interface homme-machine qui vis e faciliter la tche de lutilisateur en lui permettant de matriser les fonctionnalits de lapplication tout en fournissant le moins defforts et en gagnant le plus de temps possible.
2.2 Interface Graphique
En lanant lapplication une interface didentification saffiche. Elle permet aux utilisateurs de sauthentifier selon leur login et mot de passe.
31
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 16 : Ecran dauthentification
Aprs la saisie de la combinaison login/mot de passe, ces donnes seront vrifies avec celles stockes dans la base; notamment dans la table utilisateur. Si lauthentification est incorrecte un message derreur saffiche, sinon la fentre principale du programme apparait.
32
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 17 : Ecran principal (camra inactive).
Le menu en bas de la fentre (figure 17) sert contrler le fonctionnement du priphrique dentre (dans notre cas, une webcam). il permet de dmarrer la webcam, capturer des images quand la camra est mise en marche, enregistrer des vidos et finalement arrter la camra en cours dutilisation.
33
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 18 : Ecran principal (camra active).
Une fois la camra dtecte et dmarre, celle-ci affiche ce quelle capture via linterface graphique en donnant lutilisateur la possibilit d enregistrer des vidos ou bien capturer des photos instantanes.
34
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 19 : Ecr an permettant denregistrer la cible des fichiers en cours denregistrement .
Lorsque lutilisateur choisit denregistrer un fichier (soit image, soit vido), lapplicati on lui donne le choix de slectionner le rpertoire denregistrement.
35
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 20 : Ecran permettant la gestion des fichiers enregistrs.
Cet cran est affich lorsque lutilisateur choisit de grer les fichiers stocks sur le disque. Les informations concernant ces fichiers sont affiches ; notamment lid du fichier, son nom et la cible dans laquelle il est enregistr. Lutilisateur possde trois choix possibles, il peut : Supprimer le fichier quil slectionne. Le visualiser. Quitter lcran de g estion des fichiers et revenir lcran principal.
36
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 21 : Ecran permettant la gestion des utilisateurs.
Cette interface permet la gestion des utilisateurs ayant accs lapplication. Elle propose le choix dajouter, de modifier et de supprimer les donnes concernant les utilisateurs.
37
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
Figure 22 : Ecran permettant l'ajout d'un utilisateur.
Cet cran permet de saisir un nouvel utilisateur pouvant accder lapplication en dfinissant son nom dutilisateur (login) et son mot de passe.
2.3 Conclusion
Je tiens signaler que certaines fonctionnalits et prcisions propos du projet, restent en cours de dveloppement, pour la raison que mon stage continue toujours, jusq u la fin du
38
Rapport de Projet de fin dtudes
Anne Universitaire 2009 - 2010
mois juillet, et que la prsente version constitue une version de test provisoire qui, par la suite, va subir plusieurs modifications afin daboutir un pr oduit finalis prt tre livr. Mais jai essay, comme mme, de complter la ma jorit des composants dfinis dans le descriptif de lapplication.
VI Conclusion et perspectives
Pendant la priode de mon stage, jai eu lopportunit de travailler avec diffrentes technologies, ce qui sest avr trs enrichissant pour mon exprience professionnelle. Jai pu appliquer mes connaissances thoriques et pratiques que jai acquises durant ma formation sur un projet concret qui ma permis damliorer mes comptences. En conclusion, ce stage, de part sa diversit tant dun point de vue technique que dun point de vue relationnel, ma t bnfique. Ainsi, au niveau technique, il ma permis de dcouvrir des branches de mtiers nouvelles ncessitant lexploitation de diverses technologies en appliquant les mthodes de travail utilises dans une socit telle que S2M. Au niveau relationnel, le stage tait une exprience trs riche qui m a permis, dune part, de me familiariser avec un environnement de travail professionnel et dautre part, de scinder des relations amicales avec le personnel de la socit. Jai galement beaucoup apprci les trs bonnes conditions dans lesquelles jai pu passer mon stage de fin dtudes qui se veut une tape importante dans le cursus dtudes.
39
Rapport de Projet de fin dtudes
Anne 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