Vous êtes sur la page 1sur 58

Web : www.upg.edu.

org
E-mail : info@upg.edu.org

UNIVERSITE POLYTECHNIQUE DE GITEGA


FACULTE DES TECHNOLOGIES DE L’INFORMATION ET DE
LA COMMUNICATION

DEVELOPPEMENT D’UNE APPLICATION MOBILE DE


GESTION DE VOYAGE

Rapport de stage réalisé par:

NIYERA Asapf & IRACANYE Ange Delisca


Présenté et soutenu le 14/08/2020

Sous la direction de:

MA Ferdinand NIRAGIRA

Membres du jury :

Président :

Directeur :

Secrétaire :

GITEGA, Août 2020


DEDICACES

A Mon père SAHINGUVU Michel


A ma mère NDAYISENGA Consolée
A mes frères et sœurs
A ma famille élargie
A tous mes amis et connaissances
IRACANYE ANGE Delisca

A Mes parents

A mes frères et sœurs

A ma famille élargie

A tous mes amis et connaissances

NIYERA Asaph

i
REMERCIEMENTS
Nous remercions Dieu le Tout Puisant et le Tout-Miséricordieux de nous avoir
donné la force nécessaire et le courage d’accomplir ce travail ainsi que tout au
long de notre étude.
Nous tenons à remercier les personnes qui, de près ou de loin ont participé à
l’élaboration de ce mémoire, à commencer par notre Encadreur Mr NIRAGIRA
Ferdinand pour sa disponibilité, son aide, ses conseils et ses encouragements.
Nous remercions très vivement tous nos professeurs, nos promotionnaires,
ami(e)s et tous nos proches qui ont contribués à la réalisation de ce projet.

ii
LISTE DES SIGLES ET ABREVIATIONS
GPS : Global Positioning System

TV : Télévision

SMS : Short Message Service

PME : Petite ou moyenne entreprise

OHA : Open Handset Alliance

2D : Deux dimensions

3D : Trois dimensions

API : Application programming interface

IDE : Environnement de développement

DVCS : Distributed version control

CVS : Concurrent Versions System

SVN : Subversion

UX : Expérience utilisateur

UI : Interface utilisateur

UPG : Université Polytechnique de Gitega

iii
LISTE DES FIGURES
Figure 1:Statistique illustrant l'utilisation selon les principaux Os pour les mobiles
dans le monde ........................................................................................................ 9
Figure 2: Statistique illustrant l'utilisation selon les principaux Os pour les
mobiles au Burundi ............................................................................................. 10
Figure 3: Logo de l'OHA ..................................................................................... 12
Figure 4: Logo Android ....................................................................................... 12
Figure 5: Version Android .................................................................................. 13
Figure 6:logo Figma ............................................................................................ 16
Figure 7:Apercu de Figma ................................................................................... 16
Figure 8:Logo Android Studio ............................................................................ 17
Figure 9:Android Studio...................................................................................... 17
Figure 10:Firebase Logo ..................................................................................... 18
Figure 11:Aperçu de Firebase ............................................................................. 19
Figure 12:Logo Google Map ............................................................................... 19
Figure 13: Google Map aperçu............................................................................ 20
Figure 14:Logo GitHub ....................................................................................... 21
Figure 15:Navigation simple ............................................................................... 22
Figure 16:Navigation par Ongle .......................................................................... 23
Figure 17:Navigation via Menu .......................................................................... 24
Figure 18:Navigation via barre du bas ................................................................ 24
Figure 19: Le back stack [10] .............................................................................. 25
Figure 20: Exemple back stack ........................................................................... 25
Figure 21. Diagramme de cas d'utilisation .......................................................... 26
Figure 22. Diagramme d'activité ......................................................................... 27
Figure 23. Diagramme de classe ......................................................................... 28
Figure 24:Firebase services [11] ......................................................................... 30
Figure 25: NoSql database [11] ........................................................................... 32
Figure 26:structure de firestore [8]...................................................................... 33

iv
Figure 27:base de données conception ................................................................ 34
Figure 28:Chargement ......................................................................................... 35
Figure 29:Connexion ........................................................................................... 36
Figure 30:Créer un Compte ................................................................................. 37
Figure 31:Acceuil utilisateur passager ................................................................ 38
Figure 32:Lister les réservations ......................................................................... 38
Figure 33:Historique............................................................................................ 39
Figure 34:paramètre ............................................................................................ 39
Figure 35:Explorer voyages disponibles ............................................................. 40
Figure 36:Détail réservation ................................................................................ 40
Figure 37:Acceuil utilisateur conducteur ............................................................ 41
Figure 38:Lister voyages planifier ...................................................................... 42
Figure 39:Activiter de planification voyage ....................................................... 42
Figure 40:Détailler voyage planifier ................................................................... 43
Figure 41: Sauvegarder une location................................................................... 44
Figure 42: Création d'un compte conducteur ...................................................... 45

v
TABLE DES MATIERES
DEDICACES .............................................................................................................................. i

REMERCIEMENTS .................................................................................................................. ii

LISTE DES SIGLES ET ABREVIATIONS ............................................................................ iii

LISTE DES FIGURES .............................................................................................................. iv

TABLE DES MATIERES ........................................................................................................ vi

Chapitre 1 : INTRODUCTION GÉNÉRALE ............................................................................ 1

1.1. Justification du choix du sujet ......................................................................................... 1

1.2. Intérêt personnel .............................................................................................................. 2

1.3. Pertinence scientifique du sujet ....................................................................................... 2

1.4. Pertinence sociale du sujet ............................................................................................... 2

1.5. Problématique de la recherche ........................................................................................ 2

1.6. Hypothèse de la recherche ............................................................................................... 3

1.7. Objectif de la recherche ................................................................................................... 3

1.8. Délimitation du sujet ....................................................................................................... 3

1.9. Cadre conceptuel et théorique ......................................................................................... 4

1.10. Conclusion ..................................................................................................................... 7

Chapitre 2 : GENERALITES SUR LES APPLICATIONS MOBILES ET ANDROID ........... 8

2.1. Définition ......................................................................................................................... 8

2. 2. Introduction sur les applications Android ...................................................................... 8

2.2.1 Introduction ................................................................................................................ 8

2.2.2. Historique ................................................................................................................ 10

2.2.3. A propos d’Android ................................................................................................ 11

2.2.4. Avantages du système Android .............................................................................. 13

2.2.5. Inconvénients du système Android ......................................................................... 15

2.3. Conclusion ..................................................................................................................... 15

