Vous êtes sur la page 1sur 43

UNIVERSITE CHEIKH ANTA DIOP DE DAKAR

FACULTE DES SCIENCES ET TECHNIQUE

DEPARTEMENT MATHS-INFORMATIQUE

MEMOIRE DE FIN DE CYCLE: LICENCE3 TRANSMISSION DE DONNEES ET


SECURITE DE L'INFORMATION(TDSI)

SUJET: MIS EN OEUVRE D'UN SYSTEME DE VIDEOSURVEILLANCE EN JAVA

Réalisé par M.Pape Modou Gane NDIAYE et M.Mouhamed Fadel DIAGANA


sous la direction de Docteur Abdoul Aziz CISS

Présenté et soutenu le 31 octobre 2014 devant le jury :


Président du jury : Pr Thiécoumba GUEYE Professeur à L’UCAD
Membres du jury :
Pr Djiby SOW Professeur à L’UCAD
Dr Abdoul Aziz CISS enseignant à L’EPT
M. ADJEOUA Haïkreo enseignant à L'UCAD
M. Ousmane Ndiaye enseignant à L’UCAD

ANNEE UNIVERSITAIRE 2013-2014


Dédicaces

Tout d'abord nous rendons grâce à DIEU pour tous les bienfaits qu'IL nous a
accordé ainsi que de nous avoir donné la force ,le courage et la connaissance
pour mener à bien ce projet.
Nous ne saurions trouver les mots assez forts pour manifester notre
gratitude à ceux qui de tout temps nous ont soutenus encouragés et
accompagnés durant développement de ce projet.

A nos parents

Remerciements
Nous remercions le professeur Mamadou SANGHARE Directeur du LACGAA ;
nous tenons aussi à vivement remercier le professeur Thiecoumba GUEUYE
responsable de la licence L3 et le professeur Djiby SOW responsable de la L2
pour leur disponibilité à tout instant.
A notre encadreur Dr Abdoul Aziz CISS nous adressons des remerciements
spéciales pour tout le temps qu'il nous a accordé et pour les cours de Java
dont il nous a fait part de façon si claire et si explicite.
A nos Professeurs M.HAIKREO Hadjeoua,M.Ousmane NDIAYE ,Dr.Demba
SOW ,M.Ousmane WILANE,Mr Elhadj Ousmane DIALLO,Mr Baba DABO ,Mr
E.M.MBOUP, M BARO ainsi qu'à tous les enseignants et membres du LACGAA
nous adressons aussi notre reconnaissance pour le travail acharné qu'ils ont
accompli car chacun d'eux dans son intégralité à contribuer à notre
formation et nous ont donnés beaucoup d'inspiration pour ce travail.

Mis en place d'un système de vidéosurveillance en Java 2


Table des matières
I.Introduction :.................................................................................................................................4
I.A Rappel Historique et un bref état sur la vidéosurveillance...................................................4
I.B Résumé Problématique et Contribution:...............................................................................5
II.Approche méthodologique...........................................................................................................7
II.A Problématique......................................................................................................................7
II.A.a Définition de la question du problème.........................................................................7
II.A.a.1 Sécurité informatique...........................................................................................7
II.A.a.1.1 Le local informatique....................................................................................8
II.A.a.1.2 La salle informatique de type "data center"..................................................8
II.A.a.1.3 La salle connectique d'étages........................................................................8
II.A.a.2 Sécurité physique.................................................................................................9
II.B L'état de la question.............................................................................................................9
II.B.a.1 Qu'est ce que la vidéo sur IP.................................................................................9
II.B.a.2 Sécurité et vidéosurveillance..............................................................................10
II.B.a.3 Contrôle distant...................................................................................................10
II.B.a.4 b. Caméra IP (ou réseau)....................................................................................10
II.B.a.5 Systèmes de vidéosurveillance analogique avec magnétoscopes traditionnels. .11
II.B.a.6 Systèmes de vidéosurveillance analogique avec enregistreurs numériques.......12
II.B.a.7 Systèmes de vidéosurveillance analogiques avec enregistreurs numériques
réseau...............................................................................................................................12
II.B.a.8 Systèmes de vidéo sur IP avec serveurs vidéo....................................................13
II.B.a.9 Systèmes de vidéo sur IP avec caméras réseau..................................................13
III.Objectifs....................................................................................................................................14
III.A Procédé de la recherche....................................................................................................14
III.A.a Présentation des outils d'analyse...............................................................................14
III.A.b Présentation de la méthode d'analyse.......................................................................15
III.A.b.1 Historique de la méthode MERISE..................................................................15
III.A.b.2 Présentation générale de la méthode MERISE.................................................16
III.A.c Spécification matérielle............................................................................................16
III.A.c.1 Durée.................................................................................................................16
III.A.c.2 Coût...................................................................................................................16
III.B Approche Technique.........................................................................................................17
III.B.a Modélisation (ou Conception) du système...............................................................17
III.B.a.1 Structure du modèle..........................................................................................17
III.B.a.2 Communication entre composants....................................................................19
III.B.a.3 Diagramme de cas d'utilisation.........................................................................20
III.B.a.3.1 Détails de la fonctionnalité paramétrage...................................................20
III.B.a.3.2 Paramétrage des mails:..............................................................................20
III.B.a.3.3 Scanner les ports:.......................................................................................21
III.B.a.3.4 Paramétrage modem et SMS:....................................................................21
III.B.b Validation du modèle................................................................................................21
IV.Mise en œuvre...........................................................................................................................22
IV.A Présentation de l’environnement de travail......................................................................23
IV.A.a Caméra wifi IP DCS-932L........................................................................................23
IV.A.b Modem 3G HUAWEI...............................................................................................24
IV.A.c Routeur......................................................................................................................25
IV.A.d AnalyseSI..................................................................................................................25
IV.A.e Netbeans....................................................................................................................26
IV.A.f GIMP.........................................................................................................................28
IV.A.g JAVA.........................................................................................................................29

Mis en place d'un système de vidéosurveillance en Java 3


