Présentation de l’architecture de l’application web

Pour citer ce mémoire et accéder à toutes ses pages
🏫 Université Assane Seck de Ziguinchor - UFR DES SCIENCES ECONOMIQUES ET SOCIALES - DEPARTEMENT ECONOMIE-GESTION
📅 Mémoire de fin de cycle en vue de l'obtention du diplôme de Master - 2023-2024
🎓 Auteur·trice·s
Cheikhou DIOKOU
Cheikhou DIOKOU

L’architecture d’application web développée pour la gestion des faits d’état civil à la mairie de Ziguinchor repose sur PHP et Laravel. Ce mémoire présente une solution visant à optimiser l’efficacité et la qualité des services administratifs locaux.


Chapitre V : Implémentation et présentation de l’application

Introduction

Nous sommes au dernier chapitre de notre travail et nous espérons que vous avez pu assimiler tous nos dires précédents pour mieux comprendre cette dernière partie. Ce chapitre sera consacré à la présentation de l’architecture de l’application, la structure de la base de données ensuite la conception et la présentation de la solution informatique. C’est la suite logique de notre précédent chapitre qui faisait part d’une étude des outils technologiques.

D’abord nous allons voir l’architecture de l’application, le schéma de la base de données de façon générale et faire la présentation de l’application.

Architecture de l’application

L’architecture de notre application dépend des outils technologiques qu’on avait eu à choisir dans le chapitre précédent. Rappelons que nous avons choisi comme pile de développement les technologies suivantes : PHP comme langage de programmation, MySQL comme système de gestion de base de données (SGBD), Laravel comme Framework web et le trio légendaire HTML/CSS/JavaScript pour la partie front-end (interface utilisateur).

L’architecture de notre application est la même architecture que le Framework Laravel vu que nous l’utilisons pour l’implémentation de notre solution. Celui-ci utilise le modèle MVC.

MVC est l’acronyme de « Model View Controller ». Il représente l’architecture que les développeurs adoptent lors de la création d’applications. Avec l’architecture MVC, nous examinons la structure de l’application en ce qui concerne le fonctionnement du flux de données de notre application

MVC est une architecture logicielle qui sépare la logique domaine/application du reste de l’interface utilisateur. Pour ce faire, il sépare l’application en trois parties : le modèle, la vue et le contrôleur.

Le modèle gère les comportements fondamentaux et les données de l’application. Il peut répondre aux demandes d’informations, aux instructions de modification de l’état de ses informations et même informer les observateurs des systèmes événementiels lorsque les informations changent. Il peut s’agir d’une base de données ou d’un nombre quelconque de structures de données ou de systèmes de stockage.

La vue définit effectivement la présentation au sein l’application. Il restituera les données du modèle sous une forme adaptée à l’interface utilisateur.

Le contrôleur reçoit l’entrée de l’utilisateur et effectue des appels aux objets modèles et à la vue pour effectuer les actions appropriées.

Dans l’ensemble, ces trois composants fonctionnent ensemble pour créer les trois composants de base de MVC. La figure suivante résume le fonctionnement du modèle.

[img_1]

Figure 22 : Modele MVC

Un modèle est une représentation d’une instance ou d’un objet réel dans notre base de données. La vue représente l’interface à travers laquelle l’utilisateur interagit avec notre application. Lorsqu’un utilisateur entreprend une action, le contrôleur gère l’action et met à jour le modèle si nécessaire.

Nous pouvons prendre un exemple dans notre solution notamment la déclaration de naissance. Le client fait une demande de déclaration de naissance et le Controller lui renvoie le formulaire concernant les informations sur la déclaration en faisant une requête aussi sur la base de données pour récupérer la liste des formations sanitaires.

Notons qu’il existe d’autres architectures logicielles : le modèle client-serveur, l’architecture en couches et l’architecture Peer-to-Peer.

En conclusion, nous pouvons dire avoir une architecture logicielle reconnue dont le modèle MVC est une chose indéniable dans le monde du génie logiciel. En effet cela permet aux développeurs de parler la même langue lors du développement. Cela facilite la compréhension et la collaboration entre développeurs. Ainsi un projet est bien segmenté en mettant toutes les parties explicitement.

La base de données

Nous allons voir la base de données de notre application web. Premièrement on va voir les différentes tables qui composent notre structure de la base de données. Ensuite essayons de parler des relations qui existent entre les tables.