vi
Chapitre 3 : PRESANTATION DES OUTILS CONCEPTION ET BASE DE DONNEES ... 16

3.1. Présentation d’outils ...................................................................................................... 16

3.1.1. Figma ...................................................................................................................... 16

3.1.2. Android studio IDE ................................................................................................. 17

3.1.3. Firebase ................................................................................................................... 18

3.1.4. Google Maps ........................................................................................................... 19

3.1.5. Git et GitHub ........................................................................................................... 20

3.2. Conception de l’application ........................................................................................... 21

3.2.1. Design ..................................................................................................................... 21

3.2.2. Définitions ............................................................................................................... 22

3.2.3. La navigation .......................................................................................................... 22

3.3. Langage de programmation et Diagramme ................................................................... 26

3.3.1. Langage de programmation .................................................................................... 26

3.3.2. Diagramme de cas d’utilisation d’activité et diagramme de classe ........................ 26

3.4. Base de données............................................................................................................. 29

3.4.1. Définition ................................................................................................................ 29

3.4.2. Firebase ................................................................................................................... 29

Chapitre 4 : REALISATION DE L’APPLICATION .............................................................. 35

4.1. Introduction ................................................................................................................... 35

CONCLUSION GENERALE ET SUGGESTIONS ................................................................ 46

Conclusion générale. ............................................................................................................ 46

Suggestions ........................................................................................................................... 46

Bibliographie ............................................................................................................................ 48

vii
Chapitre 1 : INTRODUCTION GÉNÉRALE
L ‘augmentation des utilisateurs des smartphones lié au développement du
réseau internet dans notre pays a apporté des solutions alternatives aux problèmes
qu’on rencontre régulièrement (dans le secteur de la communication, le secteur
des transports, le secteur de commerce…), mais aussi a permis d’ouvrir les portes
aux développeurs voulant apporter des solutions technologiques aux problèmes
du quotidien.
Actuellement selon un rapport fait par AppAnnie (David, 2019)(qui est une
plateforme d’étude de tendance du marché mobile ) dans son dernier rapport
estimait qu’en 2019 il y a eu plus de 204 milliards de téléchargements
d’applications mobiles ce qui explique notre dépendance au applications mobiles
dans le quotidien que ce soit pour communiquer avec nos proches, partager des
photos, des vidéos et de la musique, regarder les dernières informations, faire du
business en ligne et ainsi de suite .Les applications mobiles sont tellement
indispensables qu’ on pourrait même dire qu’un smartphone sans application ne
serait plus smart.

Ce rapport va présenter les étapes de réalisation d’une application mobile


Android de réservation des tickets de bus partant de la définition du problème à
la conception et à la réalisation de l’application.

1.1. Justification du choix du sujet


Aujourd'hui quand on veut faire un voyage on doit aller à la gare chercher
une voiture ou un bus de transport ce qui peut être frustrant quand on est pressé
ou qu’il n‘ y a plus de place dans la voiture ou le bus qui va à l’endroit où l’on
veut aller. En plus, quand on veut voyager tôt le matin on doit avoir au moins le
contact d’un conducteur qui part dans les heures matinales.

On propose une alternative à ce problème avec une application mobile


Android permettant de faire des réservations en ligne ce qui peut être un gagne
temps pour tous les participants que ce soient les chauffeurs ou les passagers.

Le choix d’une application mobile au lieu d’une application web est justifié
par le fait que la plupart des utilisateurs d’internet au Burundi n’ont accès qu’à
une connexion internet bas débit. Nous avons préféré une application mobile par
le fait que les applications mobiles sont beaucoup plus rapides et intuitives car on
n’a pas besoin d‘ un navigateur pour les accéder.

1
1.2. Intérêt personnel
Ce projet va nous permettre d’acquérir des compétences en
développement d’applications en construisant de zéro une application complète,
de maîtriser les étapes de développement, des compétences dans la manipulation
de API proposées par Google tel que (Firebase,GoogleMap,..), des compétences
en design des applications en utilisant les service Cloud en l’instar de Figma, de
nous familiariser avec les outils de développement. Le projet va être une valeur a
ajoutée sur nos CV et nos portfolio respectifs ce qui nous donnera plus de
crédibilité en tant que développeurs d’applications mobiles mais aussi essayer de
rendre la vie plus facile avec notre solution puisque l’objet de la technologie c’est
de rendre la vie facile.

1.3. Pertinence scientifique du sujet


Ce rapport est rédigé en vue de remplir les obligations académiques et, après sa
validation, il va servir de référence aussi bien aux développeurs d’applications
mobiles Android qu’aux étudiants.

1.4. Pertinence sociale du sujet


Les opportunités qu’apporte notre solution pour la société peuvent être
divisées en deux :

Gagner du temps

 Pour les passagers plus besoin de rester 30min à 2h en entendant le


bus ou la voiture de transport.
 Offrir une alternative aux conducteurs pour avoir des passagers plus
rapidement.

Économiser de l’argent

 Avec cette alternative le conducteur n’a plus besoin de payer les


personnes qui apportent les clients (Abakokayi).

1.5. Problématique de la recherche


Actuellement quand on veut voyager on doit aller à l’arrêt bus pour acheter
un ticket de bus. Les conséquences sont que souvent, à l’heure où l’on voudrait
voyager, soit le bus est déjà plein ou tout simplement absent. De plus, quand on
voyage avec beaucoup de bagages et qu’on a besoin que la voiture de transport

2
viennent les charger à la maison ce n’est pas toujours évident et quand les
conducteurs acceptent de le faire ils facturent énormément ce déplacement. Côté
conducteur, les problèmes sont liés à la recherche des passagers. Aujourd’hui, le
conducteur doit payer une somme allant jusqu’à 1000 ou plus pour le remplissage
de la voiture et c’est une somme élevée.

1.6. Hypothèse de la recherche


Comme on a les utilisateurs de Smartphones qui augmentent de plus en plus
en raison du développement du réseau internet, nous supposons qu’une
application mobile basée sur Android pourrait grandement résoudre ce problème
surtout s’elle est adoptée massivement par les voyageurs et les transporteurs de
personnes.

1.7. Objectif de la recherche


Globalement notre objectif est de développement une application mobile
fonctionnelle de réservation des places dans les bus de transport en commun.

Afin d’atteindre l’objectif principal, nos objectifs spécifiques seront basés


sur les activités suivantes:
 Revue de la littérature sur le sujet,
 Conception de l’application,
 Réalisation de l’application,
 Déploiement de l’application,
 Proposition de la solution aux utilisateurs.
