Vous êtes sur la page 1sur 87

Rapport du projet TER

La Vidosurveillance distance

RAPPORT DE TER MASTER 1 IFPRU

Vido Surveillance Distance


Ralis par :
FERJANI Mohammed

Sous la direction de :
M. SERIAI Abdelhak-Djamel

SERIAI Abderrahmane
HENNANI Hakim
SEDDIK Annes

Rapport du projet TER


La Vidosurveillance distance

Remerciements
Cest un agrable devoir dexprimer nos profonds remerciements et reconnaissances
toutes les personnes qui nous ont apport aide technique, soutien moral et qui nous ont permis
dacqurir lesprit de travail.
Nous tenons exprimer notre trs profonde gratitude notre encadrant, Monsieur SERIAI
Abdelhak-Djamel, pour ses prcieux conseils, sa disponibilit et son total dvouement pour
donner naissance ce travail.
Un remerciement spcial Monsieur LECLERE Michel, responsable du Master1
Informatique, pour sa patience et sa gentillesse.
Nous adressons une pens particulire nos parents, pour leurs judicieux conseils et leur
soutien sans faille tout au long de notre parcours universitaire.
Enfin, nos vifs remerciements sont adresss tout le personnel de lUniversit de
Montpellier II, qui a fourni beaucoup deffort et de patience pour nous prparer russir notre vie
professionnelle.

Rapport du projet TER


La Vidosurveillance distance

Sommaire
1

INTRODUCTION _______________________________________________________________________ 7

ETUDE BIBLIOGRAPHIQUE ____________________________________________________________ 9


2.1

INTRODUCTION : LA TELESURVEILLANCE __________________________________________________ 9

2.2

LA VIDEOSURVEILLANCE _____________________________________________________________ 10

2.2.1

Prsentation ____________________________________________________________________ 10

2.2.2

Son apparition ___________________________________________________________________ 10

2.2.3

Ses buts ________________________________________________________________________ 11

2.2.4

Domaines dapplications___________________________________________________________ 12

2.2.5

Evolution de la vidosurveillance ____________________________________________________ 12

2.2.6

Les diffrents types de systmes _____________________________________________________ 14

2.2.6.1

Systme sur rseaux IP __________________________________________________________________ 14

2.2.6.2

Kit de vidosurveillance _________________________________________________________________ 15

2.2.6.3

Rseau classique de vidosurveillance ___________________________________________________ 15

2.2.6.4

Systme hybride de vidosurveillance____________________________________________________ 16

2.2.7

Exemples de quelques systmes existants ______________________________________________ 16

2.2.7.1

Le systme ASCAM-2E2I ________________________________________________________________ 16

2.2.7.2

Le systme ASCAM-NUUO_______________________________________________________________ 17

LE SYSTEME RAPACE ________________________________________________________________ 18


3.1

GESTION DU PROJET _________________________________________________________________ 18

3.1.1

Synthse du cahier des charges ______________________________________________________ 18

3.1.2

Planification et rpartition des tches ________________________________________________ 18

3.2

ANALYSE ET CONCEPTION DE RAPACE

3.2.1

___________________________________________________ 21

Analyse et tude des fonctionnalits __________________________________________________ 21

3.2.1.1

Les fonctions offertes ___________________________________________________________________ 21

3.2.1.2

Etude dtaille de la fonction de visualisation ________________________________________________ 22

3.2.1.3

Etude dtaille de la fonction de paramtrage et configuration ___________________________________ 23

3.2.2

Etude architecturale ______________________________________________________________ 24

3.2.2.1

Architecture multi-serveurs ______________________________________________________________ 25

3.2.2.2

Avantages et inconvnients _______________________________________________________________ 26

3.2.2.3

Architecture avec forte centralisation_______________________________________________________ 26

3.2.2.4

Architecture avec centralisation souple _____________________________________________________ 27

Rapport du projet TER


La Vidosurveillance distance

3.2.2.5

3.2.3

Analyse pr-implmentation ________________________________________________________ 32

3.2.3.1

Choix des langages _____________________________________________________________________ 32

3.2.3.2

Analyse des verrous dimplmentation ______________________________________________________ 32

IMPLEMENTATION DU FONCTIONNEMENT DE LARCHITECTURE ________________________________ 33

3.3
3.3.1

Utilisation simple du protocole http __________________________________________________ 33

3.3.2

La cohabitation du protocole http et de la technologie des applets __________________________ 34

3.3.3

Lutilisation de la notion de redirection directe _________________________________________ 34

3.3.3.1

Les diffrents types de redirection _________________________________________________________ 34

3.3.3.2

Les avantages et les inconvnients _________________________________________________________ 35

3.3.4

Lutilisation du principe de redirection indirecte ________________________________________ 35

3.3.4.1

Fonctionnement : ______________________________________________________________________ 35

3.3.4.2

Avantages et inconvnients: ______________________________________________________________ 36

3.4

REALISATION DES DIFFERENTS MODULES _________________________________________________ 36

3.4.1

Ralisation du module identification et acquisition ______________________________________ 36

3.4.1.1

Objectif ______________________________________________________________________________ 36

3.4.1.2

Etude des solutions possibles _____________________________________________________________ 36

3.4.1.3

Acquisition du media avec DSJ____________________________________________________________ 40

3.4.2

Ralisation du module diffusion _____________________________________________________ 43

3.4.2.1

Objectif ______________________________________________________________________________ 43

3.4.2.2

Fonctionnement _______________________________________________________________________ 44

3.4.2.3

Choix du protocole utilis pour le transfert du flux vido________________________________________ 45

3.4.3

Ralisation du module intrusion _____________________________________________________ 48

3.4.3.1

Introduction au traitement dimages________________________________________________________ 48

3.4.3.2

Identification de lintrusion : Implmenter la technique dimage de fond (background subtraction). ______ 51

3.4.3.3

Gestion des intrusions___________________________________________________________________ 53

3.4.4
3.5

Ralisation du module authentification et redirection ____________________________________ 56


PRESENTATION DU PROTOTYPE _________________________________________________________ 57

3.5.1

Accs au systme : linterface web ___________________________________________________ 57

3.5.2

La connexion avec le serveur de videosurveillance ______________________________________ 58

3.5.3

Le paramtrage __________________________________________________________________ 60

3.5.4

Interface de gestion des intrusions ___________________________________________________ 61

3.6

Modlisation de larchitecture retenue ______________________________________________________ 29

PERSPECTIVE DAMELIORATION ________________________________________________________ 62

3.6.1

Webcam Versus camera IP _________________________________________________________ 62

3.6.2

Autres _________________________________________________________________________ 64

IMPRESSIONS ET ACQUIS DU TER _____________________________________________________ 65

Rapport du projet TER


La Vidosurveillance distance

4.1

POINT DE VUE TECHNIQUE ____________________________________________________________ 65

4.2

POINT DE VUE ORGANISATIONNEL ______________________________________________________ 65

CONCLUSION ________________________________________________________________________ 66

BIBLIOGRAPHIE _____________________________________________________________________ 67

6.1

OUVRAGES : _______________________________________________________________________ 67

6.2

SITES WEB _________________________________________________________________________ 67

ANNEXES ____________________________________________________________________________ 68
7.1

ANNEXE1 : JMF ____________________________________________________________________ 68

7.2

ANNEXE2 : DIRECSHOW ______________________________________________________________ 68

7.2.1

Principes directeur de DirectShow : __________________________________________________ 68

7.2.1.1

Le graphe de filtres _____________________________________________________________________ 68

7.2.1.2

Rle du graphe : _______________________________________________________________________ 69

7.2.1.3

Les filtres ____________________________________________________________________________ 69

7.2.1.4

Les filtres sources ______________________________________________________________________ 70

7.2.1.5

Les filtres de transformation ______________________________________________________________ 71

7.2.1.6

Les filtres de rendu _____________________________________________________________________ 71

7.2.1.7

Construction dun graphe partir de filtres __________________________________________________ 72

7.2.1.8

Exemple de graphe des filtres _____________________________________________________________ 73

7.3

ANNEXE3 : DSJ ____________________________________________________________________ 73

7.4

ANNEXE4 : TCP _____________________________________________________________________ 74


7.4.1.1

Etablissement de la connexion : ___________________________________________________________ 74

7.4.1.2

Notion de fentre glissante : ______________________________________________________________ 74

7.4.1.3

Segments TCP et fentre glissante : ________________________________________________________ 75

7.4.1.4

Taille de la fentre : ____________________________________________________________________ 75

7.4.1.5

Point sur la situation : __________________________________________________________________ 76

7.5

ANNEXE5 : LE PIXELGRABBER _________________________________________________________ 77

7.6

ANNEXE6 : LA REDIRECTION __________________________________________________________ 78

7.6.1

Redirection directement sur le serveur ________________________________________________ 78

7.6.2

Redirection par URL Rewriting______________________________________________________ 78

7.6.3

Redirection dans un script serveur (PHP, ASP, etc.) _____________________________________ 78

7.6.4

Redirection par balise META Refresh _________________________________________________ 79

7.6.5

Redirection JavaScript (ou tout autre langage ct client) _________________________________ 80

7.6.6

Les leaders dans le domaine ________________________________________________________ 80

7.6.6.1

AXIS COMMUNICATIONS ______________________________________________________________ 80

7.6.6.2

ACTI ________________________________________________________________________________ 81

Rapport du projet TER


La Vidosurveillance distance

7.6.6.3

ARTEC ______________________________________________________________________________ 82

7.6.6.4

Architecture (matrielle et installation) _____________________________________________________ 82

7.7

ANNEXE8 _________________________________________________________________________ 84

7.7.1

Qu'est-ce que J2ME_______________________________________________________________ 84

7.7.2

Connected limited device configuration _______________________________________________ 84

7.7.3

API de base _____________________________________________________________________ 86

7.7.4

API specialise ajoute au midp (mobile information device profile) __________________________ 87

Rapport du projet TER


La Vidosurveillance distance

1 INTRODUCTION
Notre groupe de TER Rapace se compose de 4 tudiants : FERJANI Mohamed, HENNANI
Hakim, SEDDIK Annes et SERIAI Abderrahmane issu du parcours Gnie Logiciel (GL) du M1
IFPRU de luniversit de Montpellier 2. Ce TER consiste en la ralisation dun systme de
vidosurveillance distance. La conduite de ce projet t encadre par Mr SERIAI AbdelhakDjamel, matre de confrences luniversit Montpellier 2. Nous avons choisi ce TER car nous
avons comme intrt commun les nouvelles technologies, leurs applications concrtes dans la vie
de tous les jours. Dans ce cadre, le dveloppement dun systme de vidosurveillance distance,
est une concrtisation de cet intrt.
Le but du systme quon a choisit de dvelopper est de permettre lutilisateur de surveiller
un ou plusieurs locaux (maison, locaux commerciaux, sites de production, etc.) en installant une
ou plusieurs webcams relies un ordinateur. Ce dernier hbergera un serveur de
vidosurveillance permettant un mode de visualisation en ligne de ces locaux ainsi quune
possibilit denregistrement de ces vidos et en particulier de celles correspondant des
intrusions.
Vu la complexit de ce systme, nous avons choisi de mettre en pratique les grandes
principes de la mthodologie de dveloppement RUP (Rational Unified Process) qui consiste
raliser un dveloppement itratif par lanalyse, la conception et le dveloppement de plusieurs
prototypes par enrichissement successif de leurs fonctionnalits. Ainsi, les grandes tapes de
dveloppement dun tel systme ont t identifies comme suit :
Dveloppement dun systme de vido surveillance locale. Il sagit de raliser lanalyse,
la conception et limplmentation dun premier prototype offrant les fonctionnalits de
vidosurveillance dun local depuis la machine relie aux webcams et qui constitue le
serveur des vidos.

Rapport du projet TER


La Vidosurveillance distance

Dveloppement, par enrichissement du systme prcdent, dun deuxime prototype


offrant les fonctionnalits de vidosurveillance via le web. Il sagit de permettre un
utilisateur daccder (visualiser) distance, via une machine relie au rseau internet, aux
vidos captes par une machine jouant le rle du serveur.
Dveloppement du module Alertes et gestion des intrusions . Une fois le prototype
offrant les fonctionnalits de visualisation en ligne dun lieu distant est ralis, le
troisime objectif est le dveloppement des fonctionnalits permettant un utilisateur du
systme dtre alert en cas de dtection dintrusion. Diffrentes possibilits de
notification dintrusion sont ainsi proposes.
Dveloppement du module vidosurveillance mobile . IL sagit de prendre en compte
la mobilit de lutilisateur et la possibilit quil soit alert en cas dintrusion.
Ltude du contexte de ce projet ainsi que sa ralisation sont dtaills dans la suite de ce
document. Dans la section 2, nous prsentons notre tude bibliographique centre autour de la
vidosurveillance. Nous prsentons dans cette section la notion de surveillance dans son sens
gnral et on tudiera ensuite la vidosurveillance, sa dfinition, ses buts et ses diffrents types en
exposant quelques exemples de systmes existants. Dans la section 3, nous prsentons le systme
Rapace. Nous commenons cette section par la prsentation de quelques lments concernant la
gestion de ce projet (rappel des objectifs, planification et rpartition des tches). Ensuite, nous
dtaillons les lments lis lanalyse et la conception du systme avant de prsenter les
diffrents aspects qui concernent son implmentation. La section 3.5 est consacre la
prsentation du prototype dvelopp. Les diffrentes perspectives damliorations du systme
Rapace sont prsentes dans la section 3.6. Nous terminons ce document par les sections
prsentons respectivement nos acquis et impressions personnelles, notre conclusion par rapport
au travail ralis et enfin un annexe regroupant un ensemble dinformations en relation avec le
sujet de notre tude.
8

Rapport du projet TER


La Vidosurveillance distance

ETUDE BIBLIOGRAPHIQUE

2.1

INTRODUCTION : LA TELESURVEILLANCE
La tlsurveillance est la surveillance distance d'un lieu, public ou priv, de machines ou

