THÈME: Conception et réalisation d’une application androïd, ios de gestion des titres de transport.

                           INTODUCTION

Les smartphones (téléphones intelligents) ont connu un essor très important durant ces dernières années. Ils sont de plus en plus dotés d’une puissance avec des fonctionnalités assez évoluées permettant de créer des applications innovantes et de les distribuer en toute simplicité.

Bien plus que des appareils nous permettant d’effectuer des appels ou d’envoyer des SMS (message courts), ces terminaux sont devenus de véritables outils multimédia permettant d’accéder à tous les modes de la communication si bien que les besoins des utilisateurs sont de plus en plus croissants et spécifiques en termes d’application pour satisfaire leur besoin quotidien.

C’est dans ce cadre que s’inscrit ce projet de fin d’étude. En effet, nous cherchons à mettre sur pied une application mobile pour la gestion du service transport terrestre inter-villes.

Cependant comment développer une telle solution ?

Le stage que j’ai effectué au sein du service incubateur de l’université virtuelle de côte d’Ivoire m’a permis de développer mes compétences en matière de développement d’application mobile Android et iPhone.

Pour commencer, ce rapport présente une synthèse du contexte professionnel.

Elle est suivie d’une partie plus technique.

Ensuite je présenterai la partie analyse du projet, puis le choix technologiques, et enfin le développement de l’application. Ce rapport se terminera par une conclusion de ce stage, comment je l’ai ressenti, une explication des différents problèmes rencontrés et un bilan personnel.    

  1. Contexte du Stage

I.1. Présentation de l’Université Virtuelle de Côte d’Ivoire

L’Université Virtuelle de Côte d’Ivoire (UVCI) est un établissement public administratif (EPA) créée par décret N°2015-775 du 09 décembre 2015 par l’Etat de Côte d’Ivoire.
Cette université qui forme aux métiers du numérique éducatif est issue de la deuxième phase de l’appui financier du deuxième Contrat de Désendettement et de Développement (C2D) Éducation/Formation conclu entre la République française et l’Etat de Côte d’Ivoire par la volonté politique du Ministère de l’Enseignement Supérieur et de la Recherche Scientifique, à vouloir résoudre le problème du sureffectif des institutions universitaires.

Le C2D éducation/formation vise ainsi à soutenir le ministère de l’enseignement supérieur et de la recherche scientifique dans ses efforts d’introduction du numérique éducatif dans le système d’enseignement supérieur. L’objectif étant de répondre au nombre de plus en plus croissant de bacheliers qui se présentent aux portes des universités chaque année, au déficit en infrastructures et d’améliorer la qualité de l’offre de formation en vue de relever le taux d’employabilité des diplômés.

L’Université Virtuelle de Côte d’Ivoire a pour principale mission de développer et vulgariser l’enseignement à distance à travers les Technologies de l’Information et de la Communication qui font partie intégrante du Programme Thématique de Recherche du Conseil Africain et Malgache pour l’Enseignement Supérieur (CAMES). Par conséquent, elle se doit d’accompagner les Universités et Grandes Écoles Publiques qui dispensent de cours en présentiel, afin que celles-ci convergent vers la formation à distance à travers le numérique.

Il est à rappeler que l’Université Virtuelle compte en deux années de fonctionnement, près de 6500 étudiants qui sont formés au numérique éducatif dans la filière Informatique des Sciences du Numérique.

L’Université Virtuelle de Côte d’Ivoire est une Université publique d’enseignement à distance axée sur le numérique éducatif. Elle offre des formations qualifiantes, diplômantes et professionnalisantes. Pour la rentrée universitaire, la Licence Informatique & Sciences du Numérique est ouverte avec 6 spécialités à savoir :

SPECIALITE 1 : Réseauxet Sécurité Informatique (RSI)

SPECIALITE 2 : Bases de Données (BD)

SPECIALITE 3 : Développement d’Applications et e-Services (DAS)

SPECIALITE 4 : Multimédia et Arts Numériques (MMX)

SPECIALITE 5 : Communication Digitales (COM)

SPECIALITE 5 : e-Commerce et Marketing Digital (CMD)

Organigramme de l’Université Virtuelle de Côte d’Ivoire

