Vous êtes sur la page 1sur 17

INSTITUT UNIVERSITAIRE DE TECHNOLOGIE

RÉPUBLIQUE DU CAMEROUN FOTSO VICTOR DE BANDJOUN


REPUBLIC OF CAMEROON FOTSO VICTOR UNIVERSITY INSTITUTE OF
Peace – Works - Fatherland
TECHNOLOGY
UNIVERSITÉ DE DSCHANG
UNIVERSITY OF DSCHANG
Département de Génie Informatique
Scholae Thesaurus Dschangensis Ibi Cordum Département of Computer Engineering
BP 96, Dschang (Cameroun) – Tél./Fax (237) 233 45 13 81 BP 134, Bandjoun – Tél./Fax (237) 299 31 61 30 / 70 64 23 92
Web site : http://www.univ-dschang.org. Web site : http://www.univ-dschang.org/iutfv/.
E-mail : iutfv-bandjoun@univ-dschang.org
E-mail : udsrectorat@univ-dschang.org

PROJET PRATIQUE OBJET CONNECTER ET


APPLICATION MOBILE
Sous la supervision de : Dr FOTSING ERIC

Proposé par : GROUPE 29

Option :LICENCE CDRI/QSIR

SYNTHESE DE TPE1 ET TPE2 : CAS DE NOTRE


PROJET BTMS

Institut Universitaire de Technologie Fotso Victor de Bandjoun


Filière : Génie-Informatique
Niveau : licence 3
Année académique 2022-2023

o FOKO Alexis Gyslain (L_QSIR)


o KENGNE CHATUE Cindy Theresa (L_CDRI)
o KOUOKAM SINTCHENFEU Zidane Durel (L_CDRI)
o YOMI NYA Reine Stephanie (L_CDRI)
Liste de Figures
Figure 2 : Code Android Accéléromètre ................................................................................................. 6
Figure 3: Exemple de code Android........................................................................................................ 7
Figure 4 : Exemple de code Android....................................................................................................... 7
Figure 5: Exemple de Code Objective-C................................................................................................. 8
Figure 6 : Axe de rotation du Smartphone .............................................................................................. 8
Figure 7 : Exemple de code Swift ........................................................................................................... 9
Figure 8 : Architecture Windows Phone ............................................................................................... 10
Figure 9 : Architecture Android ............................................................................................................ 11
Figure 10 : Architecture Ios................................................................................................................... 12
Figure 11 : Comparaison entre Architecture ......................................................................................... 13
INTRODUCTION

Baby Monitoring Température System (BTMS) est un projet permettant de connaitre les états
de températures d’un bebe, cela permet de bien monitorer ce system. Puisque la collecte de ces
données à longueurs de journées magasine une grande quantité de données, il devient important
de savoir gérer et traiter ceci, c’est donc dans cette optique que nous optons pour le
DEVELOPPEMENT D’UN OPEN SOURCE APPLICATION MOBILE. Ce système a un
grand potentiel, la capacite multi-sources et l’adaptabilité, ses administrateurs bénéficient d’un
degré élevé de contrôle qui leur permettra d’adapter le système aux utilisateurs et sa flexibilité
le rendra largement applicable.

I. Problématique
L`objectif principale de ce projet est de développer une application mobile en tant que
composant d’un système open source complet pour la collecte de données urgente tels que la
TEMPERATURE de notre système de monitoring pour Nene (BTMS) et également de faire
une géolocalisation du bebe à n’importe quel moment de la journée.
Un objectif secondaire est d’évaluer l’application mobile pour déterminer si elle est applicable
à la collecte effective des donnes sur le terrain et comment elle peut être améliorer.

II. Le contexte
Cette application mobile sera utilisée dans le contexte ou il faudra collecte et distribuer les
données perçues par le système de monitoring de température (BTMS) aux utilisateurs agrées
à l’instar des parents du bebe et également la géolocalisation du bebe.

III. Les technologies utilisées

Les sections ci-dessus illustrent le large éventail de stratégies et de technologies qui peuvent
être utilisées pour collecter des informations spatiales tout en permettant la libre circulation de
son utilisateur. Afin d'être en mesure d'expliquer et de justifier la mise en œuvre spécifique de
ce projet du système BTMS, les principales alternatives pour les composants et les
caractéristiques seront présentées dans les sections suivantes :
-Premièrement, les smartphones, qui deviennent de plus en plus populaires pour les SIG
mobiles, nécessitent tous un système d'exploitation (OS) pour gérer la communication entre son
matériel et toutes les applications installées.
-Deuxièmement, un serveur spatial quelconque est nécessaire pour relayer l'information aux
utilisateurs, c'est-à-dire lui permettre de visualiser à distance des cartes et des données spatiales.
-Troisièmement, l'interopérabilité des systèmes peut être considérablement améliorée par le
développement et l'utilisation de normes pour leur communication.
Enfin, compte tenu de la compatibilité du système et de l'existence d'une application mobile
adaptée à l'usage spécifique, il n'est toujours pas certain que l'utilisateur soit autorisé ou puisse
se permettre d'utiliser l'application. Les applications pour smartphone, comme d'autres types de
logiciels, sont soumises aux lois sur le droit d'auteur et l'auteur détermine par le biais des
conditions de licence ce qu'un utilisateur est autorisé à en faire et s'il y a un coût pour l'acquérir.
Cependant, un nombre croissant de logiciels utilisent une forme de licence open source qui,
entre autres droits, permet aux utilisateurs d'acquérir gratuitement le code source, c’est pour
cela que nous avons choisi de développer une application OPEN SOURCE.

IV. Études de la programmabilité de quelques capteurs sur


les différentes plateformes

a) L’accéléromètre

L’accéléromètre a été introduit comme capteurs pour Smart phone dans le but dans le but d’améliorer
l’interaction avec l’utilisateur et optimiser l’utilisation de la caméra du mobile
Les accéléromètres permettent plus clairement de déterminer l’orientation avec laquelle l’utilisateur
tient le téléphone afin de dynamiser l’affichage du contenu du mobile et de l’adapter au point de vue de
l’utilisateur et de son environnement.
L’accéléromètre se base sur des coordonnées de références afin de déterminer du à partir d’un repère en
trois dimensions la position du téléphone sur trois axes.

b) Le capteur de proximité

Le capteur de proximité est un capteur permettant d’évaluer la distance séparant le


Smartphone d’un objet et d’envoyer ces informations à un microcontrôleur afin que celui-
ci effectue certaines tâches en réponse.
Un des applications très rependu de ce capteur est de permettre au téléphone de s’éteindre
automatiquement lorsqu’il est proche de l’oreille de l’utilisateur (réponse à un appel par
exemple). Cette fonctionnalité permet d’optimiser l’utilisation de la batterie du mobile et
d’éviter à l’utilisateur d’effectuer des opérations involontaires lors de la réponse à un appel.

c) Le gyroscope (détecteur de mouvement)

Ce capteur est conçu pour pouvoir mesurer la force de Coriolis subis par mobile lorsque
l’utilisateur effectue un mouvement. L’information fournie par ce capteur est une vitesse
angulaire (Rad/secondes) sur les 03 axes du mobile.
Ce capteur est parmi les plus utiliser dans les Smartphones et permet d’assurer des
fonctionnalités telles que
- L’optimisation du réalisme pour les jeux mobiles
- Optimiser l’utilisation de l’appareil photo pour la prise des images panoramique et
des vidéos à 360°.

V. Programmation des capteurs sur les différentes plateformes

a) Environnement Android

➢ L’accéléromètre
L’environnement Android est du point de vue des développeurs le plus facile pour la
programmation des capteurs. Dans le cas de l’accéléromètre

Figure 1 : Axe de téléphone

L'accéléromètre fournit le vecteur de force (ou d'accélération, c'est la même chose)


tridimensionnel (x, y, z). À partir de ce vecteur, le système déduit la composante
gravitationnelle (toujours un vecteur tridimensionnel). Celle-ci est celle renvoyée par le
capteur Gravity. Le capteur Linear Acceleration déduit du champ de force cette composante
fournissant un vecteur (tridimensionnel) épuré de la gravité.
Figure 2 : Code Android Accéléromètre

➢ Capteur de proximité
Pour comprendre pourquoi il faudrait le nommer « capteur qui détecte la présence du corps
humain au niveau de l'écouteur de l'appareil ». S'il détecte une présence il renvoie 0 sinon il
renvoie 5.
Figure 3: Exemple de code Android

➢ Le gyroscope
Le gyroscope est un capteur qui calcule la vitesse angulaire de votre téléphone. Il suffit
comme d'habitude avec les capteurs de le créer, s'enregistrer/se désenregistrer en tant
qu'écouteur et d'implémenter la méthode onSensorChanged :

Figure 4 : Exemple de code Android

b) Environnement iOS

➢ L’accéléromètre

Sous l’environnement IOS les langages de programmation majoritairement utilisé pour le


développement d’application sont Swift et Objective C.
Les accélérations détectées par l'accéléromètre consistent en trois valeurs flottantes qui
représentent les trois axes du device.
Pour obtenir ces informations, vous utiliserez la classe UIAccelerometer. Un coup d'œil à
l'aide
Apple montre que les événements générés par les objets de cette classe se font via
le protocole UIAccelerometerDelegate. Un autre coup d'œil à l'aide Apple sur le
protocole UIAccelerometerDelegate montre que la méthode événementielle à
utiliser pour recevoir les données relatives à l'accélération est didAccelerate.
Il ne reste plus qu'à implémenter un objet de la classe UIAccelerometer et à gérer les
événements renvoyés par cet objet dans la méthode didAccelerate pour connaître la position
du device.
Figure 5: Exemple de Code Objective-C

➢ Gyroscope

Figure 6 : Axe de rotation du Smartphone

Le gyroscope comme cité plus haut nous fournit la vitesse sa rotation du téléphone sur un
certain axe
Figure 7 : Exemple de code Swift

VI. Comparaison entre les plateformes

a) Les API utilisés

Chacune des trois plateformes mobiles a ses propres API. Tous sont un peu différents les
uns des autres et tous ne prennent pas en charge les mêmes fonctionnalités. Par exemple,
une grande différence entre les API est qu'Apple est très strict avec la connexion de leurs
appareils mobiles à
Autres appareils. Leur API ne prend pas en charge la communication via Bluetooth sans
accord. Alors que les deux autres API permettent à leurs téléphones de communiquer avec
d'autres appareils via Bluetooth sans faire aucun type d'accord dans l'API
En ce qui concerne les capteurs et leurs supports API, Apple est peut-être l'un des pires dans
ce cas. C'est simplement parce qu'Apple a construit ses capteurs de telle manière qu'ils n'ont
qu‘un producteur pour eux, alors qu'Android et Windows Phone ont tous deux des supports
de capteurs plus riches. Android pourrait être le plus riche dans ce cas. Ceci uniquement
parce qu’Android permet à de nombreux fabricants de capteurs différents pour leurs
capteurs, il existe donc une très grande variété de capteurs prise en charge dans leur API de
capteur. Le modèle d'objet capteur Android est également différent de ceux de iOS et WP.
Le gestionnaire de capteurs Android a une classe qui gère tous les capteurs pris en charge.
b) La facilité de programmation

La première chose dont il est question lorsque l'on parle de programmabilité est
l'architecture des OS. Le système d'exploitation Windows contient trois couches, comme
indiqué dans le TABLEAU 3 : Matériel, espace noyau et Espace utilisateur. Toutes les
applications .NET Framework s'exécutent dans l'espace utilisateur et l'ensemble du système
d'exploitation noyau, tous les pilotes et services systèmes possibles exécutés dans l'espace
noyau, et enfin tous les capteurs et autres éléments orientés matériel résident dans la couche
matérielle.

Figure 8 : Architecture Windows Phone

L'architecture Android est construite de telle manière que tous les pilotes et logiciels sont
basés sur le Noyau Linux comme indiqué dans la figure. Dans l'architecture Android, le
noyau Linux vient Machine virtuelle Dalvik. Cette machine est une machine virtuelle Java
spéciale optimisée pour s'exécuter Applications Java sur les appareils mobiles. Dans
Android, la majorité de ses systèmes d'exploitation sont dans le Framework d'application,
qui est principalement composé de services Java, d'API et de bibliothèques en tant que
bibliothèques natives
Figure 9 : Architecture Android

Enfin la troisième architecture est l'architecture iOS. Il sert d'intermédiaire entre tous les
matériels qui se trouve dans les appareils iOS et les applications que les développeurs vont
créer. Les applications dans iOS ne parleront en aucun cas directement au matériel, mais
pour faire cette connexion, elles communiquent généralement via des interfaces système
bien définies. Grâce à ces interfaces, il est des applications faciles à écrire qui fonctionnera
de manière cohérente sur des appareils dotés de capacités matérielles. Ils montrent qu'Apple
montre que leur implémentation des technologies iOS est en cours ou couches. Les couches
inférieures contiennent les services et technologies fondamentaux inclus dans iOS.
Alors que les couches de niveau supérieur sont construites sur les couches inférieures et
qu'elles fournissent donc des services et des technologies plus sophistiqués.
Figure 10 : Architecture Ios

Tout comme les applications iOS, les applications Android Java sont construites sur le cadre
Android. Ce cadre se compose d'un tableau de packages Java qui sont utilisés. Ces forfaits
sont :
Gestionnaire d'activité, système de visualisation, gestionnaire Windows, gestionnaire de
téléphonie, fournisseur de contenu,
Gestionnaire de notifications, etc. L'interface utilisateur Android est généralement
composée d'une variété de différents afficher les composants qui sont ensuite utilisés dans
une combinaison de mises en page. Les packages Java du Framework sont ce qu'on appelle
l'interface avec toutes les fonctionnalités système sous-jacentes. C'est parce qu'ils s'appuyer
sur les bibliothèques natives correspondantes pour effectuer certaines des tâches de niveau
inférieur de l'architecture. Une chose qu'Android fait différemment, c'est qu'ils ont introduit
de la programmation concepts qui facilitent l'extension des applications système pour les
développeurs. Ces notions sont celles de l’activité et l’intention.
Le Framework d'application pour WP7 est basé sur .NET. Dans WP7, il n'y a aucune
possibilité d'utiliser code natif. Les Framework Silverlight et XNA fournissent tous deux un
certain ensemble de types de .NET Framework. Ces types de Framework servent
généralement d'interface avec le système d'exploitation sous-jacent.
L'API Windows Phone permet aux applications d'interagir avec les médias, les données
locales et distantes, ainsi que les capteurs. Sur WP7, le Framework .NET s'exécute sur un
bac à sable, cela signifie qu’aucune communication entre applications n'est autorisée sur le
WP7. Donc, si un programmeur veut faire de la communication inter-applications, il doit
s'appuyer sur les services Web comme pont pour cela. Lorsque vous comparez le cadre
d'application de ces trois plateformes mobiles, vous pouvez voir des différences entre elles.
Il y a quelques grandes différences en les comparant. L'un d'eux est que, comme indiqué
dans le tableau, iOS et Android n'ont qu'un seul Framework d'application, alors que WP7
en a deux. Ces trois Framework ont tous leur propre langage de programmation, iOS est
programmé en Object-C, Android est programmé en Java et WP7 est programmé en C# et
Visual Basic.NET. Tous ont également leur propre SDK, ce qui rend la vie du programmeur
assez difficile s'il veut pouvoir coder les trois. Le TABLEAU 6 montre les cadres
d'application de base pour chacune de ces plates-formes mobiles. L'une des principales
raisons à cela est que le SDK iOS ne fonctionne pas bien sur les ordinateurs Windows et le
SDK Windows Phone ne fonctionne pas bien dans les ordinateurs Mac OS. La troisième et
dernière des grandes différences entre ces Framework est qu'iOS et Android autorisent
l'accès à l'API native, mais WP7 n'autorise aucun accès à l'API native. Cela le rend moins
pratique que les deux autres.

Figure 11 : Comparaison entre Architecture

c) Convivialité

Chacune de ces trois plates-formes mobiles différentes a sa propre manière d'être utilisée
par utilisateurs. De plus, la convivialité est l'un des éléments clés lorsque l'on parle des
appareils mobiles d'aujourd'hui. Si l'appareil est trop difficile à utiliser, il n'aura
probablement pas autant d'utilisateurs. Même pensé tout trois plates-formes mobiles ont leur
propre style, elles sont encore assez similaires les unes aux autres. Parce qu'en fin de compte,
ils ont tous les mêmes besoins pour lesquels ils sont utilisés et très probablement ils le feront
fonctionnent tous de la même manière mais avec leur propre style unique.
La convivialité des appareils Android a toujours été du même style. Ils ont eu leur écran de
démarrage comme simple que possible depuis le début, mais ils ont quand même toutes les
pièces nécessaires pour le faire utile au final. Lorsqu'un utilisateur appuie sur le bouton de
menu depuis l'écran de démarrage, le menu s'ouvre qui contient alors tout. C'est à mon avis
l'un des défauts d'Android, car il va probablement être tout un gâchis lorsque vous ouvrez
le menu. C'est si vous avez beaucoup de applications sur le téléphone. Sinon, les appareils
Android sont simples et propres à tous points de vue.
Les appareils mobiles Windows ont toujours été presque de la même manière que leur
système d'exploitation Windows pour des ordinateurs. L'exemple le plus récent est
Windows 8. L'écran de démarrage de Windows 8 est le même apparence et fonctionnement
de la même manière que la version Windows 8.1 qui se trouve sur les appareils mobiles
aujourd'hui. La convivialité de ce style est assez similaire aux deux extrémités, donc si
l'utilisateur sait comment utiliser l'un des appareils de Microsoft, il peut alors utiliser l'autre
également. La faille de Windows mobile appareils est que le soi-disant menu de
l'application, où tout est ressemblé trop au début écran sur lequel vous pouvez réellement
tout épingler si vous le souhaitez. Il est en fait très simple à utiliser, mais pour les utilisateurs,
cela peut ne pas être aussi agréable que les autres plates-formes mobiles. C'est parce que si
l'utilisateur a trop de choses sur son écran de démarrage, c'est tout un gâchis
Enfin, les appareils iOS ont leur propre manière unique dans laquelle Apple l'a conçu. C'est
le plus probablement le plus facile à utiliser, c'est principalement parce que l'un des
principaux points d'Apple est en fait rendre le téléphone vraiment facile à utiliser pour leurs
utilisateurs. Dans les appareils Apple, il est possible de retourner l'écran de l'un à l'autre où
se trouvent les applications. Il existe différentes applications pour tous les réglages, etc. Une
autre partie importante et vraiment utile d'Apple est qu'il est possible pour créer un dossier
de vos applications. Par exemple, nommez-le Jeux et mettez-y tous les jeux. Le
programmeur peut faire cela pour presque toutes les applications, donc la façon dont Apple
a conçu cela est recherche vraiment simple et lisse pour les utilisateurs aussi.

d) Les constructeurs

La plus grande différence entre les trois plates-formes mobiles est qu'elles sont toutes
développées par leurs propres entreprises, et ils ont tous leur propre façon de faire leurs
plateformes mobiles. Les trois sociétés s'appellent Apple, Google et Microsoft. Chacun
d'eux a le sien plate-forme pour leurs propres appareils mobiles, ces plates-formes sont les
suivantes : Apple à MacOs comme leur système d'exploitation sous-jacent et à partir de là,
ils ont créé leur système d'exploitation iPhone iOS.
Google à Android comme système d'exploitation pour ses plates-formes mobiles qui est
basé sur le système d'exploitation Linux et il est largement utilisé par les appareils mobiles
Samsung et HTC. Windows a son propre noyau Windows Compact Edition (CE) comme
système d'exploitation pour ses plateformes mobiles.

VII. État de l’art des technologies utilisées dans le cadre du


projet BTMS

Le but de notre projet BTMS (Baby Temperature Monitoring System) l’objectif essentiel est
de pouvoir surveiller la température d’un nourrisson et d’alerter les personnes autorisées.
L’étude que nous avons menée nous a permis d’enrichir notre projet en y intégrant la
fonctionnalité de géolocalisation.
L’introduction du GPS dans notre projet nous permettrait d’ajouter un plus nous permettant
non seulement de pouvoir surveiller mais en plus de pouvoir surveiller en temps réels les
déplacements de l’enfant afin de faciliter l’intervention des autorités compétentes en cas de
nécessité.
Nous avons choisi la plateforme d’utiliser pour la conception de notre projet la plateformes
Android pour plusieurs raisons.
- Premièrement parce que sur cette plateforme la programmation des capteurs est
moins complexe que sur les autres
- Parce que cette plateforme est la plus rependus comme système d’exploitation
pour mobile
Le langage de
Les trois systèmes d'exploitation de smartphone les plus courants sont :
• Android de Google, avec une nette domination à 81 %
• Windows Phone de Microsoft à 3,6 %
• iOS, sur l'iPhone d'Apple, à 12,9 %
Un avantage d'Android par rapport à iOS était que le développement d'applications est possible
sur la plupart des ordinateurs, tandis que le développement d'iOS nécessite l'utilisation des
propres ordinateurs d'Apple.
En conclusion de notre étude des différents capteurs nous avons pu aboutir que fait que
l’association entre les capteurs de température précédemment présent dans notre système va
grandement améliorer l’efficacité de notre système en incluant la fonctionnalité de
géolocalisation

VIII. LES SERVEURS GEOSPATIAUX

Les serveurs géospatiaux sont des systèmes logiciels qui reçoivent des demandes de données
spatiales et les renvoient sous différentes formes aux utilisateurs ou aux clients. Ils sont souvent
composés d'un système de gestion de base de données spatialement activé (SGBD) et d'un
logiciel de publication de données spatiales.
Le SGBD stocke et traite les données qui lui sont envoyées dans une base de données spatiales.
Le logiciel de publication peut prendre de nombreuses formes, mais il s'agit souvent d'un
serveur cartographique Web qui, en fonction des demandes des utilisateurs, renvoie des cartes
et des données, insère des données ou manipule les données dans la base de données. Le logiciel
de publication peut utiliser un serveur Web inclus ou séparé pour gérer la communication sur
Internet. Il peut également publier des données à partir de sources de données distantes telles
que des bases de données spatiales sur des serveurs distants ou d'autres types de stockage.
Dans le domaine open source, le SGBD spatial le plus populaire est PostGIS, c’est une
extension spatiale pour la relationnelle objet open-source base de données PostgreSQL (2013).
I. EXIGENCE DU SYSTÈME :
Dans cette section, une architecture de système pour la collecte de données d'urgence sur le
terrain est conçue en fonction des besoins identifiés.
Exigence :
Sur la base des recherches étudiées et des leçons tirées des SIG, la mise en œuvre de
l'architecture proposée devrait produire un système qui doit:
- Etre convivial,
- Produire des données précises,
- Rester opérationnel dans les zones et les situations où la connectivité réseau est perdue,
- Pouvoir suivre le bebe en cas de déplacement de celui-ci

La précision des données concerne à la fois la précision spatiale des données collectées et la
précision thématique, c'est-à-dire la précision de la classification, de la dénomination et des
attributs des entités. Le premier est déterminé par le matériel du dispositif de collecte de
données de température, le nombre et les angles des satellites GPS disponibles pour détecter la
position du bebe.
Les capacités hors ligne des systèmes de collecte de données sur le terrain et des SIG mobiles
sont une caractéristique importante pour la gestion des urgences. Un système conçu pour être
applicable dans les régions sous-développées où la connectivité au réseau sans fil peut ne pas
être disponible.
En ce qui concerne les fonctionnalités de base, elles sont assez explicites. « Afficher la
TEMPERATURE du bebe » comprenne l’heure à laquelle ont été prise ces données, doit
également spécifier le lieu ou le bebe se trouve pour être vigilent quant à la sécurité de l’enfant.

II. ARCHITECTURE GPS DE L’APPLICATION :


Un utilisateur avec un smartphone comme appareil SIG mobile reçoit des données de
localisation des satellites GPS via le récepteur GPS du smartphone. Les entités spatiales sont
créées avec l'interface utilisateur de l'application mobile cliente. Ceux-ci sont ensuite envoyés
sur Internet:

Vous aimerez peut-être aussi