1.8. Délimitation du sujet
Dans le temps, avec l’explosion du nombre d’utilisateurs de Smartphones
en comptant ainsi le nombreux élevé d’application déjà existant qui ont besoin
d’une maintenance évolutif et consistant le développement des applications
mobiles n’est pas encore arrivé à son pic d‘évolution d ‘ou l’importance du sujet
mais avec l’évolution de la technologie qui se passe de plus en plus vite d’autre
solution pourrait émerger dans le futur.

Dans l ‘espace, le sujet ne se limitant pas seulement dans notre pays c’est
un sujet global qui pourrait être appliqué dans d’autre pays.

Dans le domaine, le sujet se limite dans les domaines :


 du développement des applications Androïde.
 de l’ingénierie du logiciel,

3
 et du Cloud Storage.
1.9. Cadre conceptuel et théorique
Durant le parcours de ce document le terme application mobile a été écrit à
maintes reprises. C’est quoi une application mobile ?

L’application mobile se définit comme étant un logiciel téléchargeable et


qu’on installe facilement sur son Smartphone comme nous le faisons avec tout
logiciel sur un ordinateur portable. [1]

Une application mobile est un logiciel applicatif téléchargeable


(gratuitement, payante ou mix avec des contenus ou fonctionnalités payantes) sur
un appareil mobile (baladeur, Smartphone, tablette tactile, etc.) via une plateforme
de téléchargement adaptée au système d’exploitation de l’appareil (Google Play,
App Store, Windows Store). [2]

D’après ces définitions on conclut qu’ une application mobile est un


programme informatique qui est un ensemble d’instructions destinées à être
exécutées par un ordinateur. Les programmes informatiques sont constitués de
code écrits dans un langage particulier (Java, C, JavaScript, ..) d’où les
applications mobiles sont des programmes informatiques comme ceux de
l’ordinateur seulement qu’ils sont destinés aux appareils mobiles. Les applications
mobiles se diffèrent des systèmes d’exploitation tout comme les programmes des
ordinateurs.

Dans le monde de Smartphone il existe plusieurs systèmes d’exploitation


dont les principaux iOS d’Apple et Android de Google, tous deux de droit
américain. Android est le système d’exploitation le plus utilisé au monde et au
Burundi.

Il faut aussi différencier les types d’applications mobiles à savoir :

 les applications natives,

 les WebApps,

 les applications hybrides.

Applications natives

4
Une application native est une application développée spécifiquement pour une
seule plateforme, grâce aux outils conçus pour celle-ci. Elle est développée avec
un langage spécifique à son système d’exploitation et est distribuée uniquement
par l’intermédiaire de son store (AppStore pour iOS, Play Store pour Android …).
[3]

Le développement natif, permet essentiellement d’utiliser la mémoire du


smartphone ainsi que toutes les fonctionnalités liées au système d’exploitation
visé (GPS, caméra ...). Il permet également d’offrir une ergonomie adaptée à
chaque modèle de smartphone et à chaque système d’exploitation. Les
applications de ce type sont donc plus riches en termes de fonctionnalité, de
qualité, de performance et d’ergonomie que les WebApps ou les applications
hybrides.

Cependant, pour développer une application native pour différent OS (Android


et iOS par exemple), il convient de développer deux applications distinctes
entraînant une perte de temps et une augmentation de coût. De plus, avec la sortie
de nouveaux systèmes d’exploitation chaque année, des problèmes de
rétrocompatibilité peuvent se poser. L’application doit être maintenue, ce qui
augmente les coûts de développement. Les exemples d’applications natives sont
WhatsApp ou Facebook.

WebApps

En opposition à une application native, une WebApps est une application


mobile développée avec les outils de développement web actuel: HTML5, CSS3
et Javascript. [3] C’est une application qui une fois développée est accessible et
exécutable sur tous les smartphones via leur navigateur web. L’avantage de ces
applications, c’est le gain de temps et d’argent réalisé grâce à leur développement
unique et leur déploiement multiplateformes. Dans un cas, on développe une seule
application alors que dans l’autre, on développe trois applications (pour Android,
iOS et Windows Phone) qui ne partageront pas une seule ligne de code.

On peut tout de même reprocher les WebApps d’être moins performantes


que les applications natives. En réalité, tout dépend de la complexité et des
fonctionnalités de l’application. La différence de performances se fera ressentir
uniquement sur des applications devant effectuer des tâches complexes. Elles
perdent également en fluidité (temps de chargement plus long), car elle n’utilise
pas la mémoire embarquée du téléphone.

5
Leur manque d’ergonomie peut également être relevé, car elles ne suivent
pas les différentes “guidelines” graphiques d’une application Android, iOS ou
Windows Phone qui sont chacune très différentes. Dans le cas d'une application
multiplateformes, on a souvent tendance à créer un design standard pour toutes
les plateformes qui rivalisent très rarement avec l'intégration graphique d'une
application native.

Applications hybrides

Les applications hybrides sont des applications qui combinent les éléments d’une
WebApps et les éléments d’une application native. [3] Elles reposent
essentiellement sur la solution Cordova/PhoneGap, cette solution sert de
passerelle entre le langage web et le natif. Cette solution nous permet d’utiliser un
seul et même outil pour le développement et les langages issus du développement
Web pour tous les mobiles (iOS, Android et Windows Phone). Le développement
est ainsi mutualisé.

6
Les avantages qu’apporte cette solution sont deux : le budget et le gagne
temps, mais les pro-natifs se plaindront tout de même de la perte de performance
et d’ergonomie. C’était vrai il y a quelques années, avec certains mobiles, peu
performants, bon marché, principalement sous Android, possédant d’anciennes
versions de WebKit (moteur de rendu de pages web). Les bibliothèques Javascript
actuelles permettent de proposer des applications très ergonomiques et très
proches des possibilités des solutions natives.

Si l’on prend en compte que la résolution, les performances, et la qualité de


ces applications restent légèrement inférieures à celles des applications natives.
En effet, l’application hybride peut mal s’adapter au système d’exploitation utilisé
par le Smartphone de l’utilisateur.

Notre projet consiste à développer une application Android native en utilisant


java.

1.10. Conclusion
Ce chapitre d’introduction a abordé l’objet et le pourquoi du sujet qu’est la
conception et la réalisation d’une application mobile Android de réservation des
tickets en mettant d’abord en lumière la problématique de la recherche. La
pertinence personnelle, scientifique et sociale du sujet, ainsi que ses contours
théoriques ont également été présentés.