L’organisation administrative de l’Université Virtuelle de Côte d’Ivoire (UVCI) est présentée à travers l’organigramme détaillé ci-dessous. L’UVCI est sous la responsabilité d’un Conseil de Gestion (CG) dont les pouvoirs sont confiés à un Directeur Général (DG). Le Directeur Général est aidé dans sa tâche par deux Directeurs Centraux : le Directeur des Affaires Académiques et Pédagogiques (DAAP) et la Directrice des Affaires Administratives et Financières (DAAF). Les Directions sont organisées en sous-directions, auxquelles sont rattachés des services pour mener à bien les activités.

I.2. Présentation du service incubateur

Durant mon stage j’ai été affecté au service incubateur de l’Université Virtuelle de Côte d’Ivoire, comme son nom l’indique (incubateur) le service incubateur a été mis en place dans l’optique de guider, d’accompagner, de soutenir les projets, les idées des étudiants de la dite université afin de promouvoir leur auto employabilité tout en participant au développement technologique, social, culturel  de la côte d’Ivoire. En effet ce service regroupe en son sein deux catégories d’étudiant à savoir : les étudiants qualifiés dans la programmation de code (création d’application web et mobile, de gestion de base de données, design) et les étudiants du fablab chargé de la création d’appareils divers (dispositif électronique,…).

Mon stage au sein de ce service a consisté au développement d’application mobile pour Android et IPhone  pour le compte d’une entreprise nommée TRANSCI, il s’agissait entre autre de créer une application permettant la gestion des titres de transport (Achat et Vente de ticket de voyage).

 I.3. Etude de l’existant

L’utilisation des Smartphones est de plus en plus croissante en Afrique de façon générale et en particulier en Côte d’Ivoire. En effet le taux de pénétration des Smartphones en Afrique est estimé entre17 et 19 % par année [1] ce qui est important

Face à l’importance de ce taux, l’entreprise TRANSCI s’est orientée vers les offres de services disponibles sur les Smartphones dans l’objectif de proposer des services communs aux utilisateurs dans un premier temps mais aussi dans l’intention de devenir les leaders dans le domaine de la vente et de la réservation de ticket de voyage en ligne.

Ayant déjà réalisé des solutions accessibles depuis les terminaux mobiles (site internet), l’entreprise TRANSCI n’entend pas s’arrêter en si bon chemin. C’est dans cette optique qu’elle a décidé d’améliorer son  service de réservation par la mise à disposition d’une solution de mobiles Android. Le nom de cette solution est « TRANSCI ».

«TRANSCI » est une plateforme d’achat et de réservation de ticket de voyage basées sur le système Android. Elle sera disponible gratuitement sur Google Play (la plate-forme du groupe Google, le leader des solutions internet) pour permettre aux utilisateurs de Smartphones de pouvoir le télécharger et l’installer en toute simplicité.

4. Présentation du cahier des charges

Pour atteindre les résultats attendus, l’application «TRANSCI» reposera sur un ensemble de fonctionnalités et une base de données MySQL qui servira à stocker les informations.

Le but de notre stage est de développer cette plateforme et sa base de données avec les fonctionnalités suivantes:

  • Connexion

Cette fonctionnalité permettra à l’utilisateur de se connecter à l’application avant de pouvoir effectuer un achat, une réservation ou d’accéder à son profil.

  •  Profil

Le profil présentera les informations sur l’utilisateur et lui permettra de faire des modifications

  • Création de compte

Cette page permettra à l’utilisateur de créer un compte utilisateur afin de pouvoir bénéficier d’un certain nombre de services de l’application

  • Accueil

Cette page permettra à l’utilisateur de sélectionner sa  ville de départ, destination et la date de départ.

  • Validation

Cette page permettra à l’utilisateur de visualiser et choisir les compagnies disponibles pour le trajet qu’il aura sélectionné sur la page d’Accueil.

  • Payement

Cette page permettra à l’utilisateur de finaliser son achat ou sa réservation en s’acquittant du prix du ticket.

  •  Recherche

La fonctionnalité de recherche permettra de faire des recherches en fonction du texte saisi par

1’utilisateur

  • Contacts (message, mail et appel)

Cette fonctionnalité permettra à l’utilisateur de joindre l’équipe TRANSCI par message, mail ou par appel téléphonique.

Pour la gestion des données de l’application « TRANSCI », deux (02) bases de données seront utilisées.