[img_2]

Figure 23 : Schema de la base de donnees

Présentation de l’application

Dans cette partie nous allons voir la présentation de notre solution informatique de manière détaillée. Nous allons voir en premièrement les acteurs et leurs rôles du système. Ensuite on va vous montrer les fonctionnalités à l’aide des différentes interfaces utilisateurs. Enfin nous allons parler de la sécurité de l’application.

Acteurs et Rôles

Dans notre application web nous avons actuellement quatre (4) acteurs et respectivement quatre (4) rôles. Nous allons vous présenter les permissions pour chaque rôle.

Tableau des permissions par acteur
PermissionsAdminOfficierAgentCitoyen
Faire une déclaration
Modifier déclaration
Supprimer déclaration
Valider une déclaration
Voir déclaration
Imprimer extrait
Voir les statistiques
Configurer
Sauvegarder la base de données
Ajouter utilisateur
Modifier utilisateur
Valider utilisateur
Supprimer utilisateur
Créer une demande
Editer une demande
Supprimer une demande
Appliquer une demande
Afficher une demande
Annuler une demande
Ajouter une formation sanitaire
Editer une formation sanitaire
Supprimer formation sanitaire
Editer un paramètre
Paramétrer
Supprimer un paramètre
Générer rapport statistiques

Cela concerne les naissances, les décès et les mariages

Explication des icônes

Icônes

Explication

supprimer

[img_3]

Afficher

Editer

Imprimer

Corbeille

Ces icônes sont utilisées sous formes de boutons dans notre application et connaitre leurs significations est vraiment important.

Interfaces utilisateurs
  • Page d’accueil

Restaurer

Export fichier Excel

Valider

Ajouter

[img_4]

Figure 24 : Interface page d’accueil

C’est la page principale de l’application, notre point d’entrée pour découvrir les fonctionnalités. Elle a un formulaire de connexion et quatre onglets notamment A propos, Guide d’utilisation, contacts et inscription citoyen qui renvoient respectivement à une page web.

Ainsi les informations du tableau ci-dessus ne sont que des comptes fictifs pour tester l’application.

  • Page inscription citoyen

La page inscription citoyen permet aux citoyens de pouvoir faire leur enregistrement au niveau de la plateforme afin de faire leurs demandes de documents administratifs.

[img_5]

[img_6]

Figure 25 : Interface page inscription citoyen

  • Page tableau de bord en tant que’officier

[img_7]

Figure 26 : Interface tableau de bord officier

Dans cette figure nous avons le tableau de bord d’un utilisateur connecté en tant qu’un officier. Cette page est divisée en trois parties : nous avons la partie « Accès Rapide », la partie statistique nommée « Quelques Chiffres » et la partie de la navigation.

La section « Accès rapide » contient des boutons de lien pour aller rapidement dans une page. En effet nous avons sélectionné certaines actions très fréquentes et le mettre dans le tableau de bord. Cela permettra pour l’utilisateur d’aller directement au niveau des pages avec un raccourci. Si nous prenons par exemple le cas de déclaration de naissance.

Pour aller dans cette page on devait aller dans le menu de navigation, cliquer sur le bouton « gestion des actes » et choisir « actes de naissances » pour pouvoir accéder au formulaire de déclaration de naissance. Ainsi avec le bouton qui se trouve dans le tableau de bord on peut facilement trouver le formulaire de déclaration de naissance en un clic.

La partie « Quelques chiffres » fait apparaître quelques chiffres concernant les données de l’application sur les différents actes notamment : nombre déclaration de naissances, de décès et de mariages, etc.

Enfin la partie de navigation qui concerne les liens de navigation permet aux utilisateurs de se promener au niveau des onglets. Et l’affichage de boutons de navigation dépend des type d’utilisateurs et selon leurs permissions.

  • Formulaire de déclaration de naissance

[img_8]

Figure 27 : Formulaire declaration de naissance

Ce formulaire permet d’enregistrer une naissance selon les types de déclarations. Il peut contenir un fichier comme preuve pour les pièces justificatives dont le certificat d’accouchement ou certificat administratif de déclaration de naissance.

  • Liste des déclarations de naissance

[img_9]

Figure 28 : Interface liste des declarations de naissance