d'individus. Elle est employe dans de nombreuses situations, gnralement pour des raisons de
scurit :
Dans le cadre de la scurit routire, au moyen de camras spcialises ou des capteurs
proximit voire mme noys dans la chausse permettent d'valuer la densit du trafic, les
ralentissements qui peuvent en dcouler, la prsence de personnes sur les bandes d'arrt
d'urgence, etc.
Pour la surveillance des machines : divers capteurs permettent d'valuer l'tat de la
machine, ces informations peuvent alors tre envoyes un poste de surveillance.
L'puisement de consommables, une anomalie de fonctionnement ou mme un acte de
malveillance serait alors dtect distance ;
Dans le cadre de la prvention de la dlinquance (avec notamment la vidosurveillance) ;
Pour la surveillance de lieux sensibles (banques, centrales nuclaires, etc.) et
d'habitations, afin de prvenir les intrusions, les cambriolages et les actes de vandalisme ;
Dans le cadre de la tlmdecine, et en particulier pour la surveillance des patients
distance ;
Pour la surveillance distance des enfants et des personnes vulnrables

Rapport du projet TER


La Vidosurveillance distance

2.2

LA VIDEOSURVEILLANCE

2.2.1 Prsentation

La vidosurveillance consiste placer des camras de surveillance dans un lieu public ou


priv pour visualiser et/ou enregistrer en un endroit centralis tous les flux de personnes au sein
d'un lieu ouvert au public pour surveiller les alles et venues, prvenir les vols, agressions,
fraudes et grer les incidents et mouvements de foule.
Au dbut des annes 2000, les camras font leur apparition en nombre important dans de
nombreuses villes europennes. Londres est rpute comme tant la ville o la vidosurveillance
est la plus importante. L'utilisation de la vidosurveillance fait dbat en matire de scurit et de
respect de la vie prive.
2.2.2 Son apparition

La vidosurveillance s'est dveloppe d'abord au Royaume-Uni, en rponse aux attaques de


l'IRA(Arme rpublicaine irlandaise en anglais Irish Republican Army). Les premires
expriences au Royaume-Uni dans les annes 1970 et 1980 ont conduit des programmes de
grande ampleur au dbut des annes 1990. Ces succs conduisirent le gouvernement faire une
campagne auprs de la population, et lana une srie d'installations de camras. Aujourd'hui, les
camras au Royaume-Uni couvrent la plupart des centres villes, et de nombreuses gares et
parkings. Une tude donna le chiffre approximatif de 400 000 camras Londres et 4 millions au
Royaume-Uni au total.
D'autres pays comme la France ont install des systmes de vidosurveillance. En 1998 le
nombre de camras en France tait estim un million dont 150 000 dans le domaine public. Ces
camras sont prsentes dans divers lieux tels que les aroports, les gares, les routes, les transports
publics. Ces installations vido commencent aussi fleurir dans les villes. Avignon par
exemple, une enqute propos de la vidosurveillance a rvl que 71 % des Avignonnais sonds
taient favorables l'installation d'un tel systme dans les parkings.

10

Rapport du projet TER


La Vidosurveillance distance

Cependant il existe aussi des associations qui militent contre toute forme de surveillance.
C'est le cas de Souriez, vous tes films , pour n'en citer qu'une.
2.2.3 Ses buts

Les raisons de l'installation de systmes de vidosurveillance sont diverses, toutefois la


scurit publique ainsi que la protection des biens mobiliers ou immobiliers font office
d'lments phares dans la justification de la vidosurveillance. En Angleterre, les attentats de
juillet 2005 sont galement un moteur pour l'augmentation du nombre de camras.
Cette menace qui a toujours t prsente n'a jamais vraiment cr un sentiment d'inscurit,
mais les attentats du 11 septembre 2001 ont chang la donne. Les gens ont pris conscience que
personne n'tait intouchable. Toutefois la mise en place de la vidosurveillance ne peut
s'expliquer uniquement par l'inscurit grandissante ou la protection des biens. Certaines autres
raisons moins connues du grand public existent galement. La mise en place de la
vidosurveillance permet une amlioration de la gestion des incidents ainsi qu'une augmentation
de l'efficacit et de la rapidit d'intervention. Par exemple, dans la prvention du suicide ou
encore lors d'accidents qui pourraient survenir sur la voie publique. Elle permet ainsi
indirectement, de maintenir les primes d'assurances un niveau raisonnable. La surveillance des
axes routiers sert informer en temps rel les automobilistes sur les conditions du trafic.
Quelques affaires de crimes ont t rsolues grce aux enregistrements fournis par les
camras de surveillance. Par exemple, aprs les attentats du mtro de Londres du 7 juillet 2005,
les enregistrements des camras de surveillance ont t utiliss pour identifier les poseurs de
bombes, bien qu'il soit admis qu'ils n'aient pas t indispensables. La question de savoir si la
vidosurveillance prmunit ou rduit les crimes n'a pas pu tre montre par les tudes
indpendantes qui furent conduites que ce soit en France ou l'tranger.
Le gouvernement britannique a jug de son ct que les effets bnfiques n'taient pas possibles
valuer, bien que Scotland Yard ait affirm, en 2008, que la vidosurveillance Londres, qui
compte 500 000 camras, n'avait permis d'lucider que 3 % des vols dans la rue.
11

Rapport du projet TER


La Vidosurveillance distance

2.2.4 Domaines dapplications

La tendance de lconomie mondiale actuelle exige aux entreprises dtre ractive devant les
demandes de plus en plus gourmandes de moyen de connectivite et infrastructure de
communication et de marketing, la technologie de la vido sur rseau IP redynamise les
applications de vidosurveillance par de nombreuse fonctionnalit comme le contrle a distance,
la vido en temps rel. Ce qui rend plusieurs secteurs dactivits interactives.
On dnombre trois grandes catgories publiques dans lesquelles l'on retrouve ces systmes de
surveillance :
Les aroports, les transports publics et les gares.
Les lieux publics et les parkings. Qui se verront principalement doter de systmes
classiques pour la surveillance globale bien que les aroports commencent adopter les
mesures biomtriques.
Le trafic autoroutier. Qui pour sa part privilgiera les camras qui ont la possibilit de
reconnatre les vhicules.
Les installations prives importantes concernent les casinos et autres salles de jeux qui font
rgulirement appel des systmes d'identification faciale pour reconnatre les fraudeurs.
2.2.5 Evolution de la vidosurveillance

Les premires camras avaient des images de basse qualit et noir et blanc, sans possibilit
de zoomer, ni de changer l'angle de vue. Les camras modernes les plus performantes sont en
couleur, permettent des zooms et une mise au point trs nette. Les dispositifs d'enregistrement et
d'analyse sont plus prcis, plus efficaces.

La loi de la Rpublique Franaise en vigueur dfinit dans l'arrt du 3 aot 2007 (publi au
Journal officiel le 21 aot, avec son rectificatif du 25 aot), les normes techniques des images. A
de rares exceptions prs, la dfinition requise est dite 4 CIF, soit 704 x 576 pixels.
12

Rapport du projet TER


La Vidosurveillance distance

Dfinition trs rarement atteintes par les anciennes camras ou mme certaines toujours sur
le march, en gnral en CIF soit 352 x 288 pixels, ou VGA, soit 640 x 480 pixels. Il est possible
d'avoir une camra de rsolution plus faible si elle permet de prendre une "vignette de visage"
pour identification de 90x60 pixels. Sur les anciennes camras, cela signifie que le visage doit
reprsenter 5% environ de la superficie de l'image (1% en 4 CIF). Par ailleurs, le nombre
d'images par seconde requis est de 6 ou 12, selon la situation, lente ou rapide, surveiller. Les
nouvelles installations doivent videmment se conformer la loi, tandis que les anciennes ont
jusqu'au 21 aot 2009 pour se mettre en conformit. C'est l'utilisateur du systme qui est
responsable de sa conformit la loi.
En pilotant ces camras avec des ordinateurs, il est possible de suivre des mouvements, il
est par exemple possible de dceler des mouvements dans un endroit o il ne devrait pas y en
avoir, ou au contraire se focaliser sur un individu et le suivre travers la scne. L'informatique
peut faire cooprer plusieurs camras pour le suivre dans un espace urbain entier.
L'une des volutions les plus probables de la vidosurveillance est le rapprochement des
enregistrements avec des donnes biomtriques. Cette technologie permettrait par exemple aux
ordinateurs d'analyser la dmarche des passants : une personne lourdement charge adopte une
dmarche inhabituelle ; que transporte-t-il ? Des explosifs, des armes, une camra de tlvision
ou des bouteilles de soda ? De mme, des recherches rcentes misent sur la prvisibilit du
comportement humain dans les espaces publics : un voleur ne se comporterait pas de la mme
faon qu'un usager. L'ordinateur peut identifier ce genre de mouvements et donner l'alerte.

Couples une base de donnes biomtrique, il devient possible de dterminer l'identit


d'une personne sans l'aborder et sans mme qu'elle ne s'en rende compte. Une exprience de ce
type eut lieu en 2007 dans une gare Mayence, en Allemagne ; 60% des volontaires furent
identifis parmi une foule de 20 000 personnes. Ce rsultat est trop faible pour une mise en
application mais ces promoteurs pensent pouvoir proposer une technologie convaincante d'ici
2012.
13

Rapport du projet TER


La Vidosurveillance distance

2.2.6 LES DIFFERENTS TYPES DE SYSTEMES

2.2.6.1 Systme sur rseaux IP


Ce systme relie un rseau de camras IP, qui peut compter de nombreuses units, un
systme d'enregistrement numrique. D'une part, cela permet de pouvoir stocker une quantit
importante d'images, sans perte de qualit, tout en pouvant les consulter rapidement grce des
logiciels de traitement. D'autre part, le fait d'informatiser un systme de surveillance permet de
profiter des technologies de communication comme Internet. Ainsi, les camras sont visibles
et grables depuis n'importe o dans le monde. L'volution des tlphones mobiles a cr la
"vidosurveillance mobile" avec l'accs aux vidos via Internet mobile sur PDA ou via GSM
GPRS sur tlphone GSM dot de Java. Cette technologie permet galement d'conomiser et de
mutualiser les cbles rseaux qui sont gnralement disponibles dans les btiments rcents.

Figure 1. Vidosurveillance sur rseau IP

14

Rapport du projet TER


La Vidosurveillance distance

2.2.6.2 Kit de vidosurveillance


On entend par kit le genre de camras utilises dans les petits magasins, par exemple. Il
regroupe en gnral une ou deux camras et un moniteur.
Ces systmes sont plutt utiliss titre de prvention et n'enregistrent pas ce qu'ils voient. C'est
en quelque sorte de la vidosurveillance bon march qui est propose comme une solution de
scurit peu coteuse.

Figure 2. Kit de vidosurveillance

2.2.6.3 Rseau classique de vidosurveillance


Le rseau est bas sur un systme analogique, avec dans la plupart des cas un
enregistrement limit dans la dure. Il s'agit l d'une des mthodes les plus anciennes donc
galement des plus rpandues dans un grand nombre d'tablissement. Cependant, ces systmes ne
rpondent plus, de trs rares exceptions prs, aux nouvelles exigences techniques de l'arrt du
3 aot 2007.

Figure 3. Systme de vidosurveillance analogique

15

Rapport du projet TER


La Vidosurveillance distance

2.2.6.4 Systme hybride de vidosurveillance


Les systmes hybrides intgrent les systmes classiques de vidosurveillance bass sur les
camras analogiques et les camras en rseau. Il permet d'intgrer aisment les deux types de
systmes en place sur un seul serveur ou de faciliter l'volution d'un systme de vidosurveillance
analogique vers le numrique, sans remettre en cause l'existant, et introduire de nouvelles
fonctions comme la dtection de disparition / apparition d'objet et le comptage d'objets ou de
personnes.
2.2.7 EXEMPLES DE QUELQUES SYSTEMES EXISTANTS

2.2.7.1 Le systme ASCAM-2E2I


La solution ASCAM intgre un logiciel de vido surveillance sur rseau IP, un logiciel
d'enregistrement sur mouvement avec les fonctions magntoscope et finalement des camras
rseau IP jour / nuit pour extrieur en caisson tanche et pour intrieur.
Laccs aux camras et aux enregistrements sur alarme par Internet permet dassurer une
surveillance distance. Les logiciels permettent un monitoring temps rel sur site et distance
via Internet ainsi que lenregistrement sur dtection de mouvement, planning et alarme
La dtection de mouvement peut tre configure selon les critres suivants :

Champs de vision des camras de surveillance


Zones de dtections, masques de dtection
Objet manquant (dtection de vol)
Nouvel objet statique (colis douteux)
Focus drgl, camra obstrue (vandalisme)

Enfin la notification dalarmes comprend lenvoi demail dalerte, appel tlphonique et


galement une alarme sonore

16

Rapport du projet TER


La Vidosurveillance distance

2.2.7.2 Le systme ASCAM-NUUO


La solution ASCAM-NUUO intgre un serveur de vido surveillance permettant une
visualisation distance via internet sur PC et sur tlphone mobile 3GPP. Elle fournit un
ensemble de fonctionnalits que lon peut rsumer dans la liste suivantes :

Visualisation des flux vido en local sur moniteur


Alarme et visualisation en leve de doute, fentre pop up
Console d'administration des paramtres de gestion
Gestion des droits d'accs: profils, horaires, distance
Alarme sur dtection de mouvement
Enregistrement possible sur Planning (Schedule)
Etc.

17

Rapport du projet TER


La Vidosurveillance distance

3 LE SYSTEME RAPACE
3.1

GESTION DU PROJET

3.1.1 Synthse du cahier des charges