Une base donnée distante qui servira à contenir les informations nécessaires sur les

Compagnies  et les différents trajets et une autre base sur le terminal qui stockera les paramètres utilisateur.

II: CONCEPTION

L’analyse et la conception d’un projet informatique nécessitent l’utilisation d’un langage de modélisation et d’une méthode ou démarche de développement appropriée. Ce sont des outils d’aide à la conception qui permettent la description du système logiciel par les diagrammes, pour une meilleure compréhension de celui-ci par les acteurs à travers les cas d’utilisation, les diagrammes de séquences mais surtout une participation et une collaboration active entre informaticiens et acteurs du système à travers le recueil d’information. L’ensemble des règles de modélisation peut être appuyé par un processus dont le rôle est d’assurer l’harmonie au sein d’un ensemble d’éléments coopératifs, et d’expliquer comment il convient de se servir du langage de modélisation.

II.1. LE LANGAGE DE MODELISATION

Pour programmer une application, il ne convient pas de mettre l’accent que sur l’écriture du code. Il faut d’abord organiser ses idées, les documenter, puis organiser la réalisation en définissant les modules et étapes de la réalisation. C’est cette démarche antérieure à l’écriture que l’on appelle modélisation, son produit est un modèle.

Cette modélisation nécessite l’utilisation d’un langage permettant la description du système logiciel ainsi que sa compréhension par ses futurs utilisateurs. Pour ce faire, nous choisissons

UML (Unified Modeling Langage) comme langage de modélisation de notre système, car il comble une lacune importante des technologies objets et parce que nous sommes très familiers à ce langage. Il permet d’exprimer et d’élaborer des modèles objet, indépendamment de tout langage de programmation. De plus, grâce à sa notation graphique, il permet d’exprimer visuellement une solution objet, ce qui facilite la comparaison et l’évaluation de solutions. Enfin, l’aspect formel de sa notation limite les ambiguïtés et les incompréhensions.

UML (la version 2.0) définit 13 (treize) diagrammes, mais ceux utilisés dans l’ensemble de notre analyse sont présentés dans le tableau suivant:

DIAGRAMMES ROLES
Cas d’utilisation représente les cas d’utilisation du système, les acteurs et les relations existant entre eux.
Classes expriment de manière générale la structure statique d’un système, en termes de classes et de relations entre ces classes.
Activité une forme spéciale du diagramme de transition d’états utilisés pour modéliser l’état du contrôle.
Séquence montrent les exemples d’historiques de communication entre les objets ou les utilisateurs.

II.2. LE PROCESSUSDE DEVELOPPEMENT

Afin d’obtenir une application de qualité qui réponde aux besoins des utilisateurs en respectant les délais et les coûts prévus, nous utilisons le processus de développement 2TUP (Two

Tracks Unified Process ou processus unifié à deux chemins). 2TUP, est un processus de développement logiciel implémentant le Processus Unifié (UP). Il propose un cycle de développement en «Y » qui dissocie les aspects techniques des aspects fonctionnels. Il commence par une étude préliminaire qui consiste essentiellement à identifier les acteurs qui vont interagir avec le système à construire, les messages qu’échangent les acteurs et le système, à produire le cahier des charges et à modéliser le contexte (le système est une boîte noire, les acteurs l’entourent et sont reliés à lui, une sur l’axe reliant un acteur au système des messages que les deux s’échangent). Le processus s’articule ensuite autour de trois (03) phases essentielles

Une branche technique qui recense les besoins non fonctionnels. Il s’agit essentiellement des contraintes que l’application doit prendre en compte comme par exemple les contraintes d’intégration, les contraintes de développement et les contraintes de performances ;

Une branche fonctionnelle qui recense les besoins fonctionnels et analyse les spécifications fonctionnelles de manière à déterminer ce que va réaliser le système en terme de métier;

• Une phase de réalisation décomposée aussi en étape de conception préliminaire, de conception détaillée et enfin de codage.

  • La conception préliminaire, qui représente une étape délicate, car elle intègre le modèle d’analyse fonctionnelle dans l’architecture technique de manière à tracer la cartographie des composants du système à développer.
  • La conception détaillée, qui étudie ensuite montre comment réaliser chaque composant.
  • L’étape de codage, qui produit ses composants et teste au fur et à mesure les unités de code réalisées.

