WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Localisation par empreinte radio. application sur les reseaux mobiles 2G-3G

( Télécharger le fichier original )
par Harimanana Elisa TAFENO
Ecole Supérieure Polytechnique d'Antananarivo - Master 2015
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE 4

MISE EN OEUVRE ET SIMULATION DE L'OUTIL DE TRAITEMENT DE TRACE ET

DE LOCALISATION D'ABONNES

4.1 Introduction

La société TELMA dispose d'un outil de trace permettant de recueillir les caractéristiques radios de ses abonnés. Dans le but de solutionner les différentes plaintes provenant de ses clients, nous allons voir dans ce chapitre la conception et la réalisation d'une application informatique capable de traiter les traces obtenues et de localiser les mobiles du réseau 2G et 3G à partir de ses caractéristiques radios.

Pour ce faire, nous avons utilisé UML comme langage de modélisation, Java comme langage de programmation, Eclipse comme environnement de développement, MySQL/XML comme SGBD, JavaScript et AJAX comme technologie de développement Web et certaines bibliothèques, Jquery pour la gestion cartographique.

4.2 Outil de trace 4.2.1 Présentation

L'outil de trace permet de lancer des traces UETR ou UE Traffic Recording ou 3G, PMR ou Performance management Traffic Recording ou 2G et GPEH ou General Performance Event Handling. C'est un logiciel propriétaire d'ERICSSON.

Les traces d'abonnés sont lancées à partir de leur numéro IMSI tandis que les traces Cell/Site sont lancées à partir de leur code. Voici quelques captures de l'outil de trace (figure 4.01, figure 4.02 et figure 4.03).

Figure 4.01 : Interface du PMR

Figure 4.02 : Onglet UE profils

71

72

Figure 4.03 : Onglet GPEH

4.2.2 Lecteur et décodeur de trace

4.2.2.1 Lecteur de trace

TELMA dispose de quelques outils permettant de faire la lecture des traces obtenues (UETR, PMR et GPEH). Ces lecteurs (figure 4.04) permettent de spécifier un nom au fichier à décoder et de sélectionner les traces récupérés en parcourant vers le répertoire qui les contient.

73

Figure 4.04 : Outil lecteur de trace UETR.

4.2.2.2 Décodeur de trace

Un outil nommé Cygwin permet de décrypter le contenu de chaque trace sélectionnée, comme nous montre la figure 4.05 ci-dessous :

Figure 4.05 : Cygwin

74

4.3 Analyse et conception du système informatique 4.3.1 Architecture système

La figure 4.06 suivante nous montre l'architecture système avec la répartition des tâches entre le client et le serveur.

Figure 4.06 : Modèle général d'architecture système

4.3.1.2 Client

Le client envoie une demande pour solliciter un service ou une ressource particulière du serveur. 4.3.1.3 Serveur

Le serveur détient les ressources à partager. C'est lui qui reçoit la requête du client et lui fournit les ressources demandées (données, services, matériels) moyennant l'authentification et les privilèges nécessaires.

4.3.1.4 Application

C'est le siège de la partie traitement. Si un client effectue un traitement important, on parle de Client lourd, dans le cas contraire, on l'appelle Client léger.

Dans le cas où les applications sont bien séparées du serveur de données on doit mettre en classe un autre serveur appelé serveur d'application.

75

4.3.1.5 Les données

On accède aux données via des systèmes de gestion de base de données qui peut être un réseau, un SGBDR ou Système de Gestion de Base de Données Relationnelles ou un SGBDO ou Système de Gestion de Base de Données Objet en se servant de middleware tel que JDBC ou Java Data Base Connectivity pour la plate-forme Java, ODBC ou Object Data Base Connectivity pour la plate-forme Microsoft ou en natif.

4.3.1.6 Interface utilisateur

L'interface utilisateur est le dispositif qui permet à un usager de machine de se communiquer. Elle

peut être :

? Une GUI ou Graphic User Interface si l'utilisateur est un être humain

? Une interface web

? Une interface en ligne de commande

? Une autre forme bien établie et suivant une règle bien déterminée

4.3.1.7 Middleware :