Lobjectif de ce TER que nous avons nonc lors de llaboration du cahier des charges est
de raliser un systme qui permet une personne de surveiller un local. Pour cela, le systme
ncessite seulement linstallation de camras/webcams relies un ordinateur.
Afin de mettre en uvre ce systme de vidosurveillance, nous nous sommes fixs plusieurs
sous-objectifs (vidosurveillance locale, vidosurveillance distance) qui constituent des
tapes en vue de laboutissement du systme.
Concernant larchitecture du systme, notre projet rentre dans le cadre dune application
client/serveur. Le serveur aura sa charge lattente de la connexion de lutilisateur, lattente des
connexions ddies pour les diffrentes webcams, la rception et lanalyse des messages manant
du client. De plus, en cas dintrusion, le serveur excutera les actions choisies par le client.
Le client, quant lui, soccupera de la connexion au serveur, de lenvoi de messages, la rception
et laffichage des flux capturs. De plus, il pourra choisir les actions effectus en cas dintrusion
(envoi de SMS, demail).
3.1.2 Planification et rpartition des tches

Ds le dbut du projet nous avons voulu suivre une dmarche visant structurer, assurer et
optimiser le bon droulement du projet pour tre planifi dans le temps et surtout pour atteindre
le niveau de qualit souhait dans le meilleur dlai possible. Ainsi, dans un premier temps on a
dtermin, de faon claire, les objectifs du cahier des charges. Ensuite on les a numrots et dats
selon leur valuation tout en rservant un certain temps pour se rattraper en cas dventuels
problmes.
Le rsultat de cette tape est prsent dans le diagramme de Gantt de la figure 4 ci-dessous:

18

Rapport du projet TER


La Vidosurveillance distance

Figure 4. Diagramme de Gantt


Nous avons ensuite rparti les diffrentes tches identifies entre les membres du groupe. Nous
prsentons ci-dessous que la rpartition relle des tches rsultat de diffrents changements dus
la prise en compte de certains paramtres(tels que le non disponibilit dune des membres du
groupe).

19

Rapport du projet TER


La Vidosurveillance distance

Membres

Abderrarmane
Seriai

Mohammed
Ferjani

Annes
Seddik

Hakim
Hennani

Etat de lart et tude bibliographique

***

**

**

Installation du Wiki collaboratif

***

Cahier des charges

***

***

***

Analyse des verrous et difficults dans


la ralisation du systme

***

***

***

Analyse et conception UML du


systme

***

***

Dveloppement des fonctionnalits de


la vidosurveillance en local

**

***

Dveloppement des fonctionnalits de


la vidosurveillance via le web

***

***

**

Dveloppement du site web

**

**

***

Dveloppement des fonctionnalits de


gestion des intrusions

***

Rdaction du rapport

***

***

Taches

**

**

***

Lgende :
*
: Contribution.
**
: Contribution considrable.
*** : Responsable tche.

20

Rapport du projet TER


La Vidosurveillance distance

3.2

ANALYSE ET CONCEPTION DE RAPACE

3.2.1 Analyse et tude des fonctionnalits

Lobjectif de cette tape primordiale est de crer une reprsentation simplifie du problme
le modle et de sa solution. Le modle constitue ainsi une reprsentation possible du systme
pour un point de vue donn : le notre dans le prsent rapport.

3.2.1.1 Les fonctions offertes


Le diagramme de cas d'utilisation (use case) de la figure 5 ci-dessous, met en vidence les
grandes relations fonctionnelles entre les acteurs (principaux) et le systme.

Figure 5. Diagrammde de cas dutilisation

21

Rapport du projet TER


La Vidosurveillance distance

Remarque : Les fonctionnalits de visualisation et de paramtrage et configuration sont les plus


importantes dans notre systme cest pour cela quon va les dtailler dans la suite.

3.2.1.2 Etude dtaille de la fonction de visualisation


Cette fonctionnalit se dcompose en deux sous-fonctionnalits :
La visualisation des flux en temps rel, c..d. ceux qui transitent sur les webcams au
moment de la visualisation.
La visualisation des vidos qui ont t enregistres en cas dintrusion.

La figure 6 ci-dessous dtaille cette fonctionnalit.

Figure 6. Detaille de la fonctionnalit de visualisation

22

Rapport du projet TER


La Vidosurveillance distance

3.2.1.3 Etude dtaille de la fonction de paramtrage et configuration


La figure 7 ci-dessous montre les diffrentes possibilits de configurations disposition de
lutilisateur :

Figure 7. Detaille de la fonctionnalit de paramtrage et configuration


La fonctionnalit dactivation de la dtection de mouvement incorpore dautres sousfonctionnalits comme le montre la figure 8 ci-dessous :

23

Rapport du projet TER


La Vidosurveillance distance

Figure 8. Detaille de la fonctionnalit dactivation de la dtection de mouvement


3.2.2 Etude architecturale

Ltude conceptuelle que nous venons de prsent ci-dessus nous a permis deffectuer un
constat par rapport la suite de la conception de notre systme. Nous nous sommes aperus quil
tait ncessaire de bien dissocier deux taches bien distinctes au sein de notre application : une
tache qui sera ddi la gestion des diffrentes webcams et une autre ddi lenvoi des
diffrents flux rcuprs.
Cependant, ce redcoupage des taches nous a confront la problmatique suivante : faut-il
cohabiter ces deux taches dans un seul serveur ou bien les sparer dans un serveur diffrent.
Afin de rsoudre ce problme, il a t ncessaire de raliser une tude architecturale que nous
allons vous prsentes ci-dessous.

24

Rapport du projet TER


La Vidosurveillance distance

3.2.2.1 Architecture multiserveurs


