Application modulaire de connexion à des bases de données (Application mobile pour la Commune Urbaine d’Antananarivo)

Par : Rakotoniarivo I Fandresena Donnatien

L’informatique décisionnelle est un moyen indispensable aux dirigeants pour mener à bien leurs fonctions. Ces derniers ont surtout besoin d’avoir une vue d’ensemble des informations qu’ils souhaitent traiter. Par contre, les données présentées à ces décideurs doivent être les plus complètes possibles. Ainsi, le risque de mauvaise prise de décision sera minimisé. La DDNSI a créé des applications dédiées uniquement à chaque domaine fonctionnel. Pourtant, les données émises par ces applications sont liées et ont besoins d’être regroupées pour être traitées. Ce problématique a incité la Commune Urbaine d’Antananarivo à aboutir à la création d’une application flexible qui pourra extraire des informations provenant de plusieurs bases de données. La mise en place de ce projet permettra à la Collectivité de bénéficier d’une vitesse accrue d’accès aux informations les plus pertinentes pour parvenir à une bonne prise de décision par les dirigeants.

Présentation du projet 

Le projet « Application modulaire de connexion à des bases de données » consiste à créer un logiciel applicatif développé pour des appareils électroniques mobiles tournant sous le système d’exploitation Android. L’application extrait des informations à partir de diverses sources de données, particulièrement des bases de données. Ensuite, ces données sont restructurées de plusieurs façons. Enfin, ces éléments sont présentés sous forme de rapport.

Objectifs du projet

La mission principale de cette application sera de livrer aux dirigeants des informations préparées. En effet, les décideurs pourront à tout moment consulter des données correspondantes à l’activité traitée. Autrement dit, l’utilisateur de ce logiciel applicatif pourra visualiser ou rechercher des informations nécessaires à la prise de décision. De plus, l’utilisation de cette application ne se limitera pas à un seul secteur d’activité. Cependant, les données extraites pourront dériver de plusieurs bases de données de divers domaines d’activités.

Planning de réalisation

Le planning est l’un des outils indispensables dans une gestion de projet. Il permet dans un premier temps de visualiser les diverses tâches d’un projet, de suivre son déroulement et enfin d’analyser le délai.

Réalisation de l’application

Analyse et conception

Analyse de l’existant
La Commune Urbaine d’Antananarivo dispose des interfaces web pour administrer les informations dans les bases de données. Cependant, chaque application est dédiée à un seul département exclusivement. En effet, la mise en place d’une nouvelle activité nécessite la création d’une autre interface web. Cette manière de procéder engendre une charge de travail importante ainsi que d’une contrainte de temps considérable. L’idée essentielle du projet était de résoudre ce problématique et d’apporter plus de vitesse quant à l’accès aux informations. En fait, l’application mobile aidera l’utilisateur à parcourir plus rapidement les données voulues indépendamment du domaine d’exercice. En outre, les logiciels existants au sein de la Commune sont tous des applications web. Or, en termes d’ergonomie, une application mobile est préférable qu’un site web. De plus, l’application sera toujours utilisable même lorsque l’utilisateur est en déplacement.

Conception de l’application
La conception est une des phases de cycle de vie de développement. Elle s’effectue après avoir fait une analyse des besoins au préalable. Elle permet de définir au départ les structures et les modules de l’application à développer. Réaliser une bonne conception minimise le risque d’avoir un projet voué à l’échec.

Architecture logicielle
Le style architectural adapté est l’architecture en couches. L’application suit le modèle 2- Tiers. En d’autres termes, le mode de transaction entre deux programmes est de type clientserveur.

Classes
L’application est composée par 19 classes. Ces dernières sont réparties dans cinq (5) packages :
• activities : regroupe les composants de l’application. Les classes qui s’y trouvent assurent l’interactivité de l’écran avec l’utilisateur. Ce package compte six (6) activités.
• model : contient les classes de mappage de l’application. En fait, les classes modélisent les réponses issues du serveur de même que les entrées faites par l’utilisateur. Ce package compte cinq (5) classes.
• utils : rassemble les classes agissant comme outils pour l’application. C’est-àdire que les classes qui s’y trouvent contiennent des petites fonctions qui sont indispensables au fonctionnement de l’application. Ce package compte cinq (5) classes.
• adapter : représente les sous-classes de « RecyclerView.Adapter ». Le rôle primordial des adapteurs est de relier les composants d’un écran à la source de données. En tout, il y a deux (2) classes dans le package.
• viewHolder : contient généralement des classes qui héritent de «RecyclerView.ViewHolder». Ces classes permettent de représenter visuellement un élément de la liste de données dans le « RecyclerView ». Pour l’instant, ce package ne contient qu’une seule classe.