Voici la page contenant la liste des déclarations de naissance. En haut nous avons une barre de recherche. En effet on peut faire une recherche sur les déclarations de naissance en fonction du numéro de registre, du nom de l’enfant, du prénom de l’enfant, du lieu et de la date de naissance. Pour chaque déclaration nous avons un ensemble de boutons d’option qui va nous permettre de d’exécuter une action donnée (figure ci-dessous). Le premier bouton permet de valider une déclaration, le deuxième bouton permet de visualiser une déclaration, le quatrième bouton permet de supprimer une déclaration et le dernier bouton permet d’imprimer un extrait une déclaration.

[img_10]

Figure 29 : Interface boutons d’options de la liste

  • Visualisation d’une déclaration de naissances

[img_11]

Figure 30 : Interface visualisation d’une declaration

Cette page nous permet de visualiser toutes les détails d’une déclaration de naissance. En effet dans le tableau, on limitait le nombre de champs à afficher. Dans notre visualisation on peut même faire les actions présentes sur le tableau. Au-delà de cela, on peut imprimer la déclaration en plusieurs formats : copie littérale, extrait de naissance, bulletin de naissance et volet N°1.

  • Interface Impression extrait de naissance

[img_12]

Figure 31 : Interface impression extrait de naissance

Avec l’ouverture de cette page on peut imprimer facilement un extrait de naissance à l’aide d’une déclaration effectuée.

  • Interface impression volet N°1

[img_13]

Figure 32 : Interface impression volet N°1

Ces interfaces liées pour beaucoup à la déclaration de naissance sont similaires pour les déclarations de mariage et de décès. En effet nous avons les mêmes procédés (formulaire d’ajout, modification, visualisation et impressions) pour les déclarations de mariage et de décès que celle de la naissance.

  • Interface statistiques

[img_14]

Figure 33 : Interface statistiques

Cet onglet nous permet de voir les différentes données statistiques d’un centre donné. On pourra faire des exports en Excel à l’aide des trois (3) boutons ci-dessus des données.

  • Exportation statistiques sous format Excel

[img_15]

Figure 34 : Ouverture fichier Excel genere

  • Interface Gestion des utilisateurs

Figure 32 : Ouverture fichier Excel généré

Dans cette page, pour pouvoir y accéder il faut te connecter avec un profil admin. Nous avons en haut la barre de recherche qui contient le bouton d’ajout d’un utilisateur, les éléments de recherche (nom, prénom, courriel), le bouton corbeille et le bouton citoyens.

Le bouton « ajouter un utilisateur » nous permet d’accéder au formulaire de création d’un nouvel utilisateur. Au niveau du tableau dans le champ « actions » on a les différentes actions que peut faire l’utilisateur dont : activer / désactiver, modifier ou mettre dans la corbeille un utilisateur. La case à cocher nommée « citoyens » permet d’afficher uniquement les utilisateurs qui ont un profil citoyen. Le bouton « corbeille » nous amène dans une liste

[img_16]

Figure 35 : Interface Gestion des utilisateurs

d’utilisateurs récemment supprimés que l’on pourra restaurer ou les supprimer définitivement.

  • Interface Modification d’un profil utilisateur

[img_17]

Figure 36 : Interface modification utilisateur

Dans cette page l’utilisateur a la possibilité de changer ses informations personnelles.

  • Interface configuration

[img_18]

Figure 37 : Interface configuration

Toujours en tant qu’admin, dans cet onglet on va pouvoir configurer notre application en ajoutant les formations sanitaires et les centres d’état civil. Elle contient deux onglets dont formations sanitaires et liste des centres.

Pour les formations sanitaires et les centres nous aurons les mêmes opérations CRUD (créer, lire, modifier et supprimer) en plus de la barre de recherche pour affiner les résultats.

  • Interface de sauvegarde de la base de données

[img_19]

Figure 38 : Interface page de sauvegarde BD

Dans cette page on pourra télécharger le fichier de sauvegarde de la base de données généré de manière dynamique par l’application. N’empêche que nous pouvons générer manuellement un fichier de sauvegarde en cliquant sur le bouton « sauvegarder ».

  • Interface des demandes des citoyens

[img_20]

Figure 39 : Interface Demandes citoyens