7
Chapitre 2 : GENERALITES SUR LES APPLICATIONS MOBILES ET
ANDROID
2.1. Définition
Une application mobile est un logiciel applicatif développé pour un appareil
électronique mobile, tel qu'un assistant personnel, un téléphone portable, un
Smartphone, un baladeur numérique, une tablette tactile ,etc. [1]
2. 2. Introduction sur les applications Android
2.2.1 Introduction
Les applications mobile sont pour la plupart distribuées depuis des
plateformes de téléchargement (parfois elles-mêmes contrôlées par les fabricants
de smartphones) telles que l'App Store (plateforme d'Apple), le Google Play
(plateforme de Google / Android), ou encore le Microsoft Store (plateforme de
Microsoft pour Windows 10 Mobile). Mais des applications peuvent aussi être
installées sur un ordinateur, grâce par exemple au logiciel iTunes distribué par
Apple pour ses appareils. Les applications distribuées à partir des magasins
d'applications sont soit payantes, soit gratuites, mais généralement avec des
publicités.
Sur certaines plateformes, les applications peuvent aussi être installées à
partir de sources tierces, via un site non affilié au distributeur d'origine. Sur
Android, cela est possible en activant le mode développeur. Sur iOS, cette
manipulation est possible soit en étant développeur Apple, soit en possédant un
appareil jailbreaké.
Le “jailbreaking” fait référence au processus de retrait de toutes les
restrictions imposées sur un dispositif iOS. Les dispositifs d’Apple qui peuvent
être “jailbreakés” sont: iPad, iPod Touch, Apple TV et tous les Smartphones
iPhone [4]. Le “jailbreaking” permet un accès à la racine de tous les fichiers du
système qui peuvent être manipulés pour activer l’installation d’Applications, de
thèmes et d’extensions qui ne sont pas compatibles avec Apple ou non-disponibles
au téléchargement sur Apple App Store.
Voici le graphique d’utilisation des smartphones selon les principaux système
d’exploitations mobile dans le monde:

8
Figure 1:Statistique illustrant l'utilisation selon les principaux Os pour les
mobiles dans le monde

Ces images illustrent la répartition des systèmes d’exploitation mobile dans


le monde. On constate qu’Android occupe la plus grande part du marché avec
74.14 % ,0.11 % pour les OS inconnus ,25.26 % pour iOS ,0.21 % pour
Samsung ,0.04 % pour Windows et 0.13% pour KaiOS. [5]

La figure suivante présente le graphique d’utilisation des smartphones selon les


principaux OS au Burundi :

9
Figure 2: Statistique illustrant l'utilisation selon les principaux Os pour les
mobiles au Burundi

Ces images illustrent la répartition des systèmes d’exploitation mobiles au


Burundi. On constate qu’Android occupe la plus grande part du marché avec
82.32 % ,12.22 % pour les OS inconnus ,4.63 % pour iOS ,0.44 % pour les Linux,
0.0.9 et 0.06% respectivement pour Series et SymbianOS. [6]
2.2.2. Historique
Les applications mobiles sont apparues dans les années 1990, elles sont
liées aux développements d'Internet et des télécommunications, des réseaux sans
fils et à l’apparition et la démocratisation des terminaux mobiles : smartphones,
tablettes tactiles... Le nombre d'applications mobiles disponibles augmentent
rapidement à partir de 2007, date du lancement de l'iPhone. Les deux principales
plateformes de téléchargement, l'AppStore pour les téléphones iOS, le Google
Play pour les téléphones Android sont lancées en 2008

10
2.2.3. A propos d’Android
Quand on pense à Android, on pense immédiatement à Google, et pourtant
il faut savoir que cette multinationale n’est pas à l’initiative du projet. D’ailleurs,
elle n’est même pas la seule à contribuer à plein temps à son évolution. À
l’origine, « Android » était le nom d’une PME américaine, créée en 2003 puis
rachetée par Google en 2005, qui avait la ferme intention de s’introduire sur le
marché des produits mobiles.

Le principal objectif, derrière Android, était de développer un système


d’exploitation mobile plus intelligent, qui ne se contenterait pas uniquement de
permettre d’envoyer des SMS et transmettre des appels, mais qui devait permettre
à l’utilisateur d’interagir avec son environnement (notamment avec son
emplacement géographique). C’est pourquoi, contrairement à une croyance
populaire, il n’est pas possible de dire qu’Android est une réponse de Google à
l’iPhone d’Apple, puisque l’existence de ce dernier n’a été révélée que deux
années plus tard.

C’est en 2007 que la situation prit une autre tournure. À cette époque,
chaque constructeur équipait son téléphone d’un système d’exploitation
propriétaire. Chaque téléphone avait ainsi un système plus ou moins différent. Ce
système entravait la possibilité de développer facilement des Applications qui
s’adapteraient à tous les téléphones, puisque la base était complètement différente.
Un développeur était plutôt spécialisé dans un système particulier et il devait se
contenter de langages de bas niveaux comme le C ou le C++. De plus, les
constructeurs faisaient en sorte de livrer des bibliothèques de développement très
réduites de manière à dissimuler leurs secrets de fabrication.

En janvier 2007, Apple dévoilait l’iPhone, un téléphone tout simplement


révolutionnaire pour l’époque. L’annonce est un désastre pour les autres
constructeurs, qui doivent s’aligner sur cette nouvelle concurrence. Le problème
étant que pour atteindre le niveau d’iOS(iPhone OS), il aurait fallu des années de
recherche et développement à chaque constructeur. C’est pourquoi est créée en
novembre de l’année 2007 l’Open Handset Alliance (OHA en sigle), et qui
comptait à sa création 35 entreprises évoluant dans l’univers du mobile, dont
Google. Cette alliance a pour but de développer un système open source (c’est-à-
dire dont les sources sont disponibles librement sur internet) pour l’exploitation
sur mobile et 2 Les bases indispensables à toute application ainsi concurrencer les

11
systèmes propriétaires, par exemple Windows Mobile et iOS. Cette alliance a pour
logiciel vedette Android, mais il ne s’agit pas de sa seule activité. [7]

Figure 3: Logo de l'OHA

Depuis sa création, la popularité d’Android a toujours été croissante. C’est


au quatrième trimestre 2010 qu’Android devient le système d’exploitation mobile
le plus utilisé au monde, devançant Symbian (le système d’exploitation de Nokia
avant qu’ils optent pour Windows Phone). Désormais, on le retrouve non
seulement dans les tablettes et Smartphones, mais aussi dans les téléviseurs, les
consoles de jeux, les appareils photos, etc.

Figure 4: Logo Android

Le tableau suivant fait le comparatif des versions d’Android ainsi que le


pourcentage d’utilisateur.

12
Figure 5: Version Android

2.2.4. Avantages du système Android


 Gratuité

Android est gratuit, autant pour les utilisateurs que pour les constructeurs.
S’il vous prenait l’envie de produire votre propre téléphone sous Android, alors
vous n’auriez même pas à ouvrir votre porte-monnaie (mais bon courage pour tout
le travail à fournir !). En revanche, pour poster vos applications sur le Play Store,
il vous en coûtera la modique somme de 25$. Ces 25$ permettent de publier autant
d’applications que vous le souhaitez, à vie !

 Open source

Le contrat de licence pour Android respecte les principes de l’open source,


c’est-à-dire que vous pouvez à tout moment télécharger les sources et les modifier.

13
Android utilise des bibliothèques open source puissantes, comme par Exemple
SQLite pour les bases de données et OpenGL pour la gestion d’images 2D et 3D.

 Facilité à développer

Toutes les API mises à disposition facilitent et accélèrent grandement le


travail. Ces APIs sont très complètes et très faciles d’accès. De manière un peu
caricaturale, on peut dire que vous pouvez envoyer un SMS en seulement deux
lignes de code (concrètement, il y a un peu d’enrobage autour de ce code, mais
pas tellement).Par définition une API, ou « interface de programmation » en
français, est un ensemble de règles à suivre pour pouvoir dialoguer avec d’autres
applications. Dans le cas de Google API, il permet en particulier de communiquer
avec Google Maps.

 Facilité à vendre

Le Play Store (anciennement Android Market ) est une plateforme immense


et très visitée ; c’est donc une mine d’opportunités pour quiconque possède une
idée originale ou utile.

 Flexibilité

Le système est extrêmement portable, il s’adapte à beaucoup de structures


différentes. Les smartphones, les tablettes, la présence ou l’absence de clavier ou
de trackball, différents processeurs... On trouve même des fours à micro-ondes
qui fonctionnent à l’aide d’Android ! Non seulement c’est une immense chance
d’avoir autant d’opportunités, mais en plus Android est construit de manière à
faciliter le développement et la distribution en fonction des composants en
présence dans le terminal (si votre application nécessite d’utiliser le Bluetooth,
seuls les terminaux équipés de Bluetooth pourront la voir sur le Play Store).

 Ingénieux

L’architecture d’Android est inspirée par les applications composites, et


encourage par ailleurs leur développement. Ces applications se trouvent

14
essentiellement sur internet et on peut combiner plusieurs composants totalement
différents pour obtenir un résultat surpuissant. Par exemple, si on combine
l’appareil photo avec le GPS, on peut poster les coordonnées GPS des photos
prises.
2.2.5. Inconvénients du système Android
Chaque médaille a deux faces, c’est très facile de vérifier, ouverture de la
pochette. Exactement la même situation et avec les systèmes d’exploitation. Tout
à l’envers peut résulter en négatif, Il suffit d’examiner à un angle différent. Les
inconvénients pour Android OS peuvent se diviser en trois lignes à savoir :
 la sécurité : une plateforme de téléchargement (Google Play) moins
contrôlée (procédures de vérifications des applications à publier),
ce qui peut exposer à des virus ou à des applications malveillantes.
Android étant le système d’exploitation le plus utilisé dans le
monde, il intéresse d’autant plus les développeurs de logiciels
malveillants.
 La facilité d’utilisation : Android a tendance à être légèrement trop
flexible, les constructeurs peuvent réellement personnaliser le
système d’exploitation. Il en résulte parfois d’avoir l’impression de
passer à des systèmes totalement différents selon le constructeur du
téléphone.
 La performance : un émulateur moins rapide pour les tests des
développeurs.
2.3. Conclusion
Ce chapitre était en générale centré sur les applications mobiles, leurs
différents systèmes d’exploitation dont les plus importants sont Android OS de
Google et iOS d’Apple. Partant des statistiques d’utilisation des différents
systèmes dans le monde et au Burundi, une présentation détaillée a été faite pour
sur Android OS qui est notre OS de choix dans ce travail.

15
Chapitre 3 : PRESANTATION DES OUTILS CONCEPTION ET BASE DE
DONNEES
3.1. Présentation d’outils
3.1.1. Figma
Figma est un éditeur de graphiques vectoriels et un outil de prototypage. Il
est principalement basé sur le Web, avec des fonctionnalités supplémentaires hors
ligne activées par des applications de bureau pour macOS et Windows.

Figure 6:logo Figma

Aperçu de Figma

Figure 7:Apercu de Figma

16
3.1.2. Android studio IDE
Android Studio est un environnement de développement pour développer
des applications mobiles Android. Il est basé sur IntelliJ IDEA et utilise le moteur
de production Gradle. Il peut être téléchargé sous les systèmes d'exploitation
Windows, MacOs, Chrome OS et Linux.

Figure 8:Logo Android Studio

Aperçu d’Android Studio :

Figure 9:Android Studio

17
3.1.3. Firebase
Firebase est un ensemble de services d'hébergement pour n'importe quel
type d'application. Il propose d'héberger en NoSQL et en temps réel des bases de
données, du contenu, de l'authentification sociale, et des notifications, ou encore
des services, tel que par exemple un serveur de communication temps réel.

[8]
Figure 10:Firebase Logo

18
Aperçu de FireBase

Figure 11:Aperçu de Firebase

3.1.4. Google Maps


Google Maps est un service de cartographie en ligne. Le service a été créé
par Google suite au rachat en octobre 2004 de la start-up australienne « Where 2
Technologies ».

Figure 12:Logo Google Map

19
Aperçu de Google Map

Figure 13: Google Map aperçu

3.1.5. Git et GitHub

3.1.5.1 Git

Git est de loin le système de contrôle de version le plus largement utilisé


aujourd'hui. Git est un projet open source avancé, qui est activement maintenu. À
l'origine, il a été développé en 2005 par Linus Torvalds, le créateur bien connu du
noyau du système d'exploitation Linux. De plus en plus de projets de
développement reposent sur Git pour le contrôle de version, y compris des projets
commerciaux et en open source. Les développeurs qui utilisent Git sont bien
représentés dans le pool de talents disponible, et la solution fonctionne bien sur
une vaste gamme de systèmes d'exploitation et d'environnements de
développement intégrés (IDE).