L’étape de recette qui consiste enfin à valider les fonctionnalités du système.

Le schéma qui illustre le processus de développement 2TUP est présenté ci-dessous

En somme, l’adoption d’UML comme langage de modélisation et de 2TUP comme processus de développement nous a permis de produire des modèles accompagnés de documents tout au long du cycle de développement de l’application comme le montre la figure ci-dessous

II.3. LES DIAGRAMMES DE MODELISATION

II.3.1 Le diagramme de cas d’utilisation

Le diagramme de cas d’utilisation représente la structure des grandes fonctionnalités nécessaires aux utilisateurs du système. C’est le premier diagramme du modèle UML, celui où s’assure une relation entre l’utilisateur et les objets que le système met en œuvre. Il représente la structure des fonctionnalités nécessaires aux utilisateurs du système. Pour ce qui est de notre projet, nous l’utilisons lors des étapes de capture des besoins fonctionnels et techniques dans notre processus de développement 2TUP. Cette procédure est efficace car elle permet de cerner tous les besoins de l’utilisateur avant la réalisation du projet.

Le schéma du diagramme de cas d’utilisation est le suivant.

 

II.3.2 Identification des cas d’utilisation

L’analyse des fonctionnalités prévues dans le cahier des charges, nous permet de dégager ou encore d’identifier les cas d’utilisation de notre application.

Le tableau  suivant résume les cas d’utilisation identifiés:

Cas d’utilisation
1 Accueil (sélection du trajet)
2 Choisir sa compagnie de transport
3 Choisir le nombre de ticket
4  Créer compte
5  se connecter
6 Effectuer le payement
7 Visualiser son ticket
8 Imprimer son ticket
9 Modifier son compte
10  Contacts

II.3.3  Le diagramme de classe

Le diagramme de classes définit la structure statique du système en montrant les objets dans le système, les relations entre les objets, les attributs et les opérations qui caractérisent chaque classe d’objet. Il intervient au niveau de la branche fonctionnelle de notre processus. Il a servi dans le cadre de notre projet à représenter la structure des entités manipulées par l’utilisateur.

Le diagramme de classe est présenté ci-dessous

II.3.4 Description des classes

  1. Description de la classe« VILLES»

Le tableau suivant présente la description de la classe « VILLES ».

  • Description de la classe « COMPAGNIES»

Le tableau suivant présente la description de la classe «COMPAGNIES».

  • Description de laclasse «USER»

Le tableau suivant présente la description de la classe « USER».

  • Description de la classe « TRAJET»

Le tableau suivant présente la description de la classe « TRAJET».

II.4 Le diagramme d’activité

Le diagramme d’activité n’est autre que la transcription dans UML de la représentation du processus telle qu’elle a été élaborée lors du travail qui a préparé la modélisation: il montre l’enchaînement des activités qui concourent au processus.

Il intervient dans la branche gauche de notre processus de développement dans la phase d’analyse.

Le Diagramme d’activité est présenté ci-dessous.

II.5  Le diagramme de séquence

Le diagramme de séquence permet de représenter la succession chronologique des opérations réalisées par un acteur. Il indique les objets qui seront manipulés par l’acteur et les opérations.

Il représente les messages échangés entre les objets dans un ordre chronologique. Il donne une notion temporelle aux messages. Nous l’utilisons au niveau de la branche fonctionnelle de notre processus.

Le diagramme de séquence est présenté ci-dessous

III : REALISATION

Dans ce chapitre je présenterai la réalisation du projet, en passant par la présentation de la plateforme Androïd, des technologies utilisées, des fonctionnalités développées ainsi que des captures d’écran du produit final.

La phase de réalisation intervient au niveau de la branche conception et développement du logiciel pour les phases de code, de test et recette de 2TUP.

  1. PRESENTATION DE LA PLATEFORME ANDROID

Androïd est un système d’exploitation Open Source pour terminaux mobiles conçu par Androïd, une startup américaine puis rachetée par Google en juillet 2005.

