Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
AU : 2019-2020
DEDICACES
HANEN BOUALLAGUI
DEDICACES
À ma chère Mère
Don't le mérite, les sacrifices et les qualités humaines
M'ont permis de vivre ce jour.
À mes frères et mes soeurs
À tous les gens m'aiment.
MOHAMED ALI
Remerciement
Les Smartphones (téléphones intelligents) ont connu un essor très important durant
ces dénierais années. Sont de plus en plus dotes d’une puissance avec des fonctionnalités
assez évoluées permettant de créer des applications innovantes et de les distribuer en toute
simplicité. Bien plus que des appareils nous permettant d’effectuer des appels ou d’envoyer
des SMS (messages courts), ces terminaux sont devenus de véritables outils multimédia
permettant d’accéder à tous les modes de la communication si bien que les besoins des
utilisateurs sont de plus en plus croissants et spécifiques en termes d'application pour
satisfaire leur besoin quotidien.
Dans le cadre de notre préparation au diplôme de Licence L3 parcours Informatique,
nous avons été amenés à effectuer notre projet sous l'encadrement de M. MOHAMED
TAHER JELLALI.
Il s’agissait au cours du projet d’étudier et de développer une application mobile sous
Android. Avec l'avancée et l'émergence des technologies mobiles, les développements
embarqués sont de plus en plus demandés sur le marché. Avoir un Smartphone est devenu
incontournable pour les jeunes de nos jours. D'où nait l'idée de développer une application
utile, à installer sur les Smartphones permettant de suivre sa dépense énergétique tout en
gardant son téléphone dans sa poche, puis d'être en contact avec ses ami(es) et savoir où ils
se trouvent grâce à la Google map intégré au logiciel lui-même.
Mis à part le développement proprement dit de l'application, la première étape
consistait à nous familiariser avec l'environnement Android, puis de choisir les outils
conviviaux et envisageables à l'aboutissement du projet. Par la suite, nous entamerons la
modélisation et le développement de l'application.
C’est dans ce cadre que nous avons été accueillis par SONEDE comme stagiaires
pendant trois (03) mois pour travailler sur projets de développement mobile sous le
thème: « Développement d'une application Android pour la gestion des clientes de
SONEDE ». Cette solution qui sera développée sous la plateforme Android, permettra aux
utilisateurs de pouvoir lire et publier de petites services de façon efficace et rapide.
Le présent document organise en trois (03) chapitres fait l'économie de trois (03)
mois de stage
En premier lieu nous faisons une présentation générale de la structure d’accueil ainsi
que le thème de stage.
Ensuite nous présentons les méthodologies de travail et de conception, puis nous
présentons le travail réalise.
Enfin nous dressons un bilan général par rapport
Chapitre I
Dans ce chapitre présente, en premier lieu, le cadre de travail dans lequel le projet a
été effectué. En deuxième lieu, il introduit d’une manière générale la problématique. Enfin il
étude l’existant.
I. Présentation de la société
1. PRESENTATION DE LA SOCIETE :
Tableau n°1 : Les types des gestions des clients et les activités
Les gestion des clients pour les grands travaux Réalisation des travaux publics(les installations des
conduites).
Procédure bureautique.
L’utilisation des Smartphones est de plus en plus croissante en Afrique de façon générale
et en particulier au Tunisie. En effet le taux de pénétration des Smartphones est estrien entre
17 et 19 % par année ce qui est important.
Face à l’importance de ce taux, nous orientons vers les offres de services disponibles sur les
Smartphones dans I ‘objectif de proposer des services communs aux utilisateurs dans un
premier . C’est dans cette optique qu’elle a décidé d’améliorer solutions mobiles par la mise à
disposition d’une solution de publication de petites services accessibles sur les terminaux
mobiles Android.
I. Etude de l’existant
1. Description de l’existant
2. Critique de l’existant
3. Solution proposée
Conclusion
Ce premier chapitre a été consacré à la présentation du cadre de projet, la
problématique et la solution proposée. Dans ce qui suit nous allons entamer la première
phase de la conception de notre projet et la réalisation des différentes fonctionnalités de
l’application.
Chapitre II
I. Les acteurs
Nous présentons ci-après les acteurs qui agissent sur notre système et leurs fonctionnalités
auxquelles notre application doit répondre.
Ces acteurs sont :
Le clients : le visiteur est un acteur principal qui interagit avec notre application.
Cette personne bénéficie de toutes les fonctionnalités de l’application en mode
connecté ainsi qu'un mode confirmer son dossier par sonede.
visiteure : est un acteur secondaire qui n’interagit pas avec notre application.
C’est le rôle de consulter les informations et actualités délivrés par sonede en
mode non connecter .
L’administrateur : joue un rôle primordial dans l’assurance du bon
fonctionnement du système. C’est la personne qui prend en charge la gestion
des comptes des clients (les non visiteurs) ainsi que la gestion de client et
de commandes.
II. Méthodologie de conception :
Pour faciliter notre tâche nous avons recours langage de modélisation unifié (UML :
Unified Modelling Language) c’est une notation qui permet de modéliser un problème de
façon standard. Ce langage est né de la fusion de plusieurs méthodes existantes auparavant, et
il est devenu une référence en termes de modélisation objet, à un tel point que sa connaissance
devienne indispensable pour un développeur.
III. L’architecture MVC
Le MVC est un modèle de conception qui repose sur la volonté de séparer les données,
les traitements et la présentation. Ainsi l’application se retrouve segmentée en trois
composants essentiels :
Cette partie est réservée à la description des exigences fonctionnelles des différents
acteurs de l’application. Ces besoins sont présentés à l’aide de diagrammes des cas
d’utilisation.
Des besoins pour l’admin :
L’application doit fournir une interface conviviale et simple pour tout type
d’utilisateur car elle présente le premier contact de clients avec l’application et par le biais de
celle-ci on découvrira ses fonctionnalités.
La sécurité :
L’application doit avoir une bonne qualité de contenu ainsi qu’une bonne adaptabilité
aux différentes tailles des écrans des appareils mobiles. D’autre part, il faut assurer le bon
fonctionnement sans erreurs.
La performance :
L’application doit être performante c'est-à-dire que le système doit réagir dans un délai
précis, quelque soit l’action d’utilisateur.
Le choix de système Android pour notre application mobile :
Notre application est native, puisqu’elle est développée par le langage de
programmation native propre au système tel que java pour android. Ainsi , elle doit
tourner sur une bonne partie du marché c'est-à-dire il faut bien choisir la version
minimale exigée par l’application.
Le responsable qui gère l’application en ligne, il peut gérer et manipuler les interfaces
de l’application.
Client :
Le diagramme de cas d’utilisation général représente les actions réalisées par le système
pour avoir un résultat qui répond au besoin d’un acteur particulier.
Diagramme de cas d’utilisation général
Dans le cas de gestion de profil, on trouve trois sous cas d’utilisation qu’ils sont
représentent dans les trois tableaux suivantes :
Ajouter annonceur :
Dans le cas de gestion des services, on trouve trois sous cas d’utilisation qu’ils sont
représentent dans les trois tableaux suivantes :
Ajouter annonce :
Conclusion :
Dans ce chapitre, nous avons énuméré les différents besoins fonctionnels et non
fonctionnels de notre application. Ensuite , nous avons fait une étude graphique et textuelle de
certains cas d’utilisation de notre solution. Ce chapitre a été une grande importance pour la
compréhension des besoins .
Chapitre III
I. L’architecturale d’application
I. Langage UML
« UML » (en anglais Unified Modeling Language ou langage de modélisation unifié) est
un langage de modélisation graphique à base de pictogrammes. Il est apparu dans le monde de
génie logiciel, dans le cadre de la « conception orientée objet ».
Couramment utilisé dans les projets logiciels, il peut être appliqué à toutes sortes de systèmes
ne se limitant pas au domaine informatique.
Les 14 diagrammes UML sont dépendants hiérarchiquement et se complètent, de façon à
permettre la modélisation d'un projet tout au long de son cycle de vie. Ces diagrammes sont :
III.Diagramme de séquence
La figure ci-après présente les diagrammes d’activités pour quelques cas d’utilisation
dans notre système.
V. Le diagramme de classe
Le diagramme de classes est une modélisation statique du système en termes de classes
et de relations entre ces classes. Son intérêt réside dans la modélisation des entités du système
d’information.
Conclusion :
Dans ce chapitre nous avons décrit la méthode conceptuelle utilisé pour notre
conception dont on a essayé de se référencier sur notre analyse fonctionnelle tout en se
concentrant sur l’architecture de notre projet.
Dans le chapitre suivant nous allons décrire les outils techniques et technologie utiliser
notre application tout en présentant l’interface homme machine que nous avons
développée.
Chapitre IV
Chapitre7Réalisation
Introduction :
Dans ce chapitre, nous allons présentation, tout d’abord, l’environnement matériel et
logiciel de développement que nous avons utilisé pour l’implémentation de notre solution. Par
la suite nous intéresserons à décrire les langages utilisés pour développer le système, enfin on
va présenter les résultats de notre contribution.
I. Environnement du travail
1. Environnement matériel :
Pour la réalisation de l’application :
Un pc bureautique pour le développement ayant les caractéristiques
suivantes :
Intel core i3 2.53GHZ.
2 Go de mémoire vive.
Windows 10– 64 bits.
Un Smartphone Samsung Young pour réaliser les tests.
Jusqu'à Mai 2013, pour développer des applications pour Android, Google mettait en
avant l'utilisation d'Eclipse couplé avec le Plugin ADT (Android Développement Tools).
Cette première solution a tout de même permis à Google de posséder le Store d'application le
plus riche. Eclipse est un IDE qui a été développé par IBM puis est passé open source en
2001, la Fondation Eclipse gère maintenant l'IDE. Eclipse possède les avantages d'être
modulable ainsi que multiplateforme. C'est durant la Google I/O de 2013, que Google a
montré la première version d'Android Studio. En Access preview au départ pour sa version
0.1, puis passé en béta en juin 2014 pour la version 0.8, cet IDE n'a pas été développé de
zéro mais est basé sur l'IDE de JetBrains, IntelliJ IDEA. Cette société propose de nombreux
IDE pour différents langages (PHP Storm, Ruby Mine, ...) mais qui sont tous payant. Dans sa
dernière version, Android Studio offre toutes les possibilités nécessaires pour développer une
application Android complète.
Firbase :
Firebase est une plate-forme de développement
d'applications mobiles et Web qui fournit aux développeurs
une pléthore d'outils et de services pour les aider à
développer des applications de haute qualité, à élargir leur
base d'utilisateurs et à générer davantage de profits.
Les origines
En 2011, avant que Firebase ne devienne Firebase, c'était une startup appelée Envolve.
En tant qu'Envolve, il fournissait aux développeurs une API qui permettait d'intégrer une
fonctionnalité de chat en ligne sur leur site Web.Ce qui est intéressant, c'est que les gens
utilisaient Envolve pour transmettre des données d'application qui n'étaient pas que des
messages de discussion. Les développeurs utilisaient Envolve pour synchroniser les données
d'application, telles que l'état d'un jeu en temps réel avec leurs utilisateurs. Cela a conduit les
fondateurs d'Envolve, James Tamplin et Andrew Lee, à séparer le système de discussion et
l'architecture en temps réel. En avril 2012, Firebase a été créée en tant qu'entreprise
indépendante fournissant des fonctionnalités en temps réel en tant que Backend-as-a-Service.
Après son acquisition par Google en 2014, Firebase a rapidement évolué pour devenir le
monstre multifonctionnel pour plate-forme mobile et web qu'elle est aujourd'hui.
Realtime Database
Auth
Test Lab.
Crashlytics
Cloud Fonctions
Firestore
Cloud Storage
Performance Monitoring
Crash Reporting
Hosting
Grandir et engager son public :
Firebase Analytics
Invites
Cloud Messaging
Prédictions
Ad Mob
Dynamic Links
AdWords
Remote Config
App Indexions
b) StarUML :
c) React Native
React Native est un Framework javascript open source pour développer des
applications iOS et Android. Il permet un rendu natif, fluide et performant avec un seul code à
développer et à maintenir simultanément sur iOS et Android. BAM a construit la plus grande
équipe experte en React Native de France pour vous accompagner au mieux sur cette
technologie.
Qu’est-ce que React Native ?
React Native est un Framework développé par les équipes de Facebook à partir de
2015 dans le but d’accélérer le développement et la maintenance de leurs applications
mobiles. Cette technologie multi-plateforme a gagné une immense popularité depuis son
lancement et est l’un des projets les plus populaires sur GitHub avec plus de 2000
contributeurs.
Dans une industrie ou ce n’est pas le gros qui mange le petit, mais le rapide qui mange le lent,
le time-to-market est l’indicateur de performance clé de votre projet.
Java :
Java est un langage de programmation créé par James Gosling et
Patrick Naughton et lancé le 23 mai 1995. Java est l’un des deux
langages de programmation les plus employés à l'heure actuelle,
notamment pour des programmes de gestion des entreprises ou
de création de jeu vidéo. Du fait du développement de
l’informatique, ce langage est de plus en plus utilisé par les entreprises, entrainant une
augmentation d’emplois et de métiers dans ce domaine et un intérêt de plus en plus grand
pour ce langage qui peut être appris aujourd’hui dans de nombreuses écoles, ou encore sur
internet à l’aide de plusieurs plateformes comme YouTube ou Open Classroom. Il ressemble
au C++ mais leurs différences font qu'ils ne sont généralement pas utilisés pour les mêmes
choses :
Java s'exécute dans une machine virtuelle : il est donc plus lent que C++ mais dispose
d'un ramasse-miettes qui simplifie la gestion de la mémoire ;
Il est plus facile de faire des interfaces graphiques, du multithreading, du réseau , etc.
en Java qu'en C++ ;
Java est plus simple d'accès que le C++ (moins de symboles, moins de notions proches
du C) mais le C++ permet des constructions plus puissantes et personnalisées ;
Grâce à sa machine virtuelle, Java est multi-plateforme .
3. Description des interfaces de l’application :
Dans ce qui suit nous présentons les différentes interfaces de l’application en citant les
détails de chaque imprime écran.
Conclusion générale
Conclusion générale
.
Bibliographiques et Webgraphie
Bibliographie et Webgoraphie
Annexes