20
Par sa structure décentralisée, Git illustre parfaitement ce qu'est un système de
contrôle de version décentralisé (DVCS). Plutôt que de consacrer un seul
emplacement pour l'historique complet des versions du logiciel comme c'était
souvent le cas dans les systèmes de contrôle de version ayant fait leur temps,
comme CVS et Subversion (également connu sous le nom de SVN), dans Git,
chaque copie de travail du code est également un dépôt qui contient l'historique
complet de tous les changements.

En plus d'être décentralisé, Git a été conçu pour répondre à trois objectifs :
performances, sécurité et flexibilité.

3.1.5.2 GitHub
GitHub est un outil gratuit pour héberger du code open source, et propose
également des plans payants pour les projets de code privés. C'est le numéro 1
mondial et il héberge plus d'une dizaine de millions de repositories.

Figure 14:Logo GitHub

3.2. Conception de l’application


3.2.1. Design
Le design est l’un des plus importante partie de l’application l’apparence
de l’application est primordiale lors du premier contact avec l’utilisateur, il
déterminera l’utilisation ou le rejet de l’application. L’expérience utilisateur (UX)
avec l’application doit être plus fluide que possible mais aussi le UI(user
interface) doit être agréable avec l’utilisation correct des couleurs et une
navigation plus intuitif.

21
3.2.2. Définitions
L'UX(user expérience) est un mix de parties visibles plus parties invisibles
qui, ensemble, contribuent à l'expérience globale de l'utilisateur sur l'application
mobile. [9]
L'UI(user interface) est la partie "visible", "perceptible" d'un produit : c'est
ce que l'on voit, entend, touche lorsque l'on utilise une application mobile par
exemple. [9]
3.2.3. La navigation
Une fois que l’utilisateur commence à utiliser l’application, il doit savoir
où aller et comment s’y rendre à tout moment. Une bonne navigation est un
véhicule qui emmène l’utilisateur là où il veut aller. Mais établir une bonne
navigation est un défi sur mobile en raison des limites du petit écran et la nécessite
de prioriser le contenu. Différent modèles de navigation ont été conçus pour
résoudre ce problème de différent manière, mais ils souffrent tous d’une variété
de problème d’utilisation.
 Navigation simple
Cette navigation, appelée également Embedded Navigation, est très basique
puisqu'elle se limite généralement à un seul et même écran.

Figure 15:Navigation simple

22
 Navigation par onglet
La navigation par onglets, appelée aussi Tabs Navigation, est
assez pratique puisqu'elle permet de gérer un ensemble de pages (Onglets ou
Tabs) sur un seul et même écran sans trop de clics de la part de l'utilisateur !

Figure 16:Navigation par Ongle

 Navigation via Menu


Très largement utilisée dans les applications Android d'aujourd'hui, cette
navigation, appelée plus communément Navigation Drawer, permet de créer un
menu caché sur le côté gauche de l'écran. Ce dernier permettra d'afficher une liste
d'écrans potentiellement disponibles au sein de votre application.

23
Figure 17:Navigation via Menu

 Navigation via barre du bas


Délaissée et boudée pendant quelques années sur Android (au profit du
Navigation Drawer), cette navigation revient en force depuis 2016 et se
matérialise par une barre de navigation figée en bas de votre application, plus
couramment appelée Bottom Navigation Bar.

Figure 18:Navigation via barre du bas

24
 La back Stack
Android va tout simplement dresser une liste pour votre application de toutes les
activités et/ou fragments qu'un utilisateur a lancé les uns à la suite des autres, de
manière chronologique et ordonnée.

Figure 19: Le back stack [10]

Exemple :

[10]
Figure 20: Exemple back stack

C’est ce dernier qui est utilisé dans la réalisation du sujet de ce rapport.

25
3.3. Langage de programmation et Diagramme
3.3.1. Langage de programmation
Les langages de programmation utilisée dans le développement des
applications Android sont Java et Kotline. C’est le 8-mai-2019 que Kotline
deviens le langage recommande par Google pour le développement des
applications Android mais dans le travail de ce rapport on a utilisé le langage Java.
3.3.2. Diagramme de cas d’utilisation d’activité et diagramme de classe
 Diagramme de cas d’utilisation

Figure 21. Diagramme de cas d'utilisation

26
 Diagramme d’activité

Figure 22. Diagramme d'activité


 Diagramme de classe

27
Figure 23. Diagramme de classe

28
3.4. Base de données
3.4.1. Définition
Une base de données est une collection d’informations organisées afin d’être
facilement consultables, gérables et mises à jour. Au sein d’une base de données,
les données sont organisées en lignes, colonnes et tableaux. Elles sont indexées
afin de pouvoir facilement trouver les informations recherchées à l’aide d’un
logiciel informatique. Chaque fois que de nouvelles informations sont ajoutées,
les données sont mises à jour, et éventuellement supprimées. Il existe différents
types de base de données à savoir :
 Base de données hiérarchique
 Base de données réseau
 Base de données orientée texte
 Base de données SQL(relationnelle)
 Base de données distribuée
 Base de données orientée objets
 Base de données orientée graphe
Dans ce travail on a utilisé une base de données NoSQL, on s’intéressera sur les
bases de données NoSQL par la suite.
3.4.2. Firebase

3.4.2.1. Introduction
Firebase est une plateforme mobile créée en 2011 par James Tamplin et
Andrew Lee, puis rachetée par Google en 2014 pour être intégrée à leur offre
de services Cloud (Google Cloud Platform). L'objectif premier de Firebase est de
vous libérer de la complexité de création et de la maintenance d'une architecture
serveur, tout en vous garantissant une scalabilité à toute épreuve (plusieurs
milliards d'utilisateurs) et une simplicité dans l'utilisation.
Pour cela, Firebase a été décomposée en plusieurs produits extrêmement
riches et adaptés au monde du mobile.

29
Figure 24:Firebase services [11]

 Cloud Firestore : Base de données NoSQL orientée documents de


Firebase, permettant de facilement stocker, synchroniser et récupérer
des données distantes pour une application mobile.
 Storage : Espace de stockage de Firebase dédié au stockage et à la
récupération de fichiers propres à l'utilisateur comme des photos ou
des vidéos.
 Authentification : Solution permettant de créer et gérer facilement
des moyens d'authentification variés (Google, Facebook, Email,
etc...) dans le but de sécuriser l'accès à une application mobile et
authentifier les utilisateurs.
 Cloud Messaging : Fournit un flux de communication fiable et