Un middleware est un logiciel tiers qui est le lieu d'échange d'informations entre différentes applications informatiques. Pour cela, on utilise une même technique d'échange d'informations dans toutes les applications impliquées à l'aide de composants logiciels.

Ces composants logiciels effectuent la communication entre les applications et ne dépendent ni des ordinateurs impliqués, ni des caractéristiques matérielles et logicielles des réseaux informatiques, des protocoles réseau, des systèmes d'exploitation impliqués.

4.3.2 Analyse des besoins

4.3.2.1 Problèmes liés aux plaintes clients

Ce sont surtout les problèmes rencontrés sur l'interface radio. Ils sont de plusieurs ordres [26] :

a. 76

Problème de qualité

Le terme « qualité » employé ici est abordé du point de vue de l'opérateur et désigne globalement les zones où le RxQual est élevé tandis que le RxLev est acceptable. Les symptômes de ce problème sont décrits dans le tableau 4.01. [26]

Plaintes

Indicateurs

Communications brouillée

Fort taux de handover sur qualité et de handover sur interférence

Communication métallique

Forts taux d'échec de handover

Communications avec silences périodiques

Forts taux de coupures TCH

 

Tableau 4.01: Symptômes des problèmes de qualité

b. Problèmes de couverture

Ce sont les problèmes dus à la faiblesse des signaux perçus par l'abonné (faible RxLev). Ses symptômes sont donnés dans le tableau 4.02. [26]

Plaintes

Indicateurs

Un manque de barres de niveau

Fort taux de handover sur niveau

Communication à sens unique

Forts taux de coupures TCH

 

Tableau 4.02: Symptômes des problèmes de couverture

c. Problèmes d'accès

Les problèmes d'accès sont dus à une saturation des canaux de trafic TCH ou de signalisation SDCCH. [26]

Plaintes

Indicateurs

Message « Appel échoué »

Fort taux de coupures TCH ou SDCCH

Communications avec silences périodiques

Forts taux d'échec d'allocation de canal SDCCH.

Message « Busy Network »

Congestion des canaux TCH ou SDCCH

Tableau 4.03: Symptômes des problèmes de trafic

77

4.3.2.2 Problème de localisation

Depuis une dizaine d'années environ, surtout avec la naissance du système de positionnement GPS ou Global Positioning System, on remarque une demande croissante des systèmes de positionnement. Cette forte demande est stimulée par plusieurs facteurs dont, entre autres, l'insécurité croissante, la recherche d'une efficacité plus grande dans la conduite des affaires commerciales, etc. [13]

Les principaux inconvénients de ce système sont l'affaiblissement de la performance dans les zones urbaines denses où il n'y a pas de vue directe vers le ciel et demande une consommation d'énergie au niveau du mobile, ce qui diminue l'autonomie du terminal. De plus, l'accès au GPS est très-onéreux

4.3.2.3 Expression des besoins

Les méthodes de localisation basées sur les réseaux cellulaires, qui est à la portée de tous, ont été développées. Cependant, l'implémentation de la combinaison de plusieurs techniques (GPS - Cell ID - UTDOA) est élevée et beaucoup d'opérateurs n'ont pas adopté cette méthode.

Notre solution est destinée aux besoins de TELMA. Ainsi, pour résoudre les problèmes de plaintes clients, nous avons utilisé la localisation à base d'empreinte radio (OTD et TA) qui est une méthode durable et abordable.

4.3.2.4 Identification des acteurs

Un acteur représente un rôle joué par une personne, une chose interagissant avec le système. Pour notre cas, on distingue :

? L'administrateur

? L'utilisateur

4.3.3 Modélisation UML 4.3.3.1 Définition :

UML, c'est l'acronyme anglais pour « Unified Modeling Language » qui a été normalisé par l'OMG ou Object Management Group. On le traduit par « Langage de modélisation unifié ». La notation UML est un langage visuel formé d'un ensemble de schémas, appelés des diagrammes, qui donnent

78

chacun une vision différente du projet à traiter. UML nous fournit des diagrammes pour représenter le logiciel à développer.

4.3.3.2 Caractéristique :