3.2.2.1.1 Fonctionnement
La premire architecture pouvant matrialiser le fonctionnement du systme dsir consiste
en la coexistence de plusieurs serveurs dont chacun est reli dun cot des webcams et dautre
cot une connexion internet. De cette manire, le client lorsquil se connecte au serveur, pourra
visualiser directement le flux vido rcupr sans tre redirig (comme le montre la figure 9),
Par consquent, chacun de ces serveurs sera amen effectuer les traitements quil doit grer
(attente de la connexion du client, rception et analyse des messages manant du client).
Le client soccupera de la connexion au serveur (chaque client possde sa propre adresse http qui
le relie son serveur local), de lenvoi de message vers le serveur (rception et affichage des flux
capturs (par le serveur) sur les diffrentes webcams, choix des actions excuter en cas
dintrusion.

Figure 9. Schma de larchitecture multi serveurs

25

Rapport du projet TER


La Vidosurveillance distance

3.2.2.2 Avantages et inconvnients


La liaison directe entre le serveur et le client (cest--dire il ny aura pas de redirection et de
renvoi de flux rcupre par le serveur vers un autre serveur et aprs vers le client) ainsi que le fait
que chaque client a sa propre adresse http font de cette architecture une solution convenable.
Nanmoins, elle prsente pas mal dinconvnients. Par exemple, si on modifie linterface
chez lun des clients, on sera oblig dappliquer cette modification autant de fois quau nombre
des clients. De plus, tout le systme dont le serveur http, notre application est installe chez le
client. Enfin, il ny a pas dadministration.

3.2.2.3 Architecture avec forte centralisation


3.2.2.3.1 Fonctionnement :
Dans cette architecture nous avons rajout un serveur central qui sera reli dune part des
serveurs locaux et dautre part une connexion internet, comme ca le client quand il demande la
visualisation de flux de vido, ce flux va tre envoy dabord du serveur local vers le serveur
central et puis de ce dernier vers le client, donc le serveur central il joue le rle dintermdiaire
entre le client et le serveur local et il permet aussi lenregistrement des squences de vido a son
niveau aprs la demande du client.
Les traitements effectuer au niveau du serveur local sont les mmes que dans
larchitecture prcdente.
Et pour le client Les traitements sont les mme que dans lautre architecture sauf que dans
cette architecture il yaura une seule adresse HTTP pour tous les clients.

3.2.2.3.2 Avantages et inconvnients:


Les avantages de cette architecture sont quil ny a quune seule adresse http pour tous les
clients. Le client peut visualiser des vidos qui sont enregistre sur le serveur central mme si le
serveur local correspondant tombe en panne. De plus, ladministrateur peut de virer ou dajouter
des clients car ce n'est qu partir de ce serveur que le client peut visualiser les vidos ; chose qui
ntait pas possible dans larchitecture prcdente.
26

Rapport du projet TER


La Vidosurveillance distance

Par contre, cette architecture est trs lourde car les vidos sont envoyes de serveur local
vers le serveur central puis elles sont visualises. Autre inconvnient, si le serveur central tombe
en panne on ne peut pas visualiser les vidos bien que le serveur local soit capable de rcuprer
les flux des vidos.

Figure 10. Schma de larchitecture avec forte centralisation

3.2.2.4 Architecture avec centralisation souple


3.2.2.4.1 Fonctionnement :
Cette architecture sera presque la mme que la prcdente sauf que dans celle-ci on a
essay denlever le principal inconvnient de la prcdente (la lourdeur) en mettant le client en
communication directe avec le serveur local (via louverture dune session de travail) aprs
lobtention de lok du serveur central bien sur et comme ca on aura plus des flux qui seront
retransmis ou redirigs (comme le montre la figure 11)
Dans cette architecture, le serveur central sera donc reli dune part des serveurs locaux et
dautre part une connexion internet, et quand le client demande la visualisation de flux de vido
rcupr par le serveur local, le serveur central ouvre une session entre ce dernier et le client et

27

Rapport du projet TER


La Vidosurveillance distance

comme ca le client sera en communication directe avec le serveur local et du cout le flux va tre
envoy une seule fois
Les traitements effectuer au niveau du serveur local et du client sont les mmes que dans
larchitecture prcdente.

3.2.2.4.2 Avantages et inconvnients :


Cette architecture prsente une multitude davantages. Dans un premier temps, elle permet
une liaison directe entre le serveur et le client : cest--dire il ny aura pas de redirection et de
renvoi de flux rcupre par le serveur. Dans un second temps, ladministrateur a la possibilit de
supprimer ou dajouter des clients car ce nest qua partir de ce serveur que le client peut
visualiser les vidos, ce qui ntait pas possible dans larchitecture prcdente.
De plus, il ny a quune seule adresse http pour tous les clients. Enfin, le client la
possibilit de visualiser des vidos qui sont enregistres sur le serveur central mme si le serveur
local correspondant tombe en panne.

Figure 11. Schma de larchitecture avec centralisation souple


28

Rapport du projet TER


La Vidosurveillance distance

3.2.2.5 Modlisation de larchitecture retenue


3.2.2.5.1 Structure et composants de larchitecture
La modlisation objet nest pas un processus linaire mais plutt itratif. En dautres mots,
on est sens itrer et raffiner chaque tape du cycle de vie du projet.
Voici donc la premire version le modle de conception du diagramme de classes :

Figure 12. Diagramme de Classes : modle de conception


Aprs les raffinages appliqus sur le diagramme de classes au fur et mesure quon
avanait, on a aboutit au diagramme dimplmentation que montre la figure 13.

29

Rapport du projet TER


La Vidosurveillance distance

Figure 13. Diagramme de classes : modle dimplmentation

3.2.2.5.2 Comportement et fonctionnement de larchitecture


Pour reprsenter les interactions entre objets travers le temps, typiquement entre un
utilisateur ou un acteur et les objets et composants avec lesquels ils interagissent au cours de
lexcution du cas dutilisation, voici un diagramme de squence reprsentant un scnario du
Cas dUtilisation.

30

Rapport du projet TER


La Vidosurveillance distance

Figure 14. Diagramme de squence


31

Rapport du projet TER


La Vidosurveillance distance

3.2.3 Analyse pr-implmentation

Aprs avoir fait ltude conceptuelle et architecturale il tait ncessaire de faire une tude
concernant le choix de langage et les diffrents verrous quon peut rencontrer au cours de
limplmentation

3.2.3.1 Choix des langages


Le choix de langage reprsente une tape trs importante dans la ralisation de nimport
quelle application parce cest partir de cette tape quon fait la correspondance entre les
solutions que nous offre le langage et les rsultats souhaits Java est un langage orient objet
permettant de crer des applications aux fonctionnalits pousses et ce avec un minimum de
lignes de codes.
Nous allons tirer profit de ces qualits pour dtailler la conception dun systme de vido
surveillance bas sur ce langage.
Nous lavons choisi comme langage pour programmer notre projet, car dun cot on est
plus familiariss avec java que dautres langages et dautre cot parce que avec ce langage on
peut faire des applications de bureau comme on peut faire des applications web ou de rseau ce
qui convient bien avec les buts de notre application. Concernant le dveloppement web nous
avons choisi dutilis toutes les technologies offerte par le web2.0 (Ajax, CSS, javascrip, php)

3.2.3.2 Analyse des verrous dimplmentation


Lors de notre analyse pr-implmentation de notre systme, nous avons t confronts plusieurs
verrous dans diffrents domaines.
Au niveau des pilotes (drivers) des priphriques matriels, il a fallu rflchir comment
rcuprer la liste des sources de donnes installes sur la machine, comment utiliser un
priphrique externe (webcam) comme source dentre dans un programme.

32

Rapport du projet TER


La Vidosurveillance distance

La lecture dun flux de donnes mdia nous a pos le problme de la connexion avec la
webcam, de la gestion de plusieurs webcams.
Concernant la surveillance distance, nous avons dcel deux verrous importants : la
transmission dun flux vido en temps rel sur internet et le codage lenvoi et dcodage la
rception.
A propos de la gestion dintrusion, nous nous sommes demands comment dtecter un
mouvement et que faire en cas dintrusion. Enfin, nous avons tudi la question de lenvoi de
mail ou de SMS.

3.3 IMPLEMENTATION DU FONCTIONNEMENT DE


LARCHITECTURE
Ltude architecturale nous a permis didentifi la meilleure architecture permettant de
rpondre au type de fonctionnement ncessaire pour notre systme par consquent nous avons
opt pour le mcanisme de redirection comme moyen pour matrialiser le fonctionnement en
question. Ce dernier consiste faire basculer le client entre les deux serveurs (central et local)
tout en gardant la main du serveur central sur le serveur local.
Diffrentes solutions sont possibles : utilisation simple du protocole http, la cohabitation du
protocole http et la notion dapplet, utilisation de la notion de redirection directe et utilisation de
la notion de redirection indirecte
3.3.1 Utilisation simple du protocole htt p

Le protocole HTTP (HyperText Transfer Protocol) est le protocole le plus utilis sur
Internet depuis 1990. La version 0.9 tait uniquement destine transfrer des donnes sur
Internet (en particulier des pages Web crites en HTML. La version 1.0 du protocole (la plus
utilise) permet dsormais de transfrer des messages avec des en-ttes dcrivant le contenu du
message.
Le but du protocole HTTP est de permettre un transfert de fichiers (essentiellement au format
HTML) localiss grce une chane de caractres appele URL entre un navigateur (le client) et
un serveur Web.

33

Rapport du projet TER


La Vidosurveillance distance

Malgr toutes les solutions que le protocole http a pu apporter notre application, son
utilisation seule na pas rpondu notre but principal
3.3.2 La cohabitation du protocole http et de la technologie des
applets

Dans cette approche on a essay de sappuyer sur la technologie dapplet en lincorporant


dans une page html dans le but de pouvoir utiliser du code java au sein dune page html et du
coup la possibilit dutiliser la notion de socket pour relier les deux serveurs avec le client mais
Les rsultats obtenus nont t satisfaisants parce que on a dcouvert que sur le rseau une applet
nest pas autorise :
tablir des connexions rseaux avec autre ordinateurs lexception de celui a partir
duquel le code a t charg
Accepter des connexions rseaux dun hte autre que celui a partir duquel elle a t
charge

3.3.3 Lutilisation de la notion de redirection directe

Selon les tudes quon a fait et qui vont tre prsentes ci-dessous sur cette approche on a
trouv que ca convient partiellement avec notre but principal

3.3.3.1 Les diffrents types de redirection


Il existe plusieurs cas pour lesquels des redirections doivent tre utilises (renommage d'un
fichier, changement d'adresse du site, lien). Du point de vue du rfrencement, parmi toutes les
mthodes de redirection, certaines sont plus recommandes que d'autres, comme nous
l'expliquons ci-dessous. Du point de vue de l'internaute, c'est en gnral plus simple car il suffit
de trouver un moyen d'afficher la page redirige : il ne sera pas sensible au type de redirection.

Voici les techniques de redirection les plus courantes :

34

Rapport du projet TER


La Vidosurveillance distance

Redirection directement sur le serveur


Redirection par URL Rewriting
Redirection dans un script serveur (PHP, ASP, et.
Redirection par balise META Refresh
Redirection JavaScript

3.3.3.2 Les avantages et les inconvnients


Le principe de redirection directe ne permet pas au serveur central de garder la main sur la
communication entre le client et le serveur local. De plus, le client na pas besoin de passer par le
serveur central pour accder au serveur local aprs avoir le lien du serveur local
3.3.4 Lutilisation du principe de redirection indirecte

Tout en essayant dviter les inconvnients de lapproche prcdente on est arriv a cette
solution adquate notre but principale

3.3.4.1 Fonctionnement :
Le client, quand il veut visualiser la vido, se connecte au serveur central en envoyant le
login et le mot de passe, et attend la rponse du serveur
Lorsque le serveur reoit la demande du client, il vrifie son identit en comparant les
informations envoyes par ce dernier et celles enregistres dans la base de donnes.
Sil trouve que les informations sont identiques il lui envoie lensemble des liens des
serveurs locaux qui lui correspondent et ca aprs avoir envoy ces informations aux serveurs
locaux concerns.
Sinon il lui envoie une page derreur disant que les informations envoy sont errones

35

Rapport du projet TER


La Vidosurveillance distance

3.3.4.2 Avantages et inconvnients:


Les avantages de ce principe de redirection sont que le serveur central peut garder la main
sur la communication entre le client et le serveur local. De plus, le client a toujours besoin de
passer par le serveur central pour accder au serveur local
Pour plus de dtails voir lAnnexe6

3.4

REALISATION DES DIFFERENTS MODULES


Dans cette partie, nous allons vous exposer dans un premier temps le module

didentification et dacquisition. Dans un second temps, nous aborderons le module de diffusion.


Enfin, nous traiterons le module dintrusion.
3.4.1 Ralisation du module identification et acquisition

3.4.1.1 Objectif
Arriver identifier toutes les webcams branches sur la machine et acqurir les flux qui y
transitent. Le travail avec le multimdia prsente plusieurs chalenges. Les flux Multimdias
contiennent une grande quantit de donnes qui doivent tre traites trs rapidement. Audio et
vido doivent tre synchronises dune sorte qu'il dmarre et s'arrte en mme temps, et joue au
mme taux. Les donnes peuvent provenir de plusieurs sources, y compris les fichiers locaux, les
rseaux informatiques, les missions de tlvision, et des camras. De plus, ils proviennent d'une
varit de formats, tels que Audio-Vido Interleaved (AVI), Advanced Streaming Format (ASF),
Motion Picture Experts Group (MPEG), et de Digital Video (DV). Enfin, Le programmeur ne
sait pas l'avance quel matriel sera prsent sur l'utilisateur final du systme.

3.4.1.2 Etude des solutions possibles


A. JMF (Java Media Framework) :

36

Rapport du projet TER


La Vidosurveillance distance

JMF est une API Java permettant de manipuler aisment toutes sortes de contenus
multimdia avec Java tels que du son ou de la vido. Elle offre les outils ncessaires pour faire de
lacquisition, du traitement et du transport de mdias bass sur le temps. Lavantage est de
pouvoir concevoir des applications utilisant des lments multimdias (Webcam, micro,
vidos) et pouvant sexcuter sur diffrentes plates-formes logicielles (principalement
Windows et Linux). La version actuelle de JMF est la 2.1.
Cette API est une initiative de SUN qui souhaite apporter une solution time-based media
processing (traitement de media bas sur un timeline) Java. Les mdia bas sur le temps sont
des donnes qui changent par rapport au temps. Nous les retrouvons bien entendu dans les vidos,
laudio, les squences MIDI et autres animations.
Pour plus de dtails, voir Annexe1.
Cependant, JMF ne fait pas de distinction entre les diffrentes webcams installes sur la
machine, Il les prend toutes pour : vfw:Microsoft WDM Image Capture (Win32):0 . Du coup,
on ne peut en utiliser quune seule la fois, sans mme pouvoir la spcifier.
Nous nous sommes alors orients vers une deuxime solution, lAPI FMJ Project.
B. FMJ Project (Freedom for Media in Java):
Projet Open-source dans le but de fournir une alternative JMF. Comme il est compatible
avec JMF, on peut lutiliser avec du code JMF existant. Cependant, certaines parties du projet
sont encore au cours de dveloppement, donc il peut y arriver quon se trouve devant plus de
travail faire.
Pour plus de dtails, voir http://fmj-sf.net/
Cette solution produisait des rsultats partiellement satisfaisants dont on a pu dtecter et
distinguer les diffrentes webcams installes sur la machine, mais le problme quon a rencontr
est que mme si la webcam nest pas branche, on reoive les informations la concernant (Pilotes,
formats supports, ). Nous avons donc laiss tomber cette API, et nous avons dcouvert lAPI
DirectShow.
37

Rapport du projet TER


La Vidosurveillance distance

C. DirectShow :
DirectShow (parfois abrg en DS ou dshow), est une API multimdia dveloppe par
Microsoft afin de permettre deffectuer diffrentes oprations avec des donnes mdias. Il
remplace lantrieure technologie Vido For Windows de Microsoft.
Bas sur le framework Microsoft Windows Component Object Model (COM), DirectShow
fournit une interface commune pour les mdias dans de nombreux langages de programmation.
Architecture de lAPI DirectShow :
DirectShow divise une tche complexe de multimdia (par exemple : lecture vido) en une
squence de traitements fondamentaux connus sous le nom de filtres (la figure(1)). Chaque filtre
reprsente une tape dans le traitement des donnes, il a des entres et / ou des broches, des
sorties (output pins) qui peuvent tre utilises pour connecter un filtre a dautres filtres. Le
caractre gnrique de ce mcanisme de connexion permet aux filtres de se connecter de
diffrentes manires afin dimplmenter les diffrentes fonctions complexes. Pour implmenter
une tche complexe, le dveloppeur doit d'abord construire un filtre graphique en crant des
instances de ces filtres, et puis connecter l'ensemble des filtres.

38

Rapport du projet TER


La Vidosurveillance distance

Figure 15. Architecture de lAPI DirectShow


Comme le montre ce schma de la figure 15, les filtres de DirectShow communiquent avec
une grande varit de dispositifs, y compris le systme de fichier local, TV tuner et les cartes de
capture vido, les codecs VfW, l'affichage de vido (par le biais de DirectDraw ou GDI), et la
carte de son (par le biais de DirectSound). Ainsi, DirectShow isole l'application de beaucoup de
la complexit de ces dispositifs. Elle fournit galement des filtres de compression et de
dcompression de certains formats de fichiers.
Pour plus de dtails sur directshow, voir annexe2
DSJ :
DSJ (DirectShow Java wrapper) est une API Java ddie aux applications multimdias. Elle
permet dutiliser en langage Java toutes les fonctionnalits de lAPI DirectShow. A titre
dexemple, DSJ permet de lire et dencoder un trs grand nombre de formats mdia. On peut
aussi exploiter tout le matriel (priphriques) que les applications natives y accdent via
DirectShow. Ce projet connait une volution permanente et est utilis de nos jours dans
diffrentes applications. La classe principale de cette API est DSFilterGraph reprsentant les
filtres pour DirectShow.
39

Rapport du projet TER


La Vidosurveillance distance

3.4.1.3 Acquisition du media avec DSJ


La Classe DSFiltergraph
La hirarchie et la structure
java.lang.Object
java.awt.Component
java.awt.Canvas
de.humatic.dsj.DSFiltergraph
Elle possde des classes filles ddies aux diffrents cas dutilisation dun flux multimdia :

DSCapture (que nous avons utilise) : Pour accder aux priphriques de capture Audio et
Vido du systme.
DSMovie : Pour le traitement de la vido, son dition et son encodage.
DSStreamBufferGraph : Pour les applications interagissant avec la tlvision.
DSVcam : Traitement des codeurs standards pour camras (DVcamcoders).
DsDVD : Lire et interagir avec des Dvds.
DsGraph : Classe de base pour des traitements de bas niveaux.
DSHDVTape : Pour les camras mpeg HDV et les lecteurs D-Vhs.
Et dautres
Fonctionnement
DSFiltergraph fournit diffrents modes de rendu qui dterminent comment la sortie (output)
video du filtergraph sera intgre dans linterface graphique (GUI).

40

Rapport du projet TER


La Vidosurveillance distance

La

version

dsj

0-8-5

fournit

des

fonctionnalits

plus

avances,

notamment

DirectShowFilters permettent dinsrer partir de java des donnes dans DirectShow, on


peut par exemple dessiner au dessus dune vido, la crer, Ainsi, cette version a introduit un
nouveau package ddi limplmentation de protocoles pour les applications rseaux, tels que
RTSP (Real Time Streaming Protocol) et RTMP (Real Time Messaging Protocol)
Enfin, DSJ est facile dployer, a consiste en deux fichiers : dsj.dll (Dynamic Link
Library) et dsj.jar (Java Archive) qui font peu prs 1,2 MB au total. Elle peut tre utilise tout
niveau : local, application web, applet, ct serveur et marche sur toutes les versions rcentes de
Windows (vista incluse).
NB : la version minimale requise du JRE pour utiliser DSJ est la 1.4.
Pour plus de dtails sur lAPI DSJ, voir Annexe3.
DSCapture

DSCapture utilise la classe DSFilterInfo pour grer les dispositifs de capture, leur sorties et
les formats quils supportent. La mthode QueryDevices() de la classe DScapture retourne un
tableau de 2 lignes :
DSFilterInfo[][] dsfi = DSCapture.queryDevices();
La premire contenant, sous forme de structures, toutes les informations ncessaires sur les
priphriques de capture vido installs mais aussi branchs sur la machine.
Ces informations comprennent :

PIN ID :
Identifiant associ chaque priphrique de capture vido (webcam), il permet de
distinguer les webcams les unes des autres.
PIN name :
nom du pilote du priphrique.
Formats :
tous les formats supports.
41

Rapport du projet TER


La Vidosurveillance distance

La deuxime contenant les priphriques de capture audio (tel que micro, ) que nous
nutiliseront pas dans notre cas.

Le fragment de code suivant montre comment on cre les objets DSFiltergraph qui vont
nous permettre par la suite dacqurir les flux transitant sur les diffrentes webcams :

public void createDataSources() {

// rcupration des priphriques disponibles


dsfi = DSCapture.queryDevices();
nbre_webcams = dsfi[0].length-1;
//on cre autant dobjets DSFiltergraph que de webcams
dsfg = new DSFiltergraph [nbre_webcams];
/** on impose le format 320 * 240 */
for(int i=0; i< nbre_webcams; i++){
dsfi[0][i].getDownstreamPins()[0].setPreferredFormat("320 * 240");
}
dsfg[i] = new DSCapture(0, dsfi[0][i], false, null, this);
}

/** DSCapture(int flags, DSFilterInfo videoDeviceInfo,


* boolean captureAudioFromVideoDevice, DSFilterInfo audioDeviceInfo,
* java.beans.PropertyChangeListener pcl);
* Creates a DSCapture object that uses the supplied video & audio devices
* and renders according to the set bits in the int parameter
* (see
DSMovie
constant
La
mthode
getImage()
dfinitfields).
dans la classe DsFilterGraph retourne limage instantane
*/

du flux sur la webcam.


BufferImage bi = dsfg[numWebcam].getImage();
En dautres termes, cette mthode permet de convertir un flux vido un instant donn en
un objet Image.
42

Rapport du projet TER


La Vidosurveillance distance

Ces images seront envoyes sur le rseau et affiches sur linterface du client (applet), lune
aprs lautre et de faon continue, ce qui donnera limpression de visualiser une vraie vido.
3.4.2 Ralisation du module diffusion

3.4.2.1 Objectif
Il est important de savoir dans un premier temps quels sont les besoins de bande passante.
La compression du trafic rsulte d'un arbitrage entre le niveau de bande passante, l'espace de
stockage ncessaire, la qualit des flux vido et les cots de compression.
Une forte compression allge les besoins en bande passante et en espace de stockage, mais pse
sur la qualit d'image.
Le format MPEG-4 est adapt la majorit des applications de Surveillance IP. Le MJPEG est
nanmoins plus pertinent lorsque l'accent est mis sur la qualit des images (constitution de
preuves par exemple) et offre l'avantage d'conomiser en matire de camra vido.
La consommation classique de bande passante pour un flux vido sera de 8 Ko par trame
(MPEG-4 en VGA) et jusqu' 450 Ko par trame pour du MJPEG en rsolution 2084x1536. Les
vidos seront proposes avec 10 15 trames par seconde (au minimum) ce qui implique une
consommation de 64 Kbps 34 Mbps.
Une vido trs haute rsolution risque d'accaparer la totalit de la bande passante.
En rsum : La compression MPEG-4 offre une excellente qualit d'image mais il faut
prfrer un format plus lger pour un stockage plus important.
A savoir : Si la vido surveillance puise dans les ressources du rseau de l'entreprise (elle
peut en fonction de la formule adopte tre externalise), l'engorgement du serveur de stockage
risque de paralyser l'utilisation des outils informatiques.
Cette congestion peut survenir suite un mauvais paramtrage du niveau de compression et
du nombre d'images par seconde des camras. Pour viter de gnrer des flux trop importants, il
est ncessaire de veiller la dfinition de l'image souhaite en fonction des capacits du rseau
emprunt.

43

Rapport du projet TER


La Vidosurveillance distance

3.4.2.2 Fonctionnement
Le fonctionnement est relativement simple, le programme intervalles rguliers, capture
via la o les webcams une image, puis la compresse en MJPEG et enfin l'envoie sur le rseau.
Il suffit ensuite d'afficher une page html partir du serveur de vidosurveillance (donc
depuis n importe o dans le monde) qui va afficher l'image correspondante.

1) On choisit un format d'image de taille minimale mais offrant une qualit acceptable:
VGA: 640*480, format par dfaut pour certaines webcams, la taille de limage est de
16KB envions
CIF: 320*240, (celui quon a choisit), la taille est entre 2 et 3KB.
QCIF: 160*120, prend 4 fois moins taille que le CIF.
De ce fait on gagnera dune part en qualit dimage et dautre part en taille des objets
envoys sur le rseau.