On peut cette page si on se connecte avec un utilisateur de rôle « citoyen » « officier » ou « agent » mais nous n’aurons pas les mêmes boutons d’actions. En tant qu’un citoyen, l’utilisateur pourra créer, modifier ou supprimer une demande.

  • Interface formulaire de création d’une demande

[img_21]

Figure 40 : Interface formulaire de creation de la demande

Avec ce formulaire le citoyen pourra faire une demande d’un document administratif en remplissant tous les champs obligatoires et cliquer sur le bouton « enregistrer ». Il peut annuler la saisie en appuyant sur le bouton « annuler ».

Conclusion

Dans cette partie nous avons montré quelques actions que nous pouvons faire avec l’application en fonction des différents rôles des utilisateurs notamment : admin, officier, agent et citoyen. Il décrit une bonne partie des fonctionnalités de notre solution informatique. En conclusion nous pouvons dire que notre application web est régie par des permissions qui guident les actions de l’utilisateur. Pour les impressions des documents nous avons seulement montré deux exemplaires alors que l’application en compte plus de dix.

Conclusion Générale et Perspectives

Ce travail a été très riche en apprentissage et a favorisé une amélioration continue de nos compétences et connaissances dans le domaine du management et de la programmation. Nous avons réalisé une application web pour la gestion des faits d’état civil cas des mairies du Sénégal.

Premièrement nous avons fait une étude minutieuse sur l’état civil au Sénégal, afin de comprendre pleinement notre sujet de mémoire et aussi de déceler les problèmes que rencontre ce système. Ensuite nous avons eu à voir la structuration et le fonctionnement de la Mairie. En plus s’ajoute la partie de la modélisation et de la conception de notre nouveau système avec le langage UML. Enfin nous avons développé notre application web que l’on a surnommé NIAMA.

La partie programmation, nous avons utilisé les outils suivants :

  • Les langages de programmation web PHP, JavaScript, HTML/CSS
  • Le Framework de PHP Laravel
  • MySQL comme système de gestion de base de données.
  • Visual Studio Code comme éditeur de code
  • L’environnement de développement WAMP

Cette expérience a été très bénéfique pour nous, en effet la réalisation d’un projet informatique de l’analyse jusqu’à la conception et à l’implémentation, toutes les étapes du génie logiciel sont respectées. Nous avions pu approfondir nos connaissances et compétences surtout dans le domaine de la programmation.

Ce pendant nous avons eu à faire des perspectives concernant l’utilisation de notre logiciel afin de l’améliorer pour une meilleure expérience utilisateur.

Dans nos perspectives nous souhaitons que notre solution ait une amélioration et une extension dans d’autres domaines de la mairie notamment la comptabilité et la Finance, de la gestion du personnel et aussi de l’engagement citoyen. C’est tout le sens d’avoir une application web, elle est très extensible contrairement aux autres types d’applications. En effet au lieu d’avoir des applications différentes dans chaque service de la mairie on peut regrouper toutes ses applications en une seule application.

Dans la partie finance et comptabilité on peut intégrer facilement un module qui permettra de gérer toutes les dépenses et ressources liées à l’activité de la mairie. De ce fait nous aurons une traçabilité dans la gestion des finances et de la comptabilité pour une meilleure gouvernance longtemps promulguée par le gouvernement sénégalais. De manière détaillée le module Finance/Comptabilité se caractérisé par :

  1. La gestion des dépenses
  2. La gestion des ressources

Nous avons aussi le module gestion du personnel appelée littéralement gestion des ressources humaines. On note trois grands aspects du module dont :

  1. Le recrutement
  2. La formation
  3. La motivation
  4. Les congés

En plus de cela au futur le citoyen aura plus d’audience que dans cette version. Rappelons qu’actuellement l’utilisateur ne peut que seulement demander des documents administratifs. On pourra intégrer un module qui permettra aux utilisateurs de pourra faire une pré-déclaration au niveau de la plateforme et venir le continuer avec l’officier. La pré- déclaration consiste à remplir toutes les informations par l’utilisateur (citoyen) concernant la déclaration de son enfant par exemple l’officier aura juste le rôle de validateur et de correcteur. Celui-ci gagnerait beaucoup temps à saisir les informations liées à une déclaration.

Rechercher
Télécharger ce mémoire en ligne PDF (gratuit)

Laisser un commentaire

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

Scroll to Top