UML est indépendant du processus de conception et de développement. Elle ne décrit pas comment il fonctionne. Ce n'est pas une méthode ou un processus. Elle propose un ensemble de notations pour que chacun ait à sa disposition les éléments nécessaires à la conception d'une application. Elle fournit une notation/syntaxe pour les diagrammes et modèles définis pendant tout le cycle de développement. [27]

UML permet de définir des modèles de niveaux différents :

· Analyse

· Conception

· Spécification d'implémentation

4.3.3.3 Diagrammes standardisés

UML comporte plus de 13 diagrammes standardisés qui se répartissent en 2 catégories :

06 diagrammes structuraux :

· Diagramme de classe

· Diagramme d'objets

· Diagramme de packages

· Diagramme de structure composite

· Diagramme de composants

· Diagramme de déploiement

07 diagrammes comportementaux:

· Diagramme de cas d'utilisation

· Diagramme global des interactions

· Diagramme de séquence

· Diagramme de communication

· Diagramme de temps

· Diagramme d'activités

· Diagramme d'états

79

Ces diagrammes sont réalisés à partir du besoin des utilisateurs et peuvent être regroupés selon les deux aspects suivants :

a. Les aspects fonctionnels :

? Qui utilisera le logiciel et pour quoi faire ?

? Comment les actions devront-elles se dérouler ? ? Quelles informations seront utilisées pour cela ?

b. Les aspects liés à l'architecture :

? Quels seront les différents composants logiciels à utiliser (base de données, librairies, interfaces, etc...) ?

? Sur quel matériel chacun des composants sera installé ?

UML modélise donc le système logiciel suivant ces deux modes de représentation. 4.3.4 Diagramme UML de l'application

Nous avons réalisé les diagrammes suivant durant notre avec Visual Paradigm for UML 8.0 Enterprise Edition.

Figure 4.07 : Aperçu de Visual Paradigm

80

4.3.4.2 Diagramme de cas d'utilisation

Le diagramme de cas d'utilisation (figure 4.08) représente les fonctionnalités (ou dit cas d'utilisation) essentielles aux utilisateurs.

Figure 4.08 : Diagramme de cas d'utilisation 4.3.4.3 Diagramme de classe

Les diagrammes de classes montrent les classes (figure 4.09) et les relations statiques entre ces classes : classe, attribut, opération, visibilité, interface, association, agrégation, héritage, dépendance...

niveau recap cellserveose float -rnreau recep_os3Nosme : float

· guslité_signal_cellserveuse : float

· guadté_signal_celivoisine : float

· o l_id_ootsorverse: string

· rall_id_rativoisine : string

· état_mobie : sting -rnsisdn : int int

-abonne : string

· Id_MAesure : in

-OFF : int -Td: int -TA :it

· Temps'. string

«MeoeoMobie()

getNrveov onopCel Servsuse():float

*setNiveauRecepCeltServeuse(oiveac teoep_celserlase : float) : void .getNiveau ReccpCcilVaiv ne(} : float .getQualitéSig na !Col ISoprem.() : float

« setaualitétnig nal CoIlScrveuse(quoité_signal_cetlsrireuse: float) void

« setNiveau Sig naI CelIVeisine(nivesu_sgnal_ce!Weisine : float)! void *getqualitdSig nalCelfVoisine(): Boat

*seta ualiténig noiCelVoisne(quagté_mgnal_colivoslne : float) : void getCCIII.CeIlScrvv o): string

setCcl IIdCCI ISorveur{cei id ca]lserveuse : string) : void getCcllid CoIIVoisine{}: string

setCol lid Col IVon ite(raAidcellvoisine : string) void getEtatMobile(): string

« setEtatMohiie(état_mobie : sting)'. void

*gctMsisdnO int

*setMssdn(mdsdn it): void

*getirnsi(): int

«setlmsl(mii : in) : void

.gotlnà() : int

setlmei{inei : inn)'. void

* getAtiornée() : string

« setAbornée(abonnée : string)! void

*getldMesure)) : int

*setldMesure(Id Massie: m)'. void

+getOFF(): int