économe en batterie entre le serveur (Firebase) et
les appareils distants (où l'application est installée) dans l'objectif
d'envoyer et recevoir des messages de notifications.

30
3.4.2.2. Base de données NoSQL et Cloud Firestore

3.4.2.2.1. Base de données NoSQL


Les bases relationnelles ont été « inventées » par Edgar F. Codd en 1970. A
l’époque, ce fut une approche révolutionnaire (modèle relationnel des données,
algèbre de relations, sélections, projections, jointures, etc…). Oracle fut la
première société à commercialiser un produit conforme à ce concept, dès 1977,
avec le succès que l’on connait.
Ces dernières années, plusieurs avis nuancés ont été émis concernant le modèle
relationnel :
 Difficultés pour sauver et récupérer des grappes d’objets avec des
programmes écrits en Java ou C#... (on parle de « mismatch
d’impédance).
 Difficultés pour satisfaire les besoins des applications Web à grande
échelle (nouveaux besoins métiers, nouvelles contraintes techniques).
Voici les 3 aspects qui ont motivé la nouvelle vague de bases NoSQL (Not Only
SQL..) :
 le volume des données créées double tous les 2 ans. IDC estime qu’en
2020 le volume atteindra 44 Zettabytes (1 ZB = 1 milliards de terabytes).
 la variété des types de données créées (Smartphones)
 la vélocité avec laquelle les données changent est également très
importante (Internet of Things).
En fait, le terme base NoSQL définit une nouvelle génération de produits qui ne
suivent pas le modèle relationnel. Mais l’architecture de ces produits varie
beaucoup entre eux.
Ils existent 4 types de base de données NoSql à savoir :
Clé- valeur, document, colonnes et graphes.

3.4.2.2.2. Cloud Firestore


Firestore est donc une base de données NoSQL, hébergée sur le cloud de
Google (Firebase) et orientée Documents. Ce type de base de données est
principalement structuré en trois éléments :

31
Figure 25: NoSql database [11]

 La donnée brute (DATA) : Représente, comme son nom l'indique, la


donnée brute que vous souhaitez sauvegarder, comme par exemple un
entier (Int), une chaîne de caractères (String), une valeur booléenne
(Boolean), etc... Tous les types supportés sont dans la documentation.
 Le document (DOCUMENT) : Les données brutes (DATA) ne
peuvent être sauvegardées au hasard et n'importe où. Elles sont donc
obligatoirement rattachées à un Document, sous forme de
propriétés/champs. Par exemple, le Document "Philippe" sera composé
de plusieurs champs
(DATA) : lastname (String), firstname (String), Age (int), etc...
 La collection (COLLECTION) : Permet d'organiser sous forme de
liste les documents. En effet, une Collection va contenir un ou plusieurs
Documents. Dans notre cas, une Collection pourrait s'appeler "users" et
contenir des Documents comme "Philippe", "Luc", "Ambroise", etc...
Structure du modèle NoSQL orienté Documents utilise :

32
Figure 26:structure de firestore [8]

Le schéma suivant illustre la structure utilisée dans la réalisation de la base de


donne de l’application les données sont structurées au modèle NoSQL orienté
Documents c’est-à-dire que la collection userCostumer va contenir les données
relative aux utilisateurs la collection UserDriver va contenir les données relative
aux utilisateur conducteur d’automobile DriverTrip contiendra les données
relative au voyages planifier par les conducteur CustomerTrip contiendra les
données relative aux voyages réserver :

33
Commented [G1]: Il faut expliquer cette figure

Figure 27:base de données conception

34
Chapitre 4 : REALISATION DE L’APPLICATION
4.1. Introduction
Dans ce chapitra on présentera par des images le résultat de notre travail, une
application mobile basée sur Android que nous avons appelée SafariNjema .
Chaque page d’une application mobile est appelée une activité.

 Activité de chargement de SafariNjema

Figure 28:Chargement

 Authentification

35
Figure 29:Connexion

 Activité de création d’un simple compte utilisateur

36
Figure 30:Créer un Compte

 On a divisé l’application en deux à savoir une partie pour les simples


utilisateurs et l’autre pour les utilisateurs conducteurs des automobiles on
commencera par la partie de simple utilisateur

37
Figure 31:Acceuil utilisateur passager

 Lister les réservations faites

Figure 32:Lister les réservations

38
 Activité de l’historique

Figure 33:Historique

 Activité des paramètres

Figure 34:paramètre

39
 Activité de faire explorer les voyages disponibles

Figure 35:Explorer voyages disponibles

 Activité de détailler réservation fait

Figure 36:Détail réservation

40
 Partie utilisateur conducteur

Figure 37:Acceuil utilisateur conducteur

 Activité de lister les voyages planifier

41
Figure 38:Lister voyages planifier

 Activité de planification d’un voyage

Figure 39:Activiter de planification voyage

 Détail voyage planifié

42
Figure 40:Détailler voyage planifier

Lors des tests pour la géolocalisation du client (future passager) quand il souhaite
faire une réservation et qu’il veut indiquer où le conducteur le trouvera
(localisation du téléphone), on a constaté que le temps d’attente était plus élevé,
en moyenne 3min á 4min environs pour que Google Map API trouve la
localisation du téléphone du client ce qui n’est pas optimale. Pour remédier a ce
problème on a du développer une autre application pour sauvegarder dans la base
de données le coordonnées des point d’arrêt et ainsi proposer au client une liste
des point d’arrêt suivant la commune et la province .

Mais aussi on a ajouté dans cet application la partie de création d’un compte
conducteur on a enlevé ce processus dans l’App SafariNjema parce que on a
constaté que si tout le monde pouvait s’auto proclamer conducteur sans donner
les documents nécessaires tel que le permis de conduire, l’assurance,…Cela
poserait des problèmes de sécurité mais aussi des problèmes juridiques .

Les images qui vont suivre illustreront l’application de sauvegarder les


coordonnées des points d’arrêt et de création de compte d’utilisateur conducteur:

43
 Activités d’ajout d’une location

Figure 41: Sauvegarder une location

 .Activité d’ajout d’un compte conducteur

44
Figure 42: Création d'un compte conducteur

45
CONCLUSION GENERALE ET SUGGESTIONS
Conclusion générale.
La réalisation de ce travail constitue une expérience qui a permis de mettre
en pratique les connaissances en programmation qu’on a apprises durant les trois
dernières années à l’UPG. La réalisation de ce projet nous a permis de découvrir
des technologies qu’on ne connaissait pas, des techniques de programmation mais
aussi de se familiariser avec les outils de programmation surtout en
programmation mobile.