Structure des répertoires côté serveur

Par convention, le dossier racine de l’API doit porter le nom « cnandro ». Les contenus de ce dossier sont illustrés ci-dessous :
• cnandro (dossier)
o iniConfigs (dossier)
▪ *.ini (fichiers)
o *.php (fichiers)
o user-main-db.ini (fichier)

Explication :
Le dossier « iniConfigs » contient les fichiers de configuration utilisés par l’application pour lire les requêtes SQL qui s’y trouvent. La structure de chaque fichier doit suivre le protocole suivant:

Le fichier doit contenir trois (3) sections principales :
a. db : informe sur la base de données à utiliser. Elle comprend à son tour quatre (4) paramètres de configuration :
i. dbname : pour avoir le nom de la base de données.
ii. dbUsrn : nom du paramètre qui doit avoir comme valeur le nom d’utilisateur de la base de données.
iii. dbPass : paramètre donnant le mot de passe de l’utilisateur de la base de données.
iv. port : inclut le numéro de port auquel la base de données émet les informations.
b. affichage : se trouve les requêtes SQL pour être exécutées directement sans modification. Cette section ne contient qu’un seul paramètre suivant cette formule :
nom identifiant la requête = « requête SQL »
c. recherche : englobe les requêtes SQL qui vont être formattées en fonction des critères entrées par l’utilisateur de l’application. Les valeurs de chaque paramètre de configuration sont indiquées par la même formule que dans la section « affichage ».

Ensuite, les codes sources constituant l’API se trouvent dans des fichiers qui portent l’extension « .php » dans la racine du projet. Enfin, il existe le fichier « user-main-db.ini » qui se trouve au même niveau que le dossier « iniConfigs » ou les fichiers ayant l’extension « .php ». Ce fichier indique l’information sur la base de données, la table, et les colonnes où se trouve les données concernant les utilisateurs qui ont droit à accéder à l’application. Le fichier doit contenir une section principale nommée « db ». Cette section doit avoir huit (8) paramètres de configuration :
a. dbName : nom de la base de données à interroger,
b. dbUsrn : nom d’utilisateur de la base de données,
c. dbPass : mot de passe de l’ utilisateur de la base de données,
d. port : port de connexion de la base de données,
e. usrTblName : nom de la table où se trouve les utilisateurs autorisés,
f. usrColName : nom du champ où se trouve l’identifiant des utilisateurs,
g. passColName : nom du champ où se trouve le mot de passe des utilisateurs,
h. actColName : nom du champ où se trouve le statut du compte utilisateur.

Structure des répertoires côté client
A part la structure standard d’un projet sous Android Studio, il est à noter que l’application dispose d’un fichier particulier qui est issu d’une convention imposée. C’est un fichier de configuration XML portant le nom « server_infos.xml » et se trouvant dans un répertoire nommé « assets ». Il assure le stockage d’information concernant le serveur cible auquel l’application se connecte. En outre, les données d’authentification de l’utilisateur final se trouve aussi dans ce fichier.

Problèmes rencontrés et solutions 

Test de l’application sur plusieurs serveurs

Lors de la phase de test, on a essayé de pointer divers serveurs cibles pour voir le comportement de l’application. C’est ainsi qu’on a découvert quelques difficultés mises en évidence lors du test.

Environnement du serveur
D’abord, les caractéristiques des serveurs ne sont pas toutes les mêmes. Le problème concerne la version de PHP supportée par les serveurs. En fait, il y avait eu des scripts dans l’API que le PHP dans le serveur ne peut pas prendre en charge à cause de la version. Par conséquent, nous avons dû remplacer certaines portions de code par d’autres pour établir la compatibilité de l’API avec la plupart des serveurs où la version PHP n’est pas récente.

Gestion de droits des fichiers
En outre, certains serveurs ont été plus stricts sur la sécurité, notamment sur la gestion des fichiers. C’est que le serveur ciblé par l’application n’autorise pas la lecture, l’écriture ou l’exécution d’un fichier. Ainsi, la communication entre l’application mobile avec le serveur est bloquée. Pour résoudre le problème, quelques manipulations ont été effectuées. D’abord, nous avons changé la permission du côté client pour être plus flexible. Ensuite, nous avons dû changer les droits du répertoire contenant l’API dans la racine du serveur.