IV.A.h Base de données H2..................................................................................................29
IV.A.i SMSLib......................................................................................................................31
IV.B Réalisation........................................................................................................................32
IV.B.a Description des différentes phases............................................................................32
IV.B.a.1 Connexion à l'application..................................................................................32
IV.B.a.2 Le compte administrateur :................................................................................32
IV.B.a.3 Le compte utilisateur:........................................................................................42
IV.B.a.4 Déconnexion à l'application..............................................................................44
IV.C Évaluation de la solution et Perspectives..........................................................................44
IV.C.a.1 Performances et Sécurité...................................................................................44
IV.C.a.2 Perspectives.......................................................................................................45
IV.C.a.2.1 Pi4j.............................................................................................................45
IV.C.a.2.2 Grid system................................................................................................46
V.Conclusion..................................................................................................................................47

Mis en place d'un système de vidéosurveillance en Java 4


I.Introduction :

I.A Rappel Historique et un bref état sur la


vidéosurveillance

La vidéosurveillance consiste à placer des caméras dans un lieu public ou


privé pour visualiser et/ou enregistrer en un endroit centralisé tous les flux
de personnes, pour surveiller les allées et venues, prévenir les vols,
agressions , fraudes et gérer les incidents et mouvements de foule.
Le premier système de vidéosurveillance fut installé par Siemens AG en1942
en Allemagne pour observer le lancement des fusées.
Depuis les années 1970 l'Angleterre fut le premier pays a instaurer le
système de vidéosurveillance. Actuellement, dans le monde, le nombre de
caméras s'élève environ à 25 millions ; et le marché de la vidéosurveillance
est en pleine ébullition, son chiffre d'affaire a augmenté de 265 millions
d'euros en 2003 et est en constante augmentation. La répartition de ces
dispositifs est très inégale dans le monde.
La surveillance a pour but de contrôler les conditions de respect de la
sécurité, de la sûreté ou de l'exécution d'une procédure particulière.
Différentes formes de caméras apparaissent au fur et à mesure de
l'évolution de la technologie. Au départ, la performance des caméras n'était
pas à la hauteur, et elles n'avaient pas la possibilité de zoomer. C'étaient des
caméras fixes. Puis, de plus en plus, on voit se développer de nouvelles
caméras plus performantes en couleurs avec de nouvelles fonctionnalités. On
peut même constater la présence de caméras multimédia (un haut parleur y
est intégré). Les dispositifs d'enregistrement et d'analyse sont plus précis,
plus efficaces.
Ces systèmes de surveillance peuvent être retrouvés dans trois grandes
catégories publiques :
• Les aéroports et les transports publics (Bus Dakar Dem Dikk) .

• Les lieux publics (centres commerciaux) et les parkings.

Mis en place d'un système de vidéosurveillance en Java 5


• Le trafic autoroutier (autoroute à péage de Dakar).

I.B Résumé Problématique et Contribution:

La vidéosurveillance est et demeure une solution très efficace dans la


sécurité des personnes et des biens. Son importance s'avère surtout dans le
domaine de la sécurité informatique (sécurité physique).
Malgré un protocole de sécurité bien défini et mis en place par beaucoup
d'entreprises pour le contrôle du trafic surtout au niveau des locaux
informatiques (salles serveurs) ou l'accès est très restreint, les intrusions
physiques peuvent ne pas être notifiées à l'administrateur en cas de son
absence. Ce problème est totalement réglé par la vidéosurveillance avec
l'introduction de la technologie de détection de mouvements et d'alertes par
mails et/ou par SMS, à l'administrateur, dans les caméras modernes dont le
fonctionnement sera détaillé plus tard. L'alerte par mails contient
généralement une à plusieurs images prises lors de la détection, ce qui
permet de se passer des enregistreurs vidéo.
Le système d'envoi d'alerte par SMS est inévitable et amènera aux systèmes
de vidéosurveillance l'avantage de pouvoir envoyer une alerte à n'importe
quelle destinataire sans se soucier d'une connexion à l'internet comme le cas
de l'envoi des mails.

Pour une gestion efficace du temps de réalisation de notre projet, nous


avons choisi de procéder comme suit :
1. Analyse des systèmes existants
2. Recherche documentaire
3. Choix matériels
4. Recherche API
5. Phases d'implémentations et de tests :
• Visualisation de vidéos fournis par la caméra sur une interface en java
et effectuer la détection d'intrusion,
• Capture d'images lors d'intrusions et les stocker dans un dossier

Mis en place d'un système de vidéosurveillance en Java 6


• Alerte sonore et visuelle
• Envoi des images capturées par mails
• Envoi de SMS sur les numéros renseignés lors de la configuration
• Sécurisation de l'ordinateur par verrouillage ou autres options lors
d'intrusion

L'étude du contexte de ce projet ainsi que sa réalisation seront détaillés dans


la suite de ce document. Dans la première partie, nous effectuerons une
approche méthodologique. Nous présenterons dans cette partie la
problématique en définissant la question du problème et son importance,
l'état de la question ainsi que l'objectif de la recherche. Ensuite nous
élaborerons le procédé de la recherche avec une revue documentaire puis
effectuerons un choix méthodologique d'analyse ainsi que la présentation du
système.
Au niveau de la deuxième partie, après avoir défini l'approche technique.,
nous présenterons les technologies et les notions classiques de sécurité
informatique ou de cryptographie qui seront utilisées ; ensuite place sera
faite à la modélisation du système.
Dans la troisième section, nous parlons de la mise en œuvre. Nous
commençons cette section par une présentation de l'environnement de
travail (étude comparative matériels, logiciels, langages, outils) ; puis passer
à la réalisation (présentation des processus, description des différentes
phases, …), et enfin passer à l'évaluation de la solution et des perspectives.
Nous terminons ce document par une conclusion, les références
bibliographiques, les webographies, les annexes et la table de matières.

Mis en place d'un système de vidéosurveillance en Java 7


II. Approche méthodologique

II.A Problématique

II.A.a Définition de la question du problème

II.A.a.1 Sécurité informatique

La sécurité informatique est un domaine vaste qui peut englober plusieurs


