Créer une application Android pour la gestion de petites annonces document de formation
Ministère des Enseignements Secondaire et Supérieur
(MESS)
Secrétariat Général
Université Polytechnique de Bobo-Dioulasso (U.P.B.)
Ecole Supérieure d'Informatique (E.S.I)
Cycle des Ingénieurs de Travaux Informatiques (C.I.T.I) Option : Analyse et Programmation (A.P)
(Période du I aout au 31 octobre 2014
Auteur : BAYALA Thierry Roger et ZEBRE Oumarou
Maître de stage | Superviseur |
M.YACOUBA OUATTARA | Dr. SADOUANOUA MALO |
Conseiller technique de NTS-SoIution | Enseignant chercheur à l'Ecole |
Supérieure d'Informatique
Année académique : 2012-2013
OEOICACES
Nous dédions ce travail à nos parents amis et proches, ainsi qu'à tous ceux qui de loin ou de près ont contribué à sa réalisation.
« Veuillez trouver dans ce travail L frit de vos bénédictions, et
Iexpression de notre profonde gratitude. »
académique
Cette étude a été réalisée grâce au soutien quotidien et à une assistance sans mesure de personnes de très bonne volonté.
Notre reconnaissance va à l'endroit de toutes ces personnes qui ont participé de près ou de loin à la réalisation de ce projet. Nous tenons à remercier :
Dr Sadouanouan MALO enseignant-chercheur à l'ESI, notre superviseur pour ses conseils et son soutien; tout le corps professoral de l'ESI
Pour les cours qu'ils nous ont dispensés;
M. Yamouta HIE
Manager Général de NTS-Solution, de nous avoir reçu au sein de la structure pour ce stage;
M. Yacouba OUATTARA
Conseiller Technique de NTS-Solution, pour son apport inestimable, ses conseils avisés et sa grande générosité;
M. Marcus KABORET
Chef de la division développement web et mobile de NTS-Solution, pour ses conseils, sa disponibilité et son soutien.
M. Djibril Boly pour son soutien lors de la phase de réalisation du projet;
Toute l'équipe de NTS-Solution
Merci pour l'ambiance conviviale de travail dans lequel nous avons effectué ces trois (03) mois de stage et aussi pour les critiques, remarques et conseils.
SIGLES ET ABREVIATIONS
SIGLE OU ABREVIATION | SIGNIFICATION |
ADT | Android Developper Tools |
AVD | Android Virtual Device |
BD | Base de données |
CU | Cas d' Utilisation |
HTML | HyperText Markup Language |
OMG | Object Management Group |
OOD | Object Oriented Design |
SGBD | Système de Gestion de Base de Données |
SGBDR | Système de Gestion de Base de Données Relationnelles |
SDK | Software Development Toolkit |
SMS | Short Message Service |
UP | Unified Process |
UML | Unified Modeling Language |
2TUP | Two Tracks Unified Process |
LISTE DES TABLEAUX
Tableau N 1 : Planning du projet Page 15
Tableau N 2 : Diagrammes utilisés Page 18
Tableau N 3 : Cas d'utilisation du système Page 20
Tableau N 4 : Description de la classe compte Page 21
Tableau N 5 : Description de la classe annonce Page 21
Tableau N 6 : Description de la classe Ville Page 22
Tableau N 7: Description de la classe Type Page 23
Tableau N 8 : Description de la classe Catégorie Page 23
Tableau N 9: Description de la classe Photo Page 24
Tableau N 10: Estimation du coût des ressources humaines Page 25
Tableau N 11: Estimation du coût des ressources matérielles et logicielles Page 26
Tableau N 12: Les fonctionnalités développées Page 31
LISTE DES ANNEXES
Annexe 1 • . Schéma 2TUP Page 38
Annexe 2 : Schéma de conception Page 39
Annexe 3 : Diagramme de cas d'utilisation Page 40
Annexe 4 : Diagramme de classe Page 41
Annexe 5 : Diagramme d'activité du cas : publier une annonce Page 42
Annexe 6 : Diagramme de séquence Page 43
Annexe 7.• Architecture générale de l'application Page 44
Annexe 8 : Schéma du modèle MVC de l'application Page 45
Annexe 9 : Ecran de connexion Page 46
Annexe 10 : Ecran d'inscription | Page 47 |
Annexe 11 : Ecran pour quitter l'application | Page 48 |
Annexe 12 : Ecran sélectionner les annonces d'une ville | Page 49 |
Annexe 13 : Architecture du système Androïd | Page 50 |
Annexe 14 : Cycle de vie d'une activité Androïd | Page 51 |
Annexe 15 : Diagramme de GANTT du planning | Page 52 |
Annexe 16 :Exemple de code XML | Page 53 |
Annexe 17 : Organigramme de NTS-Solution LISTE DES FIGURES | Page 54 |
Figure 1: Ecran d'accueil | Page 12 |
Figure 2: Ecran de détail | Page 13 |
Figure 3: Ecran d'annonce | Page 13 |
Figure 4: Ecran de la carte | Page 14 |
Figure 5: Sélection de l'application à exporter | Page 33 |
Figure 6: Création de la Keystore | Page 33 |
Figure 7: Création de la clé | Page 34 |
Figure 8.• Génération de l'application | Page 34 |
SOMMAIRE
DEDICACES
REMERCIEMENTS
SIGLES ET ABREVIATIONS
LISTE DES
LISTE DES ANNEXES
LISTE DES FIGURES
INTRODUCTION GENERALE
CHAPITRE I : GENERALITES
I.PRESENTATION DE LA STRUCTURE D'ACCUEIL
l. NTS-solution
2. Les services
a. Domaine du web et du mobile
b. Domaine des bases de données
c. Domaine de la création graphique
3. Organisation
4. Les partenaires de NTS-Solution II.PRESENTATION DU THEME
I . La problématique
2. Présentation du cahier de charge
3. Résultats attendus
4. Planning du projetErreur ! Signet non défini.15
CHAPITRE 11: METHODOLOGIE ET CONCEPTION
I.LE LANGAGE DE MODELISATION
11. PROCESSUS DE DEVELOPPEMENT 111. LES DIAGRAMMES DE MODELISATION
l. Le Diagramme de cas d'utilisations
2. Le Diagramme de classe
a. Description de la classe « COMPTE »
b. Description de la classe « ANNONCE »
c. Description de la classe « VILLE ». . .. .. . Erreur ! Signet non défini.22
d. Description de la classe « TYPE » .. .. . .
e. Description de la classe « CATEGORIE » . . .
f. Description de la classe « PHOTO » .. .. .. .
3. Le Diagramme d'activite
4. Le Diagramme de séquence
IV. ESTIMATION DU COUT DE DEVELOPPEMENT
CHAPITRE 111 : REALISATION
l. PRESENTATION DE LA PLATE-FORME ANDROÏD .
II.TECHNOLOGIES UTILISEES
l . Les logiciels utilisés
2.Environnement de travail FONCTIONNALITES DEVELOPPEES
IV.CAPTURES D'ECRAN
CONCLUSION GENERALE
WEBOGRAPHIE BIBLIOGRAPHIE ANNEXE
INTRODUCTION GENERALE
Les Smartphones (téléphones intelligents) ont connu un essor très important durant ces dernières années. Ils sont de plus en plus dotés 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.
NTS-solution ayant pris conscience du besoin des utilisateurs à décidé d'orienter une grande partie de ses activités vers le développement de solutions mobiles complètes et innovantes pour satisfaire ces besoins par la mise à leur disposition des services basiques accessibles depuis ces terminaux. C'est dans ce cadre que nous avons été accueillis par cette structure comme stagiaires pendant trois (03) mois pour travailler sur un de ses nombreux projets de développement mobile sous le thème : « Développement d'une application Androïd pour la gestion de petites annonces ».Cette solution qui sera développée sous la plateforme Android, permettra aux utilisateurs de pouvoir lire et publier de petites annonces de façon efficace et rapide.
Le présent document organisé en trois (03) chapitres fait l'économie de trois (03) mois de stage chez NTS-Solution: 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éalisé. Enfin nous dressons un bilan général par rapport au travail.
CHAPITRE 1 : GENERALITES
1. PRESENTATION DE LA STRUCTURE D'ACCUEIL
I.NTS-S01ution
NTS est une société de services en ingénierie informatique (SSII) spécialisée dans le domaine du multimédia, du web, du développement et de la technologie mobile. Ses agents sont des ingénieurs et techniciens qui mettent leurs compétences techniques et au service de ses clients pour leur proposer des solutions adaptées à leurs besoins. Ils accompagnent ces projets tout au long de leur cycle de vie
NTS-Solution a développé des univers graphiques très divers, pour des projets Web spécifiques représentatifs des tendances de ce secteur (sites vitrines, webzines ).
2. Les Services de NTS-S01ution
a. Domaine du Web et du Mobile
Dans le souci de permettre la mobilité lors des accès aux applications, NTS-Solution ne développe que des applications web, c'est-à-dire des applications accessibles depuis un navigateur internet (Internet Explorer ou Firefox). Le développement d'applications de gestion, de traçabilité ou de monitoring font parties intégrantes des applications conçues par NTSSolution, notamment :
- Logera (logiciel de gestion des résultats d'analyse d'eau)
- Promut (logiciel de gestion des mutuelles)
- Fruitrack (logiciel des gestions de la traçabilité des fruits)
- Staff (logiciel de gestion des ressources humaines)
- QuickCompta (Solution de gestion des écritures comptables)
Au niveau du développement des applications mobiles, notamment pour Smartphones Androïd, NTS-Solution en est le pionnier au Burkina Faso. , Fasoroom et Lafya sont des applications mobiles faisant partie de ces références et qui sont disponibles en téléchar-
gement.
b. Domaine des bases de données
Pour concevoir des bases de données, NTS-Solution utilise principalement les SGBDR (Système de gestion de bases de données relationnelles) suivants PGSQL, MySQL, Oracle. ..
La société a conçu et réalisé pour IAMGOLD ESSAKANE SA une base de données de gestion de l'aspect de la durabilité.
c. Domaine de la création graphique
NTS-Solution excelle également dans la réalisation de supports de communication. Notamment des banderoles, dépliants, porte-documents, cartes de visite et cartes de VœUX, cachets, en-têtes
Tous les supports de communication sont imprimés numériquement.
3.0rganisation
La structure organisationnelle actuelle de NTS comprend :
Conseil de gestion : Equipe dirigeante de la société
Manager General: premier responsable de la société, garant moral de NTS-Solution. Manager Technique: directeur technique de NTS-Solution.
Division web & mobile : département s'occupant des projets de développement d'applications web et mobiles.
Division Software et Data base : département s'occupant de la conception de base de données et des logiciels client lourd.
• Division Analytique fonctionnelle et Ergonomie : département s'occupant de l'élaboration des cahiers de charges et de la conception du visuel des applications ;
• Division Commercial : département s'occupant de la relation client ;
Supervision et Développement de projets : département s'occupant des projets (planning de réalisation, niveau d'avancement).
• Consultants : NTS-Solution fait appel à des consultants dans le cadre de projets, ils sont gérés par le directeur technique.
L'organigramme de NTS-Solution est présenté en annexe (Annexe 17).
4.Les partenaires de NTS-Solution
Comme toute entreprise de prestation de service œuvrant dans le domaine informatique, NTSSolution est en collaboration ou en partenariat avec des structures de la place et même des structures hors du Burkina Faso. Son statut de "Startup (Entreprise à fort potentiel de croissance)" lui impose de nouer des partenariats avec des entreprises qui œuvrent dans le même domaine que lui ou des domaines similaires. Ces partenariats lui permettent de tisser et de mettre en œuvre des relations de travail, de collaboration ou d'échanges de services.
Les échanges de service (une autre forme de partenariat) permettent aussi, à NTS-Solution de bénéficier d'expertises afin de mener à bien certains projets ou de vendre ses services. NTSSolution développe aussi des partenariats avec des personnes physiques ayant une grande expertise dans les domaines précis.
II,PRESENTATION DU THEME
I.La problématique
L'utilisation des Smartphones est de plus en plus croissante en Afrique de façon générale et en particulier au Burkina Faso. En effet le taux de pénétration des Smartphones en Afrique est estimé entrel 7 et 19 % par année [l] ce qui est important.
Face à l'importance de ce taux, NTS-solution s'est orientée vers les offres de services disponibles sur les Smartphones dans l'objectif de proposer des services communs aux utilisateurs dans un premier temps mais aussi dans l'intention de devenir les leaders dans le domaine.
Ayant déjà réalisé des solutions accessibles depuis les terminaux mobiles,
NTS-Solution n'entend pas s'arrêter en si bon chemin. C'est dans cette optique qu'elle a décidé d'améliorer son offre de solutions mobiles par la mise à disposition d'une solution de publication de petites annonces accessibles sur les terminaux mobiles Androïd. Le nom de cette solution est « LesOKZ »,comme pour dire les occasions, bonnes occasions, petites annonces, etc.
« LesOKZ » est une plateforme de visualisation et de publication de petites annonces basées sur le système Androïd. Elle sera disponible gratuitement sur Google Play (la plate-forme du groupe Google, le leader des solutions internet) pour permettre aux utilisateurs de Smartphones de pouvoir le télécharger et l'installer en toute simplicité.
L'objectif de la plateforme est de faciliter la gestion des annonces de façon rapide et efficace en intégrant plus de fonctionnalités que celles offertes par des solutions similaires disponibles sur le marché.
Afin de mieux décrire les fonctionnalités et les enjeux de cette solution, un cahier des charges (une suite d'écran de la future solution avec la description des fonctionnalités à développer) a été élaboré et mis à notre disposition, pour nous aider à la réalisation de ce projet dont nous présentons quelques point saillants.
2.Présentation du cahier des charges
Pour atteindre les résultats attendus, « LesOKZ » reposera sur un ensemble de fonctionnalités et une base de données MySQL qui servira à stocker les informations.
Le but de notre stage est de développer cette plateforme et sa base de données avec les fonctionnalités suivantes :
Le Home ou page d'accueil
Le Home est la page qui s'affichera après le splashscreen (écran de démarrage) de l'application. Cette page affiche toutes les annonces qui ont été effectuées par le groupe de gestion du contenu de NTSSolution ou d'autres utilisateurs, et doit leur permettre de visualiser comme l'indique le visuel de la figure I
Le bouton « Changer », qui se trouve au niveau du pied de page à droite permettra de regrouper les annonces par ville et les deux premiers onglets serviront à les classer en fonction du prix (du moins cher au plus cher) et en fonction de la date de publication (de la plus récente à la plus ancienne).Le dernier onglet servira à ajouter une
Figure 1: Ecran d'accueil nouvelle annonce dans la base de données pour une publication.
Détail article
Faire une Ottre? |
Cette page permettra à l'utilisateur d'avoir les informations complémentaires sur un article de son choix comme dans le visuel de la figure 2
A ce niveau, l'utilisateur aura la possibilité de zoomer sur l'image de l'annonce pour mieux la voir grâce à la loupe qui se trouve en bas à droite de l'image. Il pourra aussi voir son prix ainsi que quelques informations sur le vendeur et aussi faire une offre en cliquant sur le
bouton faire une offreII pourra contacter le vendeur soit par appel en cliquant sur le bouton ou en envoyant un message grâce à ce bouton La dernière icône permettra de
Figure 2: Ecran de détail géo-localiser l'annonce.
Publication d'annonce
. |
La page permettra à l'utilisateur d'effectuer une annonce. Elle se présente comme sur la figure 3 •
L'utilisateur renseignera ces champs pour ensuite ajouter l'annonce en cliquant sur le bouton JE VENDS L'image de l'appareil photo lui permettra de prendre une photo de l'annonce ou de charger une image depuis la carte mémoire.
Figure 3:Ecran d'annonce
La MAP
Cette page permettra à l'utilisateur de visualiser les annonces sur une carte comme l'indique le visuel de la figure 4.
L'utilisateur pourra se servir de cette fonctionnalité pour avoir une idée par rapport a la situation géographique de l'annonce et aura la possibilité d'accéder au détail de l'article en cliquant sur l'info bull qui présente en partie l'article.
Figure 4: Ecran de la carte
../ Connexion
Cette fonctionnalité permettra à l'utilisateur de se connecter à l'application avant de pouvoir effectuer une vente ou d'accéder à son profil.
Profil
Le profil présentera les informations sur l'utilisateur et lui permettra de faire des partages à travers des réseaux sociaux (Google plus, Facebook, twitter).
Création de compte
Cette page permettra à l'utilisateur de créer un compte utilisateur afin de pouvoir bénéficier d'un certain nombre de services de l'application v/ Recherche
La fonctionnalité de recherche permettra de faire des recherches en fonction du texte saisi par l'utilisateur v/ Appel
Cette fonctionnalité permettra à I' utilisateur de joindre le vendeur ou l'annonceur par appel v/ Message et mail
Cette fonctionnalité permettra à l'utilisateur de joindre le vendeur ou l'annonceur par message Pour la gestion des données de LesOKZ », deux (02) bases de données seront utiliSées. Une base donnée distante qui servira à contenir les informations nécessaires sur les annonceurs et les différentes annonces effectuées et une autre base sur le sur le terminal qui stockera les paramètres utilisateur.
3.Résultats attendus
Les objectifs de notre stage chez NTS-Solution durant ces trois (03) mois peuvent être regroupés en deux parties. Dans un premier temps, nous devons créer un cadre dans lequel nous appliquerons les connaissances théoriques acquises à l'école et aussi de nous permettre d'améliorer notre expérience en ce qui concerne le développement de solutions logicielles avec le système d'exploitation pour terminaux intelligents : Androïd. Le second objectif visé par ce stage est de réaliser (au moins à quatre-vingt (800/0)) une application pour téléphone intelligent dénommée « LesOKZ »en respectant le cahier des charges présenté précédemment.
4. Planning du projet
Notre stage s'est déroulé en trois (03) mois selon le programme donné par NTS-solution. Débuter le I er aout 2013 ce stage a pris fin le 31 octobre 2013.
Le tableau I illustre le planning de notre stage
Tableau 1:Planning du Projet
TACHES | DATE DEBUT | DATE FIN | ||||
Splashscreen | 19/08/2013 | 20/08/2013 | ||||
Home | 21/08/2013 | 29/08/2013 | ||||
Détail article | 30/08/2013 | 3/09/2013 | ||||
Vendre | 4/09/2013 | 9/09/2013 | ||||
Inscription | 10/09/2013 | 12/09/2013 | ||||
Profil | 13/09/2013 | 16/09/2013 | ||||
Map (Développement des fonctionnalités de cartographie) | 17/09/2013 | 19/09/2013 | ||||
A Propos | 20/09/2013 | 20/09/2013 | ||||
Création Base de données, des fichiers et des parseurs | 21/09/2013 | 31/10 /2013 | ||||
Le diagramme de Gantt de ce planning est présenté en annexe (Annexe 15).
CHAPITRE 11: METHODOLOGIE ET CONCEPTION
L'analyse et la conception d'un projet informatique nécessitent l'utilisation d'un langage de modélisation et d'une méthode ou démarche de développement appropriée. Ce sont des outils d'aide à la conception qui permettent la description du système logiciel par les diagrammes, pour une meilleure compréhension de celui-ci par les acteurs à travers les cas d'utilisation, les diagrammes de séquences mais surtout une participation et une collaboration active entre informaticiens et acteurs du système à travers le recueil d'information. L'ensemble des règles de modélisation peut être appuyé par un processus dont le rôle est d'assurer l'harmonie au sein d'un ensemble d'éléments coopératifs, et d'expliquer comment il convient de se servir du langage de modélisation.
1. LE LANGAGE DEMODELISATION
Pour programmer une application, il ne convient pas de mettre l'accent que sur l'écriture du code. Il faut d'abord organiser ses idées, les documenter, puis organiser la réalisation en définissant les modules et étapes de la réalisation. C'est cette démarche antérieure à l'écriture que l'on appelle modélisation, son produit est un modèle.
Cette modélisation nécessite l'utilisation d'un langage permettant la description du système logiciel ainsi que sa compréhension par ses futurs utilisateurs. Pour ce faire, nous choisissons UML (Unified Modeling Langage) comme langage de modélisation de notre système, car il comble une lacune importante des technologies objets et parce que nous sommes très familiers à ce langage qui est celui utilisé par NTS-Solution. Il permet d'exprimer et d'élaborer des modèles objet, indépendamment de tout langage de programmation. De plus, grâce à sa notation graphique, il permet d'exprimer visuellement une solution objet, ce qui facilite la comparaison et l'évaluation de solutions. Enfin, l'aspect formel de sa notation limite les ambiguïtés et les incompréhensions.
UML (la version 2.0) définit 13 (treize) diagrammes [2], mais ceux utilisés dans l'ensemble de notre analyse sont présentés dans le tableau 2 suivant :
Tableau 2: Diagrammes utilisés
DIAGRAMMES | ROLES |
Cas d'utilisation | représente les cas d'utilisation du système, les acteurs et les relations existant entre eux. |
Classes | expriment de manière générale la structure statique d'un système, en termes de classes et de relations entre ces classes. |
Activité | une forme spéciale du diagramme de transition d'états utilisés pour modéliser l'état du contrôle. |
Séquence | montrent les exemples d'historiques de communication entre les objets ou les utilisateurs. |
11. LE PROCESSUSDE DEVELOPPEMENT
Afin d'obtenir une application de qualité qui réponde aux besoins des utilisateurs en respectant les délais et les coûts prévus, nous utilisons le processus de développement 2TUP (Two Tracks Unified Process ou processus unifié à deux chemins).
2TUP, est un processus de développement logiciel implémentant le Processus Unifié (UP). Il propose un cycle de développement en Y » qui dissocie les aspects techniques des aspects fonctionnels. Il commence par une étude préliminaire qui consiste essentiellement à identifier les acteurs qui vont interagir avec le système à construire, les messages qu'échangent les acteurs et le système, à produire le cahier des charges et à modéliser le contexte (le système est une boîte noire, les acteurs l'entourent et sont reliés à lui, une sur l'axe reliant un acteur au système des messages que les deux s'échangent). Le processus s'articule ensuite autour de trois (03) phases essentielles
' Une branche technique qui recense les besoins non fonctionnels. Il s'agit essentiellement des contraintes que l'application doit prendre en compte comme par exemple les contraintes d'intégration, les contraintes de développement et les contraintes de performances ;
' Une branche fonctionnelle qui recense les besoins fonctionnels et analyse les spécifications fonctionnelles de manière à déterminer ce que va réaliser le système en terme de métier;
' Une phase de réalisation décomposer aussi en étape de conception préliminaire, de conception détaillée et enfin de codage.
v/ La conception préliminaire, qui représente une étape délicate, car elle intègre le modèle d'analyse fonctionnelle dans l'architecture technique de manière à tracer la cartographie des composants du système à développer.
v/ La conception détaillée, qui étudie ensuite montre comment réaliser chaque composant.
v/ L'étape de codage, qui produit ses composants et teste au fur et à mesure les unités de code réalisées.
• L'étape de recette qui consiste enfin à valider les fonctionnalités du système.
Le schéma qui illustre le processus de développement 2 TUP est présenté en annexe (Annexe l).
En somme, l'adoption d' UML comme langage de modélisation et de 2 TUP comme processus de développement nous a permis de produire des modèles accompagnés de documents tout au long du cycle de développement de l'application comme le montre la figure en annexe (Annexe 2).
DIAGRAMMES DE MODELISATION
I.Le diagramme de cas d'utilisation
Le diagramme de cas d'utilisation représente la structure des grandes fonctionnalités nécessaires aux utilisateurs du système. C'est le premier diagramme du modèle UML, celui où s'assure une relation entre l'utilisateur et les objets que le système met en œuvre. Il représente la structure des fonctionnalités nécessaires aux utilisateurs du système. Pour ce qui est de notre projet, nous l'utilisons lors des étapes de capture des besoins fonctionnels et techniques dans notre processus de développement 2 TUP. Cette procédure est efficace car elle permet de cerner tous les besoins de l'utilisateur avant la réalisation du projet.
Le schéma du diagramme de cas d'utilisation est en annexe(Annexe 3)
Identification des cas d'utilisation
L'analyse des fonctionnalités prévues dans le cahier des charges, nous permet de dégager ou encore d' identifier les cas d'utilisation de notre application.
Le tableau 3 suivant résume les cas d'utilisation identifiés :
Tableau 3: Les cas d'utilisation du système
NO | Cas d'utilisation |
1 | Visualiser les annonces |
2 | Créer compte |
3 | Modifier compte |
4 | Publier annonce |
5 | Faire offre par email |
6 | Appeler annonceur |
7 | Envoyer SMS |
8 | Lister les annonces |
9 | Afficher la position Map |
10 | Rechercher une annonce |
2. Le diagramme de classe
Le diagramme de classes définit la structure statique du système en montrant les objets dans le système, les relations entre les objets, les attributs et les opérations qui caractérisent chaque classe d'objet. Il intervient au niveau de la branche fonctionnelle de notre processus. Il a servi dans le cadre de notre projet à représenter la structure des entités manipulées par l'utilisateur.
Le diagramme de classe est présenté en annexe (Annexe 4)
Description des classes
a. Description de la classe « COMPTE »
Le tableau 4 suivant présente la description de la classe COMPTE ».
Tableau 4: Description de la classe « COMPTE »
CLASSE : COMPTE | ||
Cette classe permet de stocker les informations sur un utilisateur désirant avoir un compte qui va lui servir à communiquer avec les autres utilisateurs. | ||
Attributs | ||
Nom | Signification | |
Id_compte | Int | Identifiant du compte |
Nom | String | Nom de l'utilisateur |
Prenom | String | Prénom de l'utilisateur |
Pseudo | String | Pseudonyme de l'utilisateur |
Int | Identifiant de la ville ou se trouve l'utilisateur | |
| String | Email de l'utilisateur |
numeroPhone | String | Numéro de téléphone de l'utilisateur |
Méthodes | ||
creerCompte () | Compte | Permet de créer un nouveau compte |
b. Description de la classe « ANNONCE »
Le tableau 5 suivant présente la description de la classe ANNONCE».
Tableau 5: Description de la classe « ANNONCE
CLASSE : ANNONCE | ||||||
Elle stocke les informations nécessaires sur une annonce pour publication | ||||||
Attributs | ||||||
Nom | Signification | |||||
Id annonce | Int | Identifiant de l'annonce | ||||
Titre | String | Titre de l'annonce | ||||
Description | String | Description de l'annonce | ||||
Id image | Int | Identifiant de l'image de l' annonce | ||||
Id ville | Int | Identifiant de la ville de I ' annonceur | ||||
Id_type | Int | Identifiant du type de I ' annonce | ||||
Id categorie | Int | Identifiant de la catégorie de I ' annonce | ||||
Id_photo | Int | Identifiant de l'image de I ' annonce | ||||
Longitude | Double | La position en longitude du lieu de publication de I ' annonce | ||||
Latitude | Double | La position en latitude du lieu de publication de I ' annonce | ||||
Long | Valeur de l'annonce en FCFA | |||||
Méthodes | ||||||
ajouterAnnonce () | Annonce | Permet d'ajouter une nouvelle annonce | ||||
capturerlmage | Bitmap | Permet de prendre en photo un article | ||||
Charger Image() | Bitmap | Permet de charger une images depuis la galerie du téléphone Androïd | ||||
c. Description de la classe « VILLE »
Le tableau 6 suivant présente la description de la classe « VILLE».
Tableau 6: Description de la classe « VILLE »
CLASSE : VILLE | ||
Elle permet de stocker les références de la ville d'une annonce ou d'un utilisateur. | ||
Attributs | ||
Nom | Type | Sign ification |
Int | Identifiant de la ville | |
NomVille | String | Nom de la ville |
d. Description de la classe « TYPE »
Le tableau 7 suivant présente la description de la classe TYPE».
Tableau 7: Description de la classe « TYPE »
CLASSE : TYPE | ||
Elle stocke les références du type d'une annonce. | ||
Attributs | ||
Nom | Type | Signification |
Id_type | Int | Identifiant du type de I ' annonce |
valeurType | String | Type de l'annonce |
e. Description de la classe « CATEGORIE »
Le tableau 8 suivant présente la description de la classe CATEGORIE».
Tableau 8: Description de la classe « CATEGORIE »
CLASSE : CATEGORIE | |||||
Elle stocke les références de la catégorie d'une annonce. | |||||
Attributs | |||||
Nom | Signification | ||||
Id categorie | Int | Identifiant de la catégorie de l' annonce | |||
valeurCategorie | Catégorie de l'annonce | ||||
f. Description de la classe « PHOTO »
Le tableau 9 suivant présente la description de la classe « PHOTO».
Tableau 9: Description de la classe « PHOTO »
CLASSE : PHOTO | ||
Elle stocke les références de l'image d'une annonce. | ||
Attributs | ||
Nom | Signification | |
Id_photo | Int | Identifiant de l'image de I ' annonce |
nomPhoto | String | Nom de l'image |
3.Le diagramme d'activité
Le diagramme d'activité n'est autre que la transcription dans UML de la représentation du processus telle qu'elle a été élaborée lors du travail qui a préparé la modélisation : il montre l'enchaînement des activités qui concourent au processus.
Il intervient dans la branche gauche de notre processus de développement dans la phase d'analyse.
Le Diagramme d'activité est présenté en annexe (Annexe 5)
4.Le diagramme de séquence
Le diagramme de séquence permet de représenter la succession chronologique des opérations réalisées par un acteur. Il indique les objets qui seront manipulés par l'acteur et les opérations. Il représente les messages échangés entre les objets dans un ordre chronologique. Il donne une notion temporelle aux messages. Nous l'utilisons au niveau de la branche fonctionnelle de notre processus pour représenter l'opération de publication d'annonce par un utilisateur du système.
Le diagramme de séquence est présenté en annexe (Annexe 6).
IV. ESTIMATION DU COUT DE DEVELOPPEMENT
La réalisation d'un projet informatique nécessite la mobilisation de ressources humaines, matérielles et financières.
Dans cette partie de notre rapport nous présentons le coût global de réalisation de l'application« LesOKZ ».
La réalisation de l'application a nécessité la mobilisation de deux types de ressources : les ressources humaines et les ressources matérielles et logicielles.
> Les ressources humaines : il s'agit des acteurs humains qui ont participé au développement de l'application. Ils sont au nombre de cinq (05) répartis comme suit :
deux (02) développeurs;
> un (01) superviseur pour la validation des choix technologiques; un (01) superviseur au développement et responsable R&D;
> un (01) chef de projet;
Le tableau 10 suivant donne une estimation du cout de développement de l'application en termes de ressources humaines.
Tableau 10: Estimation du cout des ressources humaines
TITRE | NOMBRE D'AGENTS | NOMBRE TOTAL D'HEURES DETRAVAIL | COUT HORAIRE (FCFA) | TOTAL (FCFA) | ||||||
Chef de projet | 01 | 36 | 3500 | 126 000 | ||||||
Superviseur au développement | 01 | 218 | 1800 | 392 400 | ||||||
Superviseur de choix technologiques | 01 | 90 | 2000 | 180 000 | ||||||
Développeurs | 02 | 968 | 1500 | 1 452 000 | ||||||
> Les ressources matérielles et logicielles : il s'agit du matériel et des logiciels utilisés dans le cadre du projet.
> Les couts relatifs aux ressources matérielles et logicielles sont regroupés au sein du tableau I l suivant :
> Tableau 11: Estimation du cout des ressources matérielles et logicielles
DESIGNATION | QUANTITE | PRIX UNITAIRE | DISPONIBILITE |
Cout d'utilisation des Ordinateurs | 02 | 150 000 | OK |
Téléphone de test | 01 | 100 000 | OK |
Coût de publication de l'application | 01 | I l 950 | NON |
Serveur | 01 | 400 000 | OK |
Eclipse | 01 | Gratuit | OK |
MySQL | 01 | Gratuit | OK |
SQL Lite | 01 | Gratuit | OK |
Apache | 01 | Gratuit | OK |
> Le cout total de développement de l'application « LesOKZ » s'élève 2 600400 FCFA
Hors Taxes.
CHAPITRE 111 : REALISATION
Dans ce chapitre nous allons présenter la réalisation du projet, en passant par la présentation de la plateforme Androïd, des technologies utilisées, des fonctionnalités développées ainsi que des captures d'écran du produit final.
La phase de réalisation intervient au niveau de la branche conception et développement du logiciel pour les phases de code, de test et recette de 2TUP.
1. PRESENTATION DE LA PLATEFORME ANDROID
Androïd est un système d'exploitation Open Source pour terminaux mobiles conçu par Androïd, une startup américaine puis rachetée par Google en juillet 2005 [3].
Cet OS se différencie principalement de ses concurrents, par le fait qu'il est ouvert. Le modèle économique de Google semble très pertinent, l'adoption d'Androïd par les fabricants sera plus rapide du fait de la gratuité d'utilisation pour le constructeur. Voilà pourquoi il nous est pertinent de travailler sur cette plateforme. Une autre raison est que les applications Androïd sont développées en Java, un langage de programmation dont nous avons connaissances pour l'avoir étudié en cours (théorie et pratique). Androïd dispose aussi d'un ensemble de librairies qui incluent la plupart des fonctionnalités présentes dans java ainsi que des fonctionnalités supplémentaires pour la gestion de l'interface graphique par exemple.
Cette plateforme mobile, bâtie autour du noyau Linux 2.6 a plusieurs versions avec une architecture (Annexe 13) organisée en plusieurs couches permettant ainsi de développer des applications innovantes :
- Le noyau Linux
- Les bibliothèques graphiques
- Une Machine Virtuelle : Dalvik Virtual Machine
- Framework applicatif
- Application
Les applications Androïd sont des assemblages de composants liés entre eux par un fichier de configuration et reposent sur un cycle de vie comme l'indique la figure en annexe (Annexe
14) .Ses composants sont :
- Vues qui sont comme des éléments de l'interface graphique qui contenant des composants organisés selon diverses mises en page.
- Contrôles Boutons, champs de saisie, case à cocher, etc.
- Activité(Activity) peut être assimilée à un écran structuré par un ensemble de vues et de contrôles. Elle présente deux (02) volets à savoir le volet métier et la gestion du cycle vie implémentée en Java dans une classe héritant d'Activity et le volet interface définit soit en XML soit en JAVA.
Dans le cadre de la réalisation du projet, nous avons eu à utiliser un ensemble de technologies que nous vous présenterons dans le point suivant.
11, TECHNOLOGIES UTILISEES
Pour assurer la communication entre la base de données et l'application nous avons utilisé la technique la plus répandue qui est la suivante :
L'application envoie des scripts PHP sous forme de requête vers le serveur MySQL grâce au protocole http, le serveur à son tour analyse la requête et renvoie la réponse sous forme de fichiers XML à l'application qui fait la lecture de ces fichiers par l'intermédiaire du parseur SAX qui est une classe spécialisée dans la lecture de flux XML. Le parseur SAX contrairement aux autres parseurs comme le DOM ne stocke pas les informations en mémoire et peut être écrit en plusieurs langages comme java, Perl, C++, etc. Ainsi nous mettons en place un scenario qui consiste à faire fonctionner notre application selon l'architecture 3-tiers du point de vue technologie. Le client ici est la plateforme Androïd, le serveur Web est PHP et le serveur de base de données est MySQL (Annexe 7).
Dans la partie suivante, nous aborderons la présentation des outils qui ont servi à la réalisation de ce projet en présentant l'environnement logiciel et par la suite l'environnement de travail
I.Les logiciels utilisés
A ce niveau nous allons vous présenter les logiciels qui ont été utilisés pour le développement de l'application.
Eclipse
L'environnement de travail que nous avons utilisé pour la réalisation de ce projet est l' ADT Bundle qui est une version d'éclipse libre et gratuite très prisée par les développeurs Androïd disponibles sous Windows, Gnu/Linux et Mac OS.
Il intègre le SDK (Kit de Développement Logiciel) Androïd pour la compilation, la signature de l'application et l'ADT qui propose des interfaces servant au débogage des applications qui sont en fait des outils mis en place par Google pour faciliter le développement Androïd et la maintenance des applications.
En ouvrant un premier projet sous Eclipse un certain nombre de fichiers sont déjà présents sans même qu'une seule ligne de code n'ait été écrite. On y trouve :
un dossier src qui regroupe toutes les classes Java du projet; un dossier Androïd Library avec toutes les bibliothèques utilisées; un dossier assets qui contient des données de type licence qui seront chargées en même temps que l'application lors de l'intégration de celle-ci dans le téléphone; un dossier res pour toutes les ressources annexes : images, fichiers XML, sons, etc.; le fichier définit le comportement de l'application au système Androïd en définissant par exemple, le nom, l'icône (par défaut ), le thème, la version minimale du système nécessaire à l'exécution de l'application, les activités, les services.
Le développement des applications sous Androïd est associé à la notion de modèle-vuecontrôleur (MVC) (Annexe 8).
L'approche MVC vise à décomposer un programme en trois parties :
Le Modèle est la représentation codée du comportement d'un bouton par exemple.
La Vue constitue la couche graphique, intégrant les boutons, les zones de textes, les images
Le Contrôleur agit comme une liaison entre la vue et le modèle.
Ce découpage permet de simplifier le développement en isolant le code métier (le modèle)de l'interface graphique (vue) et de leurs interactions (contrôleur). Ainsi la modification de l'un n'impose pas la réécriture des autres, optimisant ainsi la réalisation et la maintenance des proIl permet de distinguer la notion d'interface graphique, qui peut être par exemple déléguée à un graphiste, des interactions (appui sur un bouton etc.) et des actions liées après intervention de l'utilisateur.
'Serveur de base de donnée MY SQL
Notre choix s'est porté sur le serveur de base de données MYSQL pour de nombreuses raisons :
C'est un SGBD gratuit et disponible sur de nombreuses plateformes (Unix, Linux, Windows, MacOs X, Solaris, etc.). Il s'intègre au sein de nombreux serveurs web (Apache, Microsoft IIS, etc,) et est beaucoup plus adapté à des petites bases de données.
MySQL est un serveur de base de données très utilisé dans le monde. Il est rapide, robuste, facile à utiliser et à administrer et dispose d'une documentation complète
'Serveur SQLite
Pour la gestion en local des informations nous avons utilisé la base SQLite car il est léger et simple
, PHP
Le langage PHP est le langage utilisé pour l'écriture de nos scripts.
2.Environnement de travail
Dans cette partie il s'agira pour nous de présenter les langages de programmation qui ont servis à l'implémentation de l'application.
'Le langage JAVA
Le langage de programmation utilisé dans le cadre de ce projet Androïd est le Java, très répandu dans les développements informatiques actuels. Ce langage offre un ensemble de librairies qui facilitent le développement et dispose d'une documentation bien fournie.
,XML
Pour la réalisation des interfaces graphiques de l'application nous avons utilisé le langage XML. Le XML est un langage informatique qui sert essentiellement à stocker/transférer des données de type texte structurées en champs arborescents. Ce langage est qualifié d'extensible car il permet à l'utilisateur de définir des marqueurs (balises) qui facilitent le parcours au sein du fichier et donc la lecture de l'information. Ce langage est couramment utilisé et son apprentissage est aisé.
Un exemple de code est présenté en annexe (Annexe 16).
111. LES FONCTIONNALITES DEVELOPPEES
Dans le tableau 12 ci-dessous, présentons les fonctionnalités développées sous forme de tableau :
Tableau 12: Les fonctionnalités développées
FONCTIONNALITES | DESCRIPTIONS |
Affichage des annonces | Cette fonctionnalité permet à l'utilisateur de visualiser les annonces qui ont été faites par d'autres utilisateurs. |
Affichage des annonces en fonction de la | L'utilisateur à la possibilité d'afficher en fonction de la ville voulue |
Affichage des annonces en fonction du prix et de la date de publication | Cela permet d'organiser les annonces en fonction du prix (du moins cher au plus cher) soit de les organiser par date de publication |
Affichage des annonces en fonction de la catégorie et par type | On permet à ce niveau à l'utilisateur de pouvoir afficher des annonces en fonction de sa catégorie ou de type |
Création de compte utilisateur | L'utilisateur peut créer un compte |
Recherche | A ce niveau nous offrons la possibilité à l'utilisateur d'effectuer une recherche à partir d'un texte saisi |
Visualisation des annonces sur une carte | Cette partie permet de visualiser les annonces sur une carte |
Appel, envoi de message ou de mail | La solution offre la possibilité à l'utilisateur d'effectuer des appels, d'envoyer des messages ou des mails pour contacter un vendeur d'article ou pour offrir un article |
Publication d'annonces | Cette fonctionnalité permet à l'utilisateur de faire ses publications d'annonces |
IV. CAPTURES D'ECRAN
Cette partie de notre travail est essentiellement dédiée à quelques captures d'écrans qui répondent à un souci de présentation (Voire Annexe 9, 10, I l, 12).
Annexe 9 : Cet écran présente la page de connexion. Il permet à l'utilisateur de se loguer à l'application en renseignant son login et son mot de passe.
Annexe 10 : Cet écran est la page d'inscription .II permet à l'utilisateur de créer un compte en renseignant les champs de saisis. Certains sont obligatoires (il s'agit de ceux suivis de l'étoile
(*)) et d'autres pas.
Annexe II : Cet écran permet à l'utilisateur de quitter l'application ou d'y rester
Annexe 12: Cet écran permet à l'utilisateur de choisir les annonces concernant cette ville de son choix.
V. DEPLOIEMENT
Le Déploiement de l'application sera fait via Google Play :
Goosle play
Google Play (anciennement Androïd Market) est un service en ligne permettant de télécharger des applications gratuites ou payantes sur des périphériques mobiles compatibles Androïd.
Avant de publier l'application sur le Play Store, il faut:
• créer un compte développeur ;
• payer un enregistrement de vingt-cinq dollars ($25) américain;
• signer la charte de distribution du développeur du Play Store;
• vérifier l'application et signer le fichier .apk (extension des applications Androld)
• et enfin publier.
Pour ce faire les étapes suivantes doivent être effectuées :
• Aller dans File->Export
• Sélectionner Androïd Application
Après cela l'assistant vous propose de sélectionner l'application à exporter comme l'indique la figure suivante :
d' une
|
Figure 5: Sélection de l'application à exporter
• Création de la « Keystore » qui permettra de signer numériquement l'apk comme l'indique la figure suivante :
Une fois publié, l'application pourra être téléchargée par les utilisateurs du monde entier grâce à l'application Google Play installée sur leur appareil Androïd.
CONCLUSION GENERALE
Dans le cadre de notre projet de fin de cycle, nous avons été accueillis par la structure NTSSolution.
Cette structure nous a confie la réalisation d'une plateforme Androïd de gestion de petites annonces pour y parvenir nous avons utilise le processus de développement 2TUP pour l'analyse et la conception du système. Pour ce qui est de la phase de développement, nos choix se sont portes sur les langages Java, XML, et PHP.
La réalisation de ce projet qui sera mis a la disposition en téléchargement libre sur Google Play, permettra aux utilisateurs de terminaux intelligents, de disposer effectivement d'une plateforme Androïd qui leur permettra de diffuser gratuitement leurs annonces de façon efficace et en toute simplicité . Certes de nombreux test restent a faire pour finaliser « LesOKZ », mais nous pouvons dire que nous avons respecté le cahier des charges et atteint un tau de quatre-vingt pourcent (800/0) du tau de réalisation total de l'application « LesOKZ ».
WEBOGRAPHIE
v'" [11 , consulte le 02 décembre 2013 v/ [2] , consulte le 16 septembre 2013
BIBLIOGRAPHIE
v/ [31 :Programmation Androïd de la conception au déploiement avec le SDK Google Androïd de Damien Guignard, Julien Chable, Emmanuel Robles Edition Eyrolles publié en Avril 2010
|
et
Annexe I : Schéma de 2TUP
Annexe 2:Schéma de conception
Annexe 3: Diagramme de cas d'utilisation
Annexe 4 : Diagramme de classe
(non valide)
Annexe 5 : Diagramme d'activité du cas : publier annonce
2012-2013
Annexe 6 : Diagramme de séquence
Année
d' une
MYSQL Annexe 7 : Architecture générale de l'application |
demand
|
|
Annexe 8 : Modèle MVC de l'application
Annexe 9 : Ecran de connexion
Mot de Passe •
Annexe 10 : Ecran d'inscription 11:49
NOS OKZ PAR DATE PAR PRIX JE VENDS | |
Quitter LesOKZ' NON OUI | |
Annexe I I : Ecran quitter l'application
3:05 | ||
VILLE Ouagadougou Bobo-Dioulasso Banfora Koudougou Ouahigouya Tenkodogo Fada Gourma Dori |
Annexe 12 : Ecran sélectionner les annonces d'une ville
Annexe 13 : Architecture ANDROID
Annexe 14 : Cycle de vie d'une activité ANDROID
Annexe 15 : Diagramme de Gantt
Année
d' une
/ /E>ŒMPLE DE CODE XML < TextView
content" content S'
Annexe 96: Exemple de Code
Année d'une
Annexe 17 : Organigramme de NTS-Solution
Année
d'une