FICHE D ACTIVITE N 4 : APPLICATION SMARTPHONE DE GESTION DE FRAIS (ANDROID)
Table des matières I. Pôle de compétences concernées... 3 II. Circonstance et contexte... 3 III. Situation professionnelle et niveau d'autonomie... 4 IV. Objectif attendu... 4 V. Travail effectué par étape et par tâche... 5 1. Phase d analyse... 5 2. Solution proposée... 5 3. Solution adoptée... 6 4. Création du cahier des charges... 6 5. Conception... 6 6. Phase de test... 8 7. Déploiement... 8 VI. Difficultés rencontrées... 10 VII. Solutions adoptées... 10 VIII. Réflexion, déduction, et conclusion pratique... 10 IX. Compétences, savoir, savoir-faire... 11
I. Pôle de compétences concernées D1.1 - Analyse de la demande D1.2 - Choix d une solution D1.3 Mise en production d un service D1.4 - Travail en mode projet D2.1 Exploitation des services D2.2 Gestion des incidents et des demandes d assistance D2.3 Gestion des problèmes et des changements D3.1 - Conception d'une solution d'infrastructure D3.2 - Installation d une solution d infrastructure D3.3 - Administration et supervision d'une infrastructure D4.1 Conception et réalisation d une solution applicative D4.2 - Maintenance d une solution applicative D5.1 - Gestion des configurations II. Circonstance et contexte Le laboratoire Galaxy Swiss Bourdin (GSB) est issu de la fusion entre le géant américain Galaxy (spécialisé dans le secteur des maladies virales dont le SIDA et les hépatites) et le conglomérat européen Swiss Bourdin (travaillant sur des médicaments plus conventionnels), lui-même déjà union de trois petits laboratoires. En 2009, les deux géants pharmaceutiques ont uni leurs forces pour créer un leader de ce secteur industriel. L'entité Galaxy Swiss Bourdin Europe a établi son siège administratif à Paris. Le siège social de la multinationale est situé à Philadelphie, Pennsylvanie, aux Etats-Unis. Par conséquent, le laboratoire pharmaceutique Galaxy-Swiss Bourdin (GSB) souhaite donc optimiser leur gestion. Le but est donc d uniformiser leur gestion de frais par le biais d une application Web nommée Applifrais. Cette application a donc été réalisée par notre équipe de développeurs. Nous proposons aujourd hui de réaliser une extension de cette application pour les systèmes Android.
III. Situation professionnelle et niveau d'autonomie J ai donc occupé le poste de chef de projet. La tâche qui m a été confiée, consistait à développer une nouvelle application pour les smartphone, sous le système Android. Ce travail est basé sur la conception et le développement d une application Android. Le projet a été réalisé en équipe, constitué de quatre développeurs avec une autonomie quasi complète. IV. Objectif attendu L appli-frais version mobile est une application de Smartphone qui doit être développée sous Android et SQL. Cela permettra d avoir le contenu dynamique désiré. L application a pour but d'enregistrer tout frais engagé, aussi bien pour l'activité directe (déplacement, restauration et hébergement) que pour les activités annexes (événementiel, conférences, autres). L'application Android est destinée aux visiteurs, délégués et responsables de secteurs. L application sera disponible en téléchargement depuis l application web, accessible depuis un ordinateur. Le module accessible à la force de visite sera intégré à l'application de gestion des comptesrendus de visite, mais sous forme d'une interface spécifique (elle ne doit pas être fusionnée à la saisie des CR, elle sera sur un onglet ou une page spécifique). L'environnement doit être accessible aux seuls acteurs de l'entreprise. Une authentification préalable sera nécessaire pour l'accès au contenu. Tous les échanges produits doivent être cryptés par l application. la gestion de l enregistrement des frais engagés par les visiteurs Il faut s appuyer sur les références ergonomiques du projet (l améliorer si possible) L'application présente deux modules : - L enregistrement par les visiteurs - Le suivi des frais par les visiteurs La documentation devra présenter l'arborescence des pages pour chaque module, le descriptif des éléments, classes et bibliothèques utilisées. Fournir une documentation et des sources exploitables pour la phase de tests : base de données exemple, modélisation,...
V. Travail effectué par étape et par tâche 1. Phase d analyse Suite à la réalisation de l application Web pour le groupe Galaxy Swiss Bourdin, nous leur avons proposé une adaptation de l applifrais pour les systèmes Android. Etant donné que les smartphones sont aujourd hui très en vogue et bien implantés dans les pays du Nord. Il devient incontournable de réaliser des applications qui leur soient entièrement dédiées. Voici une étude économique dédiée au smartphone http://www.eco-conscient.com/ L application sous-système Android permettra d entrer les notes de frais des visiteurs, des délégués et des responsables de secteurs. Elle nécessitera une connexion à internet depuis un smartphone. L application comportera un portail de connexion, une page pour saisir les frais et une seconde pour visualiser l état de remboursement de la fiche précédemment créée. 2. Solution proposée L Applifrais est une application web. La solution que nous proposons est de redévelopper l application pour les systèmes Android. Cela permettrait aux utilisateurs de smartphone de la société, de consulter et de remplir les fiches de frais convenablement depuis leur téléphone. Etant donné que le smartphone devient de nos jours un outil incontournable et courant. Il est intéressant de proposer une application pour ce type d outils. Des sondages récents ont montré qu un individu en moyenne passe 95 minutes par jour sur son smartphone. La solution est proposée sous-système Android car ce sont les leaders du marché des smartphones et les coups de développement Android sont quasi nuls.
3. Solution adoptée La solution proposée a été acceptée et a fait l unanimité. Elle répond entièrement à l attente de l entreprise et présente de faibles coûts budgétaires. L application sera d une grande utilité pour les visiteurs, dès qu un frais se présente, l utilisateur de l application pourra directement enregistrer ses frais sur sa fiche sans attendre. Les frais pourront donc être insérés progressivement sur sa note, ce qui évitera aux visiteurs de faire ses comptes. Il poura savoir en temps réel ses dépenses et son budget restant. Cela permettra de mieux gérer ses dépenses. Pour répondre à ce besoin, notre équipe va devoir suivre une formation autodidacte sur le développement Android. Par la suite, nous développerons le module de connexion qui permettra a l utilisateur de se connecter. Il faudra dans un second temps créer deux autres modules qui permettront de télécharger le récapitulatif de la fiche en cours et d insérer de nouveaux frais. 4. Création du cahier des charges Dans un premier temps, un cahier des charges a été rédigé. Cela m a permis de fixer le cadre du projet à réaliser, de répartir les tâches et de bien cibler les contraintes ainsi que les objectifs à atteindre. J ai également conçu un diagramme de Gantt pour estimer le temps à passer sur chaque tâche et prendre plus de recul sur l avancement du projet. 5. Conception Pour développer l application il sera nécessaire d installer un IDE Android et son compilateur (SDK). Nous aurons également besoin d une machine virtuelle pour générer un téléphone Android lors du développement ou un smartphone Android. a) Formation sur Android Dans un premier temps, nous nous réservons deux semaines entières pour nous former sur Android grâce au site http://fr.openclassrooms.com/ qui propose des cours.
b) Création de croquis des différentes pages sur feuille Suite à la prise de connaissance du cahier des charges, nous avons réalisé des croquis sur papier. Ces croquis correspondront à l apparence des pages du portail de connexion, de l espace membre, de la fiche de saisie du visiteur, ainsi que la fiche récapitulative des frais. Cela nous permettra obtenir une vue d ensemble de l application. c) Importation de la base de données Pour préparer le développement de l application Android, nous avons désiré d'exporter une copie de la base de données de l aplifrais (version web) et de l importer sur notre base de données en local. Cela permettra d être isolé de l environnement extérieur et de rentrer en phase de développement. d) Conception des Vues Il nous faudra dès lors, créer les Vues dans le dossier Layout. Ces Vues sont des fichiers au format XML qui définiront l apparence de chaque page. Pour cette réalisation nous allons utiliser les croquis préalablement érigés. e) Création du contexte de l application Le contexte, quand a lui, correspond au contrôleur de l application. Il va permettre de lier des objets XML au objet java (bouton, champs de texte ).Cela permettra de créer le dialogue entre l application et son utilisateur. Nous pourrons ainsi récupérer les informations et réaliser tous les traitements nécessaires avec les données entrées ou les interactions captées par l application. f) Création du module de connexion à la base de données Je vais maintenant devoir créer le module qui nous permettra de dialoguer avec la base de données. Pour réaliser ce module de connexion, j ai dû, dans un premier temps, importer la librairie DAO (Data Access Object). L utilisation de DAO permet de s abstraire, de la façon, dont les données sont stockées au niveau des objets métier. Ce mode de stockage ne remettra donc pas en cause le reste de l application. Seules les classes techniques seront modifiées. En clair, cela permet d avoir un code plus propre et mieux organisé. Mais cela demande en contrepartie une plus grande complexité de mise en œuvre lors du développent, à partir de ce modèle.
g) Création des java beans Les composants Java beans désignent tout simplement des composants réutilisables. On les définis grâces à plusieurs autres critères. Nous allons en créer pour concevoir des objets qui intègreront tous les champs d une table de la base de données. Pour ainsi récupérer les éléments souhaités quand nous ferons appel à eux. h) Création des adapter Il faut maintenant créer des Adapter pour adapter l affichage des tableaux de frais dans la vue correspondant à la consultation des frais. «L'Adapteur ou Adapter est un moyen commode de faire fonctionner un objet avec une interface qu'il ne possède pas. L'idée est de concevoir une classe supplémentaire qui se charge d'implémenter la bonne interface (L'Adapteur) et d'appeler les méthodes correspondantes dans l'objet à utilier (L'adapté).» 6. Phase de test Les modifications de l application sont réalisées. Je dois maintenant m assurer du bon fonctionnement de ces modules, en exerçant une batterie de tests, pour déceler d éventuels bugs qui pourraient apparaître afin de les corriger. Par la suite, il me faudra vérifier la compatibilité entre les différentes versions des API qui sont censées être compatibles de l API 7 à l API 19 c est-à-dire de la version Android 2.1 à la 4.4.2. 7. Déploiement Avant de commencer le déploiement, nous allons devoir modifier les logs de connexion à la base de données pour qu il concorde avec la base qui est en ligne. Le déploiement va maintenant pouvoir débuter. Il comprend plusieurs phases. Nous devons exporter le projet en format.apk dans un premier temps. Puis le télécharger sur une interface Android afin de l installer sur la machine. Une nouvelle application devrait alors apparaitre, il ne restera plus qu a l exécuter.
Ci-dessous le diagramme de Gantt correspondant à mon premier stage.
VI. Difficultés rencontrées Le travail en groupe offre de nombreux avantage, mais demande une certaine organisation. Il faut donc définir des règles de développement pour faciliter la compréhension de son code aux divers membres du groupe. VII. Solutions adoptées Pour une meilleure organisation, nous avons décidé faire une réunion une semaine sur deux. Cela nous permet de faire un bilan sur l avancée global du projet et de partager les diverses connaissances accumulées lors du développement. De plus, nous en profitons pour mettre à jour nos versions de l application et unifier nos scriptes. Cette réunion nous permet donc de prendre du recul et de contrôler l état d avancement de l application. VIII. Réflexion, déduction, et conclusion pratique Le projet a été réalisé avec succès. La réalisation d un projet en équipe apporte énormément de confrontations et d interactions qui nourrissent personnellement chaque membre de l équipe. Cela permet à chacun de partager ses idées et ainsi optimiser les algorithmes qui construisent le scripte de l application. Ce type d échange permet donc d augmenter l efficacité du travaille à réaliser. J ai également accumulé beaucoup de connaissances en développement Android, je pense maitriser les bases de ce système. Je me sens désormais capable de réaliser des projets Android plus élaboriez. Le concept d Android m a plus, c était ma première application développée sur cette plateforme. J ai beaucoup apprécié la puissance de cet outil. Et je compte continuer à développer des petits projets personnels pour me perfectionner. J ai acquis des compétences me permettant d élaborer des stratégies de développement, qui me permettent de développer rapidement et efficacement. De plus, j ai appris à utiliser le kit de développement Android, en sachant que Android est la plateforme la plus utilisé aujourd hui sur le marché, elle est souvent mis à jour et suivi par une immense communauté. J ai également appris à étudier un cahier des charges et à utiliser des outils de gestion de projet. Cela me permet d avoir un suivi en temps réel ainsi qu une bonne répartition des tâches. La production de cette application m a donc été très instructive, elle m a permis d acquérir un très large panel de compétences en développement, ainsi qu en gestion de projet.
IX. Compétences, savoir, savoir-faire A1.1.1, Analyse du cahier des charges d'un service à produire A1.1.3, Étude des exigences liées à la qualité attendue d'un service A1.2.1, Élaboration et présentation d'un dossier de choix de solution technique A1.2.4, Détermination des tests nécessaires à la validation d'un service A1.2.5, Définition des niveaux d'habilitation associés à un service A1.3.1, Test d'intégration et d'acceptation d'un service A1.3.4, Déploiement d'un service A1.4.1, Participation à un projet A1.4.3, Gestion des ressources A2.2.1, Suivi et résolution d'incidents A2.3.1, Identification, qualification et évaluation d'un problème A2.3.2, Proposition d'amélioration d'un service A4.1.1, Proposition d'une solution applicative A4.1.2, Conception ou adaptation de l'interface utilisateur d'une solution applicative A4.1.3, Conception ou adaptation d'une base de données A4.1.4, Définition des caractéristiques d'une solution applicative A4.1.5, Prototypage de composants logiciels A4.1.6, Gestion d'environnements de développement et de test A4.1.7, Développement, utilisation ou adaptation de composants logiciels A4.1.8, Réalisation des tests nécessaires à la validation d'éléments adaptés ou développés A4.1.9, Rédaction d'une documentation technique A4.1.10, Rédaction d'une documentation d'utilisation A4.2.1, Analyse et correction d'un dysfonctionnement, d'un problème de qualité de A5.2.2, Veille technologique A5.2.3, Repérage des compléments de formation ou d'auto-formation... A5.2.4, Étude d une technologie, d'un composant, d'un outil ou d'une méthode