Encodage des caractères
Enfin, l’encodage des caractères issues des requêtes du client par le serveur était incorrecte. Ceci est dû à cause de la configuration par défaut du serveur traitant. Face à ce problème, nous avons dû unifier la forme d’encodage par les serveurs. Nous avons utilisé le format Unicode UTF-8 pour résoudre la controverse.

Évaluation du projet et connaissances acquises 

Bilan pour l’institution d’accueil

Les apports de la Commune Urbaine d’Antananarivo à travers l’utilisation de l’application se résument en trois points clés. D’abord, il est à noter que c’est la première application mobile mise en œuvre par la Collectivité. Alors, l’application va servir d’orientation pour la Commune à adapter d’autres technologies à part les applications web. La diversification permet d’identifier les méthodes les plus appropriées en termes d’ergonomie. Ensuite, cette nouvelle application possède la capacité à fonctionner dans tous les domaines fonctionnels. Cette flexibilité apporte un gain de temps pour l’institution d’accueil. De plus, sa mise en place facilite l’interaction entre les ressources qui composent le système d’information, notamment les utilisateurs et les données. Enfin, la mise à disposition des données auprès des utilisateurs oriente les dirigeants dans leur prise de décision. Par conséquent, les décideurs qui utiliseront l’application vont tenir compte des informations qui leurs sont diffusées. En d’autres termes, la bonne gouvernance sera accentuée car les bonnes décisions ont été prises.

Bilan personnel

D’une part, le stage m’a permis de mieux intégrer dans un environnement professionnel. D’autre part, il a renforcé mes compétences techniques en termes de développement d’application Android. Avant tout, j’ai découvert que l’engagement a été la clé principale quand on est dans le monde du travail. Par exemple, le respect de l’horaire de travail. En somme, l’environnement est régi par un règlement interne qui dicte l’action et le comportement des personnels dans le lieu de travail. Enfin, ce stage a été l’occasion idéal d’exposer mes aptitudes techniques reçues lors de mon cursus réalisé au sein de l’IT University. En outre, le stage m’a permis de mettre en évidence l’importance de la communication entre le client et le développeur. En fait, cette discussion permet de bien identifier les besoins du client et de proposer des solutions du point de vue technique. Ainsi, j’ai pu consolider ma capacité relationnelle avec les clients.

Extension et évolution de l’application

Cette application a été réalisée pendant une courte durée. Il est évident qu’elle peut encore étendre ses fonctionnalités et d’ajouter d’autres modules dedans. D’abord, ce logiciel s’est basé surtout sur sa flexibilité à se communiquer avec plusieurs serveurs. Alors, la prochaine amélioration sera d’intégrer des fonctionnalités permettant à l’application d’interagir avec ces derniers qui utilisent des langages côté serveur autre que PHP et des bases de données autre que MySQL. Ensuite, le mode de présentation de données mis en place actuellement par l’application est le type « reporting » ou génération de rapport. Or, il existe d’autres types d’état de sortie plus intelligible pour le décideur. Donc, une autre évolution consiste à ajouter de nouvelles formes de présentation plus sémantique comme les tableaux de bords. Enfin, l’utilisation actuelle de l’applicatif exige deux acteurs : le décideur et le responsable des bases de données. L’un explique l’ensemble de données qu’il veut et l’autre compose les requêtes dans la base de données. En fait, il est possible de s’en passer du deuxième acteur et de permettre au décideur d’interroger par lui même la base de données à travers quelques interfaces graphiques. C’est une des possibilités d’extension de l’application.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Introduction
1 Présentation du projet
1.1 Objectifs du projet
1.2 Planning de réalisation
1.3 Technologies utilisées
1.3.1 Langages de programmation
1.3.2 Environnement de développement
1.3.3 Base de données
2 Réalisation de l’application
2.1 Analyse et conception
2.1.1 Analyse de l’existant
2.1.2 Conception de l’application
2.2 Développement par fonctionnalité ou module
2.2.1 Établissement de connexion avec un serveur
2.2.2 Interaction avec les fichiers de configuration
2.2.3 Représentation de données
2.2.4 Recherche d’information
2.2.5 Gestion des utilisateurs
2.3 Problèmes rencontrés et solutions.
2.3.1 Test de l’application sur plusieurs serveurs
3 Évaluation du projet et connaissances acquises
3.1 Bilan pour l’institution d’accueil
3.2 Bilan personnel
3.3 Extension et évolution de l’application
Conclusion

Licence en informatique option « Développement »

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *