WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Développement d'une application mobile métier: cas de l'application de gestion commerciale de Togo 3000 informatique


par Essowiyaou KASSANKOGNO
CIC-UL/UTBM - Master 2 2019
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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

Le natif

L'hybride

 

· 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

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je ne pense pas qu'un écrivain puisse avoir de profondes assises s'il n'a pas ressenti avec amertume les injustices de la société ou il vit"   Thomas Lanier dit Tennessie Williams