En effet, ce travail consiste à développer une application qui permet la


réservation des tickets de bus. L’objectif globale a été atteint mais on ne peut pas
dire que l ‘application est complète. loin de là ! On aurait aimé que la
géolocalisation fonctionne correctement pour permettre la localisation en temps
réel du client et du conducteur mais aussi permettre le payement en ligne.

Le logiciel est présenté aujourd'hui est en version beta (version des tests) et
nous espérons après les critiques et les propositions l ‘améliorer et ainsi pouvoir
le déployer en ligne (sur Google Play).
Les difficultés rencontrées lors de la réalisation de ce projet sont nombreux
mais on a pu les surmontés par exemple les difficultés d’accès à l’internet,
l’anglais puisque toute la documentation sur le développement des applications
Android est en anglais,…

Suggestions
Les propositions vont à l’encontre de l’UPG :
 L’augmentation des heures d ‘apprentissage de la programmation mobile
Android
 Des projets à réaliser lors de session puisque un examen écrit se limitera
surtout sur les points vus en classe alors qu’en classe on ne couvre qu’une
infinie partie du sujet
 L’augmentation du débit de l’internet car dans les heures de cours la
connexion est tellement lente qu’on ne peut même pas faire une simple
recherche sur Google mais aussi étendre la connexion internet sur tout
l’université.

46
47
Bibliographie

[1] «application mobile,» [En ligne]. Available:


https://www.wearecom.fr/dictionnaire/application-mobile/.

[2] taktil. [En ligne]. Available: https://www.taktilcommunication.com/blog/applications-


mobile/definition-typologie-applications-mobiles.html.

[3] ideematic. [En ligne]. Available: https://www.ideematic.com/actualites/2018/01/la-


difference-entre-une-application-native-et-web/.

[4] «jailbreaking,» [En ligne]. Available: https://www.cleverfiles.com/howto/fr/what-is-


jailbroken-device.html.

[5] appAnnie, «mobile,» [En ligne]. Available: https://gs.statcounter.com/os-market-


share/mobile/worldwide/#monthly-201906-202006.

[6] gs, «Burundi,» [En ligne]. Available: https://gs.statcounter.com/os-market-


share/mobile/burundi..

[7] «android,» [En ligne]. Available: https://openclassrooms.com/fr/courses/2023346-creez-


des-applications-pour-android/2023483-lunivers-android.

[8] firebase, «structure-data,» [En ligne]. Available:


https://firebase.google.com/docs/firestore/manage-data/structure-data.

[9] L. Castro. [En ligne]. Available: https://openclassrooms.com/fr/courses/3013856-ux-


design-decouvrez-les-fondamentaux/4088746-faites-la-difference-entre-ux-et-ui.

[10] «navigation,» [En ligne]. Available: https://openclassrooms.com/fr/courses/4568596-


construisez-une-interface-utilisateur-flexible-et-adaptative/4568603-comprenez-les-
differents-moyens-de-naviguer-sur-une-application.

[11] openClassroom. [En ligne]. Available: https://openclassrooms.com/fr/courses/4872916-


creez-un-backend-scalable-et-performant-sur-firebase.

48
[12] Basil1402, Olyte et P. e. Uknow, «L'électrinique de zéro,» OPENCLASSROOMS, 2012.

[13] B. Pesquet, «Apprenez à coder avec JavaScript,» OpenClassrooms, 2020.

[14] D. K. LABADI, «Introduction à l’automatique,» 2008/2009.

[15] «Simulation informatique,» Wikipédia, 21 Juillet 2012. [En ligne]. Available:


https://fr.wikipedia.org/wiki/Simulation_informatique.

[16] R. BOULROUNE, «Les systèmes embarqués,» Université de Annaba, 2009.

[17] NIREMA Edmond, Introduction aux systèmes embarqués, Gitega: UPG RT3, 2019.

[18] Akram Ben AISSI, «Les systèmes embarqués,» 2003.

[19] C. Brunschweiler, «Architecture des systèmes embarqués,» EISTI, 2015.

[20] Joscelin OUDRY, «Qu'est-ce qu'un microcontrôleur?,» université de marne-la- vallée.

[21] «Microcontrôleur,» [En ligne]. Available:


https://fr.wikipedia.org/wiki/Microcontr%C3%B4leur.

[22] «Système embarqué,» Wikipédia, 30 juin 2020. [En ligne]. Available:


https://fr.wikipedia.org/wiki/Syst%C3%A8me_embarqu%C3%A9#Contraintes.

[23] «Choix du type d'arrosage employé,» [En ligne]. Available:


hmf.enseeiht.fr/travaux/CD9598/travaux/optsee/beisee95/group2/be5/irrig.htm#etiq3.

[24] «Que signifie ruissellement?,» aquaportail.com, [En ligne]. Available:


https://www.aquaportail.com/definition-6677-ruissellement.html.

[25] Brigitte Lebioda, «Canaux & Territoire,» 24 Décembre 2009. [En ligne]. Available:
http://www.canaux-et-territoire.info.

49
[26] Blaine R. Hanson, «Cracks affect infiltration of furrow crop irrigation,» California
Agriculture, 01 Mars 1998. [En ligne]. Available:
http://calag.ucanr.edu/Archive/?article=ca.v052n02p38.

[27] Coverline, «Irriga,» tion par Aspersion, [En ligne]. Available:


http://saleplas.net/fr/produits/irrigation-et-agriculture/irrigation-par-aspersion.

[28] [En ligne]. Available: https://agronomie.info/fr/principes-de-fonctionnement-de-


systeme-goutte-agoutte/amp/.

[29] ooreka, «Arrosage de la serre de jardin,» [En ligne]. Available:


https://serre.ooreka.fr/comprendre/serre-arrosage.

[30] Astalaseven , Eskimon et Olyte, Arduino pour bien commencer en électronique et en


programmation, 2012.

[31] [En ligne]. Available: https://store.arduino.cc/arduino-gsm-shield-2-integrated-antenna.

[32] BENDJAFER HICHAM et MIDOUN ANESSE , «Système de contrôle par GSM,» 2016-
2017.

[33] Raouf BRAHIM, Dispositif d'alerte aux temps d'arrêts machines, 2016.

[34] [En ligne]. Available: https://www.researchgate.net/figure/Figure-4-Description-of-soil-


moisture-sensor_fig7_320188557.

50

Vous aimerez peut-être aussi