Chapitre 3
REALISATION ET MISE EN OEUVRE
La phase d'analyse et de conception nous a conduits à
déterminer les données à utiliser dans le domaine de notre
étude et les traitements qui y seront effectués. Nous allons
à présent entamer la réalisation ainsi que la mise en
oeuvre de l'application. Il s'agit de l'étape de développement de
l'ouvrage proprement dite. Dans cette partie du document, nous
présenterons la technologie utilisée, les matériels et le
système d'exploitation adopté, les outils de
développement, et l'architecture de l'application. L'accent sera mis sur
les politiques de sécurité de l'application ainsi que les
pratiques de programmation mises en oeuvre.
1. MISE EN OEUVRE 1.1. Choix matériels
Pour la réalisation de la solution retenue pour notre
projet, nous avons utilisés 1 laptop
ayant pour caractéristiques :
+ Processeur : Intel® coreTM i3-6006U CPU @
2.00GHz 2.00GHz
+ Mémoire RAM : 4Go
+ Disque dur : 465 Go
+ Carte réseau : Oui
+ Lecteur : DVD Blue ray
+ Graveur : Oui
+ Systèmes d'exploitation : Windows10
Professionnel
Et un Smartphone Android Infinix HOT7, modèle Infinix
X624, version d'Adroid 8.1.0
1.2. Choix logiciels
La rubrique des logiciels choisis est scindée en deux (2)
parties :
+ Outils de développement +
Langages et technologies
1.2.1. Outils de développement
a) Environnement de développement : Android
Studio
Android Studio permet principalement d'éditer les
fichiers Java et les fichiers de configuration XML d'une application
Android.
Il propose entre autres des outils pour gérer le
développement d'applications multilingues et permet de visualiser
rapidement la mise en page des écrans sur des écrans de
résolutions variées simultanément. Il intègre par
ailleurs un émulateur permettant de faire tourner un système
Android virtuel sur un ordinateur.
45
REALISATION ET MISE EN OEUVRE
b) Gestionnaire de version « Git »
Git est un système de Gestion de Version
décentralisé très populaire et utile pour le suivi, la
gestion du cycle de vie d'une application, le travail collaboratif et la
gestion des risques. GIT permet de conserver l'historique des versions dans un
dépôt (repository).
Il est très utile :
+ Pour revenir facilement et à tout instant en
arrière, en récupérant les fichiers d'un état
précédent. Cela peut représenter une part non
négligeable du (sur)coût en cas d'absence de système de
Gestion de Version.
+ Pour suivre l'évolution d'un fichier texte ligne de code
par ligne de code
+ Pour ajouter, modifier, supprimer les fichiers,
+ Pour gagner du temps et de l'efficacité dans la
livraison,
+ Pour faciliter le travail collaboratif et gérer
correctement les modifications concurrentes des fichiers, la fiabilité
du code conservé, et ne permettre que les changements
autorisés,
+ Pour identifier rapidement les impacts, car on peut faire de
la vraie relecture de code a priori très simplement avec la gestion des
branches simplifiés
1.2.2. Systèmes de gestion de base de
données : SQLite et MySQL
Derrière toute application informatique appelée
à manipuler des informations, il faut un système
dédié à la gestion des différentes bases de
données. Pour la gestion de la base de données de notre
système, nous retenons « SQLite » en local et
« MySQL » comme serveur distant.
SQLite est une bibliothèque
écrite en C qui propose un moteur de base de données SQL.
Contrairement aux serveurs de bases de données comme MySQL ou
PostgreSQL, elle ne reproduit pas le schéma habituel client-serveur mais
elle est directement intégrée aux programmes en utilisant des
fichiers de bases de données. L'intégralité de la base de
données (déclarations, tables, index et données) est
stockée dans un fichier indépendant de la plateforme.
MySQL est un serveur de base de
données SQL multi-utilisateurs et multithreads
fonctionnant sous Linux et Windows. Ses principaux atouts sont :
- La rapidité et la robustesse
- La facilité d'utilisation et la gratuité
1.2.3. Langages et technologies a) Langages
? JAVA
Java est le langage le plus utilisé dans le
développement Android. Il s'agit en fait du langage qui a
été choisi par Google pour créer des applications Android.
Avec un petit coup de main de Google, qui nous fournit l'environnement de
développement Android Studio, nous pourrons
créer notre application.
46
REALISATION ET MISE EN OEUVRE
? XML
Nous utilisons ce langage de balisage pour gérer
l'affichage des contenus sur l'écran. Bien qu'il n'est pas indispensable
pour créer une application Android, il facilite le développement
en permettant de séparer l'affichage des algorithmes. Ce qui nous fait
gagner du temps et nous simplifie le code de
l'application, et permet ainsi d'éviter des erreurs.
? PHP
Nous utilisons ce langage de script pour créer l'API
REST qui va nous permettre de communiquer avec le serveur.
b) Technologies
Pour la réalisation de notre solution, nous avons le
choix entre 3 plateformes majeures qui permettent de développer sur
mobile : Android, iOS, Windows Phone. Mais pour cibler ces plateformes, nous
avons le choix entre du web (application web adaptatif), du natif (application
mobile spécifique pour une plateforme), et de l'hybride
(Multi-plateformes). Dans cette partie du document nous présentons les
critères qui ont guidé nos choix.
? Etude des différentes technologies de
développement mobile
Plateforme
|
Avantages
|
Inconvénients
|
|
· Pas de téléchargement
|
· Ne fonctionne pas hors
|
|
· Pas de mise à jour (les
|
connexion
|
|
nouvelles versions sont
|
· Expérience utilisateur moins
|
|
disponibles automatiquement
|
intéressante que sur une
|
|
en temps réel)
|
application native. Moins
|
Le web
|
· Pas d'utilisation du stockage
|
interactif et intuitif. L'URL
|
|
de l'appareil
|
rajoute une étape dans le
|
|
· Plus facile à développer, facile
|
processus et complique
|
|
à construire et à déployer
|
l'expérience utilisateur
|
|
· Moins coûteux
|
· Plus lent que les applications
|
|
· Plus ouverts comparés aux
|
natives
|
|
applications natives
|
· Ne convient pas à certains
|
|
· Une application pour toutes les
|
besoins (notamment ceux
|
|
plateformes, tant qu'elle
|
qui nécessite du
|
|
fonctionne sur un navigateur)
|
développement complexe)
|
|
|
· Accès plus difficile aux
fonctionnalités du smartphone
|
|
REALISATION ET MISE EN OEUVRE
· Stables, rapides et adaptatif car
construites pour une plateforme spécifique
· Accès aux fonctionnalités de l'appareil
· Plus puissantes, plus poussées
· L'expérience utilisateur est la meilleure, c'est
fluide, intuitif et interactif
· Ne nécessite pas une connexion internet
·
· Code multi-plateforme : Un seul code pour créer
une application sur Android & iOS.
· Un développeur JavaScript suffit pour la
création d'une application.
· Plus simple pour trouver la cause d'un bug, car
React
Native utilise la programmation déclarative.
· Le rechargement instantané, permet de mettre
à jour l'application pendant qu'elle est utilisé. Ce qui avantage
la procédure de mise en production (cependant l'Apple Store ...)
·
L'application est sur l'écran d'accueil de
l'utilisateur
· Nécessite un développement pour chaque
OS
· Nécessite d'apparaître sur un store
· Les contraintes de Apple et Google peuvent être
très
importantes dans le développement
· Plus long à développer et plus
coûteux. L'hybride peut cependant aider à couper les
coûts
· Ne convient aux projets de développement
très simple.
|
· Fonctionnalités : Pas toutes les
fonctionnalités propres aux smartphones sont accessibles en langage
hybride. Il faut alors
développer certaines fonctionnalités en
langage natif pour pouvoir les utiliser depuis React Native.
· Gestion des performances : un langage hybride n'a pas
la même performance qu'un langage natif. Réduction des
performances lors d'utilisation de grosses
données.
· Navigation moins fluide : React Native n'a pas de
solution idéale pour naviguer entre les interfaces, ce qui
contraint l'expérience utilisateur.
· Profile de développeur compliqué
à trouver, connaissance du Web (JS) + connaissance du langage natif pour
utiliser certaines fonctionnalités.
|
|
47
Tableau 14: avantages et inconvenients de chaque plateforme
mobile
48
REALISATION ET MISE EN OEUVRE
? Notre choix
Pour choisir il faut prendre en compte plusieurs
critères imposés par le projet. Voici quelques
éléments sur lesquels nous nous sommes basés pour faire le
choix.
+ L'utilisateur doit pouvoir accéder à
l'application même en étant hors ligne (sans connexion internet) ;
ce qui écarte systématiquement l'option de développement
d'une application web.
+ Tous les employés du département commercial de
TOGO 3000 Informatique disposent d'un smartphone Android ; ce qui n'est pas le
cas concernant les autres plateformes mobiles ; ce qui écarte le
développement d'une application iOS ou Windows.
+ L'application n'est pas destinée au grand public mais
sera conçu spécialement pour le département commercial de
TOGO 3000 Informatique.
En tenant compte de tous ces paramètres, nous tournons
notre choix vers le développement d'une application native
spécifiquement pour la plateforme Android.
1.3. Sécurité de l'application
Il est primordial de nos jours de développer une
application dans une logique de sécurité dès le
départ et tout au long du processus. Étant donné qu'il
n'existe pas de solution miracle pour détecter toutes les
vulnérabilités des applications mobiles, nous avons
préconisé mettre en place ces règles à suivre pour
garantir la sécurité de notre application :
1.3.1. Sécurisation de l'accès aux
données
+ L'utilisateur doit s'authentifier avant de pouvoir
accéder à l'application. Cela permet de s'assurer qu'il n'y a pas
eu usurpation d'identité.
+ Les messages d'erreur renvoyés doivent être
génériques pour ne pas aiguiller les attaquants potentiels.
+ Les données sensibles doivent être
chiffrées dans la base de données.
+ La protection des mots de passe, des identifiants de session
afin de permettre de se prémunir contre l'usurpation d'identité.
Pour cela, le mot de passe doit avoir au moins huit caractères, voire
dix pour les accès aux données sensibles(administration). Il doit
également contenir au moins trois types de caractères, tels que
des chiffres, des lettres minuscules, des lettres majuscules ou des
caractères spéciaux. Il doit avoir une période de
validité de quatre-vingt-dix jours au maximum. Au-delà, il doit
être changé.
+ Le compte de l'utilisateur doit être
verrouillé, au moins temporairement, si trois tentatives de connexion
consécutives ont échoué.
+ Le mot de passe doit être chiffré ou
haché avec un algorithme fort. Seule sa valeur chiffrée sera
comparée lors de l'authentification de l'utilisateur.
+ Un système de déconnexion automatique doit
être mis en place en cas de fermeture de l'application.
1.3.2. Vérification des données
Les valeurs saisies dans un formulaire doivent être
validées avant d'être envoyées dans la base, car le client
n'est pas toujours une source fiable. Pour cela il faudrait :
49
REALISATION ET MISE EN OEUVRE
+ Vérifier que le type de caractère ou la valeur
saisie correspond à celui ou celle
attendue ;
+ Pour plus de sécurité, les données seront
converties dans le bon format avant de les
mettre dans des variables ;
+ Vérifier la présence de tous les arguments
attendus ;
+ Pour les nombres, contraindre la valeur entre deux bornes ;
+ Pour les listes, vérifier que la valeur appartient
à la liste des valeurs autorisées ;
+ Contraindre la longueur de la valeur saisie avec une taille
minimale et une taille
maximale ;
+ Vérifier la valeur avec une expression
régulière ;
+ N'accepter que les lettres de l'alphabet et/ou les chiffres par
défaut, tous les autres
caractères devant être refusés. Dans le cas
où d'autres caractères doivent être
autorisés, ils doivent être limités à
une liste prédéfinie ;
+ Vérifier si la valeur nulle doit être
acceptée ;
+ Définir le jeu de caractères de la
donnée.
Même les données envoyées vers l'utilisateur
doivent être vérifiées, avec un minimum
d'action.
1.3.3. Sécurité de la base de
données
+ Contrôle de l'accès à la base de
données
+ Protection des données sensibles grâce au
chiffrement + Sauvegarde régulière de la base de
données
50
REALISATION ET MISE EN OEUVRE
1.4. Architecture physique de l'application
Figure 26: Architecture physique de l'application
1.5. Gestion des tests
La phase de test, représente une partie importante de
tout projet logiciel dont le but est d'arriver à un produit «
zéro défaut ». Cette phase nous a permis de détecter
les problèmes ou les bugs de manière à pouvoir les
corriger avant le déploiement de l'application. Les tests
constituent en effet la base permettant de gérer les
remontées d'anomalies (confère annexe 2).
Nous utilisons trois types de tests comme décrit
ci-dessous 1.5.1. Les tests unitaires
Ces tests se sont faits sur chaque unité de notre
application. Ils présentent une procédure permettant de
vérifier et tester chaque partie de notre application ou chaque module,
indépendamment du reste du programme, ceci afin de s'assurer qu'il
répond aux spécifications fonctionnelles. Et qu'il fonctionne
correctement en toutes circonstances.
51
REALISATION ET MISE EN OEUVRE
1.5.2. Les tests d'intégration
Ces tests ont suivi les tests unitaires. Ces tests
d'intégration ont consisté à assembler toutes les parties
de l'application afin de tester l'ensemble. Ce qui nous a permis de valider
leur cohérence après l'intégration
1.5.3. Les tests d'acceptation ou (recette)
Ces tests se sont passés à chaque sprint. Ils
consistaient à vérifier que le système livré est
opérationnel et fonctionne conformément aux besoins initiaux du
client
1.6. Rapport de réalisation 1.6.1.
Processus
La phase de réalisation a commencé par la
description des fonctionnalités du produit dans des Users
Stories10 . Chaque User Story comprend un identifiant, un
nom (descriptif court), une priorité, une estimation de la charge de
travail, la description d'un test de validation et éventuellement des
commentaires. C'est en fait un élément des spécifications
fonctionnelles.
Ensuite un référentiel des besoins (le
product backlog11) a été
créé. Il regroupe l'ensemble des Users Stories décrites,
donc l'ensemble des fonctionnalités désirées,
hiérarchisées par ordre de réalisation souhaité. La
product backlog a évolué durant tout le projet à partir
des nouvelles fonctionnalités voulues par le client.
Le déroulement de cette phase du projet a
été organisé en itérations, ou
sprints12. Chaque sprint a duré trois
semaines. Une réunion de planification était organisée
avant le début de chaque sprint, afin de sélectionner les
fonctionnalités qui seront réalisées durant le sprint.
L'ensemble des fonctionnalités qui doivent être
implémentées au cours du sprint composent le sprint
backlog13. La fin De chaque sprint a été
marquée par une démonstration des derniers développements
effectués. Cette démonstration permettait de valider la
correspondance entre les besoins exprimés et les fonctionnalités
réalisées. Un bilan est fait également, lors d'une
réunion d'examen du sprint. Ce qui nous permettait de mettre en avant ce
qui allait bien, ce qui allait moins bien et proposer des axes
d'améliorations. A la fin du dernier sprint, le produit fini a
été remis au client.
1.6.2. Comptes rendus
10 User stories : une description
simple d'un besoin ou d'une attente exprimée par un utilisateur et
utilisée dans le domaine du développement de logiciels et de la
conception de nouveaux produits pour déterminer les
fonctionnalités à développer.
11 le backlog scrum est
destiné à recueillir tous les besoins du client que
l'équipe projet doit réaliser. Il contient donc la liste des
fonctionnalités intervenant dans la constitution d'un produit, ainsi que
tous les éléments nécessitant l'intervention de
l'équipe projet.
12Un sprint est une itération
de développement de la méthode Scrum.
13 Le sprint backlog est une
partie des user stories du backlog produit que l'équipe
s'engage à livrer d'ici la fin du sprint
52
REALISATION ET MISE EN OEUVRE
Participants
|
Nom
|
Fonction
|
Rôle
|
KASSANKOGNO Essowiyaou
|
Stagiaire
|
Analyste développeur
|
M. ADJOGBLE Komlavi Mawuli
|
Informaticien
|
Validation du produit par rapport aux besoins du client
|
Mme DAMADO
Djigbodi Pascaline
|
Directrice de
l'administration et Chef service commercial
|
Explication des besoins
|
Tableau 15 : participants à la phase de
réalisation
a) Rapport du sprint 1
Projet : Conception et réalisation
d'une application mobile de gestion commerciale : cas du département
commercial de TOGO 3000 INFORMATIQUE
|
SPRINT 1
Carnet de sprint (sprint backlog) :
|
Ø Implémentation des fonctionnalités de
gestion des utilisateurs
Ø Implémentation des fonctionnalités de
gestion des fournisseurs
Ø Implémentation des fonctionnalités de
gestion des produits
Ø Implémentation des fonctionnalités de
gestion des cotations
|
Phase : Réalisation et mise en
OEuvre
|
|
Date fin 05/07/2019
|
Incrément I :
L'utilisateur peut se connecter à l'application,
enregistrer un fournisseur, enregistrer un produit puis envoyer une demande de
cotation au fournisseur. L'utilisateur a le choix de générer
automatiquement la demande de cotation qu'il peut lancer vers l'imprimante
à partir de son téléphone ou la transmettre
automatiquement au fournisseur via son compte mail ou vers un autre compte de
messagerie.
Produit=Incrément I
|
Fini : Tous les éléments du
carnet de sprint
|
Validation :
|
Délais
|
Réalisé dans le respect des délai
établis
|
|
Les coûts ont été respectés
|
|
Délais de réponse acceptable
|
Apports du maître de stage (Scrum
master) : Proposition de l'optimisation au niveau de
l'IHM14
|
Difficultés : les besoins
n'étant pas tous identifiés dès le départ, cela
demande une adaptation continue par rapport aux nouveaux besoins de
l'utilisateur.
|
Participants
|
Nom
|
Fonction
|
Rôle
|
KASSANKOGNO Essowiyaou
|
Stagiaire
|
Analyste programmeur
|
|
14 Interface Homme-Machine
53
REALISATION ET MISE EN OEUVRE
M. ADJOGBLE Justin
|
Informaticien
|
Validation du produit par
rapport aux besoins du client
|
Mme DAMADO
Djigbodi Pascaline
|
Directrice de
l'administration et Chef service commercial
|
Explication des besoins
|
|
Tableau 16: Rapport SPRINT 1
b) Rapport du sprint 2
Projet : Conception et réalisation
d'une application mobile de gestion commerciale : cas du département
commercial de TOGO 3000 INFORMATIQUE
Phase : Réalisation et mise en
OEuvre
|
SPRINT 2
Eléments du carnet de sprint (sprint
|
|
Date début 08/07/2019
|
Date fin 26/07/2019
|
Incrément II :
Après réception de la facture pro-forma du
fournisseur, l'utilisateur a la possibilité via l'application de valider
la facture pro-forma puis commander les lignes de produit dont le prix le
convient et générer automatiquement un bon de commande qui peut
être lancé vers l'imprimante à partir du
téléphone ou transmis automatiquement au fournisseur via son
compte mail ou vers un autre compte de messagerie.
L'utilisateur a aussi la possibilité d'enregistrer les
factures et les règlements de la
facture-fournisseur, ainsi que l'enregistrement de la
réception de marchandise. L'enregistrement de la réception de
marchandise prend en compte les taxes et les frais de livraison et de transport
qui permettent ainsi un calcul automatique des coûts d'achats et du prix
de vente de la marchandise.
Produit = Incrément I + Incrément
II
|
Finis : Tous les éléments du
carnet de sprint
|
Validation :
|
Délais
|
Réalisé dans le respect des délais
établis
|
|
Les coûts ont été respectés
|
|
Délais de réponse acceptable
|
Apports du maître de stage (Scrum
master) : Proposition de l'amélioration de la mise en
forme des états générés
|
Difficultés : la remise et la tva
s'appliquent-elles sur les lignes de commande ou sur toute la commande ?
Solution : permettre les deux options
à l'utilisateur. L'utilisateur aura à choisir l'une ou l'autre
suivant les cas
|
Participants
|
Nom Fonction Rôle
|
|
REALISATION ET MISE EN OEUVRE
KASSANKOGNO Essowiyaou
|
Stagiaire
|
Analyste développeur
|
M. ADJOGBLE Justin
|
Informaticien
|
Validation du produit par
rapport aux besoins du client
|
Mme DAMADO
Djigbodi Pascaline
|
Directrice de
l'administration et Chef service commercial
|
Explication des besoins
|
|
Tableau 17: Rapport SPRINT 2
54
c) Rapport du sprint 3
Projet : Conception et réalisation
d'une application mobile de gestion commerciale : cas du département
commercial de TOGO 3000 INFORMATIQUE
Phase : Réalisation et mise en OEuvre
|
SPRINT 3
Eléments du carnet de sprint (sprint
|
|
Date début 29/07/2019
|
Date fin 16/08/2019
|
|
55
REALISATION ET MISE EN OEUVRE
Incrément III :
La réception de la marchandise entraine automatique son
entrée en stock. L'utilisateur
a ainsi la possibilité de définir la marge
bénéficiaire sur le produit afin que l'application
mette à jour automatiquement le prix de vente de
l'article en tenant compte de la marge
bénéficiaire défini. Les produits
rentrés en stock sont alors disponibles pour la vente.
La version actuelle donne la possibilité à
l'utilisateur de :
+ Gérer les clients/prospects ;
+ Enregistrer les demandes de devis-clients ;
+ Générer automatiquement la facture proforma et
la lancer lancée vers l'imprimante
à partir du téléphone ou la transmettre au
fournisseur via son compte mail ou vers
un autre compte de messagerie ;
+ Enregistrer la commande-client.
Produit = Incrément I + Incrément II +
Incrément III
|
Fini : Tous les éléments du
carnet de sprint
|
Validation :
|
Délais
|
Réalisé dans le respect des délai
établis
|
|
Les coûts ont été respectés
|
|
Délais de réponse acceptable
|
Apports du maître de stage (Scrum
master) : Aucun
|
Difficultés : aucune
|
Participants
|
Nom
|
Fonction
|
Rôle
|
KASSANKOGNO Essowiyaou
|
Stagiaire
|
Analyste développeur
|
M. ADJOGBLE Justin
|
Informaticien
|
Validation du produit par rapport aux besoins du client
|
Mme DAMADO
Djigbodi Pascaline
|
Directrice de
l'administration et Chef service commercial
|
Explication des besoins
|
|
Tableau 18: Rapport SPRINT 3
d) Rapport du sprint 4
Projet : Conception et réalisation
d'une application mobile de gestion commerciale : cas du département
commercial de TOGO 3000 INFORMATIQUE
|
SPRINT 4
Eléments du carnet de sprint (sprint
backlog) :
Ø Implémentation des fonctionnalités
|
|
de gestion des factures/client
Ø Implémentation des fonctionnalités de
gestion des livraisons
|
Phase : Réalisation et mise en
OEuvre
|
|
Implémentation de déstockage
|
des fonctionnalités
|
|
|
Implémentation
|
des fonctionnalités
|
|
de gestion cautions bancaires
56
REALISATION ET MISE EN OEUVRE
Date début 19/08/2019 Date fin
06/09/2019
|
Incrément IV :
Après l'enregistrement de la commande du client,
l'utilisateur a la possibilité de générer automatiquement
la facture qui peut être lancée vers l'imprimante à partir
du téléphone ou transmise automatiquement au fournisseur via son
compte mail ou vers un autre compte de messagerie. Une fois la facture
réglée par le client un bon de livraison est transmis au service
livraison qui déstocke les produits puis enregistre la livraison des
marchandises ; cette livraison entraine une décrémentation
automatique du stock au niveau de l'application. L'utilisateur a aussi la
possibilité d'enregistrer une caution sur marché si besoin dont
l'application tiendra compte des dates pour alerter sur le délai de
libération de la caution.
Produit = Incrément I + Incrément II +
Incrément III + Incrément IV
|
Fini : Tous les éléments du
carnet de sprint
|
Validation :
|
Délais
|
Réalisé dans le respect des délai
établis
|
|
Les coûts ont été respectés
|
|
Délais de réponse acceptable
|
Apports du maître de stage (Scrum
master) : Aucun
|
Difficultés : identification de tous
les paramètres intervenant dans le calcul des coûts et du prix de
vente des produits.
|
Participants
|
Nom
|
Fonction
|
Rôle
|
KASSANKOGNO Essowiyaou
|
Stagiaire
|
Analyste développeur
|
M. ADJOGBLE Justin
|
Informaticien
|
Validation du produit par
rapport aux besoins du client
|
Mme DAMADO Djigbodi Pascaline
|
Directrice de
l'administration et Chef service commercial
|
Explication des besoins
|
|
Tableau 19: Rapport SPRINT 4
e) Sprint 5
Projet : Conception et réalisation
d'une application mobile de gestion commerciale : cas du département
commercial de TOGO 3000 INFORMATIQUE
Phase : Réalisation et mise en OEuvre
|
SPRINT 5
Eléments du carnet de sprint (sprint
|
|
|
Date début 09/09/2019
|
Date fin 27/09/2019
|
57
REALISATION ET MISE EN OEUVRE
Incrément V :
L'administrateur a la possibilité de gérer les
paramètres du système ainsi que d'administrer la base de
données.
Produit = Incrément I +Incrément II +
Incrément II + Incrément IV + Incrément
V
|
Fini : Tous les éléments du carnet
de sprint
|
Validation :
|
Délais
|
Réalisé dans le respect des délai
établis
|
Coûts
|
Les coûts ont été respectés
|
Performance
|
Délais de réponse acceptable
|
Apports du maître de stage (Scrum
master) : Amélioration de l'IHM des interfaces
d'administration.
|
Difficultés : difficulté
d'implémentation des certaines fonctionnalités relatives à
l'administration de la base de données SQLite.
|
Tableau 20: Rapport SPRINT 5
2. PRESENTATION DE L'APPLICATION
2.1. Présentation
L'application mise en place est une solution mobile permettant
d'accélérer la gestion de l'activité commerciale de TOGO
3000 INFORMATIQUE en automatisant l'exécution des opérations
commerciales. L'application conçue, dans sa version actuelle permet de
consulter, mettre à jour, créer de nouveaux clients, fournisseurs
ou prospects, de les contacter directement via l'application : de gérer
les ventes et les achats. Elle permet en effet de créer directement sur
smartphone les commandes, devis, factures, bons de livraison, et de les
imprimer ou de les envoyer par mail.
La consultation des statistiques est gérée
telles que le nombre de ventes et d'achats durant une période
donnée, le bénéfice fait durant une période, et le
nombre d'articles vendus. Ainsi il est proposé une alerte sur les
évènements urgents tels que le délai de paiement d'une
facture, le délai de retour sur caution et bien d'autre.
L'application permet précisément de :
v Stocker de façon cohérente, fiable et
sécurisée toutes les informations relatives à la gestion
commerciale ;
o Gestion des relations (fournisseurs, clients, prospects) ;
o Gestion des achats (les cotations, les commandes, les
factures, la réception de marchandise) ;
o Gestion des ventes (les devis-client, les commandes-client,
la facturation, la livraison) ;
o Gestion du stock et produits (enregistrement des
entrées-sorties en stock, mise à jour des produits, calcul
automatique du prix des produits, alerte sur le niveau du stock) ;
o Gestion des cautions (alerter sur les délais de
retour du document de caution) ;
v Assurer l'accessibilité des informations en temps
réel ;
v Éviter la répétition de certaines
tâches et des erreurs liées au traitement manuel des
données ;
58
REALISATION ET MISE EN OEUVRE
v Gérer l'accès aux différentes
informations liées à la gestion commerciale ;
v Générer automatiquement des états lies
à la gestion commerciale ;
v Assurer la traçabilité de toutes les actions
des utilisateurs ;
v Alerter sur les évènements urgentes ;
v Planifier, suivre et évaluer les différentes
tâches commerciales.
REALISATION ET MISE EN OEUVRE
Connexion
Créer un compte
2.2. Structure de l'application
Mot de passe oublié
Accueil
Gestion paramètres
Gestion stock
Utilisateurs
Gestion produits
Système
Gestion livraisons
Gestion achats
|
Gestion ventes
|
|
|
Gestion relations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59
Demandes de cotations
Commandes
Règlements factures
Reception Marchandises
Figure 27: structure de l'application
60
REALISATION ET MISE EN OEUVRE
3. GUIDE D'EXPLOITATION
3.1. Configuration matérielle et
logicielle
3.1.1. Performances minimales des smartphones
clients
Performance minimale pour un meilleur rendu des
fonctionnalités qu'offre l'application :
§ Système d'exploitation : Android
§ Version minimale 7.0.0;
3.1.2. Performances minimales du serveur de base de
données distant
Caractéristiques de la machine hôte :
§ Système d'exploitation : Windows 7 ou
UNIX/Linux
§ Processeur : 2.2 GHz ;
§ Disque dur : 320 Go ;
§ Mémoire RAM : 4 Go (conseillée) ;
§ Clavier et souris ;
3.2. Déploiement et suivi
3.2.1. Déploiement de l'application
a) Création de la base de
données
Pour créer la base de données
centralisée, suivre les étapes suivantes :
Exécution du script de la page
http://le_serveur/nom_espace/bd.php (lien confidentiel) ; script contenant la
création de la base de données et des tables en ligne ;
Accessible uniquement par l'administrateur. Le script de création de la
base de données (Annexe 1).
b) Mise en production en local
Il existe différentes manières de signer une
application Android. Cela est assez simple avec l'utilisation d'Android Studio.
Ci-dessous les démarches étape par étape pour créer
votre APK avec sa signature :
· Ouvrez votre projet d'application dans Android Studio.
Cliquez sur « Build » dans le menu puis « Generate Signed APK
».
· Dans la nouvelle fenêtre qui apparaît,
définissez ce que l'on appelle le Key Store Path
(l'emplacement pour sauvegarder votre signature - la clé). Si vous
êtes déjà passé par cette étape pour une
autre application Android, vous pouvez tout simplement réutiliser le
dossier. Si vous n'avez en revanche jamais créé de Key Store Path
ou si vous souhaitez en créer un nouveau pour votre application,
définissez votre emplacement et créez un mot de passe
(nous vous conseillons par ailleurs de noter ce Key Store Path pour
vos utilisations futures). Ensuite, entrez sous « Alias » le
nom de la clé puis enfin le mot de passe. La
durée de validité de la signature doit
également être stipulée (préférablement au
moins 25 ans) ainsi qu'au moins une
61
REALISATION ET MISE EN OEUVRE
information personnelle sur le certificat (par exemple votre
nom ou celui de votre entreprise).
· Après avoir choisi un nouvel ou ancien
emplacement pour votre signature et entré le mot de passe
nécessaire, passez à l'étape suivante en cliquant sur
« Next ». Vous pouvez alors indiquer si vous installez une
version test de l'application (« debug ») ou
l'application finale (« release »). Dès que
vous avez choisi la version Release sous « Build type », il est
nécessaire de remplir les champs donnés et notamment indiquer si
vous souhaitez que votre application soit gratuite ou payante (avec Windows ou
Linux, en utilisant la touche Strg / pour Mac avec l'aide de la touche
de commande). Une fois les paramètres définis, confirmez vos
choix en sélectionnant « Finish ». Le fichier APK signé
est généré dans le dossier choisi et peut permettre le
lancement de votre app sur Play Store.
c) Mise en production en réseau
Pour pouvoir publier l'application sur Google Play, il est
nécessaire de s'enregistrer sur de nombreuses plateformes : outre le
compte général Google, nous devons
également compter sur un accès à Google Play
Developer Console.
Une fois en ligne, avant de pouvoir télécharger
l'application sur une boutique en ligne, plusieurs comptes Google doivent
être créés.
· Tout d'abord, la création d'un compte
général Google. Si l'on n'a pas de compte ou si l'on
souhaite en créer un spécifiquement pour l'application,
rendez-vous sur la page d'inscription de Google.
· Une fois le compte créé, on s'enregistre
sur le site Google Play Developer Console. Pour devenir membre de cette
plateforme, des frais uniques de 25 dollars US sont à payer par carte
bancaire. Le compte personnel Developer Console est alors prêt
à l'emploi après avoir fourni les informations requises A savoir,
le « nom du développeur » qui sera utilisé comme nom
d'auteur sur Google Play Store. Il sera possible toutefois de le changer
ultérieurement.
· Après avoir créé tous les comptes
Google exigés, on peut charger l'application pour le Play Store.
L'application ne sera pas immédiatement disponible sur Google Play
Store, car chaque nouvelle application doit d'abord être
vérifiée par Google avant sa publication. Le temps
nécessaire à sa publication varie suivant les cas. La plupart du
temps, l'application est tout de même disponible seulement quelques
heures plus tard.
62
REALISATION ET MISE EN OEUVRE
· L'application se télécharge sur le
Google Play Developer Console. Après s'être logué sur la
plateforme, un clique sur « Toutes les applications » puis «
Créer une application ». Indiquez la langue utilisée pour
l'application et entrez un nom (même si vous pourrez modifier ces deux
informations plus tard). En cliquant sur « Téléchargement
APK », vous atterrissez sur un nouveau menu qui porte le nom de votre
application. Sur la gauche, vous trouverez ensuite différentes rubriques
(« APK », « Classification du contenu » etc.) auxquelles
vous pouvez vous consacrer.
3.2.2. Suivi de l'application
Le suivi de l'application consiste à relever tout
incident se produisant au cours de l'exploitation. Ces relevés serviront
de support pour une maintenance voire une mise à jour de l'application.
Afin de pouvoir conserver ces erreurs, elles seront notées dans un
registre d'évènements que l'administrateur devra tenir. Les
utilisateurs de l'application disposent eux aussi de la page suggestion pour
soumettre les erreurs ou bugs auxquels ils seront confrontés ainsi que
les améliorations qu'ils proposent pour une meilleure optimisation de
l'application.
De plus l'absence d'une politique de sauvegarde des
données d'une application est un fait délicat et pourrait couter
chère à la vie d'une entreprise. Il est donc nécessaire
d'instaurer une politique de sauvegarde.
4. GUIDE D'UTILISATION
Le guide d'utilisateur est un document très important
pour l'utilisation d'une application. Il est d'une grande utilité pour
la formation des futurs utilisateurs de l'application. Il décrit les
différentes fonctionnalités de l'application. Le présent
document permet d'expliquer le fonctionnement de notre application.
63
REALISATION ET MISE EN OEUVRE
4.1. Présentation de l'application
4.1.1. Interface de connexion et d'accueil
Figure 28: 1.1 Interface de connexion et d'accueil
64
REALISATION ET MISE EN OEUVRE
4.1.2. Menus, boutons et champs
|
|
|
Champ de saisie, le libelle à l'intérieur
indique l'information à saisir.
|
|
|
|
|
Bouton, le libelle indique l'action du bouton
|
|
|
|
|
Boutons de la page d'accueil, les libellés indique vers
quel module le bouton nous dirige.
|
|
|
|
|
|
|
|
|
|
|
Bouton retour vers la précédente page
|
|
Bouton permettant de réinitialiser le mot de passe
|
|
Bouton permettant de créer un nouveau compte
|
|
Bouton permettant de retourner vers l'interface de
connexion
|
|
|
|
Bouton permettant d'ajouter de créer un nouvel
enregistrement
|
|
|
|
Bouton permettant de trier les informations
|
|
|
Bouton permettant d'effectuer une recherche
|
|
|
|
Bouton permettant de synchroniser les données avec le
serveur
|
|
|
|
Boutons permettant de naviguer sur les pages de
données
|
65
REALISATION ET MISE EN OEUVRE
|
Liste d'informations. En gris les informations
synchronisées avec le serveur et en rouge celles qui ne sont pas encore
envoyé vers le serveur.
|
Tableau 21 : menus, boutons et champs
66
REALISATION ET MISE EN OEUVRE
4.1.3. Navigation
Figure 29: architecture de navigation de
l'application
67
REALISATION ET MISE EN OEUVRE
4.2. Maintenance
4.2.1. Les erreurs courantes
Certaines erreurs courantes que pourra générer
notre application sont résumées dans le tableau ci-dessous avec
les actions à mener :
Code Erreur
|
Description
|
Action à mener
|
Échec de synchronisation avec la base de
données.
|
Impossible d'envoyer
les données locales vers la base de données
distante
|
Il faut vérifier si la
connexion internet est bonne ; si ce n'est pas un souci de
connexion internet,
redémarrer le serveur et
s'assurer que la base de
données est bien installée (Administrateur)
|
Problèmes de
fonctionnement
|
L'application plante,
ne s'ouvre pas, ne répond pas ou ne fonctionne pas
correctement.
|
Étape 1 : Redémarrez
l'appareil et effectuez les mises à
jour
- Redémarrer l'appareil
- Vérifier les mises à
jour Android
- Mettre l'application à
jour Si le problème persiste,
- Forcer l'arrêt de l'application
- Vider le cache de l'application
- Supprimer les données
de l'application
- Contacter le développeur de
l'application
- Désinstaller l'application
|
Erreur 505
|
L'application n'est pas compatible avec la version d'Android du
terminal.
|
Annuler le téléchargement
et attendre qu'elle soit compatible ou de le signaler aux
développeurs.
|
Erreur 905
|
Échec de
téléchargement de
l'application
|
Désinstaller les mises à
jour du Play Store
|
Erreur 941
|
Impossibilité
d'effectuer une mise à jour de l'application
|
Vider le cache du Play Store
|
68
REALISATION ET MISE EN OEUVRE
Erreur 919
|
L'espace de stockage
disponible sur votre
terminal est insuffisant pour installer l'application
|
Supprimer des applications inutiles
|
Erreur 101
|
Le téléchargement ne
|
Désinstallez les
|
|
fait pas suite à la mémoire
|
applications inutiles pour
|
|
pleine
|
récupérer de l'espace de
stockage. Si cela persiste, supprimer le cache du Google
|
|
|
Play Store : Paramètres /
|
|
|
Applications / Google Play
|
|
|
Store / Supprimer le cache et les données
|
Tableau 22: description des erreurs courantes et les actions
à mener
4.2.2. Les autres erreurs
En cas d'erreur, dans l'application, autre que celles
citées dans le tableau ci-dessus, l'utilisateur doit informer
l'administrateur ou se rendre à la Direction le signaler.
5. CONCLUSION
Dans cette partie de notre document, nous avons décrit
les différents outils qui ont contribué au développement
de notre plateforme, son architecture, les interfaces de la version actuelle de
l'application, ainsi que le guide d'utilisation et le guide d'exploitation de
l'application. Cette partie du document conclut ainsi le rapport de la phase de
réalisation du projet.
69
|