Cet OS se différencie principalement de ses concurrents, par le fait qu’il est ouvert. Le modèle économique de Google semble très pertinent, l’adoption d’Androïd par les fabricants sera plus rapide du fait de la gratuité d’utilisation pour le constructeur. Voilà pourquoi il nous est pertinent de travailler sur cette plateforme. Une autre raison est que les applications Androïd sont développées en Java, un langage de programmation dont nous avons connaissances pour l’avoir étudié en cours (théorie et pratique). Androïd dispose aussi d’un ensemble de librairies qui incluent la plupart des fonctionnalités présentes dans java ainsi que des fonctionnalités supplémentaires pour la gestion de l’interface graphique par exemple.

Cette plateforme mobile, bâtie autour du noyau Linux 2.6 a plusieurs versions avec une architecture organisée en plusieurs couches permettant ainsi de développer des applications innovantes :

– Le noyau Linux

– Les bibliothèques graphiques

– Une Machine Virtuelle: Dalvik Virtual Machine

– Framework applicatif

– Application

Les applications Androïd sont des assemblages de composants liés entre eux par un fichier de configuration et reposent sur un cycle de vie. Ses composants sont:

– Vues qui sont comme des éléments de l’interface graphique qui contenant des composants organisés selon diverses mises en page.

– Contrôles Boutons, champs de saisie, case à cocher, etc.

– Activité(Activity) peut être assimilée à un écran structuré par un ensemble de vues et de contrôles. Elle présente deux (02) volets à savoir le volet métier et la gestion du cycle vie.

Dans le cadre de la réalisation du projet, j’ai eu à utiliser un ensemble de technologies que je vous présenterai dans le point suivant.

2. TECHNOLOGIES UTILISEES

Pour assurer la communication entre la base de données et l’application j’ai utilisé la technique la plus répandue qui est la suivante:

L’application envoie des scripts PHP sous forme de requête vers le serveur MySQL grâce au protocole http, le serveur à son tour analyse la requête et renvoie la réponse sous forme de fichiers XML à l’application qui fait la lecture de ces fichiers par l’intermédiaire du parseur

SAX qui est une classe spécialisée dans la lecture de flux XML. Le parseur SAX contrairement aux autres parseurs comme le DOM ne stocke pas les informations en mémoire et peut

être écrit en plusieurs langages comme java, Perl, C++, etc. Ainsi nous mettons en place un scenario qui consiste à faire fonctionner notre application selon l’architecture 3-tiers du point de vue technologie. Le client ici est la plateforme Androïd, le serveur Web est PHP et le serveur de base de données est MySQL (Annexe 7).

Dans la partie suivante, nous aborderons la présentation des outils qui ont servi à la réalisation de ce projet en présentant l’environnement logiciel et par la suite l’environnement de travail

2. A  Les logiciels utilisés

A ce niveau nous allons vous présenter les logiciels qui ont été utilisés pour le développement de l’application.

Android Studio

Android Studio est un environnement de développement pour développer des applications mobiles ANDROID. Il est basé sur IntelliJ IDEA et utilise le moteur de production  Gradle. 

Android Studio permet principalement d’éditer les fichiers Java/Kotlin 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.

II intègre le SDK (Kit de Développement Logiciel) Androïd pour la compilation, la signature de l’application et l’ADT qui propose des interfaces servant au débogage des applications qui sont en fait des outils mis en place par Google pour faciliter le développement Androïd et la maintenance des applications.

Le développement des applications sous Androïd est associé à la notion de modèle-vue contrôleur

(MVC).

L’approche MVC vise à décomposer un programme en trois parties:

• Le Modèle est la représentation codée du comportement d’un bouton par exemple.

• La Vue constitue la couche graphique, intégrant les boutons, les zones de textes, les images

• Le Contrôleur agit comme une liaison entre la vue et le modèle.

Ce découpage permet de simplifier le développement en isolant le code métier (le modèle)de l’interface graphique (vue) et de leurs interactions (contrôleur). Ainsi la modification de l’un n’impose pas la réécriture des autres, optimisant ainsi la réalisation et la maintenance des projets.

Il permet de distinguer la notion d’interface graphique, qui peut être par exemple déléguée à un graphiste, des interactions (appui sur un bouton etc.) et des actions liées après intervention de l’utilisateur.

• Serveur de base de donnée MYSQL

Mon choix s’est porté sur le serveur de base de données MYSQL pour de nombreuses raisons:

C’est un SGBD gratuit et disponible sur de nombreuses plateformes (Unix, Linux, Windows,

MacOs X, Solaris, etc.). Il s’intègre au sein de nombreux serveurs web (Apache, Microsoft

IlS, etc.) et est beaucoup plus adapté à des petites bases de données.

