MINISTERE DE L’EDUCATION,
DE LA JEUNESSE ET DES SPORTS
INSTITUT DE TECHNOLOGIE DU CAMBODGE
DEPARTEMENT DE GENIE INFORMATIQ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
I
REMERCIEMENTS
Je tiens à exprimer particulièrement ma profonde gr...
Institut de Technologie du Cambodge Golden Gekko (DMI)
II
អារម្ភកថា
ការសិកានៅនេប៉ា តឺម្៉ាង់ ពត៌មានវិទ្យានិងទ្យំនាក់ទ្យំនង ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
III
ABSTRACT
Within my study in Department of Information and Commu...
Institut de Technologie du Cambodge Golden Gekko (DMI)
IV
TABLE DES MATIERES
REMERCIEMENTS ..................................
Institut de Technologie du Cambodge Golden Gekko (DMI)
V
a. Bibliothèques....................................................
Institut de Technologie du Cambodge Golden Gekko (DMI)
VI
LISTE DES ABREVIATIONS
ITC Institut de Technologie du Cambodge
G...
Institut de Technologie du Cambodge Golden Gekko (DMI)
VII
LISTE DES ILLUSTRATIONS
Figure 1.2.1. Logo de Golden Gekko et D...
Institut de Technologie du Cambodge Golden Gekko (DMI)
VIII
LISTE DES TABLEAUX
Tableau 4. Plan de projet ....................
Institut de Technologie du Cambodge Golden Gekko (DMI)
1
I. INTRODUCTION
Dans un premier temps, nous ferons état de décrir...
Institut de Technologie du Cambodge Golden Gekko (DMI)
2
b. Départements
Ella est composée de 6 départements, RH & Adminis...
Institut de Technologie du Cambodge Golden Gekko (DMI)
3
II. PRÉSENTATION DU PROJET
La deuxième partie du rapport porte su...
Institut de Technologie du Cambodge Golden Gekko (DMI)
4
2. Problématique
Les rapports du ChildSafe sont en papier qui est...
Institut de Technologie du Cambodge Golden Gekko (DMI)
5
III. ANALYSE ET TECHNIQUE
Pour réaliser cette application, il est...
Institut de Technologie du Cambodge Golden Gekko (DMI)
6
c. UML d’activités
Pour comprendre notre système, j'ai navigué en...
Institut de Technologie du Cambodge Golden Gekko (DMI)
7
IV. CONCEPTION DETAILÉE
Nous procéderons à une description détail...
Institut de Technologie du Cambodge Golden Gekko (DMI)
8
implanter tous la fonction complètement. Cette semaine délia là, ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
9
fonctionnalité.
Nous avions une rencontré tous les jours pendant ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
10
l'espace disque et la bande passante de disque. (Voir la Figure ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
11
- EventBus
EventBus est un bus d’évènement spécialement conçu po...
Institut de Technologie du Cambodge Golden Gekko (DMI)
12
Si le réseau n’est pas disponible, il va reconnecter le service
...
Institut de Technologie du Cambodge Golden Gekko (DMI)
13
g. Archive
Archive est un site que l’on peut trouver des version...
Institut de Technologie du Cambodge Golden Gekko (DMI)
14
V. IMPLEMENTATION
Dans le travail, j’ai écrit du code utilisant ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
15
2. Workflow
Moi, je suis Dev. Je suis concentré, en premier lieu...
Institut de Technologie du Cambodge Golden Gekko (DMI)
16
Le client va obtenir la dernière version qui n’a pas d’erreurs, ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
17
mais s’il est valide, il change à ‘Submit’. Quand je le change, ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
18
 Pour le quatrième problème, j’ai utilisé Retrofit. J'arrive à ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