«setOFF(OFF'. int): void .getT1A{}:int

setTM(1M : int) : void

* getTA{}'. int

« setTA{TA int): void *getTemps() : string *setTe.rps(Temps : string) : void

Masure Mob lie

Abonnée

-Id_abornée : int -Num_abnnée string -Type_mobie : string

«Abonnée()

«getldAbonnie(): Int

«setNunilbnrrsre(Nun aboméa: string) : void *setldAborutée( id sbonnés: int): void «getNnnbbonréel]: string getTyp doble() : smog «setTypeMobie(Type_mmie : string). void

Stalk rnleBase

-Id_®I string -oode_site string -latitude :stag -iongitodo : string -altitude : string x : string

-y : string

-HSA: string -pissance_Tx it -PSC : int

g etldCel()'. strip

« setldCell{ Id_cel : string}'. void setldSis(id btn :int)'. void +getCodeite(): string .setCodvSito(nnde_lte : string) : void

. getLatitude(): string «setLatitude(iatitude : string} : void .getLoiv dodo() string nsetLongilude(Imgltude : string) : void

g etAttdude() : snag setpiti[ude(sltitude : string) : void *getx0'. string

setX(x : string)'. void .ger{!. string

.setY{x : strng}'. void getHba(): string

« setHba(HtA : string) : void

g etPtissance() : string

.se tPuissaoce(pussance_To fit) : void getPsc((: int

setPsn(PSC: int). void

Positionnement

désignation_Algo : string

· Men rnMobilo : string -Position Estimûe : string

«Position semant()

.getDésignationkgruitMne() : string

« setDésignaticnAtgorithma(désignation Algo: string): void tgetMesureMohile{) : string

«setMesureMobile( Mes u ieMobie : string) : void

« getPositionEstiméo)) string

setPosi k tettiméa(Positim0Estinée : string ): void

Pasltla nF stlrroi .

-Id_posilion ::r t -InloPosttion : string

*operation() *getldPosition(): int

« aelldPooitim(Id_pootion string) : void

g etlnfoPosdion() : string

«sellnfoPogtion(Info Position : song) : void

OntopeUee

Id_groupe : int description : string

*GropeUsen{}

n getldGrorpe{} : int

«setldGnoup«(ld_grupe : int) : void

g etDescriptiong : string

.setDescription(desuption : string) : void

UtëhsMee.

du:int -norn_uo string

· pre nom_ut string -lrxpn_ut : string -pwd_ut : sting -Q nngoellser : sting

+getout{): int

«setldUt(Id_ot : id) : void getNoenllt{}: string setNomllt(norn_ut: string): void .getPrénomllt{} : string «setPrénomUt{pnenrxn_ut : string) : void getLoginllt() : sting

. setLoginLlt{iogin ut : string) : void «getPwdUt() string n-setPwdut(pwd_ut: strng): void

intopoeeltiotr

-Id nfoP: jot -longitude : sing -latitude : string -altitude : string -temps : string

«InfoPasition()

. getidnfoP{}: int

.setloinfoP{Itl infoP: nt)'. void *gettwtgitudiri}'. string

setLnrgior lo)!ry iode : sting} : void

g etLatiude(): string .setLatituda{fatitude : strong) : void «getA titode() : string .setAtitude(altitude : string) : void .getTenps{ } : string .setTemps(tenps : string) : void

81

Figure 4.09 : Diagramme de classe

82

4.3.4.4 Diagramme de séquence

Le diagramme de séquence permet de décrire tous les scénarios d'utilisation du système. 4.3.5 Modèle Conceptuel des Données

Le Modèle Conceptuel des Données introduit la notion d'entités, de relations et de propriétés. Il décrit de façon formelle les données utilisées par le système d'information. La représentation graphique, simple et accessible, permet à un non -informaticien de participer à son élaboration. Les éléments de base constituant un modèle conceptuel des données sont :

? les propriétés ;

? les entités ;

? les relations.

La figure 4.10 ci-dessous nous montre le MCD de notre système informatique, conçu sous Visual Paradigm for UML Entreprise Edition Version 8.0

Figure 4.10 : Modèle conceptuel de données

83

4.3.6 Langage de programmation

4.3.6.1 Visual basic :