volets tels que: les systèmes d'informations, les réseaux informatiques, les
accès physiques à des salles machines. La question de notre problème
repose principalement sur la transmission d'un rapport à l'administrateur lors
des accès physiques indésirés aux locaux informatiques.

II.A.a.1.1 Le local informatique

Pour différentes raisons liées à la nature des équipements, à leurs conditions


de fonctionnement, à leur criticité, au bruit ou à la chaleur dégagée, etc., il
est judicieux de mettre en place des locaux informatiques dédiés, séparés
des surfaces de travail utilisées par les employés.
On peut distinguer différents types de locaux informatiques, tels que :

II.A.a.1.2 La salle informatique de type "data center"

Cette salle héberge généralement tous les équipements spécialisés,


nécessaires à la fourniture des ressources informatiques. On y trouve les
serveurs, gros calculateurs, solutions de sauvegarde et de restauration des
données, baies de stockage, etc..

Mis en place d'un système de vidéosurveillance en Java 8


Dans la plupart des sociétés de taille moyenne, cette salle contient
également les éléments critiques du réseau (commutateurs, routeurs,...)
ainsi que les points d'accès et équipements servant à connecter la société
vers le monde extérieur (central téléphonique, accès à l'Internet,...).

Dans de plus grandes infrastructures, on trouve différentes salles


spécialisées, appelées salle réseau, salle téléphonie et salle connectique.

Au niveau des très gros centres de calcul, on fait même la distinction entre
la salle «morte» où se trouvent les équipements n'exigeant que très peu
d'interventions humaines (processeurs, stockage,...) et la salle «vive» où se
trouvent les équipements nécessitant des interventions humaines fréquentes
(robot de sauvegarde,...).

II.A.a.1.3 La salle connectique d'étages

Au niveau des étages, on trouve habituellement des locaux servant à


connecter les équipements de l'étage sur le tronc commun de câblage
menant à la salle informatique. Ces salles contiennent ordinairement des
panneaux de brassage ainsi que des commutateurs d'étage.

Ces locaux et la connectique sont normalement conçus avec une redondance


maximale, de manière à prévenir au maximum des ruptures éventuelles.

Étant donné la criticité de ces équipements, ces locaux sont considérés


comme des locaux informatiques et sont donc soumis aux mêmes exigences
de conception et de surveillance.

II.A.a.2 Sécurité physique

La sécurité physique concerne tous les aspects liés de l'environnement dans


lequel les systèmes se trouvent.
Elle passe donc par des normes de sécurité, une protection de
l'environnement (incendie, température, humidité,...), une protection des
accès, une redondance physique, un plan de maintenance préventive et
corrective, ….

Mis en place d'un système de vidéosurveillance en Java 9


II.B L'état de la question

II.B.a.1 Qu'est ce que la vidéo sur IP

La vidéo sur IP, dans le cadre d'applications spécifiques de vidéosurveillance,


de sécurité et de contrôle distant, est un système permettant à ses
utilisateurs de visualiser et d'enregistrer des images ou des vidéos via un
réseau IP (LAN/WAN/Internet).
A la différence des systèmes analogiques et des webcams, la vidéo sur IP
utilise le réseau informatique plutôt qu'un système de câblage point-à-point
pour transmettre les informations. Le terme vidéo sur IP englobe à la fois les
sources vidéo et audio véhiculées par le système. Dans une application de
vidéo sur IP, les flux d'images vidéo numériques peuvent être transférés
n'importe où dans le monde via un réseau IP câblé ou sans fil, permettant
une visualisation et un enregistrement vidéo en tout point du réseau.
La vidéo sur IP est utilisée dans un grand nombre de situations. En pratique,
cependant, ses applications concernent surtout deux grandes catégories :

II.B.a.2 Sécurité et vidéosurveillance

Grâce à ses fonctions avancées, la vidéo sur IP s'avère particulièrement


indiquée pour les applications de sécurité et de vidéosurveillance. La
souplesse des techniques numériques renforce la capacité à protéger les
personnes, les biens et les propriétés. De telles solutions constituent dès lors
une option particulièrement intéressante pour les sociétés qui possèdent
déjà un système de vidéosurveillance et celles souhaitant mettre en place de
telles applications.

II.B.a.3 Contrôle distant

Mis en place d'un système de vidéosurveillance en Java 10


La vidéo sur IP permet aux utilisateurs d'obtenir à tout instant des
informations sur une opération en cours, et de la suivre en temps réel. Cette
caractéristique en fait une technologie idéale pour assurer le contrôle des
installations, des personnes et des locaux, sur place ou à distance.

II.B.a.4 b. Caméra IP (ou réseau)

Une caméra réseau peut être définie comme l'association d'une caméra et
d'un ordinateur. Elle capture et transmet des images en direct sur un réseau
IP, ce qui permet aux utilisateurs autorisés de suivre en local ou à distance,
d'enregistrer et de gérer la vidéo à l'aide d'une infrastructure réseau IP
standard.
Une caméra réseau possède sa propre adresse IP. Connectée au réseau, elle
intègre notamment un serveur web, un serveur FTP, un client FTP, un client
e-mail, la gestion des alarmes, des possibilités de programmation, et bien
plus encore. Une caméra réseau n'a pas besoin d'être connectée à un PC :
elle fonctionne de façon indépendante et peut être installée en tout lieu
disposant d'une connexion au réseau IP. Une caméra web ou webcam est,
quant à elle, tout à fait différente. Pour fonctionner, elle doit obligatoirement
être connectée au port USB ou IEEE 1394 d'un PC, ce dernier devant
nécessairement être allumé.
Les systèmes de vidéosurveillance existent depuis environ 40 ans.
Intégralement analogiques à leurs débuts, ils ont évolué progressivement
vers la technologie numérique et fournissent de nouveaux services surtout
au niveau des notifications de détection d'intrusions avec la possibilité
d'effectuer des captures d'images et de les envoyer par mails à
l'administrateur, de l'alerter par SMS en cas d'impossibilité de connexion à
internet et d'effectuer des alertes sonores pour permettre également aux
individus proches du lieu d'intervenir rapidement. Ainsi, les systèmes actuels
ne ressemblent plus guère aux anciennes caméras analogiques branchées
sur des magnétoscopes traditionnels. Aujourd'hui, ils utilisent les caméras
réseau et les serveurs informatiques pour l'enregistrement vidéo dans un
système entièrement numérique. Entre les systèmes entièrement

Mis en place d'un système de vidéosurveillance en Java 11


analogiques et les systèmes entièrement numériques, il existe encore
néanmoins toute une série de solutions partiellement numériques incluant
une quantité variable de composants numériques.

II.B.a.5 Systèmes de vidéosurveillance analogique avec


magnétoscopes traditionnels

Un système de vidéosurveillance analogique utilisant un magnétoscope


traditionnel (VCR) est un système entièrement analogique dans lequel les
caméras analogiques avec sorties coaxiales sont reliées au magnétoscope
pour l'enregistrement. Les bandes utilisées sont identiques à celles utilisées
par les particuliers. Les séquences vidéo ne sont pas compressées. Dans le
cas d‟un enregistrement à vitesse maximale, une cassette a une durée
maximale de 8 heures. Dans les systèmes de plus grande envergure, un
quad ou multiplexeur peut être connecté entre la caméra et le
magnétoscope. Le quad/multiplexeur permet alors d'enregistrer le contenu
de plusieurs caméras sur un même magnétoscope, mais selon une fréquence
d'image cependant inférieure. La surveillance vidéo nécessite un moniteur
analogique.

II.B.a.6 Systèmes de vidéosurveillance analogique avec


enregistreurs numériques

Un système de vidéosurveillance analogique utilisant un enregistreur


numérique (DVR Digital Video Recorder) est un système analogique
permettant l'enregistrement numérique des images. Avec un enregistreur
numérique, l'enregistrement vidéo ne se fait plus sur bandes magnétiques
mais sur des disques durs où les séquences sont numérisées et compressées
de manière à emmagasiner chaque jour un maximum d'images. Les
premiers enregistreurs numériques disposaient d'un espace disque limité. La
durée des enregistrements était donc assez restreinte, à moins de réduire la
fréquence d'images. Grâce aux progrès récents dans ce domaine, l'espace
disque ne pose plus réellement problème. La plupart des enregistreurs
numériques disposent en outre de plusieurs entrées vidéo (en général 4, 9

Mis en place d'un système de vidéosurveillance en Java 12


ou 16), ce qui leur permet d'intégrer d'emblée les fonctionnalités du quad ou
des multiplexeurs.
Les enregistreurs numériques présentent les avantages suivants :
• Pas besoin de changer de cassette

• Qualité constante de l'image

II.B.a.7 Systèmes de vidéosurveillance analogiques avec


enregistreurs numériques réseau

Un système de vidéosurveillance analogique passant par un enregistreur


numérique (DVR) réseau est un système en partie numérique comprenant
un enregistreur numérique réseau connecté via un port Ethernet. La vidéo
étant numérisée et compressée sur l'enregistreur numérique, les images
peuvent être transportées sur un réseau informatique à des fins de
surveillance sur PC distant. Certains systèmes permettent à la fois la
visualisation des séquences en direct et des séquences enregistrées;
d'autres se limitent aux images enregistrées. Sur certains systèmes, la
surveillance vidéo requiert en outre un client Windows spécifique, tandis que
d'autres nécessitent un simple navigateur web standard, plus flexible pour
une visualisation à distance.
Les enregistreurs numériques réseau présentent les avantages suivants :
• Visualisation vidéo à distance sur PC

• Contrôle du système à distance

II.B.a.8 Systèmes de vidéo sur IP avec serveurs vidéo

Un système de vidéo sur IP associé à un serveur vidéo comprend un serveur


vidéo, un commutateur réseau et un PC équipé d'outils de gestion vidéo. La
caméra analogique est branchée sur le serveur vidéo, lequel assure la

Mis en place d'un système de vidéosurveillance en Java 13


numérisation et la compression des séquences vidéo. De son côté, le serveur
vidéo est connecté sur le réseau qui transporte la vidéo vers un PC ou
serveur via un commutateur réseau. La vidéo est alors enregistrée sur le
disque dur du PC. Il s'agit alors d'un véritable système de vidéo sur IP. Ce
système utilisant les serveurs vidéo présentent les avantages suivants :
• Recours à un réseau standard et à un serveur informatique standard
pour l'enregistrement et le traitement vidéo

• Système capable d'évoluer d'une caméra à la fois

• Possibilité d'enregistrement hors-site

• Système évolutif pouvant être élargi par ajout de nouvelles caméras


réseau .

II.B.a.9 Systèmes de vidéo sur IP avec caméras réseau

Une caméra réseau associe une caméra et un ordinateur. Permettant la


numérisation et la compression vidéo, elle est en outre équipée d'un
connecteur réseau. La vidéo est acheminée par réseau IP via les
commutateurs réseau, pour être enregistrée sur un PC/serveur standard à
l'aide d'outils de gestion vidéo. Il s'agit d'un système de vidéo sur IP à part
entière, doublé d'un système entièrement numérique n'utilisant aucun
composant analogique. Les systèmes de vidéo sur IP reposant sur
l'utilisation de caméras réseau présentent les avantages suivants :
• Caméras haute résolution (méga pixels)

• Qualité constante de l'image

• Fonction d'alimentation par câble Ethernet (Power over Ethernet) et


réseau sans fil

• Fonctions panoramique/inclinaison/zoom, audio, entrées et sorties


numériques sur IP

Mis en place d'un système de vidéosurveillance en Java 14


III. Objectifs

Vu le rôle que jouent les données pour une entreprise, celles-ci doivent être
alors bien sécurisées pour pouvoir garder le secret de l'entreprise. Puisque
pour une entreprise, pratiquement toutes les informations sont centralisées
au niveau de la salle serveur, nous orientons notre recherche sur : Comment
alerter le ou les intéressés en cas d'intrusions?
Pour ce faire, nous décidons de mettre en place un système de
vidéosurveillance qui pourra gérer plusieurs fonctionnalités à savoir :
détection de mouvements, sauvegarde des images et alerte par SMS, sonore
et mails lors d'intrusions.

III.A Procédé de la recherche

III.A.a Présentation des outils d'analyse


Choix de la méthode d'analyse

Vu le nombre important et les différences notoires entre les méthodes


d'analyse, nous avons effectué une étude comparative entre quelques unes
de ces méthodes et finalement nous avons été charmé par la méthode
MERISE (Méthode d’Étude et de Réalisation Informatique par les Sous-
Ensembles ou pour les Systèmes d’Entreprise).

III.A.b Présentation de la méthode d'analyse


III.A.b.1 Historique de la méthode MERISE

Merise est un acronyme signifiant Méthode d’Étude et de Réalisation


Informatique par les Sous-Ensembles
ou pour les Systèmes d’Entreprise.

La méthode Merise a comme objectif d’aider, de guider les SSII (Société de


services en ingénierie informatique), dans leurs phases d’analyses, de
conception et le développement de l’applicatif.

Mis en place d'un système de vidéosurveillance en Java 15


Nous devons la création, l’étude et la mise en place de cette méthode à une
équipe de chercheurs et d’ingénieurs aixois (Jean-Louis le Moigne, Hubert
Tardieu, Dominique Nancy, Henry Heckenroth, Daniel Pasco, Bernard
Espinasse) qui en posèrent les bases dans le milieu des années 1970.
La méthode Merise présente comme avantage indéniable de permettre une
définition claire et précise de l’ensemble du Système d’Information et d’en
définir correctement le périmètre.
Cette méthode est actuellement enseignée aux étudiants se dirigeant vers
des études informatiques, mais aussi aux étudiants voulant suivre des
études comptables. En effet, dans les petites et moyennes entreprises qui
n’ont souvent pas de service informatique c’est le comptable qui est
l’interlocuteur privilégié entre l’entreprise et le prestataire de services
informatiques.
Dominique Nancy, Henry Heckenroth rejoignirent Bernard Cohen créateur de
la société Cecima distributrice du logiciel Win’Design qui permet de concevoir
les différentes phases d’un projet piloté par la méthode Merise.

III.A.b.2 Présentation générale de la méthode MERISE


La méthode Merise se caractérise par :
• une approche systémique en ayant une vue de l’entreprise en terme
de systèmes
• une séparation des données (le côté statique) et des traitements (le
côté dynamique)
• une approche par niveaux.

Mis en place d'un système de vidéosurveillance en Java 16


III.A.c Spécification matérielle
III.A.c.1 Durée

Le développement du projet a suivi un certains nombre d'étapes :


• Discussion pour le choix du modèle de caméra à utiliser
• Lecture de la documentation
• Implémentation avec le langage JAVA
En somme, nous pouvons dire que le projet a été développement en trois
mois.

III.A.c.2 Coût

Matériels Quantité Prix Référence


Webcam Dlink DCS- 2 101600 F.CFA Cdiscount.sn
932L 30/10/2014
Modem gsm HUAWEI 2 20.000 F.CFA HUAWEI
E3131A
Routeur SMC Barricade 1 15.000 F.CFA
Divers(Internet,SMS) 5000 F.CFA

Mis en place d'un système de vidéosurveillance en Java 17


III.B Approche Technique

III.B.a Modélisation (ou Conception) du système


III.B.a.1 Structure du modèle
Notre objectif est de réaliser un système qui permet à une personne
(un administrateur) de surveiller un local. Pour cela, le système nécessite un
caméra IP, un routeur, un modem 3G et une connexion internet.
Afin de mettre en œuvre ce système de vidéosurveillance, nous nous
sommes fixés plusieurs sous-objectifs ( Visualisation de vidéo fourni par la
camera sur le réseau et effectuer la détection d’intrusion, développement du
module alertes et gestion des intrusions,...) qui constituent les
étapes en vue de l'aboutissement du système.
L'application est gérée par l'administrateur qui a la possibilité d'ajouter ou de
modifier des utilisateurs. L'utilisateur, quant à lui, s'occupe de certaines
tâches (qui seront développées sur la partie «Description des différentes
phases»).

Illustration 1: Architecture physique du système

Mis en place d'un système de vidéosurveillance en Java 18


III.B.a.2 Communication entre composants
Diagramme de classes

Illustration 2: Diagramme des classes

III.B.a.3 Diagramme de cas d'utilisation

Le diagramme de cas d'utilisation met en évidence les grandes relations


fonctionnelles entre l'administrateur, les utilisateur et le système

III.B.a.3.1 Détails de la fonctionnalité paramétrage


Cette fonctionnalité est gérée par l'administrateur et est décomposées en
quatre parties: Paramétrage des caméras:
Dans cette partie, l'administrateur a la possibilité de renseigner le nom,
l'adresse ip, l'identifiant, le mot de passe et la sensibilité des caméras.

Mis en place d'un système de vidéosurveillance en Java 19


III.B.a.3.2 Paramétrage des mails:
Au niveau de cette section, l'administrateur renseigne le mail et le mot de
passe de l'expéditeur ainsi que les différents mails des destinataires qui
seront alertés.

III.B.a.3.3 Scanner les ports:


Cette section permet à l'administrateur d'identifier les ports qui sont
disponibles pour pouvoir paramétrer le modem.

III.B.a.3.4 Paramétrage modem et SMS:


Après l'identification des ports disponibles, l'administrateur peut maintenant
paramétrer le modem en renseignant le port et le débit mais également
renseigner les numéros des destinataires qui doivent recevoir les alertes par
SMS.

Avoir un compte

Vision mode duo :


utilisateur Alerte mail SMS
Détection simple

Vision mode mono :


Vision Nocturne
Détection avec alarme
Gestion des utilisateurs :
Creation
Modification
Suppression

Administrateur Paramétrages :
Camera
Mail
Modem/SMS
Scan

Illustration 3: Diagramme des cas d'utilisation


III.B.b Validation du modèle

Avantages et limites du système conçu

Mis en place d'un système de vidéosurveillance en Java 20


Le modèle choisi adopte une architecture décentralisée qui permet en outre
les possibilités suivantes :
Extensibilité : ajout d'autres caméras, ajout d'autres modems ,
augmentation du nombre de contacts, redéfinition de l'interface
graphique(thèmes,panneaux additionnels, etc), diversification des méthodes
d'avertissement
Mobilité : Bien que développée sous Windows, l'application peut être
facilement exportée sous d'autres systèmes (Linux). Les données transmises
sont accessibles aussi bien sur la machine locale qu'à distance (mail). Dans
les cas critiques, l'administrateur pourra accéder partout aux flux des
caméras
Convivialité : Aussi bien l'interface d'administration que l'interface
d'utilisation, sont faciles à manier même pour un novice.
Limites : Certaines restrictions ont été apporté au système pour anticiper
sur les disques durs où doivent être enregistrées les captures notamment
l'utilisation d'images au-lieu de vidéos car ces dernières occupant plus
d'espaces.

Mis en place d'un système de vidéosurveillance en Java 21


IV. Mise en œuvre

IV.A Présentation de l’environnement de travail

IV.A.a Caméra wifi IP DCS-932L


La caméra réseau domestique Wireless N à vision diurne et nocturne
DCS-932L est une caméra de surveillance polyvalente destinée aux
particuliers et aux petits bureaux. Contrairement à une webcam classique, la
caméra transmet des images vidéo et un son de haute qualité à des fins de
télésurveillance domestique, même dans l'obscurité la plus totale grâce à ses
voyants infrarouges intégrés. Grâce à sa distance d'éclairage de cinq mètres,
cette caméra est idéale pour surveiller vos locaux informatiques.

Caractéristiques Techniques

Mis en place d'un système de vidéosurveillance en Java 22


Capteur 0,3 Mpixels
Interface 1 Ethernet
Interface 2 Wi-Fi
Zoom optique Non
Zoom numérique 4X
Motorisation horizontale Non
Motorisation verticale Non
Mode de fixation Pied
Inclinaison horizontale Oui
Inclinaison verticale Oui

Mode Vidéo

Micro Oui
Suivi du visage automatique Non
Voyant de communication Oui

Mode Photo

Résolution photo 640 x 480 pixels


Bouton photo Non

Dimensions (en cm)

Largeur 6
Hauteur 9,60
Profondeur 2,70

Mis en place d'un système de vidéosurveillance en Java 23


IV.A.b Modem 3G HUAWEI

Modèle :E3131A
Débit 3G : HSDPA jusqu’à 7.2 Mbps descendant
HSUPA jusqu’à 5.7 Mbps montant
3G, EDGE, GPRS

Quadri-bande (850/900/1800/1900 MHz)

IV.A.c Routeur

SMC SMCWBR14-G2 Barricade G 2.4GHz 54Mbps


Wireless Cable/DSL Broadband Router
Commutateur 4 ports 10/100 Mbps auto-MDIX,
Point d'accès sans fil 54 Mbps, un firewall SPI,
Administration par interface Web et
Fonction VPN Pass Through
10/100 Mbps, Wi-Fi B (IEEE 802.11b), Wi-Fi G (IEEE 802.11g)
4 x RJ45
Supporte la norme 802.1x (authentification par port),
Wi-Fi protégé (WPA/WPA2),
Filtrage des adresses MAC et cryptage WEP 64 et 128 bits

Mis en place d'un système de vidéosurveillance en Java 24


IV.A.d AnalyseSI

AnalyseSI est un programme de modélisation de BDDR libre (Base de


données relationnelles) par la méthode entités-relations (MERISE).
Ce programme est un outil de modélisation, c’est à dire qu’il permet de créer
une représentation simple d’un système, ici d’une base de données
relationnelle. Après avoir schématisé la base de données, le programme
créera automatiquement le script qui permettra d’installer la base de
données sur le serveur et le BDDR de votre choix (tant que celui-ci
comprend le langage SQL).
Son interface est très intuitive, ce qui permet au débutant de rentrer
directement dans le vif du sujet, alors que d’autres programmes du même
type (et propriétaires) sont généralement plus compliqués.
AnalyseSI rentre dans le cercle très étroit des logiciels libres de conception
de base de données.
Les nouvelles versions corrigent plusieurs bugs et s’attaquent à certains
problèmes du programme, comme l’impossibilité de modéliser des relations
réflexives. Ce programme a le grand avantage de réaliser correctement et
simplement son objectif : créer des BDDR. Contrairement à d’autres, il ne
prend pas la tête et ne nécessite aucune connaissance autre que la
modélisation entité-association (appelé aussi MERISE). La devise de ce
programme pourrait être « Small is beautiful ».

Mis en place d'un système de vidéosurveillance en Java 25


IV.A.e Netbeans

NetBeans est un environnement de développement intégré (EDI), placé en


open source par Sun en Juin 2000 sous licence CDDL et GPLv2. En plus de
Java, NetBeans permet également de supporter différents autres langages,
comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il comprend
toutes les caractéristiques d'un IDE moderne (éditeur en couleur, projets
multi-langages, refactoring, éditeur graphique d'interfaces et de pages Web).

Conçu en Java, NetBeans est disponible sous Windows, Linux, Solaris(sur


x86 et SPARC), Mac Os X ou sous une version indépendante des systèmes
d'exploitation (requérant une machine virtuelle Java). Un environnement
« Java Development Kit » JDK est requis pour les projets en Java.

NetBeans constitue par ailleurs une plate forme qui permet le


développement d'applications spécifiques (bibliothèque Swing(Java)). L'IDE
s'appuie sur cette plate forme et s'enrichit à l'aide de greffons.

Nous avons effectuer le choix de NetBeans par rapport à eclipse pour mieux
gérer l'interface graphique avec le layout « free design » mais également
pour la javadoc et les autres possibilités exclusives qu'il offre.

Mis en place d'un système de vidéosurveillance en Java 26


IV.A.f GIMP

GIMP (GNU Image Manipulation Program) est un outil d'édition et de


retouche d'image et est diffusé sous la licence GPLv3 comme un logiciel
gratuit et libre. Il en existe des versions pour la plupart des systèmes
d'exploitation dont GNU/Linux, OS X, et Microsoft Windows.

GIMP a des outils utilisés pour la retouche et l'édition d'image, le dessin à


main levée, réajuster, rogner, photomontages, convertir entre différents
formats d'image, et plus de tâches spécialisées. Les images animées comme
les fichiers GIF et MPEG peuvent être créées en utilisant un plugin
d'animation.

Les développeurs et mainteneurs de GIMP souhaitent créer un logiciel


d'infographie gratuit haut de gamme pour l'édition et la création d'images
originales, de photos, d'icônes, d'éléments graphiques de pages web, et d'art
pour les éléments de l'interface de l'utilisateur.

Dans ce projet, nous utilisons GIMP pour le design de l'interface graphique


de l'application.

Mis en place d'un système de vidéosurveillance en Java 27


IV.A.g JAVA

Le langage Java est un langage de programmation informatique orienté


objet créé par James Gosling et Patrick Naughton, employés de Sun
Microsystems, avec le soutien de Bill Joy (cofondateur De Sun Microsystems
en 1982), présenté officiellement le 23 MAI 1995 au SunWorld.

La société Sun a été ensuite rachetée en 2009 par la société Oracle qui
détient et maintient désormais Java.

La particularité et l'objectif central de Java est que les logiciels écrits dans ce
langage doivent être très facilement portables sur plusieurs systèmes
d’exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu ou
pas de modifications. Pour cela, divers plate-formes et frameworks associés
visent à guider, sinon garantir, cette portabilité des applications développées
en Java.

IV.A.h Base de données H2


H2 est un système de gestion de base de données relationnelle écrit en
java. Le développement de H2 a débuté en Mai 2004 et fut publié en
décembre 2005. L'auteur du moteur est Thomas Mueller. Il a également
développé le SGBD Java Hypersonic SQL avant d’arrêter son développement
qui a été repris par le HSQLDB Group.

Mis en place d'un système de vidéosurveillance en Java 28


Ici, nous utilisons H2 en tant que base de données embarquée afin
d'enregistrer en sécurité les paramètres de l'application.

Comparaison de H2 par rapport aux autres SGBD

Feature H2 Derby HSQLDB MySQL PostgreSQL


Pure Java Yes Yes Yes No No
Embedded Mode (Java) Yes Yes Yes No No
In-Memory Mode Yes Yes Yes No No
Explain Plan Yes Yes *12 Yes Yes Yes
Built-in Clustering / Replication Yes Yes No Yes Yes
Encrypted Database Yes Yes *10 Yes *10 No No
Linked Tables Yes No Partially *1 Partially *2 No
ODBC Driver Yes No No Yes Yes
Fulltext Search Yes No No Yes Yes
Domains (User-Defined Types) Yes No Yes Yes Yes
Files per Database Few Many Few Many Many
Row Level Locking Yes *9 Yes Yes *9 Yes Yes
Multi Version Concurrency Yes No Yes Yes Yes
Multi-Threaded Statement
No *11 Yes Yes Yes Yes
Processing
Role Based Security Yes Yes *3 Yes Yes Yes
Updatable Result Sets Yes Yes *7 Yes Yes Yes
Sequences Yes Yes Yes No Yes
Limit and Offset Yes Yes *13 Yes Yes Yes
Window Functions No *15 No *15 No No Yes
Temporary Tables Yes Yes *4 Yes Yes Yes
Information Schema Yes No *8 Yes Yes Yes
Computed Columns Yes Yes Yes No Yes *6
Case Insensitive Columns Yes Yes *14 Yes Yes Yes *6
Custom Aggregate Functions Yes No Yes Yes Yes
CLOB/BLOB Compression Yes No No No Yes
Footprint (jar/dll size) ~1.5 MB *5 ~3 MB ~1.5 MB ~4 MB ~6 MB
Tableau 1: Comparaison de H2 avec les autres SGBD

1 HSQLDB supports text tables.


2 MySQL supports linked MySQL tables under the name 'federated tables'.
3 Derby support for roles based security and password checking as an option.
4 Derby only supports global temporary tables.
5 The default H2 jar file contains debug information, jar files for other databases do not.
6 PostgreSQL supports functional indexes.
7 Derby only supports updatable result sets if the query is not sorted.

Mis en place d'un système de vidéosurveillance en Java 29


8 Derby doesn't support standard compliant information schema tables.
9 When using MVCC (multi version concurrency).
10 Derby and HSQLDB don't hide data patterns well.
11 The MULTI_THREADED option is not enabled by default, and not yet supported when using MVCC.

12 Derby doesn't support the EXPLAIN statement, but it supports runtime statistics and retrieving statement
execution plans.
13 Derby doesn't support the syntax LIMIT .. [OFFSET ..], however it supports FETCH FIRST .. ROW[S]
ONLY.

14 Using collations. *15 Derby and H2 support ROW_NUMBER() OVER().

NB : La comparaison est laissée en anglais pour ne pas détourner du sens.

IV.A.i SMSLib

SMSLib est une API universelle pour la messagerie SMS, Elle peut être
utilisée pour envoyer et recevoir des messages via des modems GSM et/ou
des opérateurs de SMS .
Composition de SMSLib :
API Java Communications
L'API Java Communications (également connu sous le nom javax.comm)
fournit aux applications un accès au matériel RS-232 (port série) comme par
exemple l'accès au modem et l'accès limité à la norme IEEE-1284 (ports
parallèles), le mode SPP.
RxTx
C'est une bibliothèque native sous java permettant de communiquer avec les
périphériques série,et parallèle.
Log4j communique avec les périphériques série à travers la bibliothèque
RXTX.

Mis en place d'un système de vidéosurveillance en Java 30


IV.B Réalisation

IV.B.a Description des différentes phases


IV.B.a.1 Connexion à l'application
L'accès à l'application n'est possible qu'après avoir fournit un login ainsi
qu'un mot de passe correcte.

Il existe deux types de comptes :

IV.B.a.2 Le compte administrateur :


Une fois le login et le mot de passe fournit, l'administrateur accède à la page

d'administration ou il peut paramétrer l'application ou bien gérer les


utilisateurs.

Capture 1: Connexion de l'administrateur

Mis en place d'un système de vidéosurveillance en Java 31


Capture 2: Accueil administrateur

Mis en place d'un système de vidéosurveillance en Java 32


Paramétrages

Pour la partie paramétrage, l'administrateur renseigne toutes les


informations concernant les caméras, le modem, les SMS, les mails et
effectuer le scan de ports.

Capture 3: Paramètre camera

Capture 4: Paramètres modem sms

Mis en place d'un système de vidéosurveillance en Java 33


Capture 5: Scan des ports pour le modem

Mis en place d'un système de vidéosurveillance en Java 34


Gestion utilisateurs

Pour la section gestion des utilisateurs, l'administrateur peut créer, modifier


ou supprimer des utilisateurs (opération CRUD SQL Create, Read, Update,
Delete).

Capture 6: Création utilisateur

Capture 7: Modification ou suppression utilisateur

Mis en place d'un système de vidéosurveillance en Java 35


IV.B.a.3 Le compte utilisateur:

Capture 8: Connexion utilisateur

Capture 9: Accueil utilisateur


Mis en place d'un système de vidéosurveillance en Java 36
Avec une connexion réussie, l'utilisateur a accès aux fonctionnalités de
détection:
Visualisation des flux sur les deux caméras sur une même fenêtre (mode duo)

Capture 10: Vision Duo


Visualisation des flux sur chaque caméra séparément (le choix du caméra à
afficher va se faire: mode mono vue plus élargie)

Mis en place d'un système de vidéosurveillance en Java 37


Capture 11: Vision Mono

IV.B.a.4 Déconnexion à l'application


Chaque acteur de l'application a la possibilité de retourner à la page de
connexion en cliquant sur le bouton se déconnecter et aussi à la page
d'accueil.

IV.C Évaluation de la solution et Perspectives

IV.C.a.1 Performances et Sécurité

Les processeurs actuels utilisent une architecture multi cœurs. En plus de la


virtualisation de ces cœurs (hyperthreading sous Intel), cela améliore le
temps de réaction et les performances des applications. Cette architecture
est utilisée dans l'application afin de créer plusieurs threads (tâche isolée ou
fil d’exécution) indépendants optimisant ainsi la réactivité.