MySQL est un serveur de base de données très utilisé dans le monde. Il est rapide, robuste, facile à utiliser et à administrer et dispose d’une documentation complète

• Serveur SQLite

Pour la gestion en local des informations nous avons utilisé la base SQLite car il est léger et simple

.PHP

Le langage PHP est le langage utilisé pour l’écriture de nos scripts.

2. B  LES LANGUAGES UTILISES

Dans cette partie il s’agira pour nous de présenter les langages de programmation qui ont servis à l’implémentation de l’application.

• Le langage DART

Le langage de programmation utilisé dans le cadre de ce projet Androïd et iOS est le dart, Google a créé de nombreux langages de programmation, dont Dart. C’est un langage de programmation orienté objet développé par Google. Il est facile à comprendre et à prendre en main et se rapproche de langages tels que Java ou Swift par exemple.

• FLUTTER

Pour la réalisation des interfaces graphiques de l’application j’ai utilisé le framework Flutter.

Traduit de l’anglais-Flutter est un framework de développement d’applications mobiles open source créé par Google. Il est utilisé pour développer des applications pour Android et iOS et constitue également la méthode principale de création d’applications pour Google Fuchsia.

Flutter est la boîte à outils de l’interface utilisateur de Google permettant de créer de superbes applications nativement compilées pour mobile , Web et de bureau à partir d’une base de code unique. 

3. LES FONCTIONNALITES DEVELOPPEES

  • Accueil

Cette page permettra à l’utilisateur de sélectionner sa ville de départ, destination et la date de départ.

  • Compagnies

Cette page permettra à l’utilisateur de visualiser et choisir les compagnies disponibles pour le trajet qu’il aura sélectionné sur la page d’Accueil.

  • Compte/Connexion

Cette page permettra à l’utilisateur de créer un compte utilisateur afin de pouvoir bénéficier d’un certain nombre de services de l’application.

  • Payement

Cette page permettra à l’utilisateur de finaliser son achat ou sa réservation en s’acquittant du prix du ticket.

BILAN

  1. Difficultés rencontrées

La principale difficulté a été l’interaction de l’application avec la base de donnée du site existant de TRANSCI. En effet j’ai dû crée une API pour permettre l’utilisation de la même base de donnée aux deux entités à savoir : le site web et l’application mobile, cela nécessitait l’apprentissage de symfony qui est un Framework de PHP.

  • Bilan personnel

Ce projet a permis d’améliorer mes connaissances dans la gestion de projets et les éléments principaux a prendre en compte pour la planification et attribuer des tâches. Ce projet m’a également permis d’apprendre comment fonctionne un système de gestion d’information.

Au niveau du développement j’ai découvert j’ai découvert le langage Dart et le développement des vues  à l’aide d’un Framework Flutter. Ce projet était pour moi une occasion pour améliorer mes connaissances sur le développement des applications mobile en prenant en compte les différentes contraintes qui se présentent en plus d’un développement classique.

Ce projet m’a permis également de développer mon sens de l’autonomie, de la réflexion et de la résolution des problèmes et ainsi de bien attribuer les différentes phases de réalisation au cours du temps.

CONCLUSION

Dans le cadre de mon projet de fin de cycle, j’ai été accueilli par le service Incubateur de l’Université Virtuelle de Côte d’Ivoire.

Cette structure m’a confié la réalisation d’une plateforme Androïd et iOS de gestion des titres de transport pour le compte de l’entreprise TRANSCI, pour y parvenir j’ai utilisé le processus de développement 2TUP pour l’analyse et la conception du système. Pour ce qui est de la phase de développement, mon choix s’est portes sur les langages Dart, FLUTTER, et PHP.

La réalisation de ce projet qui sera mis à la disposition en téléchargement libre sur Google

Play, permettra aux utilisateurs de terminaux intelligents, de disposer effectivement d’une plateforme Androïd et iOS qui leur permettra de planifier leur voyage de façon efficace et en toute simplicité. Certes de nombreux test restent à faire pour finaliser l’application « TRANSCI », mais je peux affirmer que j’ai respecté le cahier des charges et atteint un taux de quatre-vingt pourcent (80%) du taux de réalisation total de l’application «TRANSCI ».