EXCEL VBA ou Visual Basic pour Application est un langage de programmation permettant d'utiliser du code Visual Basic pour exécuter les nombreuses fonctionnalités de l'Application EXCEL. [28]

Une macro est un programme écrit en VBA. Elle permet d'automatiser des tâches répétitives réalisées sous EXCEL. Elle peut aussi être utilisée pour créer des boîtes de dialogue afin de rendre une application développée sous EXCEL plus conviviale.

Nous avons utilisé VBA pour récupérer les données utiles dans la trace sous forme de fichier Excel afin de construire une base de données.

4.3.6.2 Java et la plateforme JEE

Java est un langage de programmation moderne développé par Sun Microsystems. Il n'a rien à voir avec Javascript. Il a une excellente portabilité d'où il fonctionne sous Windows, Mac, Linux, etc. On peut faire de nombreuses sortes de programmes avec Java tels que :

· des applications, sous forme de fenêtre ou de console ;

· des applets, qui sont des programmes Java incorporés à des pages web ;

· des applications pour appareils mobiles,

· des applications pour la 3D.

La plateforme Java EE ou Java 2 Entreprise Edition s'appuie totalement sur le langage Java. Java EE est une norme qui nous permet développer notre propre application qui adapte en totalité ou partiellement les spécifications de SUN. Il est possible de représenter Java EE comme un ensemble de spécifications d'API, une architecture, une méthode de packaging et de déploiement d'applications et la gestion d'applications déployées sur un serveur compatible Java.

a. Java EE

Actuellement, il existe plusieurs plates-formes de développement qui sont basées sur d'autres langages.

Les principaux avantages d'utiliser Java EE sont :

· la portabilité,

· l'indépendance,

84

? la sécurité

? et la multitude de librairies proposées.

Le développement d'applications d'entreprise nécessite la mise en oeuvre d'une infrastructure importante. Beaucoup de fonctionnalités sont employés et développées, dans le but de produire des applications sûres, robustes et faciles à maintenir.

Certains services sont récursifs comme : l'accès aux bases de données, l'envoi de mails, les transactions, la gestion de fichiers, la gestion d'images, le téléchargement, le chargement ou upload, la supervision du système etc.

C'est pour cette raison que l'architecture Java EE est très intéressante vu que tous les éléments fondamentaux sont déjà en place.

Nous n'avons plus besoin de concevoir une architecture, des librairies et des outils spécialement adaptés. Cela demanderait un temps et un grand investissement.

b. Environnement de développement :

Eclipse est un environnement de développement intégré ou Integrated Development Environment dont le but est de fournir une plate-forme modulaire pour permettre de réaliser des développements informatiques. Il possède de nombreux points forts qui sont à l'origine de son énorme succès. [29] Pour développer notre application web, nous avons choisi Eclipse Mars.1.

Figure 4.11 : Eclipse

4.3.6.3 Javascript :

Le Javascript est un langage de script incorporé dans un document HTML ou HyperText Mark-Up Language. Il est le premier langage de script pour le Web. C'est un langage de programmation qui permet d'apporter des améliorations au langage HTML en permettant d'exécuter des commandes du côté client, c'est-à-dire au niveau du navigateur et non du serveur web.

Javascript est fortement dépendant du navigateur appelant la page web dans laquelle le script est incorporé, mais en contrepartie il ne nécessite pas de compilateur, contrairement au langage Java, avec lequel il a été longtemps confondu.

L'algorithme de positionnement de notre application a été élaboré en Javascript.

4.3.6.4 Base de données :

a. MySQL

MySQL est le dérivé direct de SQL ou Structured Query Language qui est un langage de requête vers les bases de données profitant le modèle relationnel. Il en reprend la syntaxe mais n'en conserve pas toute la puissance car de nombreuses fonctionnalités de SQL n'apparaissent pas dans MySQL (sélections imbriquées, clés étrangères...). Il peut aussi jouer le rôle de serveur de base de données SQL multi - utilisateurs et multi - tâches.

Nous avons utilisé MySQL Version 5.6.17 et pour l'interface de la gestion d'utilisateur nous avons utilisé phpMyAdmin dans WAMPSERVER Version 2.5, comme nous montre la figure 4.12.