Pour garantir la sécurité des données, nous utilisons le chiffrement AES dans

Mis en place d'un système de vidéosurveillance en Java 38


la base de données embarquée. Ainsi, aucune donnée ne peut être lue par
un utilisateur lambda même s'il y accède.

Aussi pour éviter les attaques exhaustives de type injection SQL, différentes
méthodes sont utilisées parmi lesquelles on peut citer : les requêtes
préparées associées à un hachage de type md5.

IV.C.a.2 Perspectives

IV.C.a.2.1 Pi4j

Le Raspberry Pi est un nano ordinateur construit sur une seule


carte,possédant un processeur ARM (Advanced RISC Machines ) des ports
USB un port RJ45 pour une connexion au réseau en plus d’entrées et sorties
GPIO (General Purpose Input/Output ) il s'adonne parfaitement aux
systèmes embarquées mais encore plus au contrôle à distance.

Illustration 4: Raspberry Pi Model B+

Mis en place d'un système de vidéosurveillance en Java 39


Pi4j est une API(application programming interface ) Java orientée objet
donnant accès à totalité des ports GPIO du RapberryPi.

Avec le système de vidéosurveillance en embarqué dans un Raspberry et de


surcroît utilisant la librairie pi4j, les actions déclenchées lors d’une détection
pourraient être plus concrètes.

