Saibi F, Toumert T.
Saibi F, Toumert T.
Saibi F, Toumert T.
Mémoire
de Fin d'Etudes
En vue de l’obtention du Diplôme de master 2 en Informatique
Option : Systèmes informatiques
Thème
Conception et réalisation d’une application
mobile avec interconnexion à une base de
Données multimédia à distance dans
le domaine de la médecine avancée
2014-2015
Nous remercions tout d’abord le bon dieu
de nous avoir données la force, la volonté et la
patience pour l’élaboration de ce travail.
SAIBI&TOUMERT
Je dédie ce modeste travail :
Mary
« Louange à Dieu, le seul et unique »
A toute ma famille,
Mes très chers frères et sœurs
Zazie
*******Sommaire*******
Introduction générale ...............................................................................................................................1
Chapitre 1 : Généralités
I.1 Introduction .........................................................................................................................................4
I.2 Généralité sur les réseaux ..................................................................................................... 4
I.2.1 Définition d’un réseau .................................................................................................... 4
I.2.2 Classification des réseaux .............................................................................................. 4
I.3 Les réseaux sans fil ............................................................................................................... 6
I.3.1 Définition ....................................................................................................................... 6
I.3.2 Intérêt des réseaux sans fil ............................................................................................. 6
I.3.3 Catégories des réseaux sans fil ..................................................................................... 6
I.3.3.1 Réseaux personnels sans fil (WPAN) ...................................................................... 7
I.3.3.2 Réseaux locaux sans fil (WLAN) ............................................................................ 7
I.3.3.3 Réseaux métropolitains sans fil (WMAN) ............................................................... 7
I.3.3.4 Réseaux étendus sans fil (WMAN).......................................................................... 7
I.4 Le modèle client/serveur ...................................................................................................... 8
I.4.1 Définition de l’architecture client/ serveur .................................................................... 8
I.4.2 Les architecture Client/serveur ...................................................................................... 9
I.4.2.1 L'architecture à deux niveaux .................................................................................. 9
I.4.2.2 L’architecture à trois niveaux .................................................................................. 9
I.4.2.3 L’architecture multi-niveaux.................................................................................. 10
I.4.3 Caractéristiques du Clients/Serveur ............................................................................. 10
I.5 Les bases de données multimédia ....................................................................................... 11
I.5.1 Définition d’une base de données multimédia ............................................................ 11
I.5.2 Stockage de données multimédia ................................................................................. 11
I.6 Développement d’une application mobile .......................................................................... 11
I.6.1 Les langages pour le développement............................................................................ 11
I.6.2 Les terminaux mobiles ................................................................................................. 12
I.6.2.1 Les terminaux PC mobiles ...................................................................................... 12
I.6.2.2 Les assistants personnels (PDA) et les Smartphones ............................................. 12
I.6.3 Les systèmes d’exploitation ........................................................................................ 13
I.6.3.1 Android .................................................................................................................. 13
I.6.1.2 iOS ........................................................................................................................ 13
I.6.1.3 Windows Mobile .................................................................................................... 13
1.7 Android............................................................................................................................... 14
I.7.1 Les Versions................................................................................................................. 14
I.7.2 Architecture d’Android ............................................................................................... 15
I.7.2 Un projet Android ....................................................................................................... 16
I.7.2.1 Contenu d’un programme Android ....................................................................... 16
I.7.2.2 Structure d’un projet .............................................................................................. 17
I.7.2.3 Contenu du manifeste ............................................................................................ 17
I.7.2.4 Cycle de vie d’une activité (ActivityLife cycle) ................................................... 18
I.7.2.5 Les fichiers XML sous Android ........................................................................... 20
I.7.2.6 Le résultat d’un projet créé ................................................................................... 21
I.8 Conclusion ......................................................................................................................... 21
Chapitre 3 : Réalisation
III.1 Introduction ..................................................................................................................... 39
III.2 Réalisation de l’application mobile ................................................................................. 39
III.2.1 Matériels utilisés : .................................................................................................... 39
III.2.2 Logiciels utilisés : ..................................................................................................... 39
III.2.3 Environnement de développement : ......................................................................... 39
III.2.3.1 Le langage JAVA : ........................................................................................... 39
III.2.3.2 L’IDE Eclipse : ................................................................................................. 40
III.2.3.4 L’ADT (Android Development Tools) : .......................................................... 40
III.2.3.5 Le SGBD (MYSQL) : ...................................................................................................40
III.2.4 Préparation de l’environnement de développement : ............................................... 41
III.2.4.1 Choix d’une version d’Eclipse : ....................................................................... 41
III.2.4.2 Installation du plugin ADT pour Eclipse : ....................................................... 41
III.2.4.3 Installation d’un téléphone virtuel Androïd : ................................................... 44
III.2.4.3.1 Téléchargement d’Android SDK .............................................................. 44
III.2.4.3.2 Création d’un téléphone Virtuel d’Android (Virtual Devices) ................. 45
III.2.5 La connexion à la base de données à distance (Android/MySQL) : ....................... 46
III.2.5.1 Coté serveur : ................................................................................................... 47
III.2.5.2 Coté client : ...................................................................................................... 49
III.2.6 Description de l’application mobile : ...................................................................... 49
III.3 Réalisation de l’application administrateur ..................................................................... 53
III.3.1 Les logiciels utilisés ................................................................................................. 53
III.3.1.1 L’IDE Netbeans .................................................................................................. 53
III.3.2 Description de l’application gestion ...................................................................... 54
III.4 Conclusion : ..................................................................................................................... 59
Conclusion générale ................................................................................................................ 60
Liste de figures
Liste de figures
Liste de figure
L’informatique est une science qui est impliquée aujourd’hui dans la plupart des
domaines de la vie, son utilisation connait de nos jours une grande expansion. Elle intervient
dans les différents secteurs tels que l’enseignement, l’administration, le commerce…et le
secteur de la santé ne fait pas défaut.
Malgré l’avancement technologique des réseaux cellulaires, le débit offert par ces
derniers restes toujours insuffisant pour garantir le bon fonctionnement de tels services, et le
coût revient souvent très cher, ce qui rend ce genre de services inaccessibles pour tout le
monde.
L’arrivée des nouvelles technologies mobiles tels que les Smartphones, qui sont
équipés généralement d’interfaces de communication Wi-Fi et caractérisés par un débit élevé
a permis le transfert fiable des fichiers de gros volume.
.
L'informatique prend une place de plus en plus importante au sein du monde médical.
On considère généralement que l'application de l'informatique au domaine de la santé est
restreinte ou cloisonné à un ensemble de techniques et d'outils.
Notre travail a pour objectif la mise au point d’un système permettant l’échange des données
multimédia, à l’aide de la technologie wifi, entre un serveur et des Smartphones. Ce système va
permettre aux médecins d’une part de télécharger et visualiser des fichiers multimédia stockés sur le
serveur et d’une autre part ils pourront charger des fichiers multimédia vers ce dernier.
1
Introduction générale
Afin de mener à bien notre projet, nous supposons de le structurer en trois chapitres
dont :
2
Chapitre 1
Chapitre I Généralités
I.1 Introduction :
Aujourd’hui, la majorité des ordinateurs et la quasi-totalité des appareils mobiles (tels que
les téléphones portables, les assistants personnels,...) disposent de moyens de connexion à un
ou à plusieurs types de réseaux sans fil comme le Wifi, le Bluetooth ou l’Infrarouge. Ainsi, il
est très facile de créer en quelques minutes un réseau « sans fil » permettant à tous ces appareils
de communiquer entre eux.
Dans ce chapitre nous allons présenter une catégorie particulière de réseaux qui sont les
réseaux sans fil, l’architecture client/serveur, ainsi nous allons générer les bases de données
multimédia et les services mobiles.
4
Chapitre I Généralités
C. Selon le mode de fonctionnement, on distingue :
· Commutation de circuits : dans ce mode, un lien physique est établit par réservation
de différent supports physiques afin de constituer une liaison de bout en bout entre
une source et une destination.
· Commutation de message : ce mode n’établit aucun lien physique entre les deux
entités communiquant. Le message est transféré de nœud en nœud et mise en attente
si le lieu entre nœud est occupé. Chaque bloc d’information (message) constitue une
unité de transfert acheminé individuellement. Le message est mémorisé
intégralement par chaque nœud et retransmis en nœud suivant dès qu’un lien se libère
(quand le transfert est réalisé le lien est libéré).
Remarque : dans ce cas le récepteur final doit être capable de reconstituer le message émis en
réassemblant les paquets
· les réseaux filaires : utilisent un canal de transmission matériel (le câble coaxial, les
paires torsadées, la fibre optique),
· les réseaux sans fils : sont ceux qui utilisent le canal air pour communiquer en
utilisant les ondes hertziennes, les infrarouges ou le laser.
5
Chapitre I Généralités
I.3 Les réseaux sans fil :
I.3.1 Définition :
Un réseau sans fil est un réseau dans lequel au moins deux équipements (ordinateur,
imprimante, assistant personnel,...) peuvent communiquer sans liaison filaire. Les réseaux sans
fil utilisent des ondes radioélectriques à la place des câbles habituels. Il existe plusieurs
technologies se distinguant par la fréquence d’émission utilisée ainsi que le débit et la portée
des transmissions.
Grâce aux réseaux sans fil, un utilisateur a la possibilité de rester connecté tout en se
déplaçant dans la zone de couverture. On parle alors de mobilité ou d’itinérance. Les réseaux
sans fil permettent de relier facilement des équipements d’une distance de quelques dizaines
mètres à plusieurs kilomètres. De plus, l’installation de tels réseaux ne demande pas de lourds
aménagements des infrastructures existantes, comme c’est le cas avec les réseaux filaires.
6
Chapitre I Généralités
I.3.3.1 Réseaux personnels sans fil (WPAN) :
Réseau individuel sans fil (Wireless Personal Area Network), Faible portée (quelques
dizaines de mètres) Permet la connexion de périphériques (PDA, imprimante,….),
d'ordinateurs, ses technologies :
· Bluetooth
· HomeRF
· Zigbee
· infrarouge
Réseau local d'entreprise (Wireless Local Area Network), Couvre l'équivalent d'un
réseau local d'entreprise (100 m), Relie entre eux les équipements présents dans la zone de
couverture, ses technologies :
· WiFi
· Hiper LAN
Réseau métropolitain (Wireless Metropolitan Area Network), Plus connu sous le nom
de Boucle Local Radio (BLR). Permet à un particulier ou une entreprise d'être relié à son
opérateur (téléphonie fixe, Internet, télévision...) via les ondes radio Basé sur la norme 802.16,
ses technologies :
Réseau étendu sans fil (Wireless Wide Area Network) Plus connu sous le nom de
« réseaux cellulaire mobile » Utilisé par les téléphones mobiles ses technologies :
7
Chapitre I Généralités
· UMTS : Universal Mobile Telecommunication System
Envoi de requêtes
Envoi de réponses
Envoi de requêtes
8
Chapitre I Généralités
Ø Client : C’est une entité (processus, programme, ordinateur, etc.) qui demande
l’exécution d’une opération à une autre entité par envoie d’un message contenant le descriptif
de l’opération à exécuter et attendant la réponse à cette opération par un message en retour.
Ø Serveur : C’est une entité (processus, programme, etc.) qui accomplit une opération sur
demande d’un client et transmet la réponse à ce client.
9
Chapitre I Généralités
I.4.2.3 L’architecture multi-niveaux :
Dans l'architecture à 3 niveaux, chaque serveur (niveaux 1 et 2) effectue une tâche (un
service) spécialisée. Ainsi, un serveur peut utiliser les services d'un ou plusieurs autres serveurs
afin de fournir son propre service. Par conséquence, l'architecture à trois niveaux est
potentiellement une architecture à N niveaux.
Ø Le service : c’est le travail fourni par le serveur suite à la requête du client. Le serveur
est un fournisseur de services et le client consommateur de ces services. Le modèle
Client/serveur établit ainsi une séparation claire des rôles à partir de la notion du
service.
Ø Les protocoles asymétriques : la relation entre clients et serveur est de type « plusieurs
vers un », toutefois le client est le déclencheur du dialogue en demandant un service
alors que le serveur attend passivement les requêtes.
10
Chapitre I Généralités
I.5 Les bases de données multimédia :
Ø BLOBs : Ce sont des objets binaires de grande taille (Binary Large Objects) utilisés
pour le stockage des données multimédias : Images, sons, vidéo.
Ø CLOBs : Ce sont Objets de grande taille de type caractère utilisés pour le stockage des
documents : PDF, WORD, XML, TXT...
Ø BFILEs : Ce type permet de stocker des références pour des données externes à la
BDD (en général des fichiers du système d'exploitation).
11
Chapitre I Généralités
Windows Phone, on peut développer en C# (développement dit « natif ») ou en HTM5/
JavaScript (mode dit « hybride »).
Remarque : Ces choix sont principalement guidés par les outils de développement disponibles,
mais il est cependant possible de développer avec d’autres langages, par exemple en Python sur
Android.
Les PC portables (laptops) sont des terminaux conçus pour des applications
informatiques, Par conséquent, ils présentent des capacités similaires voire même plus élevées
que celles des PC de bureau.
Les terminaux laptops ont une plus grande capacité de traitement et de mémoire, leurs
écrans sont de grande dimension. Ils sont équipés de systèmes d’exploitation et des interfaces
utilisateurs conviviales et des interfaces d’accès aux réseaux fixes (LAN, Internet, etc.) tels
qu’une carte réseau et un modem téléphonique, en plus des interfaces pour les périphériques
(écrans externes, périphériques USB…).
Actuellement, les terminaux laptops sont équipés des interfaces de connectivité sans fil
(WIFI, Bluetooth, etc.), Ces interfaces permettent des applications de type bureau mobile,
l’accès à l’Internet mobile et en fin des applications VOIP (Voice IP).
Ces terminaux ont des contraintes de poids et d’autonomie d’énergie, en effet, ils sont
gourmands en énergie et leurs batteries ne permettent que de 2 à 9 heures de travail (en utilisant
une seconde batterie de réserve).
Les terminaux PDA sont un compromis entre la portabilité (en termes de dimension et
de poids) et la puissance de calcul. Un PDA est un ordinateur de poche composé d'un
processeur, de mémoire vive, d'un écran tactile avec un stylet et de fonctionnalités réseau
(Buletooth, WiFi, etc.), le tout mis dans un boîtier compact d’une petite taille. Les PDA
possèdent généralement les possibilités de communication classique (téléphone, navigation
internet) mais ils sont plus adaptés à l’organisation des tâches quotidiennes (gestion des rendez-
vous, des contacts personnels, des dépenses, etc.).
12
Chapitre I Généralités
Un Smartphone, également appelé Ordiphone, téléphone intelligent ou Intelliphone,
est un téléphone mobile disposant aussi des fonctions d'un PDA. Il peut aussi fournir les
fonctionnalités d'agenda/calendrier, de navigation web, de consultation de courrier
électronique, de messagerie instantanée, de GPS, etc.
Actuellement il n’y a presque pas de différence entre un Smartphone et un PDA.
I.6.3.1 Android :
Android est un système d'exploitation en partie Open Source pour Smartphones. Dans
le cas de notre travail nous nous intéressons plus particulièrement à ce système d’exploitation
donc on va détailler beaucoup plus.
I.6.1.2 iOS :
iOS, anciennement iPhone OS, est le système d'exploitation mobile développé par Apple
pour l'iPhone, l'iPod touch et l'iPad. Il est dérivé de Mac OS X dont il partage les fondations, le
système d'exploitation occupe moins d'un demi-gigaoctet (Go) de la capacité mémoire totale de
l'appareil, ce qui est plutôt un avantage étant donné que les iPhones ne disposent pas
d’emplacement de carte SD.
13
Chapitre I Généralités
1.7 Android :
Android été développé par la startup Android Inc. en 2003, puis racheté par Google en
2005. Pour pouvoir réalisé un système complet, ouvert et gratuit dans le monde du mobile, une
coalition de 35 entreprise évoluant dans l’univers du mobile, dont Google, a été créé. Ce
rassemblement se nommé l’Open Handset Alliance (OHA) et composé aujourd’hui de 80
membres. Cette alliance a pour but de développer un système open source ‹‹ c’est-à-dire dont
les sources sont disponible librement sur internet ›› pour l’exploitation sur mobile.
Android est à l’heure actuelle le système d’exploitation pour smartphones et tablettes le plus
utilisé. Les terminaux visés par Android inclus les téléphones portables, Netbook/Smartbook,
tablettes multimédia, automobile, GPS, Réfrigérateur, etc.
L’environnement de développement est la base sur une architecture autour du noyau Linux.
La plateforme Android est compose de cinq couches principales :
14
Chapitre I Généralités
Ø Des bibliothèques graphiques, multimédias.
Ø La Dalvik Virtuel Machine, une machine virtuelle adaptée pour java.
Ø Une plateforme applicative pour la gestion des fenêtres, du contenu, de
téléphonie, etc.
Ø Des applications.
Pour pouvoir développer sur la plateforme Android, il faut accepter la licence Apache 2.0
associe lorsque vous téléchargez le développement kit. La licence autorise la modification
sous forme libre ou non et permet d’en faire un usage commercial (car il est open source).
Android offre un système standard de téléchargement d’applications sur les Play Store.
Les applications sont classées sur Play Store selon différents critères comme par exemple:
catégorie d’âge. Le Play Store offre aussi une possibilité de rendre les
applications payantes. Pour mettre une application sur Play Store, il suffit de payer $25 ce qui
permet de publier autant d’applications que vous le souhaitez à vie.
15
Chapitre I Généralités
I.7.2 Un projet Android :
I.7.2.1 Contenu d’un programme Android :
a. Activity (Activité) :
La brique de base de l’interface utilisateur s’appelle activity (activité). Vous pouvez la
considérer comme l’équivalent Android de la fenêtre ou de la boîte de dialogue d’une
application classique.
Bien que des activités puissent ne pas avoir d’interface utilisateur, un code "invisible" sera
délivré le plus souvent sous la forme de fournisseurs de contenus (content provider) ou de
services.
c. Intents (intentions) :
Les intentions sont des messages système. Elles sont émises par le terminal pour
prévenir les applications de la survenue de différents événements, que ce soit une modification
matérielle (comme l’insertion d’une carte SD) ou l’arrivée de données (telle la réception d’un
SMS), en passant par les événements des applications elles-mêmes (votre activité a été lancée
à partir du menu principal du terminal, par exemple). Vous pouvez non seulement répondre aux
intentions, mais également créer les vôtres afin de lancer d’autres activités ou pour vous
prévenir qu’une situation particulière a lieu (vous pouvez, par exemple, émettre l’intention X
lorsque l’utilisateur est à moins de 100 mètres d’un emplacement Y).
d. Services :
Les activités, les fournisseurs de contenus et les récepteurs d’intentions ont une durée
de vie limitée et peuvent être éteints à tout moment. Les services sont en revanche conçus pour
durer et, si nécessaire, indépendamment de toute activité. Vous pouvez, par exemple, utiliser
un service pour vérifier les mises à jour d’un flux RSS ou pour jouer de la musique, même si
l’activité de contrôle n’est plus en cours d’exécution.
16
Chapitre I Généralités
I.7.2.2 Structure d’un projet :
Le système de construction d’un programme Android est organisé sous la forme d’une
arborescence de répertoires spécifique à un projet, exactement comme n’importe quel projet
Java. Les détails, cependant, sont spécifiques à Android et à sa préparation de l’application qui
s’exécutera sur le terminal ou l’émulateur.
La création d’un projet Android place plusieurs éléments dans le répertoire racine du
projet :
● AndroidManifest.xml est un fichier XML qui décrit l’application à construire et les
composants – activités, services, etc. – fournis par celle-ci.
● build.xml est un script Ant1 permettant de compiler l’application et de l’installer sur le
terminal (ce fichier n’est pas présent avec un environnement de programmation adapté, tel
Eclipse).
● default.properties et local.properties sont des fichiers de propriétés utilisés par le script
précédent.
● bin/ contient l’application compilée.
● gen/ contient le code source produit par les outils de compilation d’Android.
● libs/ contient les fichiers JAR extérieurs nécessaires à l’application.
● src/ contient le code source Java de l’application.
● res/ contient les ressources – icônes, descriptions des éléments de l’interface graphique
(layouts), etc. – empaquetées avec le code Java compilé.
● tests/ contient un projet Android entièrement distinct, utilisé pour tester celui que vous
avez créé.
● assets/ contient les autres fichiers statiques fournis avec l’application pour son
déploiement sur le terminal.
17
Chapitre I Généralités
La création d’une application produit automatiquement un manifeste de base. Pour une
application simple, qui offre uniquement une activité, ce manifeste automatique conviendra
sûrement ou nécessitera éventuellement quelques modifications mineures. En revanche, le
manifeste de l’application de démonstration Android fournie contient plus de 1 000 lignes. Vos
applications se situeront probablement entre ces deux extrémités. AndroidManifest.xml sert à :
- Préciser le nom du package java utilisant l’application. Cela sert d’identifiant unique !
- Il décrire les composants de l’application
- Lister des activités, services, broadcast receivers
- Préciser les classes qui les implémentent
- Précise leurs capacités (`a quels intents ils réagissent), Ceci permet au système de savoir
comment lancer chaque partie de l’application afin de satisfaire au principe de
réutilisabilité.
- Définir les permissions de l’application :
• Droit de passer des appels
• Droit d’accéder `a Internet
• Droit d’accéder au GP
- Préciser la version d’Android minimum nécessaire
- Déclarer les librairies utilisées
- Déclarer des outils d’Instrumentation (uniquement pour le développement)
Ø L’état Dead : Cette activité est terminée ou elle n'a jamais été démarrée. Si une
activité est en pause ou arrêtée, le système peut supprimer l'activité de la mémoire,
soit par lui demandant de se terminer, ou tout simplement tuer le processus. Quand
18
Chapitre I Généralités
il est affiché de nouveau à l'utilisateur, il doit être redémarré et restauré à son état
antérieur.
Ø La durée de vie d'une activité se passe entre le premier appel à onCreate () par
l’appel à onDestroy (). Une activité met en place tous les états globaux dans la méthode
onCreate () et libère toutes les ressources restantes à onDestroy ().
Ø La durée de vie visible d'une activité se passe entre un appel à onStart () jusqu'à ce qu'un
appel correspondant à onStop (). Dans ce temps, l'utilisateur peut voir l'activité sur
l'écran, même s’elle n’est pas à l'avant et à l'interaction avec l'utilisateur. Entre ces
deux méthodes, les ressources qui sont nécessaires pour montrer l'activité de l'utilisateur
sont conservées.
Ø La durée de vie d’une activité en avant-plan se passe entre un appel à onResume () jusqu'à
ce qu'un appel correspondant à onPause (). Dans ce temps, l'activité est en face de toutes
les autres activités afin d’interagir avec l'utilisateur. Une activité peut souvent changer
son état entre l’état de reprise et l’état en pause.
19
Chapitre I Généralités
20
Chapitre I Généralités
Ø Il est plus simple de relire et modifier la définition d’une interface graphique
exprimée dans un format structuré comme XML plutôt que codée dans un langage de
programmation.
Ø Séparer ces définitions XML du code Java réduit les risques qu’une modification du
code source perturbe l’application.
De ce fait l’utilisation de XML pour la définition des interfaces graphiques est devenue
monnaie courante.
I.8 Conclusion :
A travers ce chapitre nous avons vu que le modèle client/serveur est devenu l’architecture
d’application la plus utilisée. Nous retenons aussi que les réseaux sans fil offrent des avantages
remarquables en évitant le câblage souvent difficile à mettre en œuvre et à maintenir, et que les
services mobiles ont connu une évolution remarquable dans le monde. Et puisque dans notre
cas nous nous intéressons plus particulièrement au transfert de données multimédia, on a donné
aussi quelques notions qui concernent ce domaine.
Le chapitre prochain sera consacré pour l’analyse et conception
21
Chapitre 2
Chapitre II Analyse et conception
II.1 Introduction :
La conception de toute solution informatique doit être traitée avec rigueur et précision, car
elle constitue la base du système à développer. Avant de s’engager dans la conception, il est
impératif de passer par la phase d’analyse qui permet d’identifier les différents acteurs qui
interagissent avec le système ainsi que leurs besoins. Puis on passera à la conception qui
utilisera les résultats de la phase d’analyse, on donnera aussi la description détaillée du système
cible et les objectifs à atteindre. Pour ce faire, notre démarche va s’appuyer sur le langage UML,
qui offre une bonne représentation des aspects statique et dynamique d’une application.
II.3 Analyse :
23
Chapitre II Analyse et conception
Cette partie a pour objectif la spécification d’une manière claire de notre application.
Pour ce faire, il est nécessaire de déterminer globalement ce que ce trouve dans le champ de
l’application en s’intéressant à la définition des besoins ainsi que les interactions entre les
différents acteurs impliqués.
Dans le but d’une meilleure organisation et une bonne maîtrise du travail, tout processus de
développement d’applications ou systèmes informatiques doit suivre une méthode ou une
démarche bien définie.
La figure ci-dessous montre la représentation graphique de la démarche de modélisation
choisie pour concevoir notre application :
Identification
des acteurs
Diagramme des
cas d’utilisation
Identification
des besoins Diagramme de
séquences
Diagramme
d’activités
Diagramme de
classe
24
Chapitre II Analyse et conception
Après avoir étudié les besoins de notre système, nous avons procédé à l’identification
de ces principaux acteurs :
Ø Utilisateur : Tout médecin disposant d’un compte qui peut charger, télécharger, ou lire
un fichier multimédia, c.à.d. il a comme tâches :
· S’authentifier par un identifiant et un mot de passe.
· Charger des fichiers multimédia.
· Télécharger des fichiers multimédia.
· Lire des fichiers multimédia.
Ø Administrateur : celui qui gère les utilisateurs, il effectue les tâches suivantes :
· S’authentifier par un identifiant et un mot de passe.
· Gestion des utilisateurs (Ajout, modification, suppression).
· Gestion des maladies (Ajout, modification, suppression).
Utilisateur
Service multimédia
Administrateur
25
Chapitre II Analyse et conception
II.3.4 Les cas d’utilisation :
Un cas d’utilisation représente un ensemble de séquence d’actions qui sont réalisées par
les systèmes et qui produit un résultat observable intéressant pour un acteur particulier. Il
permet de décrire ce que le système devra faire, sans spécifier comment le faire.
Dans notre cas nous distinguons les cas d’utilisation suivants :
Ajouter
Gérer le Supprimer
Administrateur système
Modifier
Authentificatio
n
Charger
Télécharger
Authentification
26
Chapitre II Analyse et conception
II.3.5 Description des cas d’utilisation avec des scénarios :
Pour détailler le déroulement d’un cas d’utilisation, la procédure la plus évidente
consiste à recenser de façon textuelle toutes les interactions entre les acteurs et le système. Dans
ce qui suit nous décrivons donc quelques cas d’utilisation de notre système.
II.3.5.1Cas d’utilisation «Authentification Administrateur » :
Acteur : Administrateur
Description :
Acteur : Administrateur
Description
3. Le system affiche une erreur si les champs obligatoire n’est pas remplis
27
Chapitre II Analyse et conception
II.3.5.3 Cas d’utilisation «Authentification coté utilisateur » :
Acteur : Utilisateur
Description :
28
Chapitre II Analyse et conception
II.3.5.4 Cas d’utilisation «Télécharger une image coté utilisateur » :
Acteur : Utilisateur
Description :
Télécharger un fichier
Télécharger un fichier
1. L’utilisateur atteint la page principale (les types de fichier).
2. L’utilisateur sélectionne le bouton « Image».
3. Le système affiche la page de choix de type gestion de l’mage (charger ou rechercher).
4. L’utilisateur sélectionne rechercher.
5. Le système affiche la page de choix de critère de recherche.
6. L’utilisateur sélectionne un critère soit nom de maladie.
7. Le système affiche une liste des images qui correspondent au critère de recherche.
8. L’utilisateur clique sur une l’image qu’il veut.
9. Le système affiche la page de téléchargement dans laquelle il agrandit l’image choisie.
10. L’utilisateur clique sur télécharger.
11. Le système envoie un message de confirmation.
II.4 Conception :
Le processus de conception de notre application repose sur l’organisation conceptuelle,
logique et physique des données collectées durant la phase analyse. En effet, elle s’appuie
essentiellement sur quelques diagrammes du langage de modélisation UML.
29
Chapitre II Analyse et conception
s’intéresse seulement à effectuer la représentation des diagrammes de séquence pour les cas
d’utilisation déjà présentés auparavant.
Administrateur
Atteint
Afficher
Saisir
Atteint
Afficher
Authentification Administrateur :
30
Chapitre II Analyse et conception
II.4.1.2 Diagramme de séquence «Ajouter un utilisateur par l’administrateur » :
Administrateur
Atteint
Afficher
Sélectionner
Atteint
Afficher
Sélectionner
Atteint
Afficher
Saisir
Ajouter Valider
Afficher message de confirmation
31
Chapitre II Analyse et conception
II.4.1.3 Le diagramme de séquence «Télécharger une image» :
32
Chapitre II Analyse et conception
II.4.2 Le diagramme d’activité :
Une activité représente une exécution d’un mécanisme, un déroulement d’étapes
séquentielles. Le passage d’une activité vers une autre est matérialisé par une transition. Les
transitions sont déclenchées par la fin d’une activité et provoquent le début immédiat d’une
autre (elles sont automatiques).
Administrateur
Page d’authentification
vide
Saisir login
Page d’authentification
remplie
Valider
de
Entrer
Fin
33
Chapitre II Analyse et conception
II.4.2.2 Diagramme d’activité «Ajouter un utilisateur» :
Début
Administrateur
Afficher le message :
Ressaisissez le mot
De passe svp »
Vérifier l’existence de
L’utilisateur
Afficher le message :
« Utilisateur existe déjà »
Utilisateur ajouté
Fin
34
Chapitre II Analyse et conception
II.4.2.3 Diagramme d’activité «Télécharger une image par l’utilisateur» :
D ébut
Utilisateur
Précédent
Sélectionner recherche
Précédent
Choisir un critère de
recherche
Image téléchargée
Précédent
Fin
35
Chapitre II Analyse et conception
II.4.3 Diagramme de classe :
Le diagramme de classes représente l’architecture conceptuelle du système : il décrit les
classes que le système utilise, ainsi que leurs liens, que ceux-ci représentent un emboitage
conceptuel (héritage, marqué par une flèche terminée par un triangle) ou une relation organique
(agrégation, marqué par une flèche terminée par un diamant).
Utlilisateur
Id_utilisateur
nom
prenom
date_naissance
e_mail
telephone
adresse
login
mot de passe
Administrateur Medecin
spécialité
grade
0..* 0..*
0..*
0..*
Maladie Média
id_maladie id_media
nom_maladie 1..1 0..* nom
type _maladie chemin
mode_transmission description
taille
date_creation
type
36
Chapitre II Analyse et conception
II.5 Conclusion :
Dans ce chapitre, nous avons proposé une démarche de modélisation pour développer
notre application. Cette démarche est basée sur l’UML, nous avons commencé par la
spécification des cas d’utilisations dans un premier temps, suivi d’une élaboration des
diagrammes de séquences et d’activités ensuite les diagrammes de classes. L’implémentation
et le déploiement du service MULTIMEDIA seront présentés dans le chapitre suivant.
37
Chapitre 3
Chapitre III Réalisation
III.1 Introduction :
Après avoir présenté dans le chapitre précédent les différentes étapes d’analyse et de
conception, nous allons présenter dans ce dernier chapitre l’environnement de développement,
les outils qui ont servi à la réalisation de notre application, et nous terminerons par la
présentation de ses fonctionnalités à travers quelques interfaces.
- Smartphone Samsung.
- PC portable doté d’une carte WI-FI.
- Un point d’accès WI-FI.
Pour pouvoir réaliser une application dans les bonnes conditions il faut en tout premier
lieu bien choisir l’environnement de travail et ce selon nos besoins, nous avons opté pour la
réalisation d’une application mobile sous-système Android ce qui nous impose de travailler
sous Eclipse avec le langage JAVA et le SDK Android pour son développement, afin d’obtenir
un fichier APK qui sera par la suite installé sur les terminaux mobiles fonctionnant sous système
Android version 2.3.3 et plus.
5.3.5)
III.2.3 Environnement de développement :
III.2.3.1 Le langage 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. Il fut 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 possède 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 Linux, avec peu ou pas du tout de modifications. Pour cela, diverses
plateformes associées visent à garantir la portabilité des applications développées en Java.
39
Chapitre III Réalisation
III.2.3.2 L’IDE Eclipse :
L’IDE Eclipse est un projet, décliné et organisé en un ensemble de sous-projets de
développements logiciels, visant à fournir un environnement de production de logiciels libres
qui soit extensible, universel et polyvalent, permettant de programmer dans différents langages
(principalement Java), et ce grâce à ses nombreux plug-ins et notamment le plug-in Android.
40
Chapitre III Réalisation
et ceci grâce a l’implémentation des fonctions SQL qui s’est faite a travers des classes librairies
extrêmement optimisées.
Nous avons essayé plusieurs versions d’Eclipse et il apparait que la version INDIGO est
celle qui fonctionne le mieux pour développer un Projet Android.
41
Chapitre III Réalisation
2) Ajouter un nouveau site.
42
Chapitre III Réalisation
4) Sélectionner tout le package à télécharger. Et installer les.
43
Chapitre III Réalisation
III.2.4.3 Installation d’un téléphone virtuel Android :
III.2.4.3.1 Téléchargement d’Android SDK :
1) Lancer SDK Setup.exe.
44
Chapitre III Réalisation
45
Chapitre III Réalisation
Remarque : On peut créer autant d’émulateur qu’on veut selon nos besoins.
III.2.5 La connexion à la base de données à distance (Android/MySQL) :
46
Chapitre III Réalisation
1. Commande HttpClient.
2. Appel du fichier PHP.
3. Renvoi data en JSON.
4. Récupération et décodage JSON.
JSON est un format texte complètement indépendant de tout langage, mais les
conventions qu'il utilise seront familières à tout programmeur habitué aux langages
descendant du C, comme par exemple : C lui-même, C++, C#, Java, JavaScript, Perl, Python
47
Chapitre III Réalisation
et bien d'autres. Ces propriétés font de JSON un langage d'échange de données idéal. Un
document JSON ne comprend que deux types d'éléments structurels :
· des objets ;
· des tableaux ;
· des valeurs génériques de type tableau, objet, booléen, nombre, chaîne ou null.
Remarque : JSON ne peut transporter que les chaine de caractère et pour cela, on doit coder
nos objets en base 64.
Ø Le Format Base 64 :
Base 64 est un codage de l'information utilisant 64 caractères, choisis pour être
disponibles sur la majorité des systèmes. Il est principalement utilisé pour la transmission de
messages sur l'internet.
Le principe du codage Base 64 consiste à utiliser des caractères US-ASCII (caractères
non accentués) pour coder tout type de données codé sur 8 bits. Les protocoles de courrier
électronique ont en effet été prévus à l'origine pour transporter des messages en texte
seulement. Or, l'échange de données binaires se traduit la plupart du temps par des
transformations du contenu rendant illisible le document original.
Ø Fichier PHP :
Le fichier PHP consiste à envoyer des requêtes sql à la base de données. Il récupère le
résultat des requêtes, ensuite l'encode en JSON grâce au simple appel de la fonction
json_encode() comme dit précédemment.
48
Chapitre III Réalisation
III.2.5.2 coté client :
Au niveau du Client android, il s'agit de demander au serveur de nous renvoyer le
résultat de la requête grâce aux commandes HttpClient, Ensuite, il nous appartient de décoder
ces données (puisqu'elles sont renvoyées sous forme d'objet JSON) afin de pouvoir les afficher.
Remarque : si la requête manipule par exemple un fichier on doit le décoder aussi en base64.
Nom d’utilisateur et le mot de passe vont être transmis au serveur et seront vérifiés
auprès de la base de données, la réponse pour l’authentification sera transmise, si le nom
d’utilisateur ou le mot de passe est invalide alors un message d’erreur sera affiché, sinon le
client accède à la page d’accueil « Service Multimédia ».
49
Chapitre III Réalisation
50
Chapitre III Réalisation
Si l’utilisateur a choisi par exemple «Rechercher», l’interface de «critères de recherche»
sera affichée et l’utilisateur doit sélectionner un ou plusieurs critères pour effectuer sa
recherche, puis valider le choix.
51
Chapitre III Réalisation
Lors de l’apparition de la fenêtre « Liste des images», l’utilisateur doit sélectionner une
image, en cliquant au-dessous pour l’agrandir puis la télécharger.
52
Chapitre III Réalisation
53
Chapitre III Réalisation
Cette partie est utilisée par l’administrateur du système multimédia, elle a pour but de
gérer les utilisateurs (ajouter un médecin, supprimer un médecin, modifier un compte médecin)
les maladies (ajouter une maladie, supprimer une maladie…).
L’administrateur doit tout d’abord s’authentifier par un pseudo et un mot de passe, la
figure ci- dessous représente l’interface d’authentification :
54
Chapitre III Réalisation
Les figures ci-dessous représentent quelques interfaces de tâches qui peuvent être
effectuées au niveau de l’application de gestion :
55
Chapitre III Réalisation
56
Chapitre III Réalisation
57
Chapitre III Réalisation
58
Chapitre III Réalisation
III.4 Conclusion
Dans ce chapitre nous avons en premier lieu présenté l’environnement et les outils
utilisés pour implémenter notre application. Puis nous avons présenté des exemples réels de cas
d’utilisation de l’application afin de vous donner une idée globale et un premier aperçu de notre
projet.
59
Conclusion générale
Conclusion générale
Conclusion générale :
En vue de croissance de Smartphone au niveau mondial ces dernières années, la téléphonie
mobile est sans doute le secteur le plus dynamique, le plus rentable et le plus innovant de toute
l’industrie de télécommunication que fait partie de nos quotidiens, et que la plupart de ces
Smartphone ont comme système exploitation l’Android. Nous étions menées à explorer ce
nouveau système d’exploitation pour mobiles et à faire une application client/serveur qui permet
aux médecins de partager les connaissances et les données multimédia concernant les différentes
maladies et se mettre en relation avec des professionnels de santé de toutes spécialité médicale
afin de faciliter l’étude, enrichir les connaissances ,et garantir une qualité de soin optimal pour
les patients.
Ce projet est donc composée de 3 parties, dans le premier nous avons donné des généralités
sur les réseaux sans fil, l’architecture client /serveur, les applications mobiles et les bases de
données multimédia, puis nous avons consacré le deuxième chapitre pour l’analyse et la
conception de notre application, Finalement nous avons décrit notre application et ses
fonctionnalités après avoir définir l’environnement de développement.
Nous espérons que ce modeste travail a abouti aux objectifs fixés au départ et sera un
guide considérable pour les nouvelles promotions.
.
60
Bibliographie
Bibliographie
Sites :
http://www.commentcamarche.net
http://www.wikipedia.org
http://www.developpez.com
http://stackoverflow.com
http://www.apple.com
http://developer.android.com
http://www.json.org
http://easy-android.over-blog.com
http://www.androidhive.info
http://www.cnblogs.com
http://sunzone.iteye.com
http://longluo.github.io
http://www.oschina.net
https://zestedesavoir.com
http://examples.javacodegeeks.com
Livres :
Créer des applications Android(Auteurs : Philippe Lacomme, Raksmey Phan)
L’art du développement Android (Edition PEARSON)
Mémoires :
SIDALI et BELLOUNI, « conception et réalisation d’une application mobile de sauvegarde
des répertoires téléphoniques SAVBOX », Mémoire d’ingénieur, UMMTO 2008.