Figure 4.12 : Interface de phpMyAdmin

85

86

b. XML

Les bases de données contenant les traces d'abonnés ont été élaborées avec XML. C'est un langage de balisage conçu spécifiquement pour délivrer des informations sur WWW ou World Wide Web. Ses principaux avantages sont:

? Extensible, on peut créer des formats.

? Largement utilisé et reconnu par tous les langages de programmation.

? Plus facile à lire.

Nous avons utilisé le mappage XML pour exporter les données Excel vers XML comme nous montre la figure 4.13.

Figure 4.13 : Mappage XML

4.3.6.5 AJAX

AJAX ou Asynchronous JavaScript and XML est une technique utilisant des technologies comme le javascript et le XML pour charger des données dans une page web sans rechargement de la page. L'utilisation de la classe XmlHttpRequest a rendu possible l'émergence d'un nouveau type d'applications pour le Web. Celles-ci sont fluides et rapides et ne nécessitent pas le rechargement complet de la page web sur laquelle l'internaute navigue lorsqu'il sollicite des ressources provenant du serveur.

87

4.3.6.6 JQUERY

Le WWW est aujourd'hui un environnement dynamique et ses utilisateurs ont des exigences élevées quant à l'aspect et aux fonctions des sites. Pour construire des sites interactifs intéressants, les développeurs se tournent vers des bibliothèques JavaScript, comme jQuery, qui leur permettent d'automatiser les tâches courantes et de simplifier les plus complexes. La popularité de jQuery vient de sa capacité à simplifier un grand nombre de tâches. [30]

Les fonctionnalités de jQuery étant nombreuses. Sa bibliothèque fournit une couche d'abstraction générique pour les scripts web classiques. Toutefois, les fonctionnalités standard permettent de répondre aux besoins suivants :

· Accéder aux éléments d'un document.

· Modifier l'aspect d'une page web

· Altérer le contenu d'un document

· Répondre aux actions de l'utilisateur

· Animer les modifications d'un document

· Récupérer des informations à partir d'un serveur sans actualiser la page

· Simplifier les tâches JavaScript courantes

a. Efficacité de jQuery :

Avec l'intérêt récent porté au HTML dynamique, les frameworks JavaScript ont proliféré. Certains sont spécialisés et se focalisent sur une ou deux des tâches précédentes. D'autres tentent de réunir au sein d'un même paquetage tous les comportements et toutes les animations imaginables. Pour offrir les diverses fonctionnalités décrites précédemment, tout en restant compact, jQuery emploie plusieurs stratégies [30] :

· Exploiter CSS

· Accepter les extensions

· Masquer les excentricités du navigateur

· Manipuler des ensembles

· Autoriser plusieurs actions sur une ligne

88

4.3.7 Module cartographique

4.3.7.1 Cartographie dynamique sur Le Web

La forme de cartographie récente dans l'histoire de la géographie étant la cartographie dynamique sur le Web. Il s'agit d'une cartographie où l'utilisateur est acteur de sa découverte d'informations: il zoome, il change de fond de carte, il ajoute ou modifie des informations.

La cartographie dynamique sur le Web permet, en fonction d'une requête d'un client envoyée au serveur cartographique, de retourner les données désirées sous la forme d'une carte comme nous montre la figure 4.14 [31]:

Figure 4.14 : Organisation d'une application de cartographie numérique

4.3.7.2 Google Maps

Comme module cartographique, nous avons choisi Google Maps. L'API ou Application Programming Interface de ce dernier est l'interface de programmation pour Internet la plus utilisée à travers le monde.

a. Remarque

Une API est une interface de programmation. Dans le cas de Google Maps, il s'agit d'un ensemble de fonctions et classes JavaScript qui permet de manipuler une carte dynamiquement au sein d'un site web. Le développement avec l'API de Google Maps nécessite des connaissances en HTML et en JavaScript. [31]

4.3.8 Serveur web et serveur d'application

Nous avons utilisé comme serveurs web et serveur d'applications Apache Tomcat v7.0 qui supporte J2EE 1.2, 1.3, 1.4 et Java EE5 et 6 web modules. Son interface de configuration est illustrée par la figure 4.15 :