Illustration 5: Schéma détaillé des ports GPIO

IV.C.a.2.2 Grid system

Dans la plupart des locaux informatiques de grande taille,installer une seule


camera ne suffit pas, le moyen le plus précis et le plus efficace de surveiller
les lieux serait de mette en place une grille virtuelle disposant de plusieurs
cameras et ordonnée de sorte à avoir les informations nettes sur

Mis en place d'un système de vidéosurveillance en Java 40


l'emplacement où une détection à été effectuée, ce qui est un gain
considérable en espace car les cameras pouvant balayer une zone large par
rapport aux détecteurs habituels.

V. Conclusion
Ce projet nous a permis de découvrir et d'apprendre beaucoup sur les
techniques de la programmation orientée objet,en outre de par sa richesse
on a exploré de nombreuses facettes du langage Java parmi lesquelles on
peut citer la gestion des exceptions,le contournement des bugs,l'utilisation
massive d'API et le management de leurs différentes versions,l'utilisation des
threads,la sécurité et les algorithmes de chiffrement,et enfin une chose très
importante:la communication entre le matériel et le logiciel.

De nombreuse perspectives d’amélioration et de perfectionnement existent


et une fois encore cela soulève les questions de la sécurité physique dans
l'environnement informatique,domaine qui parfois négligée peu s’avérer
dans certains cas être de nature primordiale.

Mis en place d'un système de vidéosurveillance en Java 41


Annexes

Index des illustrations


Illustration 1: Architecture physique du système...........................................................................16
Illustration 2: Diagramme des classes...........................................................................................17
Illustration 3: Diagramme des cas d'utilisation..............................................................................18
Illustration 4: Raspberry Pi Model B+...........................................................................................37
Illustration 5: Schéma détaillé des ports GPIO..............................................................................38

Index des Captures


Capture 1: Connexion de l'administrateur.....................................................................................30
Capture 2: Accueil administrateur.................................................................................................31
Capture 3: Paramètre camera.........................................................................................................32
Capture 4: Paramètres modem sms................................................................................................32
Capture 5: Scan des ports pour le modem.....................................................................................33
Capture 6: Création utilisateur.......................................................................................................33
Capture 7: Modification ou suppression utilisateur.......................................................................34
Capture 8: Connexion utilisateur...................................................................................................35
Capture 9: Accueil utilisateur........................................................................................................35
Capture 10: Vision Duo.................................................................................................................36
Capture 11: Vision Mono...............................................................................................................37

Index des tableaux


Tableau 1: Comparaison de H2 avec les autres SGBD..................................................................28

Mis en place d'un système de vidéosurveillance en Java 42


Mis en place d'un système de vidéosurveillance en Java 43