2) Frame Rate (nombre d'images par seconde) : de 25 30 images/s.


Remarque : Le taux denvoi des images affectera dun ct le serveur en nombre
dinstructions excutes et dterminera, de lautre ct (client), la qualit de la vido. Il va falloir
donc faire en sorte de minimiser ce taux tout en gardant une qualit de vido acceptable (24
images/seconde au minimum).

3) Enfin la compression : on a choisit le MJPEG.

44

Rapport du projet TER


La Vidosurveillance distance

3.4.2.3 Choix du protocole utilis pour le transfert du flux vido


Un des intrts majeurs de l'Internet Multimdia est de pouvoir effectuer un Streaming du
flux de donnes.
Le Streaming consiste dcouper les donnes en paquets dont la taille est adapte la
bande passante disponible entre le client et le serveur. Quand le client a reu suffisamment de
paquets (bufferring), l'application cliente commence jouer un paquet, dcompresse un autre et
reoit un troisime. Ainsi l'utilisateur peut avoir le flux multimdia sans avoir tlcharger tout
le fichier. Toutefois, il y a un retard du la bufferisation.

Version 1 : Utilisation du protocole TCP :

Rappel : La srialisation consiste crire des donnes prsentes en mmoire vers un flux de
donnes binaires.
Un objet Image nest pas seriablisable, mais un objet ImageIcon lest. On va donc convertir
les images obtenues en ImageIcons pour pourvoir les srialiser dans le flux a destination de
lApplet. Ensuite pour lenvoi au client via la socket, on utilise la mthode writeObject(icon); de
lObjectOutpoutStream dans lequel on encapsule les donnes envoyer sur la socket. Enfin, du
cot applet (client), on rcupre les imageIcons, on les convertit en Images et on les affiche sur
lapplet lune aprs lautre.
Problme : affichage trs lent, non temps rel !
Pour plus de dtailles voir lannexe 4

45

Rapport du projet TER


La Vidosurveillance distance

Version 2 : optimisation de la diffusion avec le protocole RTSP :


o Pourquoi RTSP ?

RTSP (Real Time Streaming Protocol) permet de contrler la distribution de flux


multimdias (streaming) sur un rseau IP. C'est un protocole de niveau applicatif prvu pour
fonctionner sur des protocoles tels que RTP/RTCP et RSVP. Les flux peuvent provenir soit de
clips stocks soit d'une source temps rel (camra, micro).
RTSP a t dvelopp par Real Networks, Netscape et l'Universit de Columbia. Il est
implant sur les produits de ces socits.
o Quelles sont les fonctions de RTSP ?

RTSP offre des fonctions de type magntoscope distance (lecture, pause, avance rapide,
rembobinage rapide, arrt...). Il peut tre utilis pour rechercher un mdia sur un serveur de
mdias, inviter un serveur de mdias rejoindre une confrence (dans le e-learning par ex), ou
ajouter un mdia une prsentation existante.

RTSP peut tre utilis aussi bien dans des applications unicast que multicast, et peut
contrler et synchroniser plusieurs flux audio ou vido. Il ne fournit pas lui-mme le flux qui est
la charge d'autres protocoles comme RTP. Il n'y a pas de notion de connexion dans RTSP, bien
que le serveur maintienne une session ayant un identificateur.
Une session RTSP ne correspond pas une connexion de transport comme TCP. Durant
une session, RTSP peut ouvrir et fermer plusieurs connexions de transport chaque requte.
RTSP est donc bas sur le protocole RTP.

46

Rapport du projet TER


La Vidosurveillance distance

o RTP (Real-Time Transport Protocol)

RTP est un protocole de communication informatique. Ce n'est pas un rel protocole de


transfert, puisqu'il utilise l'UDP. Le TCP n'tant pas multicast et ne permettant pas un envoi
immdiat de flots de donnes. Il n'est pas non plus vraiment temps-rel par lui-mme (les rseaux
actuels comme l'Ethernet n'tant pas temps-rel puisqu'il n'y a pas de dlai maximum garanti),
mais sera utilis avantageusement sur un rseau temps rel (par exemple un rseau ATM bande
passante garantie, un canal optique, une radiodiffusion, ou un canal satellite).
Il accorde des fonctions temporelles en tant que service pour des applications multimdia,
comme la voix sur IP pour la tlphonie sur Internet ou la diffusion de contenus vido en direct.
Il ajoute un en-tte spcifique aux paquets UDP pour informer sur le type de mdia transport, le
squencement et la synchronisation des datagrammes, afin que le rcepteur puisse dtecter les
datagrammes perdus sur le rseau ou incorrectement reus, et puisse ventuellement reconstituer
un flux continu.
RTP est unidirectionnel et peut tre utilis pour la diffusion (multicast). Il est alors
extrmement conomique en termes de ressources rseau pour servir un grand nombre de
rcepteurs, ce qui permet d'augmenter considrablement le dbit utile et la qualit de codage du
contenu.

Il peut ventuellement tre utilis conjointement avec un canal de retour (feedback) sur la
qualit de service (QoS) via RTCP (Real-Time Transport Control Protocol), ngoci
indpendamment (voir RTSP). Ce feedback peut par exemple informer l'metteur sur les
proprits temps-rel du canal, l'tat du tampon du rcepteur, ainsi que demander des
changements de compression/dbit pour les applications multimdia par exemple (dans ce cas, les
donnes manquantes pourront tre transmises via Unicast).

Pour la diffusion en masse cependant (flux en direct, radiodiffus), cette voie de retour n'est
gnralement pas utilise, mais le contenu est transmis plusieurs fois en parallle avec un

47

Rapport du projet TER


La Vidosurveillance distance

dcalage temporel suffisant pour pallier les interruptions temporaires de qualit de rception,
mais n'excdent pas les limites des tampons des rcepteurs (normalement pas plus d'une
quinzaine de secondes d'cart). Le rcepteur peut alors reconstituer et rordonner la squence
complte afin d'obtenir un flux continu sans perte.
Pour les contenus protgs valeur ajoute, l'absence de voie de retour implique
l'utilisation de cl de dchiffrement du contenu, que le rcepteur doit ngocier sparment avec
l'metteur (chacun peut recevoir facilement le contenu chiffr simplement en se connectant au
routeur de diffusion). RTP lui-mme ne s'occupe pas du chiffrement et transporte le contenu de
faon transparente.
RTP est la version normalise internationale de l'ancien protocole propritaire RDP
(initialement cr pour Real Player) en voie d'obsolescence.
Le protocole SRTP (acronyme de Secure Real-time Transport Protocol) est le pendant
scuris (chiffr) de RTP.
3.4.3 Ralisation du module intrusion

3.4.3.1 Introduction au traitement dimages


3.4.3.1.1 Prsentation
Depuis la fin des annes 90, la numrisation des contenus et la progression de puissance des
ordinateurs ont rendu possible le traitement en temps rel des images de la vido pour en extraire
des interprtations (que voit-on limage, que se passe-t-il, qui va o, etc.). Dabord effectus en
noir et blanc, puis en couleur, ces traitements ont commenc sortir des laboratoires de recherche
dans cette priode, et ont constitu des solutions exploitables, dabord pour la surveillance
routire, puis pour la surveillance de personnes et dobjets, et aussi pour la biomtrie faciale, etc.
Une squence vido numrique peut tre lue et manipule par un programme sur un
ordinateur en tant que flot dimages annotes (date, numro dimage, ).

48

Rapport du projet TER


La Vidosurveillance distance

Chaque image de ce flot est constitue de pixels (terme issu de la contraction des mots
anglais picture elements ) qui constituent autant de points caractrisant la taille/rsolution de
limage. Les capteurs dimages lorigine de la vido caractrisent le nombre de pixels de
largeur et de hauteur des images quils engendrent; ce sont dailleurs des paramtres importants
lors du choix dun capteur puisquils vont conditionner la rsolution laquelle on voit les dtails
de limage, une fois numrise.
On trouve sur le march des capteurs produisant des images vido de tailles trs varies par
exemple 160x120, 320x200, 288x352 (nomm CIF), jusqu 800x600, 576x704 (4CIF),
1000x100. Plus il y a de pixels, plus riche est linformation produite. Chaque pixel est en gnral
reprsent par une ou quelques valeurs entires qui codent son intensit (en noir et blanc et en
camra thermique/infrarouge) et, dans le cas de la couleur, sa chromaticit et sa saturation.
Les reprsentations les plus couramment utilises dans les traitements numriques de
limage sont le mode RGB (pour lequel un pixel est reprsent par trois entiers dont la valeur
caractrise le poids des couleurs Rouge, Vert (Green) et Bleu associes au pixel) et le YUV (pour
lequel il sagit de la chromaticit, la saturation et lintensit).

3.4.3.1.2 Comment comparer deux images


Pour comparer deux images dune vido, on sappuie simplement sur le fait que les images
successives dune vido sont la plupart du temps toutes de la mme taille, et donc on compare un
un les pixels dans lordre ligne x colonnes .
Tous les pixels comportant une valeur diffrente dune image lautre appartiennent la
diffrence entre les deux images. Cependant, comme les capteurs sont des quipements physiques
imparfaits, les images successives dun mme plan vido (mme clairage, camra immobile, )
prsentent en gnral de lune lautre de trs petites diffrences dues des incertitudes ou des
erreurs de mesure effectues par le capteur : tous ces alas ont t regroups, quelle que soit leur
cause, dans un terme quon appelle bruit .

49

Rapport du projet TER


La Vidosurveillance distance

Le bruit dun capteur dpend de ce capteur mais aussi de loptique, des composants
lectroniques de la camera, de la chane de numrisation utilise, jusqu disposer de limage
numrique, qui une fois labore est transporte avec des protocoles assurant son intgrit par des
mcanismes de vrification (checksum), et de rptition en cas derreur la transmission.
Pour en revenir la diffrence entre deux images, en gnral les carts constats par une
constante (appele seuil) place trs au dessus de la valeur moyenne du bruit, ce qui permet de
dtecter des diffrences plus certaines entre les deux images, c'est--dire des diffrences qui sont
valides dans le monde rel, au-del du bruit du capteur.

3.4.3.1.3 La dtection de mouvement, les diffrentes techniques:


Les camras numriques prsentes sur le march cotent de moins en moins cher, et leur
encombrement est de plus en plus rduit. Paralllement, la puissance de calcul des ordinateurs
actuels permet denvisager srieusement le traitement automatique en temps rel de squences
vido. Cest pourquoi les industriels ont aujourdhui tendance opter pour des solutions base de
vision artificielle pour rsoudre des problmes qui taient auparavant traits par dautres
procds, tels que la surveillance par un oprateur humain ou lutilisation de capteurs plus
mcaniques. Quelle que soit lapplication, la premire tche dun systme danalyse de squences
vido est toujours la dtection de mouvement, et si possible, la dtection des objets
(segmentation) mobiles.
La difficult de cette tche est trs variable selon les conditions dacquisition, la prcision
et la rapidit du traitement escomptes. Une liste relativement exhaustive des difficults lies
lacquisition et au contenu de la scne.
Pour dtecter un mouvement dans une squence vido, on peut utiliser diffrentes
techniques qui sont toutes issues de la recherche dans les disciplines du traitement dimages, du
traitement du signal, et de lintelligence artificielle :

50

Rapport du projet TER


La Vidosurveillance distance

o La technique du flot optique (Horn et Schunck, 1981) : permet la mise en uvre dune
analyse globale du mouvement laide dune quation reliant la variation dintensit
lumineuse en un point avec la vitesse de dplacement de ce point. Cette technique permet
danalyser des scnes dont la totalit de limage est en mouvement, et dy distinguer des objets
en mouvement relatif les uns par rapport aux autres. Cette technique est utilise en mto
(analyse et mesure des mouvements des nuages, des cyclones), et en aide la conduite de
vhicules (dtection et analyse des objets mobiles devant le vhicule : autres voitures,
pitons).
o La technique de limage de fond (Wren, Pentland, 1996) : se limite aux camras en
position fixe et permet, grce la mise en place et la mise jour permanente dune image du
fond vide, de distinguer des objets mobiles par diffrence ce fond.
o La technique des points caractristiques (C. Schmid, R. Mohr, 1997) : se concentre sur la
recherche de points caractristiques dans limage (J. Harris, 1988, points de limage aux
caractristiques fortement marques : coins, bords, puis par extension centres de rgions) et
recherche leur correspondants dune image lautre pour en dduire un mouvement, et pour
regrouper ensemble les points proches ayant un mouvement cohrent.
Toutes ces techniques sont sensibles au bruit du capteur et ncessitent des traitements
complmentaires, comme par exemple le filtrage, pour fonctionner de faon satisfaisante.

3.4.3.2 Identification de lintrusion : Implmenter la technique dimage de


fond (background subtraction).
Le modle le plus simple pour identifier une intrusion consiste considrer chaque instant t que
limage au temps t-1 reprsente limage de fond, et que les zones en mouvement sont celles qui
ont chang dapparence entre t-1 et t. En d'autres mots, il sagit de comparer un pixel i de limage

51

Rapport du projet TER


La Vidosurveillance distance

au temps t avec le pixel i de limage de fond au temps t-1, sil ya une diffrence (suprieure au
seuil) entre ces deux pixels ca veut-dire quil ya un changement.
Afin danalyser et comparer les images, on va se baser sur les niveaux de rouge vert et
bleu (RGB) de chaque pixel de limage.
Pour rcuprer les pixels dune image on utilise un objet non spcifique DSJ mais qui est
fournit par le JDK le PixelGrabber, voir Annexe5
A partir de cet objet, on va remplir un tableau de pixels ayant la taille de limage (width *
height).
Le fragment de code ci-dessous montre clairement comment a marche.
/* Create a PixelGrabber object to grab the (x, y, w, h) rectangular
* section of pixels from the specified image into the given array. */
grab1 = new PixelGrabber(img1, 0, 0, 320, 240, pixels1, 0, 320);
grab2 = new PixelGrabber(img2, 0, 0, 320, 240, pixels2, 0, 320);
/* Request the Image or ImageProducer to start delivering pixels and
wait

for

all

of

the

pixels

in

the

rectangle

of

interest

to

be

delivered.*/
try {
// we grabbe to be sure that the Image has finished loading
grab1.grabPixels(); //: boolean
grab2.grabPixels();
}
catch (InterruptedException ie) {
System.err.println("impossible de grabber les pixels de l'image");
}
// on recupere la moyenne des 3 couleurs pour les 2 images
getColors(pixels1, colors1);
getColors(pixels2, colors2);
//Actions a executer en cas de mouvement
if (imageChanged(colors1, colors2)){
//Changement dtect entre img1 et img2
}

52

Rapport du projet TER


La Vidosurveillance distance

La mthode getColors calcule les moyennes des trois couleurs R, G et B et les stocke dans
un tableau colors.

/* on cumule les niveaux de chaque couleur en parcourant le tableau pixels */


Color

pixelColor = new Color(pixels[i]);

Int red = red + pixelColor.getRed();

//on calcule la moyenne de chaque couleur


red = red / imageSize;
colors[0] = red

La mthode ImageChanged vrifie si la diffrence entre les couleurs de limage1 et celles


de limage2 est suprieure au seuil, et retourne true le cas chant.

3.4.3.3 Gestion des intrusions


Concernant la gestion des intrusions de notre application, nous avons choisi de dvelopper
plusieurs solutions. Nous verrons dans un premier temps lenregistrement de squences vido.
Dans un second temps, nous vous exposerons comment se droule lenvoi de SMS. Enfin, nous
nous pencherons sur lenvoi demail.
Enregistrement de squences vido :
Une premire ncessit et de pouvoir garder une trace de tout ce qui sest pass lors de
lintrusion. En dautres termes, avoir la possibilit de sauvegarder des squences vido qui
pourront servir de preuves au cas de vol par exemple.
A linstar de lAPI JMF, DSJ nous permet denregistrer de la vido depuis une webcam.
Cependant, on ne peut pas sen servir (de DSJ), car la webcam sera dj en cours dutilisation par
lapplication sur le serveur de vidosurveillance et donc ne peut pas tre utilise par deux
applications simultanment.

53

Rapport du projet TER


La Vidosurveillance distance

Solution : exploiter les images captures et envoyes sur le rseau.


Ds la dtection dun mouvement, on continue (*) la sauvegarde des images dans un
rpertoire pendant une dure donne, ensuite on gnre une vido depuis ces images.
Un autre problme tait le fait de rater les (quelques) premires images qui prsentent un
changement, et donc la vido enregistre ne commencera pas exactement par la 1 re image
montrant le 1r changement.
Solution : Lobjet ImagesComparator charg de dtecter les mouvements fonctionne

comme

suivant :
Une fois activ, il enregistre un certain nombre dimages (une vingtaine par exemple)
successives et nen compare que les 6 dernires.
Deux cas peuvent se prsenter :
Sil ny a pas dintrusion, il crase les images par dautres nouvelles et recommence le
processus.
Sinon, il annonce lintrusion et continue (*) lenregistrement dimages. De ce fait, les 20
images prises auparavant vont servir avoir peu prt 200 ms avant lintrusion et donc on
verra ce qui sest pass depuis le dbut.
Envoi dSMS :
Pour lenvoi dSMS depuis une application java, une solution est davoir un abonnement
avec un operateur tlphonique fournissant le service denvoi dSMS via internet.
o Comment a marche ?
On leur envoi un e-mail contenant les donnes de lSMS (texte et destinataires) et puis leur
service soccupe de transmettre le message ses destinataires.

54

Rapport du projet TER


La Vidosurveillance distance

Envoi de-mail en utilisant lAPI JavaMail :

JavaMail est une technologie java pour envoyer et recevoir des emails.
Ce n'est pas un serveur de mails, mais un outil pour interagir avec le serveur de mails.
Les applications dveloppes avec JavaMail peuvent tre ainsi comparables aux diffrentes
messageries que l'on rencontre tel quOutlook, Lotus, Eudora...
Cest une API qui permet donc d'utiliser le courrier lectronique (e-mail) dans une
application crite en java (application cliente, applet, servlet, EJB... ).
JavaMail est trs facile utiliser, elle fournie une souplesse qui permet de la faire voluer et
de rester le plus indpendant possible des protocoles utiliss
Pour envoyer ou recevoir des messages, JavaMail utilise diffrents protocoles comme smtp,
Imap, Mime, MNTP... Dans notre cas on sintresse seulement au protocole SMTP qui permet de
transfrer le courrier vers un serveur de messagerie lectronique.
La seule exigence est donc de disposer dune adresse de serveur SMTP.
Deux possibilits :
Demander ladresse du serveur SMTP au FAI (fournisseur daccs internet).
Installer un serveur SMTP sur la machine (exemple : QuickServerSMTP).

55

Rapport du projet TER


La Vidosurveillance distance

3.4.4 Ralisation du module authentification et redirection

La communication et la diffusion de la vido sur rseau local ou public sont scurises et la


connexion ou camra rseau stablie en trois tapes :
Authentification
Lutilisateur doit sidentifier sur le rseau local (intranet) ou distance (internet). Pour ce
faire, certaines donnes didentit sont communiques au rseau ou au systme, comme par
exemple un nom dutilisateur et un mot de passe.
Autorisation
Autoriser et accepter lauthentification automatiquement, puis vrifier lidentit de
lutilisateur par rapport aux informations contenues dans la base de donnes de la camra rseau.
Si lutilisateur est authentifier alors il aura laccs pour visualiser la vido en temps rel sur sont
PC distant.
Confidentialit

VPN et SSL sont les mthodes utilises pour assurer la confidentialit et la scurisation du
canal qui transporte les donnes vido. Tableau comparatif entre la vidosurveillance traditionnel
et la vidosurveillance sur IP : Une infrastructure reposant sur la technologie IP offre aux
utilisateurs une multitude davantages rduisant ainsi les cots dinvestissement lis la
vidosurveillance.

56

Rapport du projet TER


La Vidosurveillance distance

3.5

PRESENTATION DU PROTOTYPE

3.5.1 Accs au systme : linterface web

Voici un aperu de linterface web du systme Rapace. Le site se compose de 5 onglets


principaux :
Accueil : page daccueil du site
Notre service : prsentation des fonctionnalits du systme
F.A.Q : foire aux questions
Mon Compte : partir de cette page, le client se connecte son compte et peut
accder ses webcams.
Inscription : permet de sinscrire au systme Rapace

Figure 16. Page daccueil du site web


57

Rapport du projet TER


La Vidosurveillance distance

Dans les parties suivantes, nous allons vous dvoil des captures dcrans de notre systme.
3.5.2 La connexion avec le serveur de vidosurveillance

Voici la figure qui montre linterface principale de notre application en utilisant deux
webcams

Figure 17. Interface principale en utilisant 2 webcams

58

Rapport du projet TER


La Vidosurveillance distance

Figure de linterface principale de notre application en utilisant 4 webcams.

Figure 18. Interface principale en utilisant 4 webcams

59

Rapport du projet TER


La Vidosurveillance distance

3.5.3 Le paramtrage

Figure qui montre longlet de paramtrage de notre application.

Figure 19. Onglet de paramtrage

60

Rapport du projet TER


La Vidosurveillance distance

3.5.4 Interface de gestion des intrusions

Figure qui montre longlet partir duquel on peut activer ou dsactiver la dtection de
mouvement en prcisant le niveau de sensibilit.

Figure 20. Onglet de gestion dintrusion

61

Rapport du projet TER


La Vidosurveillance distance

3.6

PERSPECTIVE DAMELIORATION

3.6.1 Webcam Versus camera IP

Le systme Rapace fonctionne lheure actuelle avec des webcams. Cependant, nous avons
la possibilit dans le futur de pouvoir faire voluer ce systme de vidosurveillance en
remplaant les webcams par des cameras IP.
Il est important de se pencher sur la distinction entre une webcam et une camera IP. Les camras
IP nont pas grand chose voir avec les webcams que lon trouve depuis plusieurs annes. Les
webcams permettent aux internautes de pouvoir utiliser la vido lors de leurs communications par
internet (msn messenger, skype etc.). Toutefois, ces webcams si populaires sont extrmement
diffrentes des camras IP (aussi appeles Camras Internet ou rseau). La diffrence la plus
importante est lie au mode de connexion de la camra elle-mme. En effet, lutilisation dune
webcam traditionnelle sur internet sous-entend dtre reli un ordinateur (trs souvent par une
prise USB)
Pour que la Webcam puisse tre utilise, il faut ensuite ncessairement que lordinateur auquel
elle est rattache soit allum.
A contrario, aucune utilisation de cette webcam ne sera possible si lordinateur, pour une raison
pour une autre, est teint.
Les fonctions intgres dans la webcam sont extrmement rduites puisquelles peuvent se
reposer sur lintelligence prsente dans lordinateur. Ainsi, lorsque vous utilisez msn ou skype, la
webcam envoie de limage vers le PC et cest ensuite ce dernier qui fait tout le reste, du rglage
laffichage de ces images.
Tout au contraire, les camras IP offrent des fonctions vido combines une intelligence proche
dun ordinateur. Par consquent, les camras rseau peuvent fonctionner sans aucun ordinateur et
offrir des fonctions de vidosurveillance impossibles pour une webcam. Il leur faudra juste une
connexion un rseau local ou tendu (tel quinternet).

62

Rapport du projet TER


La Vidosurveillance distance

Enfin, et cest peut tre une des raisons de la confusion entre une webcam et une camra
rseau, cest que cette dernire intgre un serveur Web. Cela signifie que lon peut accder une
camra rseau partir dun navigateur internet.
Malgr lintrt norme que portent les mdias aux camras numriques ou de rseau, la
majorit des camras vendues sont toujours analogiques et ce principalement en raison du prix.
Souvent a lieu une transition progressive vers lIP au moyen de solutions hybrides selon
lesquelles les camras analogiques sont raccordes un rseau IP au moyen dencodeurs vido. A
lheure actuelle, cette combinaison reprsente toujours une conomie de quelque 15% pour les
camras les plus avances. La tendance est toutefois en train de sinverser rapidement au profit
des camras IP et la conversion totale est prvue pour les environs de 2010.
Pour tre clair, une camra IP ou de rseau est bien plus quune webcam. Une camra IP
comporte son propre microprocesseur et assure elle-mme, par analogie avec un DVR, les
fonctions de digitalisation, de compression et ventuellement lanalyse des images vido.
Les cameras IP prsentent de nombreux avantages par rapport la webcam :
Elles peuvent tre installes partout o un rseau informatique est disponible (cblage ou
sans fil). Une fois que ces camras sont enregistres dans le rseau, on peut les brancher
facilement ailleurs sur le rseau. La technologie analogique ne permet pas une telle
flexibilit.
Elles utilisent lquipement PC standard, ce qui permet dajouter facilement de la
puissance de traitement ou de la capacit de stockage supplmentaire, en fonction de la
ncessit.
Laccs aux images peut parfaitement se faire distance sur le rseau, ce qui permet de
confier la surveillance des oprateurs professionnels plus qualifis dans une salle
dcrans vido et avec un nombre moins important.

63

Rapport du projet TER


La Vidosurveillance distance

3.6.2 Autres

Il est important de souligner le fait quil y ait dautres perspectives dvolution de notre
systme.
Nous pouvons ajouter lors de futures volutions du systme Rapace une section
vidoconfrence. Cet ajout enrichirait le systme de part les avantages de la vidoconfrence.
Tout dabord, elle permettait un gain de temps. En effet, lors des runions classiques, les
participants dpensent beaucoup de temps se dplacer. Cet avantage est loin dtre ngligeable,
car il permet dtre plus productif dans le sens o la personne naura pas sattarder dans les
transports publics, pour les rservations, et vitera les arrangements horaires. Le temps pargn
sera utilis au bnfice des diffrentes rencontres.
Comme autre avantage, il est important de souligner les conomies ralises. En effet, le
fait dutiliser la vidoconfrence vitera les cots relatifs aux transports, ainsi que les frais
annexes, comme par exemple les frais dhtel et les frais administratif.
De plus, il nest pas utopique dajouter notre systme un module de vidosurveillance
mobile ; chose que nous navons pu raliser par manque de temps. Pour ce faire, nous pouvons
utiliser lAPI J2ME : voir lannexe 7.7.

64

Rapport du projet TER


La Vidosurveillance distance

4 IMPRESSIONS ET ACQUIS DU TER


4.1

POINT DE VUE TECHNIQUE


La ralisation de ce TER nous a permis de nous familiariser et dapprofondir certaines

notions techniques.
Au niveau de la programmation du systme, nos connaissances en JAVA ont t complter
par lutilisation dAPI. De plus, au niveau du rseau, nous avons dcouvert de nouveaux
protocoles qui nous ont permis de rsoudre des problmes au niveau du systme. Enfin, le
dveloppement web nous a permis de se perfectionner dans diffrent langage tels que le
HTML/CSS, le PHP et de dcouvrir, au niveau du fonctionnement, le langage Flash.
Ce TER t enrichissant dun point de vue technique car il nous a permis dutiliser dans la
pratique nos connaissances dans diffrents domaine de linformatique (programmation, rseau,
dveloppement web) et de dcouvrir de nouvelles notions.

4.2

POINT DE VUE ORGANISATIONNEL


Ce TER nous a permis de travailler dans des conditions nouvelles. En effet, nous nous

sommes placs comme si nous travaillons dans une entreprise avec comme chef de projet notre
encadrant. Celui-ci nous trs bien repartis les taches effectuer, ce qui contribuer une
lisibilit et une clart dans notre projet. Chaque membre du groupe avait une tache prdfinie
avec des objectifs raliser.
De plus, la planification des runions ( raison de une par semaine) na t que bnfique
pour lavancement du projet. Chaque membre y effectuait un compte rendu et une prsentation de
son travail. Il sen suivait des discussions pour rsoudre des problmes rencontrs et avancer sur
lvolution du projet.

65

Rapport du projet TER


La Vidosurveillance distance

5 CONCLUSION
Nous tirons globalement de ce projet un bilan trs positif, bien que nous ayons eu faire
face des difficults. Notre capacit les rsoudre et les mthodologies que nous avons
employes pour les rsoudre sont finalement des motifs de satisfaction.

De plus, la ralisation de ce projet nous a normment aids dvelopper notre crativit et


notre imagination, et surtout dacqurir lesprit du travail en groupe. Elle nous a aussi permis de
mieux dcouvrir la puissance du langage JAVA et la richesse de ses librairies.
Ce projet a t loccasion de mettre en pratique la formation thorique que nous avons
reue durant notre parcours universitaire, qui sest rvle adapte aux comptences souhaites.
De plus, ce travail qui ne nous a pas t sans peine, constitue aussi un honneur pour nous.
Vous avez donc pu constater quil est possible de raliser un systme de vidosurveillance
distance sans forcment investir de grosses sommes dargents dans du matriel onreux comme
des camera IP. Toutefois, nous avons atteint notre objectif de ralisation dun systme de
vidosurveillance distance, avec un mode dutilisation simplifi pour lutilisateur, cependant
quelques amliorations restent possibles. Par exemple, nous aurions aim si nous avions eu plus
de temps dajouter au systme un module de vidosurveillance mobile.
Enfin nous souhaitons que le travail prsent ait une utilit quelconque pour les formateurs ou
tout autre lecteur qui y trouveront certains renseignements qui pourront servir d'une manire ou
d'une autre.

66

Rapport du projet TER


La Vidosurveillance distance

6 BIBLIOGRAPHIE
6.1

OUVRAGES

Claude Delannoy, Programmer en JAVA , 3me dition, Paris, 2001, 685 pages.

G. Pujolle, Les Rseaux , Eyrolles 5me dition, 2004, 1094 pages.

Cours de services et qualits des rseaux avec monsieur CLEMENT Saad, universit
Montpellier 2.

6.2

SITES WEB

http://java.sun.com/

http://www.humatic.de/htools/dsj.htm

http://www.java2s.com/

www.Javafr.com

www.developpez.com

www.labo-sun.com

http://fr.wikipedia.org/wiki/videosurveillance

67

Rapport du projet TER


La Vidosurveillance distance

7 ANNEXES

7.1

ANNEXE1 : JMF

Voir les liens :


http://www.labo-sun.com/resource-fr-articles-998-1-java-j2se-jmf-java-media-framework.htm
http://java.sun.com/javase/technologies/desktop/media/jmf/

7.2

ANNEXE2 : DIRECSHOW

7.2.1 PRINCIPES DIRECTEUR DE DIRECTSHOW :

7.2.1.1 Le graphe de filtres


Le graphe de filtres constitue la base de toute programmation sous DirectShow. Il permet
de grer les flux de donnes de manire simple en structurant les traitements (appels
filtres) sous forme dun graphe orient non cyclique:
Les noeuds du graphe reprsentent les traitements effectuer.
Les artes (orientes) du graphe reprsentent la direction des flux entre les filtres.
Il est ainsi possible deffectuer des graphes de traitement complexe avec une simplicit relative.

68

Rapport du projet TER


La Vidosurveillance distance

7.2.1.2 Rle du graphe :


assembler les filtres (les connecter en veillant la compatibilit des E/S).
grer les filtres (en acquirant sur ceux-ci les interfaces ncessaires leurs
manipulations).
contrler et synchroniser les flux dans le graphe.
Le graphe de filtres est donc un mdiateur entre le programmeur et les donnes. Le
programmeur opre donc un niveau assez lev de dveloppement. Il na pas se
soucier de la manipulation bas-niveau de donnes audio et vido.
Le graphe est un objet de type COM.

7.2.1.3 Les filtres


Conceptuellement, un filtre peut tre considr comme une bote noire:
qui appartient une classe spcialise en fonction du travail accomplir.
avec des entres et/ou des sorties.
o chacune de ces entres/sorties est conceptualise sous forme dune borne
de connexion (pin).
o

une borne dentre permet de recevoir des donnes depuis un autre filtre.

une borne de sortie permet denvoyer des donnes vers un autre filtre.

avec une ou plusieurs interfaces spcialises, associes la classe du filtre qui permettent
de contrler et de configurer le comportement du filtre.
la configuration interne du filtre est assure par une interface graphique (interne) fournie
par le filtre lui-mme.

69

Rapport du projet TER


La Vidosurveillance distance

On distingue trois principaux types de filtres:


Les filtres sources.
Les filtres de transformation.
Les filtres de rendu.
Les filtres sont des objets COMs: la classe dun filtre est dfinie par sa CLSID, les
interfaces sont dfinies par leurs IIDs.

7.2.1.4 Les filtres sources


Un filtre source na aucune borne dentre, et une ou plusieurs bornes de sortie.
Ce type de filtre produit un flux de donnes partir:
dun support numrique (fichier, CD, DVD, )
dun priphrique dacquisition (micro, webcam, camscope numrique, tuner TV,
etc).
o Sil est directement support par Windows, le filtre correspondant existe dj.
o Pour tout nouveau matriel, partir du moment o son pilote (driver) rpond au
modle WDM (Windows Driver Model), celui-ci installe galement les filtres
DirectShow ncessaires lutilisation du priphrique.
o dune connexion rseau (streaming).
Il faut au minimum un filtre de ce type dans un graphe (pour nourrir le graphe avec
des donnes). On peut utiliser autant de filtres dentrs que de sources ncessaires
lexcution de la tche.

70

Rapport du projet TER


La Vidosurveillance distance

7.2.1.5 Les filtres de transformation


Un filtre de transformation modifie le flux de donnes qui le traverse. Il reoit ses
donnes en provenance dun ou de plusieurs autres filtres (sources/transformation). Il
transmet le flux transform vers un ou plusieurs autres filtres (transformation/rendu).
Il a donc au moins une borne dentre et au moins une borne de sortie.
Les filtres de transformations les plus couramment utiliss sont les suivants:
parser = sparer les donnes contenue dans un flux pour former plusieurs flux de sortie
(exemple: sparer laudio de la vido).
tee = dupliquer le flux dentre en plusieurs flux identique de sortie.
multiplexage = combiner plusieurs flux en un seul (combiner un flux vido et un flux
audio
pour ensuite les enregistrer dans un ficher par exemple)
codec = convertir les donnes dun flux en un autre format (compression /
dcompression).
sous-titrage = ajouter une couche de sous-titres un flux vido.
montage et transition

Linstallation de nouveaux Codecs rend disponible les mthodes de compression et
dcompression associes sous forme de nouveau filtre. Dans certains cas, il peut tre
ncessaire denregistrer manuellement ces filtres.

7.2.1.6 Les filtres de rendu


Un filtre de rendu est plac en fin de chane de traitement et permet de terminer le
traitement:

71

Rapport du projet TER


La Vidosurveillance distance

par un rendu:
o vido : cration automatique (ou manuelle) dune fentre (avec son handle) et
rendu du flux dans la fentre en utilisant DirectDraw.
o audio : rendu automatique en utilisant DirectAudio.
Toutes des ressources ncessaires sont automatiquement alloues et dsalloues, la
synchronisation
vido/audio est assure par le graphe.
par lenregistrement dans un fichier.
par sa transmission sur le rseau.
Ce type de filtre ne possde que des bornes dentre.
Un graphe doit contenir au moins un filtre de rendu.
On peut ventuellement multiplier le nombre de filtres de rendu:
laudio et la vido sont rendus par deux filtres de rendu diffrents (un filtre de rendu audio
et un filtre de rendu vido).
on peut effectuer un rendu vido tout en enregistrant ce mme flux dans un fichier.
deux flux vido issus de deux chemins diffrents dans le graphe peuvent tre rendu dans
deux fentres diffrentes.

7.2.1.7 Construction dun graphe partir de filtres


Pour construire un graphe, les filtres peuvent tre assembls avec une grande libert
partir du moment o les contraintes suivantes sont respectes:
toute branche dun graphe commence par un filtre dentre et se termine par un filtre de
sortie (cohrence du graphe).
les comptabilits entre les entres et les sorties sont respectes ;

72

Rapport du projet TER


La Vidosurveillance distance

Chaque entre/sortie naccepte que certains types et format de flux de donnes.


Autrement dit une connexion entre deux filtres nest possible que si il existe un pin de
sortie sur le premier filtre et un pin dentre sur le sortie tels que:
o

le type du flux de donnes est le mme (audio, vido, )

le format du flux en sortie est compatible avec le format du flux en entre.

7.2.1.8 Exemple de graphe des filtres

7.3

ANNEXE3 : DSJ

Voir le lien : http://www.humatic.de/htools/dsj.htm

73

Rapport du projet TER


La Vidosurveillance distance

7.4

ANNEXE4 : TCP

7.4.1.1 Etablissement de la connexion :


Tcp utilise un mcanisme consistant en lechange de trois messages pour
la mise en place du circuit virtuel, connu comme une poigne de main
tri directionnelle (three-way handshake)

SYN et ACK sont des bits du paquet tcp. Les numros de squence sont
initialiss alatoirement afin dviter que des paquets en retard initialiss
1 viennent perturber ce fonctionnement.

7.4.1.2 Notion de fentre glissante :


Cest une fentre de taille fixe, reprsentant le nombre maximal de paquets
transmis non acquittes. Une fentre de taille identique est cre du cote
rcepteur.

74

Rapport du projet TER


La Vidosurveillance distance

Le rcepteur doit :
enregistrer quels paquets nont pas t acquittes,
conserver un temporisateur par paquet non acquitte.

7.4.1.3 Segments TCP et fentre glissante :