Figure 4.15 : Interface de configuration d'Apache Tomcat

4.3.9 Structure du projet

La figure 4.16 nous montre la structure de notre projet :

89

Figure 4.16 : Architecture du projet

90

Sur la partie gauche, on peut voir les différentes classes de notre projet. UtilisateurDao.java est la classe gérant le stockage des données, logiquement nommée couche de données appelé DAO. Les autres servlets permettent de gérer les requêtes.

A droite, nous avons les fichiers jar que nous avons employés.

Dans la figure 4.17, nous avons toutes les pages JSP ou Java Server Page et HTML pour la partie vue et les bases de données en XML. Les scripts JavaScript permettant de gérer le module cartographique Google maps sont inclus dans les pages HTML. Nous avons utilisé un framework Jquery-1.5.2.min.js.

Figure 4.17 : Architecture du projet (suite) 4.4 Présentation de l'application web

4.4.1 Page d'authentification

La figure 4.18 présente la page de connexion de notre application, un utilisateur est identifié par son nom et son mot de passe.

91

Figure 4.18 : Page d'authentification

4.4.2 Création d'utilisateur

La figure 4.19 nous montre la page de création d'utilisateur de notre application. Les données sont enregistrées dans une base de données MySQL.

Figure 4.19 : Création d'utilisateur

92

4.4.3 Localisation d'un abonné

4.4.3.1 Positionnement d'un mobile 2G

La figure 4.20 nous montre le positionnement d'un abonné 2G à l'aide d'une trace PMR.

Figure 4.20 : Positionnement d'un mobile 2G

4.4.3.2 Positionnement d'un mobile 3G

La figure 4.21 nous montre le positionnement d'un abonné 3G à l'aide d'une trace UETR.

Figure 4.21 : Positionnement d'un mobile 3G

4.5 Précision des différents systèmes de localisation

4.5.1.1 Précision de la localisation basé sur le TA

Le tableau 4.04 nous montre la précision de la localisation possible en fonction du nombre de BTS :

Nombre de BTS considéré

Plage d'erreur de mesures

1

0 à 550 m

2

0 à 380 m

3

0 à 275 m

4

0 à 190 m

5

0 à 75 m

Tableau 4.04: Précision de la localisation en fonction du nombre de BTS

Pour notre cas, puisque nous avons utilisé 02 BTS (Target cell et Serving cell) alors nous avons une plage d'erreur de mesures de 0 à 380 m.

4.5.1.2 Précision de la localisation en 2G et 3G

93

Dans le tableau 4.05, on peut voir les différentes précisions de la localisation en 2 G et 3 G.

94

Méthode

 

Réseau

Précision

Contrôle
par

l'abonné

Temps de
localisation
en seconde

Coût des
équipements
au sein du
réseau

Coût
supplémentaire
au niveau du
terminal

Cell-ID

GSM

300m à 10 km

Non

3

Aucun

Aucun

Cell- ID++

GSM

100m à

500m

Non

4

Aucun

Aucun

E OTD

GSM

150m à

500m

Oui

5

Intermédiaire

Intermédiaire

OTDOA

3G

30m

Non

10

Elevé

Aucun

GPS

GSM

30m

Oui

Jusqu'à 60

Nul

Elevé

Tableau 4.05: Précision des différents systèmes

Pour notre cas, vu que nous avons utilisé l'OTD pour localiser les abonnés 3G, la précision doit être aux alentours de 30 m.

4.6 Conclusion

L'utilisation de l'outil de trace nous a permis non seulement de recueillir les caractéristiques radios de l'abonné mais aussi d'identifier les causes de coupure d'appel, échec d'établissement d'appel, communication brouillé, etc.

Les traces d'abonnés obtenues nous ont aidés à concevoir, de mettre en oeuvre et de simuler notre outil de localisation. Plusieurs langages de programmation ont été employés. Aussi, nous avons utilisé plusieurs outils tels que WampServer, Eclipse, Visual Paradigm, et Apache Tomcat.

95

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Tu supportes des injustices; Consoles-toi, le vrai malheur est d'en faire"   Démocrite