19
Mais il n’a pas résolu le problème ‘id’. Ici, j’ai mis un id de ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
20
VI. CONCLUSIONS
Dans cette dernière section, je parlerai sur la ...
Institut de Technologie du Cambodge Golden Gekko (DMI)
21
3. Expériences
Dans le cadre de mon stage, il était très enrichi...
Institut de Technologie du Cambodge Golden Gekko (DMI)
22
ANNEXES
Platform Sprint Start Date End Date Result
Design Androi...
Institut de Technologie du Cambodge Golden Gekko (DMI)
23
Figure A.2. Les relations entre les tables d'une base de données...
Institut de Technologie du Cambodge Golden Gekko (DMI)
24
Figure A.5. Menu Figure A.6. Accueil sans rapport
Figure A.7. Ré...
Institut de Technologie du Cambodge Golden Gekko (DMI)
25
Figure A.9. La vue en détail 1 Figure A.10. La vue en détail2
Fi...
Institut de Technologie du Cambodge Golden Gekko (DMI)
26
Figure A.13. Structure de class 1 Figure A.14. Structure de clas...
Institut de Technologie du Cambodge Golden Gekko (DMI)
27
Figure A.15. Layouts d’application
Institut de Technologie du Cambodge Golden Gekko (DMI)
28
<android.support.design.widget.TextInputLayout
android:layout_wi...
Institut de Technologie du Cambodge Golden Gekko (DMI)
29
public class RestApi {
private static Api mApi;
private static f...
Institut de Technologie du Cambodge Golden Gekko (DMI)
30
private void sendReportToServer() {
mProgressDialog.show();
Rest...
Institut de Technologie du Cambodge Golden Gekko (DMI)
31
REFERENCES
- Guide à la rédaction de mémoire, Comité Scientifiqu...
Prochain SlideShare
Chargement dans…5
×

LAY_Leangsros_brouillions_finale

482 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
482
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

LAY_Leangsros_brouillions_finale

  1. 1. MINISTERE DE L’EDUCATION, DE LA JEUNESSE ET DES SPORTS INSTITUT DE TECHNOLOGIE DU CAMBODGE DEPARTEMENT DE GENIE INFORMATIQUE ET COMMUNICATION RAPPORT DE STAGE D’INGÉNIEUR DE QUATRIÈME ANNÉE Titre : ChildSafe Hotline Etudiant : LAY Leangsros Spécialité : Génie Informatique et Communication Tuteur de stage : M. HAO Jeudi Année scolaire : 2014-2015 ក្រសួងអប់រំយុវជន និងរីឡា វិទ្យាស្ថា នបច្ចេរវិទ្យារម្ពុជា ច្េប៉ា តឺម្៉ាង់ ច្ទ្យពច្ោសល្យព័ត៌មានវិទ្យា និងទ្យំនារ់ទ្យំនង របយោរណ៍ ចុុះរម្មសិរា វិសវររឆ្ន ំទ្យី៤ ក្បធានបទ្យ : រម្មវិធីសក្ម្ង់ពត៌មានរបស់រុមារ និសស ិត : ឡាយ លាងក្សស់ ឯរច្ទ្យស : ព័ត៌មានវិទ្យា និងទ្យំនារ់ទ្យំនង ក្រូទ្យទ្យួល្បនទុរ : ច្លារ ច្ៅ សឺឌី ឆ្ន ំសិរា : ២០១៤-២០១៥
  2. 2. Institut de Technologie du Cambodge Golden Gekko (DMI) I REMERCIEMENTS Je tiens à exprimer particulièrement ma profonde gratitude et reconnaissance aux personnes suivantes qui m’ont aidé à terminer le stage proposé avec grand succès au cours de mon projet de quatrième année : Son Excellence Dr. OM Romny, directeur de l’ITC pour la bonne administration de l’institut et de sa bonne coopération avec d’autres université partenaires aux niveaux local, régional et international et renforce la qualité de la formation des ingénieurs et techniciens. M. LAY Heng, chef du Département de Génie Informatiques et Communication, pour sa bonne gestion, de bons conseils et de bonnes relations avec les entreprises publiques et privées. M. KMEZIC Milan, sous-directeur, et Mme. COLEMAN Belinda, chef de RH, qui ont créé le programme de Moville, et pour leur certification du stage. M. SING Chandara, chef d’équipe Android qui m’avoir fait confiance et permis d’effectuer mon stage au sein de Golden Gekko et pour ses conseils lucides et pertinents. M. HAO Jeudi qui est mon maître de stage qui me support sur le tous le document et m’a conseillé de préparation de rapports et sa corrections qui mènent à bien ce projet M. CHEANG Polen, mon tuteur de stage qui a su m’apporter son expérience pour me guider et me conseiller tous au long du projet. Je tiens à remercier sincèrement à mes collèges avec qui je travaillais quotidiennement. Ils me m’avaient conseillé de manière à obtenir un bon résultat pendant le travail. Enfin, je tiens à remercier grandement à mes parents pour un soutien financier d’encouragement et de motivation tout au long de ma vie.
  3. 3. Institut de Technologie du Cambodge Golden Gekko (DMI) II អារម្ភកថា ការសិកានៅនេប៉ា តឺម្៉ាង់ ពត៌មានវិទ្យានិងទ្យំនាក់ទ្យំនង ខ្ញំមានការអារម្មណ៍ នៅន ើ ការអភិវឌ្ឍណ៍ ការសរនសកម្មវីធីន ើប្រព័នធប្រតិរតតិការណ៍ នអនប្េយ។ រច្ចញរបនន ទ្យូរស័ពទ ឆ្លា តវវជាផ្ននកម្ួយេ៏សំខាន់កនញងការទ្យំនាក់ទ្យំនង។ វាពិត ជាឳកាស ម្ួយេ៏ពិនសស ររស់ខ្ញំ ផ្េ បនច្ញុះកម្មសិកានៅកនញងកម្មវិធី ម្ូវញិ ររស់ ប្កុម្ហញន ហគូ េននហគកកូ។ ខ្ញំបននធវើកម្ម វិធីម្ួយ ផ្េ មានន្ម ុះថា ឆ្ល នសសវ ហតឡាញ។ ឆ្ល នសសវហតឡាញ ជាកម្មវិធីម្ួយ ររស់អងគការ ន្ហវន អញិននធើណាសសិនណា ់ ផ្េ ច្ូ រួម្យ៉ាងសកម្ម កនញងការការពារ កញមារពីការរំនោភរំពាន។ នហតញន ច្ំរងវនការរនងកើតកម្មវិធីននុះគឹនេើម្បី ផ្លា ស់រតូរពី ប្កដាស នៅជាឌ្ីជីថ នៅន ើនថរននាត។ នដាយនហតញថាឆ្ល នសសវ នប្រើប្បស់ ប្កដាស់ នេើម្បីកត់ប្ារបយការណ៍ ។ រនាទ រ់ពីពីរផ្ខនប្កាយម្កវនការនធវើកម្មសិកា កម្មវិធីអនញញ្ញា ត ឲ្យរញគគ ិក ររស់អងគការ រនងកើតរបយការណ៍ យ៉ាងងាយ។ ភាសាកំពយូរទ្យ័រផ្េ ខ្ញំ បននប្រើ បស់អំឡញងនព នធវើគំនោងននុះគឺ Java. RESUME Dans mon étude au Département de Génie Informatique et Communication, je suis intéressé par le développement d’applications Android. De nos jours, téléphone intelligents font partie intégrantes de la communication. Il était donc une grande opportunité pour moi de faire mon stage dans le programme de Moville au sein de l’entreprise de Golden Gekko. J’ai fait une application qui a été nommé ChildSafe Hotline. ChildSafe est un programme de l’organisation de Friends International, qui participe activement à la protection des enfants vulnérables. La raison principale à développer cette application est de transformer du papier au numérique sur une tablette. En effet, ChildSafe utilisait du papier pour conserver des rapports. Cette application aide l’organisation à faciliter de diriger des reports. Après deux mois de mon stage, l’application permit employées de l’organisation à créer le rapport facilement. La programmation que j’ai utilisée lors de ce projet est programmation en Java.
  4. 4. Institut de Technologie du Cambodge Golden Gekko (DMI) III ABSTRACT Within my study in Department of Information and Communication, I am interested in Android Application Development. Nowadays, Smartphone is an integration part of communication. It was a great opportunity for me to do my internship in Moville program of Golden Gekko. I have done an application which was named ChildSafe Hotline. ChildSafe is a program of Friends International organization, which participate actively to protect the vulnerable children. This application help the organization to facilitate the reports management. After two months of my internship, application allow employees to create report easily. The programming which I used in this project is Java programming.
  5. 5. Institut de Technologie du Cambodge Golden Gekko (DMI) IV TABLE DES MATIERES REMERCIEMENTS ............................................................................................................... I RESUME .................................................................................................................................II ABSTRACT........................................................................................................................... III TABLE DES MATIERES.................................................................................................... IV LISTE DES ABREVIATIONS............................................................................................ VI LISTE DES ILLUSTRATIONS.........................................................................................VII LISTE DES TABLEAUX.................................................................................................. VIII I. INTRODUCTION ............................................................................................................1 1. PRÉSENTATION DU STAGE ................................................................................................1 a. Objectif........................................................................................................................1 b. Durée...........................................................................................................................1 1. PRÉSENTATION DE GOLDEN GEKKO.................................................................................1 a. Histoire de Golden Gekko...........................................................................................1 b. Départements ..............................................................................................................2 c. Conditions de travail...................................................................................................2 d. Adresses.......................................................................................................................2 II. PRÉSENTATION DU PROJET.....................................................................................3 1. PRÉSENTATION DU PROJET ...............................................................................................3 a. Équipe de Moville........................................................................................................3 b. Gestion de projet.........................................................................................................3 2. PROBLÉMATIQUE .............................................................................................................4 3. OBJECTIF .........................................................................................................................4 III. ANALYSE ET TECHNIQUE .........................................................................................5 1. BESOINS...........................................................................................................................5 a. Matériaux ....................................................................................................................5 b. User story....................................................................................................................5 c. UML d’activités...........................................................................................................6 2. PLAN DE PROJET...............................................................................................................6 IV. CONCEPTION DETAILÉE........................................................................................7 1. MON TRAVAIL DE STAGE..................................................................................................7 2. MÉTHODE DE SCRUM.......................................................................................................8 a. Scrum...........................................................................................................................8 3. OUTILS UTILITÉS ..............................................................................................................9 4. BASE DE DONNÉES ...........................................................................................................9 5. TECHNOLOGIES..............................................................................................................10
  6. 6. Institut de Technologie du Cambodge Golden Gekko (DMI) V a. Bibliothèques.............................................................................................................10 b. API et Plugin.............................................................................................................11 6. OUTILS INTERNES...........................................................................................................12 a. Confluence.................................................................................................................12 b. JIRA...........................................................................................................................12 c. Gerrit.........................................................................................................................12 d. Web-mail ...................................................................................................................12 e. Bee Bole.....................................................................................................................12 f. Jandroid01 ................................................................................................................12 g. Archive ......................................................................................................................13 h. TestFairy ...................................................................................................................13 7. DIAGRAMME DE USE CASE ............................................................................................13 V. IMPLEMENTATION....................................................................................................14 1. PROCESSUS D’APPLICATION ...........................................................................................14 2. WORKFLOW ...................................................................................................................15 3. SOLUTION ET PROBLÈMES ..............................................................................................16 a. Problèmes..................................................................................................................16 b. Solutions....................................................................................................................17 4. ENVOIE LA FORME..........................................................................................................19 VI. CONCLUSIONS .........................................................................................................20 1. RÉSUMÉ DE PROJET ........................................................................................................20 a. Réalisation du projet.................................................................................................20 b. Point fort ...................................................................................................................20 c. Point faible................................................................................................................20 2. DIFFICULTÉS ..................................................................................................................20 3. EXPÉRIENCES.................................................................................................................21 4. PERSPECTIVE .................................................................................................................21 5. CONCLUSIONS................................................................................................................21 ANNEXES ..............................................................................................................................22 REFERENCES.......................................................................................................................31
  7. 7. Institut de Technologie du Cambodge Golden Gekko (DMI) VI LISTE DES ABREVIATIONS ITC Institut de Technologie du Cambodge GIC Génie Informatique et Communication DMI Digital Management, Inc. UI User Interface UX User experience JSON JavaScript Object Notation XML Extensible Markup Language SDK Software Development Kit BE Back end BO Back office PM Project Manager QA Quality Assurance Dev Developer API Application Program Interface
  8. 8. Institut de Technologie du Cambodge Golden Gekko (DMI) VII LISTE DES ILLUSTRATIONS Figure 1.2.1. Logo de Golden Gekko et DMI............................................................................1 Figure 2.1.2. Organigramme de l’équipe...................................................................................3 Figure 2.2. Logo de programme de ChildSafe...........................................................................4 Figure 3.1.3. Diagrammes d'activités.........................................................................................6 Figure 4.1.1. Méthodologie Scrum ............................................................................................8 Figure 4.4.1. Bibliothèques utilisées........................................................................................10 Figure 4.4.2. Fonctionement d’EventBus ................................................................................11 Figure 4.6. Diagramme de Use Case .......................................................................................13 Figure 5.1. Processus d’application .........................................................................................14 Figure 5.1.1. Cycle de code .....................................................................................................15 Figure 5.2.1. Interface de page ChildSafe (Page 4ème ).............................................................16 Figure A.4. Page: Child Safe ...................................................................................................23 Figure A.3. Page: Case Report.................................................................................................23 Figure A.2. Les relations entre les tables d'une base de données ............................................23 Figure A.6. Accueil sans rapport .............................................................................................24 Figure A.5. Menu.....................................................................................................................24 Figure A.8. Message de pas internet........................................................................................24 Figure A.7. Résultat de recherche............................................................................................24 Figure A.12. La vue en détail 4................................................................................................25 Figure A.11. La vue en détail 3................................................................................................25 Figure A.10. La vue en détail2.................................................................................................25 Figure A.9. La vue en détail 1..................................................................................................25 Figure A.14. Structure de class 2.............................................................................................26 Figure A.13. Structure de class 1.............................................................................................26 Figure A.15. Layouts d’application .........................................................................................27 Figure A.16. Entré de Matériaux Design.................................................................................28 Figure A.17. Class : RestApi.java............................................................................................29 Figure A.18. Class: FIMovilleApplication.java.......................................................................29 Figure A.19. Méthode soumettre de class FormReportActicity.java.......................................30
  9. 9. Institut de Technologie du Cambodge Golden Gekko (DMI) VIII LISTE DES TABLEAUX Tableau 4. Plan de projet ...........................................................................................................7 Tableau A.1. Planification de sprints.......................................................................................22
  10. 10. Institut de Technologie du Cambodge Golden Gekko (DMI) 1 I. INTRODUCTION Dans un premier temps, nous ferons état de décrire sur l’information générale du stage qui pour objectif et la durée. Dans l’étape suivante nous présenterons de l’entreprise. 1. Présentation du stage a. Objectif L’objectif du stage est de permettre aux étudiants à appliquer ce qu’ils ont appris dans la class et aussi à s’adapter à la vie professionnelle dans un établissement public, une entreprise ou organisation. À la fin du stage, nous devons faire un rapport de notre projet. b. Durée La durée du stage proposé est au moins de deux mois. Pour moi, il faisait deux mois et 10 jours. Mon stage a été effectué du 20 Juillet jusqu’à 30 Septembre 2015. 1. Présentation de Golden Gekko a. Histoire de Golden Gekko Golden Gekko (DMI) a été créée en 2005. Elle est une l’entreprise internationale. Avec une globale présence et plus de 220 mobiles experts, elle a développé des cents d’Applications pour plus de 200 industries and entreprises connu. Tous les solutions sont commercial qui s’est concentrées sur UX/UI design, user testing et qualité de service. Golden Gekko est seulement un fournisseur de solution mobile dans le monde qui a obtenu ‘Trusted Developer Status’ de AQuA. Pour instant elle a coopéré avec DMI, entreprises de secteurs Technologie de Mobile. Figure 1.2.1. Logo de Golden Gekko et DMI
  11. 11. Institut de Technologie du Cambodge Golden Gekko (DMI) 2 b. Départements Ella est composée de 6 départements, RH & Administration, Qualité de service, Opérations IT, UI/UX design, S.A & Développement, Chef de Projet & Équipe. c. Conditions de travail - L’horaire de travail est : Lundi à Vendredi : 9h00 à 18h00 - Divertissements  Billard : Tous les temps libres.  Beer O’clock : Tous les Vendredi de 17h :00 à 18h :00  Bar O’clock : Tous les Vendredi à partir de 18h :00 à 18h :00 d. Adresses L’entreprise se trouve en quatre pays. Pour avoir aperçu de les travails et enter en contact avec nous, vous pouvez consulter la location au suivant. LONDON Golden Gekko Ltd. 2ème étage , rue 2 Sheraton London W1F 8BH Info: +44 20 8816 7285 NEW YORK 25 Broadway 9ème étage, 1004 New York BARCELONA Calle Bruc 49, Principal 08009 Barcelona +34 93 001 3261 PHNOM PENH Rue 106 House, 14 Phnom Penh Tel : 023 986 556
  12. 12. Institut de Technologie du Cambodge Golden Gekko (DMI) 3 II. PRÉSENTATION DU PROJET La deuxième partie du rapport porte sur présentation du projet, alors que problématiques en constitue la deuxième partie. La troisième partie contient objectif. 1. Présentation du projet a. Équipe de Moville Moville vient de mots Mobile et Village. Elle est un programme pour des étudiants qui viennent des universités, qui ont besoin de faire du stage. Elle est composée de 7 personnes Ce programme faisait trios mois. Le programme donne une opportunité aux étudiants à apprendre et appliquer sa connaissance à un projet proposé par l’entreprise. Ce programme marche tous les années, une fois par année. Nous somme la deuxième promotion de Moville. b. Gestion de projet Structurer et piloter un projet, c’est maximiser nos chances de succès. La gestion de projet est une démarche visant à organiser de bout en bout le bon déroulement d’un projet. C'est tout l'opérationnel et le tactique qui fait qu'un projet aboutit dans son triangle qualité-coût-délais (QCD). Voici le schéma de l’organisation des tâches avec nombre de personne qui travaillent dans chaque tâche : Figure 2.1.2. Organigramme de l’équipe Puis on planifie ces tâches à des personnes. Avec une date de début et une durée maximale. (Voir la planification avec date fixé : Tableau A.1. Planification de sprints) PM 1 pers Designer 1 pers BO & BE 1 pers Android Dev 1 pers iOS Dev 1 pers QA 2 pers
  13. 13. Institut de Technologie du Cambodge Golden Gekko (DMI) 4 2. Problématique Les rapports du ChildSafe sont en papier qui est difficile à diriger. La gestion de de rapports est une problématique très sensible. La difficulté de compte es rapports, voir le rapport en détail, voir le nombre de personnes qui sont consonants dans le rapport. Ce sont un soucie qui fait l’organisation faire face à problème perd les rapports, le temps, etc. Figure 2.2. Logo de programme de ChildSafe 3. Objectif L’objective principale était de réaliser une application sur une tablette permettant de créer des rapports et de pouvoir les envoyer au server. Chef d’administration au côté serveur peut voir détail des rapports envoyées.
  14. 14. Institut de Technologie du Cambodge Golden Gekko (DMI) 5 III. ANALYSE ET TECHNIQUE Pour réaliser cette application, il est nécessaire d’analyser sur les besoin et processus d’application. Avant de commencer le développement d’application, une étude sur laquelle a été faite. Cela a permis de profiter le temps et éviter de faire des choses inconnues. Ainsi, 1. Besoins a. Matériaux Le développement se concentre sur une seule tablette. La tablette dont nous avons besoin est : - Tablette :Samsung Galaxy Tab A 8.0 - OS : plate-forme Android avec version plus de 4.0 Android est un système d'exploitation basé sur le noyau Linux. Le projet pour le développement du système Android est appelé Android Open Source Project (AOSP) et est géré principalement par Google. b. User story Dans cette partie, on décrit les user stories. Voici Le User Story : - En tant qu'utilisateur, je peux créer un rapport. - En tant qu'utilisateur, je peux sauvegarder un rapport. - En tant qu'utilisateur, je peux modifier un rapport. - En tant qu'utilisateur, je peux supprimer un rapport. - En tant qu'utilisateur, je peux envoyer un rapport au server. - En tant qu'utilisateur, je peux voir la liste de rapports envoyés. - En tant qu'utilisateur, je peux voir la liste de rapports sauvegardés. - En tant qu'utilisateur, je peux chercher un rapport. - En tant qu'utilisateur, je peux voir le détail d'un rapport et le modifier.
  15. 15. Institut de Technologie du Cambodge Golden Gekko (DMI) 6 c. UML d’activités Pour comprendre notre système, j'ai navigué en utilisant les diagrammes d'activité. Certaines activités sont grandes et complexes. Les diagrammes sont présentés avec des illustrations en face. Le schéma suivant est un diagramme d'activité de l'administrateur. Avec ce système, nous pouvons savoir ce que nous devrions faire dans chaque activité. 2. Plan de projet Le projet a duré 2 mois. Il a y deux sprints. Le sprint est une itération ou boite de temps de 2 à 4 semaines au sein de laquelle l’équipe de développement va concevoir, développer et tester un ensemble de fonctionnalités du produit à réaliser. Dans ce projet, chaque sprint a duré de 2 à 3 semaines. Le suivant Le precident liste de rapports Brouillons Page 1 Page n+1 Page 4 Page 7 Page n+5 Ajouter Soumettre Validé Non Validé Réussi Echoueé Figure 3.1.3. Diagrammes d'activités
  16. 16. Institut de Technologie du Cambodge Golden Gekko (DMI) 7 IV. CONCEPTION DETAILÉE Nous procéderons à une description détaillée des principales approches des outils utilisés avec une définition du concept de chaque outil. Nous apporterons d’abord des précisions sur la méthode de Scrum. Dans l’étape suivante, nous présenterons des outils utilisés. Puis base de donné, technologies, outils internes, et la dernière le diagramme activité de UML. 1. Mon travail de stage Mon travail porte sur toute l’interface et le processus d’application. Je n’ai pas besoin de designer l’interface par moi-même. Donc j’ai gagné un peu de temps à d’autre travail. Semaines Sprint 1 Sprint 2 Délai Acceptation de Client Fin de projet Tâches 1 2 3 4 5 6 7 8 9 10 Analyser et créer base de donné Implémenter interface Implémenter validation Envoyer rapport Fixer des erreurs Modifier le code Rechercher sur nouvelles technologies Tableau 4. Plan de projet Dans un premier temps, il est le sprint 1. J’ai étudié la besoin de l’interface dont il a besoin. Dans cette première semaine je trouver quelques bibliothèques qui correspondent à l’interface de conception de Matériel Design. Cette semaine j’ai créé la base de données. Pendant la deuxième et troisième semaine j’ai implémenté interface. J’ai fini mon tâche de crée interface dans le Sprint 1. Dans le sprint 2, j’ai implémenté les pages validations. Donc ce sprint, il est plus difficile tâche de projet. Mon projet a été délai une semaine à cause de temps est très court pour à
  17. 17. Institut de Technologie du Cambodge Golden Gekko (DMI) 8 implanter tous la fonction complètement. Cette semaine délia là, j’ai fini la fonction d’envoyer un rapport au server. Puis. Pour la durée de l’acceptation de client. J’ai continué à fixer des erreurs. Puis j’ai une autre semaine à réviser et changer certaines de fonction dans le code pour faire bien sa performance et obtenir un code de bonne qualité. 2. Méthode de Scrum a. Scrum Scrum est une méthode agile de gestion de projets. Elle est spécialement adaptée aux projets informatiques, notamment en génie logiciel, avec trois fondements principaux : transparence vis-à-vis du client, inspection et adaptation continuelle. L'idée principale de Scrum est qu'il n'est pas toujours intéressant de suivre un processus prédictif figé pour gérer un projet : les besoins et les tâches qui en découlent sont ajustés régulièrement pendant le déroulement du projet. Scrum est donc une méthode adaptative, qui tient son inspiration de la théorie de contrôle empirique des processus. Figure 4.1.1. Méthodologie Scrum Scrum dans la méthode agile ce sont 4 valeurs fondamentales: l’équipe, l’application, la collaboration, l’acceptation du changement. En appliquant ce principe, on assiste généralement à un gain de productivité par rapport à une approche traditionnelle, puisqu’on ne perd pas un temps considérable en rédaction, validation puis mises à jour de spécifications détaillées. Il est sans doute bon de préciser également que l’on ne néglige pas la conception du produit pour autant. La conception fait partie des tâches sous-jacentes à la réalisation d’une
  18. 18. Institut de Technologie du Cambodge Golden Gekko (DMI) 9 fonctionnalité. Nous avions une rencontré tous les jours pendant de 15 à 30 minutes. La rencontré était normalement de 11h 30 à 12h : 00. Nous avons parlé de ce que nous avions fini, et de quelle problème que nous étions en face, et de ce que nous ferions. 3. Outils utilités - Ubuntu - MySQL Workbench - Android Studio - Cola - Meld Linux en particulier la version Ubuntu est simple d'utilisation, plus rapide et plus sécurisé que Windows. Il est disponible gratuitement et librement. Pour la conception de base de données j’ai choisi MySQL Workbench. J’ai utilisé cet outil pour construire les relations des tables de base de donné. Android Studio exploite les capacités intelligentes d’édition de code de IntelliJ IDEA, comme le refactoring et l’analyse de code. Cet IDE vous permet également d’éditer et de pré-visualiser vos mises Android à travers plusieurs tailles d’écran, différents langages et même des versions différentes de l’API Android. Vous pourrez également facilement utiliser Google Cloud Backends, Endpoints et Google Cloud Messaging. Cola est utilisé pour faciliter à commettre le code au Gerrit. Après on a modifié le code, puis on pouvait commettre en utilisant cet outil. Meld est un petit outil de comparaison et de fusion bien sympathique. Une fois l’importation effective vous pouvez constater que les différences sont immédiatement visibles et indiquées en rouge. On peut très bien voir que le fichier de gauche contient des lignes qui ne sont pas présentes dans le fichier de droite. 4. Base de données J’ai choisi SQLite pour stocker des informations. SQLite est un système de gestion de bases de données relationnelles. SQLite utilise efficacement la mémoire,
  19. 19. Institut de Technologie du Cambodge Golden Gekko (DMI) 10 l'espace disque et la bande passante de disque. (Voir la Figure A.2. Les relations des tables de base de données pour en savoir) 5. Technologies a. Bibliothèques Dans ce part je parle des bibliothèques utilisées dans ce développement. Je pense l’utilisation de ces bibliothèques est efficace. dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:22.2.1' compile 'com.android.support:design:22.2.1' compile 'com.github.ganfra:material-spinner:1.1.0' compile 'com.android.support:recyclerview-v7:22.2.0' compile 'de.greenrobot:eventbus:2.4.0' compile 'com.android.support:cardview-v7:22.0.+' compile 'com.squareup.retrofit:retrofit:1.9.0' compile 'com.jakewharton:butterknife:7.0.1' ////Securirty compile 'com.dmi.security:security:1.2@aar' } Figure 4.4.1. Bibliothèques utilisées - Butter Knife Butter Knife est une bibliothèque d’injection de vues. Elle repose sur le principe d’annotation processing afin de générer du code boiler plate pour vous. Fini les findViewById et les inner-classes pour les listeners ! De plus le code généré est facilement debuggable. Pour injecter une vue, il suffit d’utiliser l’annotation @Bind: @Bind(R.id.name) AutoCompleteTextView mName; @Bind(R.id.age) EditText mAge;
  20. 20. Institut de Technologie du Cambodge Golden Gekko (DMI) 11 - EventBus EventBus est un bus d’évènement spécialement conçu pour Android. Il facilite le découplage entre les composants d’une application par l’utilisation de messages au lieu des "classiques" callbacks. Il est possible de choisir si l’on souhaite traiter le message sur le thread UI ou sur un thread de background. Figure 4.4.2. Fonctionement d’EventBus - Retrofit Retrofit permet de transformer une API REST en une interface Java puis de la consommer. Les annotations permettent de manipuler la requête :  définir le type de la requête (GET, POST, PUT, DELETE and HEAD),  manipuler l’URL (Path, Query, QueryMap),  définir le corps (Body),  de construire une requête avec les paramètres encodés ou multi-part,  de gérer les en-têtes (Headers). b. API et Plugin - TestFairy J’ai utilisé ce plugin pour mettre application déployé de jandroid01 au service TestFairy. Je décrirai un peu détaillé à partie des outils internes. J’ai ajouté ce plugin dans le root de build.gradle classpath 'com.goldengekko.gradle:testfairy-plugin:1.0.0.0' - Sécurité Il fait l'ouverture de session et engendrer l’access token par soi- même pendant envoyer la forme au server avec le nom d’utilisateur et mots de passe donné.
  21. 21. Institut de Technologie du Cambodge Golden Gekko (DMI) 12 Si le réseau n’est pas disponible, il va reconnecter le service automatiquement. Il garante que la forme peux être envoyé au server. J’ai ajouté ce plugin dans le build.gradle d’application compile 'com.dmi.security:security:1.2@aar' 6. Outils internes a. Confluence Confluence est l'endroit où vous créez, organisez et parlez de travail avec votre équipe. Il s’agit d'un lieu central où vous pouvez travailler ensemble sur les projets qui sont en cours. Il donne les informations des tous les projets de l’entreprise. En plus, dans laquelle on peut trouver le Profile de tous les employées. Les informations que l’on peut trouver peuvent être l’histoire d’apprentissage, courriel, numéro de téléphone de chaque employée, etc. b. JIRA JIRA est un système de suivi de bugs, un système de gestion des incidents, et un système de gestion de projets. c. Gerrit Gerrit est une application Web gratuite de revue de code pour le travail en équipe. Chacun peut y lire, approuver ou rejeter les modifications d'un code source via un navigateur web. Il s'utilise avec Git qui s'occupe de poster ces changements de code. d. Web-mail Tout le personnel doit avoir sa propre adresse mail pour envoyer et recevoir des courriels. Cet email est créé par l'entreprise. Vous pouvez vous identifier aux systèmes cités ci-dessus comme JIRA, Confluence, Gerrit etc. e. Bee Bole Bee-Bole est un système qui est utilisé pour enregistrer le temps de travail chaque semaine. f. Jandroid01 Jandroid01 est un système de Jenkins qui est utilisé pour vérifier si le code engagé est succès déployé. On l’utilise pour déployer une nouvelle version de l’application Android aux QA ou clients.
  22. 22. Institut de Technologie du Cambodge Golden Gekko (DMI) 13 g. Archive Archive est un site que l’on peut trouver des versions de application à déverminer. Toutes les versions ont été stockées dans le répertoire de ce site. h. TestFairy TestFairy est une puissante plate-forme d’application de test qui aide les développeurs mobiles à distribuer leurs applications à tester et fournit des vidéos qui montrent exactement ce qui s'est passé côté client pendant le test. 7. Diagramme de Use Case Un diagramme de cas d'utilisation est une représentation graphique des interactions entre les éléments d'un système. Un cas d'utilisation est une méthode utilisée pour l'analyse du système à identifier, clarifier et organiser les exigences du système. Dans ce contexte, le terme ‘système’se réfère à quelque chose qui est développé ou utilisé. Utilisation des diagrammes de cas sont employés dans UM, une notation standard pour la modélisation d'objets et de systèmes du monde réel. Dans ce schéma, il y a un seul acteur est un utilisateur normal. En bref, l'utilisation diagramme de cas montrent l'interaction entre l'acteur qui nous avons appelé l'utilisateur normal et le système que nous avons appelé l'application. Nous allons voir les besoins de ChildSafe Hotline ci-dessous des cas d'utilisation. Utilisateur Créer un rapport Sauvegarder Envoyer Voir les listes Voir détail Modifier Chercher Envoyer Supprimer Figure 4.6. Diagramme de Use Case
  23. 23. Institut de Technologie du Cambodge Golden Gekko (DMI) 14 V. IMPLEMENTATION Dans le travail, j’ai écrit du code utilisant le langage JAVA. Dans ce qui suit, je montrai une partie de mon code JAVA en partie de solution aux problèmes. Cette parie s’occupe du parcourt un processus après son changement et crée l’objet de Hotline pour former le objet de JSON. Je commence par processus d’application. 1. Processus d’application Figure 5.1. Processus d’application Comme le montre la figure 5.1, quand on crée un rapport sur un phone ou tablette. Puis on peut l’envoyer au server. Au server nous utilisons Google App Engine, elle est sécurité, on va décrire un peu détail dans le partie solution. Ici on propose que le server réponse le ‘id’ à client. Client utilise cet ‘id’ pour créer un nouvelle rapport dans la base de donné. Ensuit on peut utiliser l’ordinateur pour voir des rapports. Pour accéder ce site, on a besoin entrer le nom d’utilisateur et les mots de passe. La raison que le ‘id’ de rapport devrait être créé par le server c’est pour le but de permettre des plusieurs utilisateurs d’obtenir le ‘id’différent pour ses rapports. Il évitait la même ‘id’ pour des différents rapports. Il pourrait être en format : CSH00001, CSH00002 … . Tous les opérations d’envoi, il incrémentait le ‘id’ avec la valeur 1.
  24. 24. Institut de Technologie du Cambodge Golden Gekko (DMI) 15 2. Workflow Moi, je suis Dev. Je suis concentré, en premier lieu, l’écrit le code et fixe des erreurs. Après j’ai fini une fonction ou fixé un problème, je commis le code au Gerrit. Ensuite, j’ai commencé à faire une autre fonction. Dans cette situation j’attends mon code vérifié par mon maître de stage. Apres sa vérification et le code est fusionné, je peux tirer ce code au mon local de ordinateur. Si le code n’est pas vérifié par lui à cause de mauvais implémenté. Je dois corriger ou refaire cette fonction, puis je décommis ce code. Je peux accéder le Jandroid01 dans lequel je peux déployer une nouvelle version de ChildSafe Hotline. Après déploiement, les applications seront mis au TestFairy et un autre `a Archive dans laquelle QA peuvent accéder pour installer cette application dans tablette pour tester. Alor de test, si QA trouvait un problème, il créait le ticket d’issue qui est assigné à moi dans le système de JIRA. Le ticket qui est le major, sa priorité est haute, il doit être mis à première ligne. Alors, ce que je dois faire maintenant c’est que je fixe ces erreurs, puis je ferme ce ticket d’issue. Après quelques modifications, je déploie une nouvelle version pour QA de continuer ce test. Figure 5.1.1. Cycle de code Commettre Non fusionné Archive Debug.apk App.apk Déployer Git Jandroid01 Confluence Jira TestFair y Coder & Fixer des erreurs Gerrit fusionné Créer anoncé note Verifier Créer erreurs notes AssignerRésoudre Dev Production Déployer QA Vérifieur Clients
  25. 25. Institut de Technologie du Cambodge Golden Gekko (DMI) 16 Le client va obtenir la dernière version qui n’a pas d’erreurs, sur tout il n’y a pas de crash. La nouvelle version déployée est mis à TestFairy qui nom avec ChildSafe- 1.0.0.16-debug.apk. Une autre est mis en Archive avec le nom ChildSafe-1.0.0.16- release. 3. Solution et problèmes a. Problèmes Je suis confronté à quatre grands problèmes que je n'arrive pas à résoudre seul.  Page Indicateur  Action de Boutons ‘Next’  formate JSON  Envoie au server Figure 5.2.1. Interface de page ChildSafe (Page 4ème)  Le premier est que la forme comporte sept pages. Par conséquent, il était difficile à contrôler l’objet de chaque page. La forme a besoin d’être validé avec couleur blanche s’il est valide et rouge s’il est invalide. Quand le ‘Further action required’ check box est choisi ‘No’ la page indicateur vient floue avec l’opacité de 20%.  Ensuite, Le bouton ‘Next’ change le texte à ‘Save Draft’ si la forme est invalide,
  26. 26. Institut de Technologie du Cambodge Golden Gekko (DMI) 17 mais s’il est valide, il change à ‘Submit’. Quand je le change, l’opération de bouton change également à sauvegarder au brouillions ou soumettre au server.  Le troisième problème, c’est que la formate de JSON. Comme il y a sept pages, chaque page a différence objet. Je dois organiser le formate de objet qui correspondance à la besoin de Back-end. La difficulté est que je dois mettre le numéro identifié (id) de chaque objet dans son ordre. Ici, le numéro identifié de mon Android est différent du numéro identifié de Back-end.  Dernier c’est que l’envoie au server. A cause de formate de JSON, access token, au server il a fait un problème pendant l’envoie le forme au server. A Back-end, il est sécurité, il a besoin de nom d’utilisateur et mots de passe pour accéder le lien à envoyer. Il a deux opérations possibilités, ce sont de créer nouveau rapport et modifier vieux rapport. b. Solutions  Pour la solution au premier problème, j’ai utilisé CirclePagerIndicator qui est implémenté View dans le class. Dans ce class, on a utilisé Paint pour peinture la cercle de page indicateur.  Le deuxième problème j’ai utilisé bibliothèque de l’EventBus. Quand utilisateur clique sur le bouton ‘Submit’, puis dans chaque fragment, j’ai un methode onLeavePage qui est implémenté de l’interface PreviousNextFragmentCallback. J’ai appelé cette méthode pour poster tous les objets de chaque Fragment au FormReportActivity. FramentCaseReport.java , il est comme Publisher public void onLeavePager() { setValues(); EventBus.getDefault().post(mCaseReport); } Concernant la méthode ‘onEvent’, son rôle est de obtenir l’objet quand un objet est poster d’autre class. FormReportActivity.java, Il est comme Subsriber public void onEvent(CaseReport caseReport) { mCaseReport = caseReport; }
  27. 27. Institut de Technologie du Cambodge Golden Gekko (DMI) 18  Pour le quatrième problème, j’ai utilisé Retrofit. J'arrive à envoie un message depuis le Service à l'activity en utilisant Event Bus. Builder de l'Adapter qui se trouve dans l’Application est déjà initialisée tant que l’application commence avec la méthode static. Donc, quand on veut envoyer un rapport, on n’a pas besoin d’enregistrer encore une fois. restApi.submit(hotline, isUpdatingReport, new Callback<String>() { @Override public void success(String caseNumber, Response response) { //Réussi } @Override public void failure(RetrofitError error) { //Echoué } }); (Pour en savoir plus voir Figure A.19. Méthode soumettre de class FormReportActicity.java à page 31 de partie annexes)  Lorsque le service rencontre une erreur HTTP, il en informe immédiatement l'activity qu'une erreur s'est produite et puis sauvegarder le rapport dans la liste de brouillions. Dans le cas, le rapport n’a pas de ‘id’, il enverra en utilisant méthode de submit. S’il réussit, il donne une réponse en string dont il est ‘id’ de rapport. Maintenant je sauvegarde ce rapport avec ce ‘id’ dans la base de donné puis réaliser le liste. C'est envoyer un rapport au service depuis l'activity. Dans le cas, un rapport a un ‘id’, il enverra en utilisant méthode de update, afin de mettre, j’ai réalisé le liste de rapports.  Le dernier problème, j’ai résolu en créant un objet. En utilisant Retrofit, ce problème est résolu, public class Hotline { private Caller caller; private Beneficiary beneficiary; @SerializedName("childSafe") private ChildSafe childSafes; private List<FollowUp> followUps; private List<Referral> referrals; private CaseReport caseReport; // Setter et Getter }
  28. 28. Institut de Technologie du Cambodge Golden Gekko (DMI) 19 Mais il n’a pas résolu le problème ‘id’. Ici, j’ai mis un id de server dans le base de donné. Puis je peux obtenir cet id et mettre dans l’objet avant d’envoyer au server. public final static String strCaseType[][] = { {"12", "Child separated from family"}, {"13", "Accident"}, . . . {"37", "Other"}}; } 4. Envoie la forme Dans cette application, il y a deux méthode possible à accéder le server, POST et PUT. J’ai utilisé la méthode POST tant que utilisateur envoyait un nouveau rapport. Dans le cas, utilisateur envoyait le rapport modifié, j’ai utilisé la méthode PUT. Pour chaque méthode, il utilisait le même lien. public interface Api { @POST("/api/caseReports/v1") public void submit(@Body Hotline hotline, Callback<String> callback); @PUT("/api/caseReports/v1") public void update(@Body Hotline hotline, Callback<String> callback); } Quand on envoie un rapport, Retrofit reliait le lien de POST avec le domaine de site internet https://friends-intl-hotline-kh-stage.appspot.com. Alor il vient : - pour utilisation officiel : https://friends-intl-hotline-kh-stage.appspot.com/api/caseReports/v1 - pour le test : https://friends-intl-hotline-kh-test.appspot.com/api/caseReports/v1 Le paramètre ‘Callback<String>’, après l’envoie on obtenait la réponse de server. Cette réponse est le résultat si l’envoie est réussite ou échoué. Le réponse de server est un ‘id’ pour un rapport.
  29. 29. Institut de Technologie du Cambodge Golden Gekko (DMI) 20 VI. CONCLUSIONS Dans cette dernière section, je parlerai sur la conclusion de projet. La première partie je parlerai de réalisation du projet. Je parlerai également des expériences que j’ai obtenues pendant le stage. 1. Résumé de projet a. Réalisation du projet Toutes les tâches de projet, j’ai complètement fini avec bon résultat. Après la PM, le projet est satisfait le client. Actuellement, interface suivi le designer est 95% le même couleur et dimensions. En s’agissant de processus de chaque tâche, il a été complétement fini 100% qui ont correspondues à la planification de projet et le besoin de client. b. Point fort L’application est facile à utiliser grâce à son interface graphique bien organisé. La performance en ce qui concerne la vitesse de création et mettre le donné dans la forme de rapport sont bien rapide. Il s’agit de recherche des rapports est aussi vite, le résultat montré pendant l’utilisateur entre le mot clé est également marche bien. Bien qu’il a y a plusieurs cents des rapports cette fonction marche toujours bien car il a le temps délai pendant la performance. c. Point faible Comme cette application se concentre sur une unique tablette. Donc, l’interface d’application peut être mauvaise vue dans autres téléphones intelligents. C’est-à-dire qu’il marche bien sur un seul type de tablette. 2. Difficultés Tous s’est très bien déroulé, sans encombre. Maître de mon stage a ouvert à toutes discussions. J’ai apprécié son disponibilité qui toujours prête à répondre à mes interrogations. Mais il y avait une difficulté, c’est que la planification du projet est trop courte, comme je n’ai pas expérience à faire le réel projet, il a été un peu grand pour moi à finir ce projet selon la date limité. En conséquent, Je n’ai pas pu finir le projet sans délai. J’ai demandé la PM pour une semaine délai. En fin, elle a accordé ma demande. Une autre difficulté était les changements besoins de clients. Quand il les changeait je devais change également l’interface et le code. C’était une raison de délai.
  30. 30. Institut de Technologie du Cambodge Golden Gekko (DMI) 21 3. Expériences Dans le cadre de mon stage, il était très enrichissant car j’ai pu découvrir le monde de l’innovation de manière professionnelle. Cela m’a permis de découvrir un nombre impressionnant dans le secteur de la mobile technologie. Le travail est complètement différent de l’apprentissage. Pendant le stage, j’ai appris de geston de travail en équipe. En plus, j’ai également appris le mode de travaille. Ce stage m’a aussi permis de comprendre le fonctionnement du monde des entreprises internationales : leur politique, leurs rouages et estimer les problèmes liés au commerce extérieur. En plus, je sais comment faire le rapport du stage. Il a été en tous points bénéfiques pour moi. 4. Perspective Ce projet était en phase 1. Je crois qu’il a été achevé assez bien. Mais on attend encore de client pour sa réponse s’il veut continuer à phase 2. Dans la phase 2, il y aura des nouvelles fonctions. Les fonctions seraient pu ajouter dans ce phase 2 peuvent être : - Utilisateur peut capturer les photos et les mettre dans le rapport. - Utilisateur peut enregistrer le son pendent la mission est en course. - Utilisateur peut synchroniser des rapports entre tablette et server. - Application sera disponible sur tous les téléphones intelligents d’Android. 5. Conclusions Ainsi, j’ai effectué mon stage de fin année à l’entreprise Golden Gekko au sein de la grande entreprise DMI (Digital Management, Inc.). Lors de ce stage de 10 semaines, j’ai pu mettre en pratique mes connaissances théoriques acquises durant ma formation, de plus je me suis confronté aux difficultés réelles du monde du travail et la vie professionnelle. Après ma rapide intégration dans l’équipe, j’ai eu l’occasion de réaliser plusieurs tâches qui ont constitué une mission de stage. Je pense que cette expérience à l’entreprise m’a offert une bonne préparation a mon insertion professionnel car elle fut pour moi une expérience enrichissante et complète qui confort mon désir d’exercer mon futur métier de développer dans le domaine de mobile technologie.
  31. 31. Institut de Technologie du Cambodge Golden Gekko (DMI) 22 ANNEXES Platform Sprint Start Date End Date Result Design Android 1 22 Jul 4 Aug Done Design Android 2 5 Aug 18 Aug Done Design Android 3 19 Aug 25 Aug Done Design Android 1 22 Jul 4 Aug Done Design Android 2 5 Aug 18 Aug Done Design Android 3 19 Aug 25 Aug Done Design B.O 1 5 Aug 18 Aug Done B.E 1 22 Jul 6 Aug Done B.O 1 18 Aug 25 Aug Done Android 1 29 Jul 13 Aug Done QA 1 14 Aug 18 Aug Done Client Review 1 19 Aug 20 Aug Done Android feature Complete 2 19 Aug 7 Sep Done Tableau A.1. Planification de sprints
  32. 32. Institut de Technologie du Cambodge Golden Gekko (DMI) 23 Figure A.2. Les relations entre les tables d'une base de données Figure A.3. Page: Case Report Figure A.4. Page: Child Safe
  33. 33. Institut de Technologie du Cambodge Golden Gekko (DMI) 24 Figure A.5. Menu Figure A.6. Accueil sans rapport Figure A.7. Résultat de recherche Figure A.8. Message de pas internet
  34. 34. Institut de Technologie du Cambodge Golden Gekko (DMI) 25 Figure A.9. La vue en détail 1 Figure A.10. La vue en détail2 Figure A.11. La vue en détail 3 Figure A.12. La vue en détail 4
  35. 35. Institut de Technologie du Cambodge Golden Gekko (DMI) 26 Figure A.13. Structure de class 1 Figure A.14. Structure de class 2
  36. 36. Institut de Technologie du Cambodge Golden Gekko (DMI) 27 Figure A.15. Layouts d’application
  37. 37. Institut de Technologie du Cambodge Golden Gekko (DMI) 28 <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/dateRequired" style="@style/Widget.AppCompat.Spinner.Underlined" android:layout_width="match_parent" android:layout_height="wrap_content" android:focusable="false" android:hint="Date" /> </android.support.design.widget.TextInputLayout> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/performedBy" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/case_manager" android:singleLine="true" /> </android.support.design.widget.TextInputLayout> Figure A.16. Entré de Matériaux Design
  38. 38. Institut de Technologie du Cambodge Golden Gekko (DMI) 29 public class RestApi { private static Api mApi; private static final String PASSWORD = "**********"; private static final String USERNAME = "**********"; public RestApi() { } public static void initialize(Context context) { if (mApi == null) { final String serverUrl = context.getString(R.string.server_url); final SecurityOkClient client = new SecurityOkClient(context, serverUrl, USERNAME, PASSWORD); final SecurityRestAdapterBuilder builder = new SecurityRestAdapterBuilder(client); builder.setEndpoint(serverUrl); RestAdapter restAdapter = builder.build(); restAdapter.setLogLevel(RestAdapter.LogLevel.FULL); mApi = restAdapter.create(Api.class); } } public void submit(Hotline hotline, boolean isUpdate, Callback<String> callback) { if (isUpdate) { mApi.update(hotline, callback); } else { mApi.submit(hotline, callback); } } } Figure A.17. Class : RestApi.java public class FIMovilleApplication extends Application { @Override public void onCreate() { super.onCreate(); RestApi.initialize(getApplicationContext()); } } Figure A.18. Class: FIMovilleApplication.java
  39. 39. Institut de Technologie du Cambodge Golden Gekko (DMI) 30 private void sendReportToServer() { mProgressDialog.show(); RestApi restApi = new RestApi(); Hotline hotline = prepareHotline(); if (!mFurtherActionEvent.isRequired()) { hotline.setAdditionalInfo(null); hotline.setFollowUps(null); hotline.setReferrals(null); } boolean isUpdatingReport = !mCaseReport.getCaseNumber().isEmpty(); restApi.submit(hotline, isUpdatingReport, new Callback<String>() { @Override public void success(String caseNumber, Response response) { mCaseReport.setCaseNumber(caseNumber); DBHelper db = new DBHelper(FormReportActivity.this); Intent intent = getIntent(); db.deleteReport(intent.getIntExtra(ID, DEFAULT_VALUE)); //Save to database with Case Number mCaseReport.setCaseNumber(caseNumber); new SaveReport(hotline); mProgressDialog.dismiss(); Toast.makeText(FormReportActivity.this, getResources().getString(R.string.sent_success) + getString(R.string.case_number_is) + caseNumber, Toast.LENGTH_SHORT).show(); setResult(RESULT_OK); finish(); } @Override public void failure(RetrofitError error) { //Failed Toast.makeText(FormReportActivity.this, getResources().getString(R.string.fialed_sending), Toast.LENGTH_SHORT).show(); new SaveReport(getApplicationContext(), true, mCaller, mBeneficiary, mCaseReport, mReferralList, mFollowUpList, mChildSafeDatas, mAddiontionalInformation, mFurtherActionEvent ); setResult(RESULT_SAVE_DRAFT); mProgressDialog.dismiss(); finish(); } }); } Figure A.19. Méthode soumettre de class FormReportActicity.java
  40. 40. Institut de Technologie du Cambodge Golden Gekko (DMI) 31 REFERENCES - Guide à la rédaction de mémoire, Comité Scientifique de l’ITC, [2013]. - Rapport De Stage D’ingénieur De Quatrième Année, M. HE Bunna, [2015]. - Mémoire de Fin D’études, M. TITH Dara, [2014] - Document Android, Développeurs Android, https://developer.android.com/guide - Android: les bibliothèques utiles, Benjamin Lacroix, [On-line] [22 octobre 2014]: http://blog.xebia.fr/2014/10/22/android-les-bibliotheques-utiles/ - EventBus Document, Github: https://github.com/greenrobot/EventBus - Dictionnaire WordReference, Dictionnaires de langue en ligne: http://www.wordreference.com/fren - Guide de démarrage Scrum, Agiliste: http://www.agiliste.fr/guide-de-demarrage- scrum - Material Spinner, Ganfra: https://github.com/ganfra/MaterialSpinner - Android ViewPagerIndicator, Github: https://github.com/JakeWharton/ViewPagerIndicator

×