Puisque Tcp expdi des flots et ne sintresse qu la continuit de ces flots, on va considrer
chaque suite doctets expdie dans un datagramme tcp comme un segment dans la suite
transmettre. Au lieu dacquitter un paquet ou un segment, on acquitte une position :
acquitter la position n veut dire jai reu tous les octets jusqu`a n. On en dduit que la fentre
glissante est sur une limite doctet et non de segment ou paquet. Lentit tcp dexpdition
conserve trois pointeurs reprsentant letat de la fentre :

7.4.1.4 Taille de la fentre :

Tcp permet de modifier dynamiquement la taille de la fentre. Ainsi, on peut accroitre ou baisser
le rythme dexpdition des donnes. En effet, la disponibilit (bande passante) courante du rseau
et la
75

Rapport du projet TER


La Vidosurveillance distance

consommation de lapplication rceptrice influent sur cette taille. On dit quon fait du contrle de
flux dune Facon gnrale, lorsquon gre de Facon dynamique le rythme dexpdition (donc
aussi de rception) des donnes entre deux entits. Comment fait Tcp ? Le rcepteur indique dans
chaque acquittement la taille de fentre acceptable pour lui, en fait, la taille courante disponible
du tampon de rception.
Remarques :
Il y a des acquittements qui annoncent uniquement une modification de la taille de la fentre. Une
taille de zro est possible. Cette Facon de faire permet tcp dagir indirectement sur les routeurs,
dans des situations de congestion par exemple.

7.4.1.5 Point sur la situation :


On constate que tcp expdi les donnes dans des segments de taille variable et de plus, les
segments retransmis peuvent tre de taille diffrente des segments ayant provoqu la
retransmission. Le rcepteur peut donc reconstruire des parties pas forcement contiges.
Il nempche que lacquittement ne doit se faire que sur la premire partie Contige. En dautres
termes, le rcepteur annonce toujours le prochain octet attendu.

INCONVENIENTS :

La perte dun acquittement est plus nfaste que celle dun segment
mis, car elle peut recouvrir plusieurs segments.
Lemetteur na aucune information sur ce qui a t reu aprs la
position acquitte.
Rsume : grande fentre, gros risques, et rciproquement...
EXEMPLE :

76

Rapport du projet TER


La Vidosurveillance distance

Supposons que la position acquitte soit 1001. Lexpditeur a envoy 4 segments de 1000
caractres chacun. Seul le premier sest perdu. Apres lepuisement du dlai dacquittement, les
schmas possibles sont tous inefficaces :
retransmettre tous les 4 segments (taille de la fentre),
ne retransmettre que le premier (suivre le standard).
En ralit, la seule chose qui peut sauver un peu cette situation est une annonce dune nouvelle
taille de fentre.

7.5

ANNEXE5 : LE PIXELGRABBER

public PixelGrabber(Image img,


int x,
int y,
int w,
int h,
int[] pix,
int off,
int scansize)

Create a PixelGrabber object to grab the (x, y, w, h) rectangular section of pixels from the
specified image into the given array. The pixels are stored into the array in the default RGB
ColorModel. The RGB data for pixel (i, j) where (i, j) is inside the rectangle (x, y, w, h) is stored
in the array at pix[(j - y) * scansize + (i - x) + off].
Parameters:
img - the image to retrieve pixels from
x - the x coordinate of the upper left corner of the rectangle of pixels to retrieve from the image,
relative to the default (unscaled) size of the image
y - the y coordinate of the upper left corner of the rectangle of pixels to retrieve from the image
77

Rapport du projet TER


La Vidosurveillance distance

w - the width of the rectangle of pixels to retrieve


h - the height of the rectangle of pixels to retrieve
pix - the array of integers which are to be used to hold the RGB pixels retrieved from the image
off - the offset into the array of where to store the first pixel
scansize - the distance from one row of pixels to the next in the array.

7.6

ANNEXE6 : LA REDIRECTION

7.6.1 REDIRECTION DIRECTEMENT SUR LE SERVEUR

Une configuration du serveur donne les rgles de redirection. Il faut aller voir la documentation
du serveur (Apache, IIS, etc.)
Pour le rfrencement : aucun problme. Vrifier tout de mme l'entete HTTP renvoy par la
page (en utilisant par ou un outil d'analyse de l'entte HTTP ou directement mon outil de test de
redirection).

7.6.2 REDIRECTION PAR URL REWRITING

La rgle de redirection est indique dans un fichier .htaccess avec par exemple
RedirectPermanent ou RewriteRule (dans ce cas il faut imprativement utiliser le code R=301)
Exemples : dans le fichier .htaccess situ la racine du site (sur une seule ligne) :
RedirectPermanent /robotstats http://www.robotstats.com/ ou bien (toujours sur
une seule ligne) :

RewriteRule ^article-([0-9]*).php archives-$1.htm [R=301]


Pour le rfrencement : fonctionne trs bien avec tous les moteurs
7.6.3 REDIRECTION DANS UN SCRIPT SERVEUR (PHP, ASP, ETC.)

La redirection est dfinie par une fonction charge de renvoyer un entte HTTP. Il faut bien sr
bien choisir le code de retour HTTP.
Exemple : utilisation de la fonction header() en PHP :

78

Rapport du projet TER


La Vidosurveillance distance

header("Status: 301 Moved Permanently", false, 301);


header("Location: http://www.votresite.com/unepage.htm");
exit();
Remarque : les deux derniers paramtres de la fonction header() sur la 1re ligne de code ne sont
pas toujours ncessaires. Mais sur certains serveurs, le code ci-dessous provoque une redirection
302 au lieu d'une redirection 301 :
header("Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
exit();

Exemple : utilisation de la fonction addheader en ASP :


<%
response.status = "301 moved permanently"
response.addheader "location", "http://www.votre-site.com/"
response.end %>

Pour le rfrencement : aucun problme.


7.6.4 REDIRECTION PAR BALISE META REFRESH

La redirection meta refresh est dfinie par la balise META http-equiv=Refresh. Elle
donne l'ordre au navigateur de rediriger l'internaute vers une URL spcifie au bout d'un certain
nombre de secondes.
Exemple (redirection vers la page nouvellepage.html au bout de 5 secondes (sur une seule
ligne) :
<meta http-equiv="Refresh" content="20;URL=page2.html">

79

Rapport du projet TER


La Vidosurveillance distance

Pour le rfrencement : il ne faut pas l'utiliser ! En effet, cette balise a trop souvent t utilise en
fixant le nombre de secondes zro, en gnral pour faire une page satellite. Mme si Google
liste parfois des redirections de ce type dans les backlinks, il faut la proscrire.
7.6.5 REDIRECTION JAVASCRIPT (OU TOUT AUTRE LANGAGE COTE
CLIENT)

La redirection est dfinie par une fonction JavaScript qui modifie l'URL de la page afficher,
sans modifier l'entte HTTP.
Exemple :
<script language="javascript" type="text/javascript">
<!-- window.location.replace("http://www.un-site.com/une-page.htm"); -->
</script>

Pour le rfrencement : il ne faut pas l'utiliser ! Les robots ignorent le JavaScript, ils ne suivront
donc pas une redirection JavaScript (il existe quelques exceptions).
7.6.6 LES LEADERS DANS LE DOMAINE

7.6.6.1 AXIS COMMUNICATIONS

Axis est une socit informatique qui propose des solutions de vido sur IP usage
professionnel. Leader mondial du march de la vido sur IP, Axis est la tte de la transition
actuelle de lanalogique vers le numrique en matire de vidosurveillance. Centrs sur la
surveillance et le contrle distance, les produits et solutions Axis reposent sur des plates-formes
technologiques innovantes et ouvertes.

80

Rapport du projet TER


La Vidosurveillance distance

La position dominante dAxis est le fruit de plus de vingt ans defforts fructueux visant
dvelopper des technologies et des produits essentiels la connectivit rseau, des canaux de
distribution solides et des partenariats cls.
Avec plus de 1 million de produits professionnels de vido sur IP et plus de 3 millions de
produits de mise en rseau installs, Axis sait assurment rpondre tous les besoins de ses
clients.
Axis est reconnu comme une des marques les plus dignes de confiance sur le nouveau march de
la surveillance IP.
Quelques mots sur Axis:
Socit informatique dominant le march de la vido sur IP.
Fonde en 1984.
Prsence mondiale dans 20 pays, plus de 500 employs.
Partenariats mondiaux avec des distributeurs, des revendeurs et des intgrateurs de
systmes dans plus de 70 pays.

7.6.6.2 ACTI

La Corporation ACTi est lun des leaders de la technologie de surveillance IP, son activit
principale est la scurit et la surveillance des biens. La vaste innovation technologique dACTI
est dans le dveloppement de JPEG/MPEG-4/H.
La valeur essentielle dACTi est la comptence dvelopper. La technologie dACTi offre
une solution complte permettant de couvrir tous les segments du march de la scurit. Non
seulement l'offre de matriel de surveillance IP tels que les camras IP et des serveurs vido, tous
les produits dACTi sont livrs avec le logiciel de gestion libre ; en plus la riche slection
d'applications de gestion est offerts par les principaux fournisseurs de logiciels indpendants qui
soutient les matriels dACTi.
81

Rapport du projet TER


La Vidosurveillance distance

7.6.6.3 ARTEC

Les technologies Artec dveloppe, produit et distribue des logiciels supplmentaires, y


compris les solutions bases sur des composants matriels, ainsi que des systmes complets dans
les domaines de la surveillance vido numrique et la technologie de la vido (Digital Vido
Security) et de transmission numrique et des technologies d'enregistrement de contenus audio et
vido pour l'intranet et la communication par Internet, par exemple, IPTV (Digital Vido).
Plus de 13.000 systmes ont t livrs ce jour l surtout ceux qui sont utiliss dans les
domaines des services de scurit.
Ces technologies mis au point une plate-forme qui permet l'intgration de diffrents
matriels et les composants logiciels d'un vaste systme de scurit.

7.6.6.4 Architecture (matrielle et installation)


L'environnement du logiciel :
Le logiciel se prsente sous la forme d'une interface web. Il sera donc imbriqu dans un serveur
web li la base de donnes.
Interface matrielle :
Le logiciel s'intgre et s'adapte automatiquement au matriel sur lequel il tourne. L'utilisation
d'une interface web comme support pour notre application permet une portabilit complte avec
les diffrents systmes dexploitation prsents sur le march : Windows, Linux, Unix, Mac OS.
La seule ncessit rside dans l'existence d'un rseau informatique LAN / WAN.

82

Rapport du projet TER


La Vidosurveillance distance

Le logiciel Rapace permet de diffuser trs simplement et de manire compltement scurise le


flux vido de webcams. Le flux de la camra est alors accessible sur un compte personnel et
scuris depuis le site Rapace.com.

Une fois la webcam installe, elle est directement reconnue par l'application Rapace. Celle-ci
peut grer jusqu' 4 camras simultanment. Et tant que l'application est en marche, on retrouve
sur le compte web un accs distance aux camras.

Interface logicielle :
Il s'agit d'un logiciel qui ne s'interfacera pas avec d'autres logiciels.

Environnement oprationnel :
Le logiciel Rapace fonctionne via en amont un serveur central et un serveur local.

Installation:
Le service Rapace est bas sur lutilisation dun logiciel trs simple qui vous permet de
connecter votre Webcam et garder un il sur ce qui vous est cher. Pour utiliser Rapace, voici les
tapes suivre :
-

Sinscrire comme nouvel utilisateur

Crer un compte sur le site

Se connecter son compte

On a alors accs en direct aux camras se trouvant lendroit o le client les installs.
Le service Rapace fonctionne quelque soit le fournisseur d'accs internet

83

Rapport du projet TER


La Vidosurveillance distance

7.7

ANNEXE 8

7.7.1 QU'EST-CE QUE J2ME

Les principaux composants de la plate-forme Java 2, Micro Edition, (J2ME) incluent


notamment des configurations CDC (Connected Device Configurations) et CLDC (Connected
Limited Device Configurations), des profils MIDP (Mobile Information Device Profiles), ainsi
que d'autres outils et technologies ayant trait aux solutions Java destines au march des appareils
grand public et intgrs.

Les technologies J2ME incluent un environnement d'excution Java hautement optimis


s'adressant spcialement l'espace grand public. Les technologies J2ME sont adaptes une
vaste gamme de petits objets et offrent scurit, connectivit ainsi que des programmes utilitaires
trs utiles aux cartes puces intelligentes, aux pagers, dcodeurs et autres petits appareils.

Les technologies J2ME ne sont qu'une partie de la famille de produits logiciels Java. Les
plates-formes Java connexes sont les plates-formes Java 2, Standard Edition (plate-forme J2SE)
et Java 2, Enterprise Edition (plate-forme J2EE). La technologie Java permet galement de crer
des services Web, de procder des transferts d'informations XML, de nombreux protocoles de
rseau, des botes outils, ainsi que l'application Java Web Start.

Il existe 2 configurations : Connected Device Configuration (CDC) et Connected Limited


Device Configuration (CLDC) :

La CDC : adapte aux terminaux relativement puissant comme les PDA.

La CLDC : ddie aux appareils avec de faibles capacits comme les tlphones
portables

7.7.2 CONNECTED LIMITED DEVICE CONFIGURATION

84

Rapport du projet TER


La Vidosurveillance distance

Le Connected Limited Device Configuration (CLDC) est un sous-ensemble des classes


bibliothques Java qui contient le minimum de programmes ncessaires pour faire fonctionner
une machine virtuelle Java (JVM).
Le CLDC est essentiellement utilis pour classer les multiples dispositifs dans une
configuration fixe.

85

Rapport du projet TER


La Vidosurveillance distance

Une configuration offre les ensembles les plus lmentaires des bibliothques et les
caractristiques de la machine virtuelle qui doivent tre prsents dans chaque mise en place d'un
environnement J2ME.
Coupl avec un ou plusieurs profils, le Connected Limited Device Configuration donne aux
dveloppeurs une plate-forme solide Java avec laquelle on peut crer des applications pour les
consommateurs et les systmes embarqus.
L'API de base est dfinie par les sous-ensembles de Connected Limited Device
Configuration.

7.7.3 API DE BASE

javax.microedition.io
Contient des classes Java ME spcifiques utiliss pour les oprations d'entre-sortie.
javax.microedition.lcdui

"LCDUI interface utilisateur" tient compte du fait que les tlphones mobiles utilisent
normalement des crans LCD, mais les API ne sont pas spcifiquement adapts cette
technologie d'affichage. On dit aussi que "LCD interface utilisateur" signifie "plus petit
dnominateur commun du fait des spcificits interface utilisateur la conception la plus simple
possible.
javax.microedition.rms
Record Management System (RMS), est la fois une application et API pour le stockage
sur les appareils J2ME, comme la cellule phones. Il fournit une forme de stockage persistant pour
Java ME.
javax.microedition.midlet
Il contient les classes de base pour les applications Java ME.

86

Rapport du projet TER


La Vidosurveillance distance

7.7.4 API

SPECIALISE

AJOUTE

AU

MIDP

(MOBILE

INFORMATION

DEVICE PROFILE)

javax.microedition.media

Il contient les classes de base de la lecture multimdia. Ce sont un sous-ensemble de la JSR


135 Java Mobile Media API.
javax.microedition.lcdui.game

Un jeu d'API visant simple 2D sprite de jeux.


javax.microedition.pki

API d'authentification pour les connexions scurises.


javax.microedition.messaging
LAPI de messagerie sans fil (en option), pour envoyer des SMS et des MMS. JSR120

javax.microedition.pim

La gestion des renseignements personnels API (facultatif), l'accs du priphrique carnet


d'adresses.
javax.microedition.io.file

Le fichier de connexion en option Forfait (FCOP) est l'un des deux paquets facultatifs
dfinis par JSR75 via le Java Community Process. Le FileConnection spcifi dans l'API JSR 75
donne accs la boucle locale des systmes de fichiers sur des appareils comme les PDA. Afin
de surmonter les questions de scurit MIDlet il doit inclure un fichier de demande d'autorisation
dans son fichier JAD Midlet, sous-autorisation de proprit.

87