Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Khadija DAOUBARI
Malak ZNADI
Wafae JOUHAL
1
Remerciements
Au terme de ce travail, nous tenons à exprimer notre profonde gratitude et nos sincères remerciements
à tous ceux qui nous ont aidés de près ou de loin pendant la réalisation de notre projet.
Nous tenons également à remercier Monsieur Hamzane, professeur à l’EST Safi, pour son encadrement,
son enthousiasme vis-à-vis de notre projet et ses encouragements. Nos sincères remerciements vont égale-
ment à Azeddine Nadif, qui a eu l’honneur de nous encadrer tout au long de ce travail. Nous lui sommes
très reconnaissants pour ses fructueux conseils, ses précieuses directives, et pour le grand intérêt qu’elle
porte à notre sujet.
Nous adressons des remerciements spéciaux à tout le corps professoral de l’EST Safi pour la formation
de qualité qu’ils nous ont prodiguée durant ces deux années. Que tous ceux et celles qui ont contribué de
près ou de loin à l’accomplissement de ce travail trouvent ici l’expression de nos remerciements les plus
chaleureux.
2
Table des Matières
Introduction 7
1 Etude Préalable 8
1.1 Introductions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Etude Conceptuel 10
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Réalisation 18
3
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Présentation de l’application 24
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.10 Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Conclusion Générale 40
Webographie 41
4
Table des figures
3.3 Adobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.6 Laravel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.7 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.8 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.9 bootstrap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.10 XAMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.11 Laragon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5
4.6 Ajout des produit et generation automatique de TVA . . . . . . . . . . . . . . . . . . . . 28
4.24 rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6
Introduction
Ce projet de fin d’études se concentre sur la création d’une solution complète de gestion des factures pour
les entreprises, en utilisant Laravel PHP et Bootstrap pour l’application web. En outre, l’utilisation de
Git pour le contrôle de version garantit une collaboration efficace et une gestion du code source optimale.
Cette introduction offre un aperçu des défis associés à la gestion des factures dans les entreprises, ainsi
qu’une justification de l’approche technologique choisie pour notre projet. Nous débuterons par une ana-
lyse des problèmes courants rencontrés dans la gestion des factures, en mettant en lumière les risques
de sécurité potentiels liés aux processus manuels et aux systèmes obsolètes. Ensuite, nous présenterons
notre solution proposée, en mettant en avant les avantages de l’utilisation de Laravel PHP, Bootstrap et
Git dans le développement d’une plateforme robuste, intuitive et sécurisée.
Certes, le bon fonctionnement de l’application et le respect du cahier des charges sont très importants,
mais la sécurisation de cette dernière est d’une importance majeure. Pour cela, elle a été prise en consi-
dération tout au long de la réalisation.
Ce rapport détaillera les différentes phases par lesquelles nous sommes passés afin d’aboutir à une ap-
plication fiable et satisfaisante. Le rapport définit le travail que nous avons effectué. Il est composé de
trois grandes parties. La première partie présente le contexte du projet et la spécification des besoins, la
deuxième est consacrée à la conception, et la dernière partie comporte les résultats obtenus.
7
Chapitre 1
Etude Préalable
1.1 Introductions
Un projet d’application de gestion de factures vise à développer une plateforme logicielle permettant aux
utilisateurs de gérer efficacement toutes les étapes liées à la gestion des factures, depuis leur création
jusqu’au suivi des paiements.
• Chaque comptable et financier peut gerer les factures ,les fournisseurs, les clients et
la listes des produits.
• Chaque comptable, financier et gestionnaire d’entreprise peut créer une nouvelle fac-
ture.
8
fournisseur.
• Chaque Gestionnaire d’Entreprise peut accéder au interface gérer par les Comptables
et les financiers.
• Chaque Gestionnaire d’Entreprise peut Modifier les droits d’accès privilèges d’un
comptable/financier.
• Chaque Gestionnaire d’Entreprise peut Modifier les droits d’accès privilèges d’un
comptable/financier.
Les besoins non fonctionnels sont indispensables et permettent l’amélioration de la qualité logicielle de
notre système. Ils agissent comme des contraintes sur les solutions, mais leur prise en considération fait
éviter plusieurs incohérences dans le système. Ce dernier doit répondre aux exigences suivantes :
1.4 Conclusion
9
Chapitre 2
Etude Conceptuel
2.1 Introduction
Dans ce chapitre nous présentons les méthodologies de conception que nous avons utilisée dans la concep-
tion de notre projet Donc nous présentons une spécification et une analyse des besoins en décrivant les
différents outils qui nous avons utilisés dans la conception de notre application web suivit d’une analyse
détaillé de besoins explicites et implicites du travail demandé ainsi les différents besoins opérationnel.
Nous enchainons alors avec l’architecture de notre application et par suite nous présentons les différents
diagrammes, à savoir les, de cas d’utilisation , de classe, afin de spécifier de façon détaillée les aspects
fonctionnels, dynamiques et statiques du système.
Dans le milieu du développement web, il existe plusieurs outils et langage de programmation. Nous
avons les Framework PHP (Laravel, Symfony, . . .), JAVA (Java Server Face, Google Web Kit, . . .), Py-
thon (Django, . . .). Le choix de l’outil de développement va beaucoup influer sur le projet et la manière
dont celui-ci sera développé, en fonction des avantages et des inconvénients des langages. Il convient
donc de les choisir en considérant la maîtrise de outils et les objectifs et fin du projet, pour éviter de
devoir changer de langage au cours du développement du projet, ce qui constituera une perte considé-
rable de temps. De plus des langages optimisés et facile à apprendre permettront d’avoir une meilleure
optimisation de la charge du CPU, ce qui aura pour conséquence de préserver le matériel et facilité la
maintenance. Après plusieurs recherche et réflexion nous avons décidé d’utiliser comme langage front-end
HTML , JavaScript (JQuery), CSS(Bootstrap) et comme langage de programmation back-end PHP.
L’Hyper Text Markup Language, généralement abrégé HTML, est le langage de balisage qui va nous
aider à représenter les pages web et d’écrire de l’hypertexte, d’où son nom. JavaScript est un langage de
programmation de scripts principalement employé dans les pages web interactives. Les feuilles de style
en cascade, généralement appelées CSS de l’anglais Cascading Style Sheets, forment un langage infor-
matique qui décrit la présentation des documents HTML et XML. Bootstrap est une collection d’outils
utiles à la création du design (graphisme, animation et interactions avec la page dans le navigateur,
etc.) de sites et d’applications web. PHP : Hypertext Preprocessor, plus connu sous son sigle PHP (sigle
auto-référentiel), est un langage de programmation libre, principalement utilisé pour produire des pages
10
Web dynamiques via un serveur HTTP.
Notre choix s’est porté sur ses outils de développement parce que nous les maîtrisons très bien déjà et
elles sont les mieux adapté pour notre projet.
L’objectif de la modélisation constituer de mieux comprendre le fonctionnement du système. Qui est une
application pour la gestion des factures.
L’architecture d’une application web présente traditionnellement trois niveaux (on parle d’architecture
à trois tiers) :
Tiers client qui correspondent à la machine sur laquelle l’application cliente est exécutée.
Tiers métiers qui correspondent à la machine sur laquelle l’application centrale est exécutée.
Tiers accès aux données qui correspondent à la machine gérant la stockage des données.
Chaque tiers doit être indépendant des autres et peut, par conséquent, être remplacé sans engendrer des
modifications dans les autres tiers.
Le « cycle de vie d’une application web »désigne toutes les étapes de développement d’une application,
de sa conception à sa disparition.
11
Ces modèles consistent en une succession de phases dont chacune est méthodiquement vérifiée avant de
passer à l’étape suivante :
• Conception détaillée Cette étape consiste à définir précisément chaque sous-ensemble de notre
application Web.
• Codage C’est la traduction dans un langage de programmation des fonctionnalités définies lors
de phases de conception.
• Tests Unitaires Ils permettent de vérifier individuellement que chaque sous-ensemble de l’appli-
cation Web est implémenté conformément aux spécifications.
• Intégration L’objectif est de s’assurer de l’interfaçage des différents éléments (modules) de l’ap-
plication Web. Elle fait l’objet de tests d’intégration consignés dans un document.
• Documentation Elle vise à produire les informations nécessaires pour l’utilisation de l’applica-
tion Web et pour des développements ultérieurs.
• Maintenance Elle comprend toutes les actions correctives (maintenance corrective) et évolutives
(maintenance évolutive) sur l’application Web.
12
2.4 Choix du langage de conception
Par rapport à toutes les méthodes orientées objets qui sont en utilisation, seule UML a la capacité de
satisfaire tous les besoins de conceptions requises par les entreprises et les sociétés informatiques.
En effet, Il unifie les notations nécessaires aux différentes activités d’un processus de développement et
offre en plus de ça les moyens d’établir le suivi des décisions prises depuis les spécifications jusqu’au
codage.
UML :(Unified Modeling Language) ou « Langage de Modélisation Unifié » Standardisé par l’OMG
(Object Management Group) est une notion basée principalement sur les méthodes des BOOCH (de
BOOCH), OMT de Rumbaugh et OOSE de Jacobson.UML a été proposé afin de standardiser les produits
de développement (modèle, notation, diagramme) sans standardiser le processus de développement qui
dépend des personnes, des applications, des cultures, etc.
UML se propose de créer un langage de modélisation utilisable à la fois par les humais (forme graphique)
et les machines (syntaxe précise). L’utilisation des modèles « UML » sert à :
Les langages orientés objet constituent chacun une manière spécifique d’implémenter le paradigme objet.
Ainsi, une méthode objet permet de définir le problème à haut niveau sans rentrer dans les spécificités
d’un langage. Il représente ainsi un outil permettant de définir un problème de façon graphique, afin par
exemple de le présenter à tous les acteurs d’un projet (n’étant pas forcément des experts en un langage
de programmation).
UML comporte 9 diagrammes standards représentant autant de "vues" d’un système d’information. Ces
diagrammes se répartissent en deux catégories : quatre représentent la structure statique de l’application ;
cinq représentent son comportement dynamique.
13
Vue Statique
Vue Dynamique
Definition :
Ce diagramme est destiné à représenter les besoins des utilisateurs par rapport au système. Il constitue
un de diagrammes le plus structurants dans l’analyse d’un système.
Acteur : représente un rôle joué par une personne qui interagit directement avec le système
étudié.
14
Cas d’utilisation (use case) : représente un ensemble des séquences d’actions qui sont
réalisées par le système et qui produisent un résultat observable intéressant pour un
acteur particulier. L’utilisation d’un diagramme de cas d’utilisation s’avère indispensables
pour décrire les besoins fonctionnels. Ces diagrammes permettent de décrire l’interaction
entre l’acteur et le système. C’est l’image d’une fonctionnalité de système déclenchée en
réponse à la stimulation d’un acteur externe.
Concepts de base :
Notre application fait intervenir quatre acteurs compte tenu du déroulement et de com-
plémentarité des opérations qui sont :
15
2.5.2 Diagramme de classe
Un diagramme de classe est un type de diagramme utilisé dans l’ingénierie logicielle pour
représenter la structure statique d’un système logiciel orienté objet. Il met en évidence les
classes du système, ainsi que leurs attributs, leurs méthodes et les relations entre elles. Les
diagrammes de classe sont essentiels pour la conception et la modélisation des systèmes
logiciels, car ils permettent aux développeurs de visualiser et de comprendre la structure
du système, ce qui facilite la communication et la collaboration entre les membres de
l’équipe de développement.
16
2.6 Conclusion
Dans ce chapitre j’ai présenté mon application Web par deux modèles(cas d’utilisa-
tion,classe) et diagrammes pour donner une idée globale pour rendre notre projet plus
claire et compréhensive sur les différentes cotés. Toutes ces taches vont être traduites sur
des interfaces qu’on va représenter dans le chapitre suivant.
17
Chapitre 3
Réalisation
3.1 Introduction
Cette section met l’accent sur les logiciels utilisés durant ce travail. Puis nous abordons
les différentes technologies mises en place.
Les principaux logiciels utilisé durant la conception de l’application pour la gestion des
factures sont :
• Visual studio code : Afin d’avoir une bonne aide au développement ainsi qu’une
bonne intégration des différents outils de python Visual Studio Code fut utilisé tout
au long du développement, c’est un éditeur de code extensible ses fonctionnalités
incluent la prise en charge du débogage, la mise en évidence de la syntaxe, la
complétion intelligente du code, les snippets, la refactorisation du code et Git intégré
et des extensions qui ajoutent des fonctionnalités supplémentaires.
18
• overleaf : Overleaf est une plateforme pratique pour les utilisateurs de LaTeX,
offrant des fonctionnalités de collaboration et une expérience d’édition en ligne
sans tracas.
• Adobe : utilisé pour le traitement des images utilisées tout le long du projet que
ce soit dans la conception du logo dans le rapport élaboration du cahier de charge
ou le développement de l’application.
• Star UML : StarUML est un outil de modélisation UML (Unified Modeling Lan-
guage) largement utilisé dans le domaine du développement logiciel. Il permet aux
développeurs de créer des diagrammes UML pour concevoir, visualiser et documen-
ter des systèmes logiciels.
19
Figure 3.5 – Power AMC
Laravel
Laravel est un framework web open-source écrit en PHP, conçu pour le développement
rapide et la création d’applications web modernes et évolutives. Il fournit une structure
robuste et des fonctionnalités puissantes pour simplifier le processus de développement
tout en maintenant la flexibilité et la maintenabilité du code.
PHP
Git
Pour la gestion de version, étant habitué à Git. Cet outil nous a permis tout au long du
PFE de garder trace des différentes évolutions de celui-ci. L’un des avantage de Git est
sa gestion aisée des branches. Cette fonctionnalité est très utile pour tester sans crainte
certaines approches et d’en garder une trace même si en l’état ces modifications ne sont
prêtes pour rejoindre le tronc commun.
20
Figure 3.8 – Git
bootstrap
Bootstrap est un framework front-end open-source développé par Twitter. Il fournit des
outils et des modèles pour la création d’interfaces web réactives et mobiles conviviales.
Bootstrap utilise HTML, CSS et JavaScript pour faciliter le développement de sites web
responsive et attrayants.
XAMP
Laragon
Laragon est une plateforme de développement local qui facilite la création et la gestion
d’environnements de développement web sur votre ordinateur. Contrairement à d’autres
solutions telles que XAMPP ou WAMP, Laragon est conçu pour être simple à installer
et à utiliser, tout en offrant des fonctionnalités avancées pour les développeurs.
21
Figure 3.11 – Laragon
22
• Phase de formation et de documentation (1 semaine) :
Élaboration de la documentation technique et des guides d’utilisation.
Formation des utilisateurs finaux sur l’application de gestion de projet.
Support post-déploiement.
• Phase de suivi et de maintenance (en cours) :
Suivi des performances de l’application en production.
Correction des bugs et des problèmes signalés.
Ajout de nouvelles fonctionnalités et améliorations selon les besoins des utilisateurs.
À la fin de notre projet, nous avons obtenu une application ’Scanf’ responsive, simple et
très accessible qui permet à l’utilisateur l’accès facile à des factures avec la possibilité de
les transférer et exporter la facture.
Après plusieurs tests réalisés par différents utilisateurs, nous avons corrigé tous les bugs
identifiés lors de nos tests.
3.3 Conclusion
23
Chapitre 4
Présentation de l’application
4.1 Introduction
Dans ce chapitre nous allons présenter quelques interfaces de notre application web pour
décrire leurs fonctionnements.
24
25
Figure 4.1 – Interface d’accueil
26
Figure 4.3 – Login de l’application
L’interface ci-dessous présente les statistiques des Factures selon l’état de paiement paye
ou non paye ou partiellemnt paye.
27
Figure 4.5 – L’ajout des produits
Les produits que nous avons inclus ont déjà été intégrés, et en ce qui concerne la Taxe
sur la Valeur Ajoutée (TVA), elle peut être calculée de manière automatique.
28
Figure 4.7 – la modification des produits
Cette interface nous présente la liste des listes de facture ainsi les différents opérations
que l’admin peut faire telles que l’ajout, la modification, la suppression des factures.
29
Figure 4.9 – Parametre des produits
Cette Interface ci-dessous represente la liste des factures ajouter par l’administrateur ou
par le fournisseure.
30
Cet image represente le code en xml pour exporter une facture.
Cette interface montre une facture qui a été entièrement payée. Tous les montants figu-
rant sur la facture ont été réglés, ce qui est indiqué par le statut "Payée" sur la facture.
Cette interface représente une facture qui n’a pas encore été payée. Le montant total
de la facture reste dû, comme indiqué par le statut "Impayée". Cela peut être dû à
diverses raisons, telles que le retard de paiement du client ou des problèmes financiers de
l’entreprise cliente.
31
Figure 4.13 – La facture impayee
Cette Interface la facture est partiellement payée, ce qui signifie qu’une partie du montant
total a été réglée, mais qu’il reste encore un solde impayé. Le statut "Partiellement Payée"
indique que le paiement partiel a été effectué, et le montant restant dû est spécifié sur la
facture.
32
4.7 Interfaces Utilisateurs
33
4.8 Les Roles
Ces interfaces nous présente la liste des listes des roles ainsi les différents opérations que
l’admin peut faire telles que l’ajout, la modification et les informations necessaire des
roles.
Cette Interface ci-dessous represente la liste des roles ajouter par l’administrateur ou par
l’utilisateur.
34
Figure 4.19 – la liste des roles
A partir de cet interfaces les différentes permissions disponibles dans l’application sont
affichées, permettant aux administrateurs de voir rapidement les autorisations accordées
à chaque rôle d’utilisateur.
35
Figure 4.21 – la liste des permissions
36
4.10 Notifications
Dans cette interface des notifications de l’application, les utilisateurs peuvent voir une
liste claire et organisée des différentes notifications qu’ils ont reçues. Chaque notification
peut être accompagnée d’un message informatif ou d’une action à prendre, offrant ainsi
une vue d’ensemble pratique des événements importants ou des mises à jour dans l’ap-
plication.
Dans cette interface les utilisateurs peuvent visualiser un rapport financier détaillé pré-
sentant diverses données telles que les revenus, les dépenses, les bénéfices et d’autres
indicateurs financiers clés, permettant ainsi une analyse approfondie de la santé finan-
cière de l’entreprise.
37
Figure 4.24 – rapport
Cette interface les utilisateurs ont la possibilité de rechercher des données spécifiques
dans le rapport financier en fonction du type de facture et de la date, offrant ainsi une
fonctionnalité de filtrage précise pour cibler les informations pertinentes.
Cette interface les utilisateurs peuvent également effectuer une recherche dans le rapport
financier en saisissant simplement le numéro de la facture, ce qui leur permet de trouver
rapidement des informations spécifiques sur une transaction particulière.
38
Figure 4.26 – Chercher appartir du numero de la facture
39
Conclusion Générale
Le projet de gestion des factures offre de nouvelles perspectives pour les entreprises en
termes d’organisation du travail et de qualité de service. Cette étude met en évidence que
la transition vers la gestion électronique des documents, notamment des factures papier,
nécessite des ajustements dans les processus et procédures des entreprises. Il est ainsi pri-
mordial de pouvoir gérer efficacement ces documents pour garantir une nouvelle manière
de travailler et d’atteindre des rendements améliorés.
Les résultats de cette étude sont bénéfiques tant pour les entreprises que pour les pro-
fessionnels des technologies de l’information et de la communication (TIC). Ces derniers
disposent désormais d’un outil pour répondre à l’une de leurs principales préoccupations,
à savoir la question du scan dans un environnement web.
En conclusion, il apparaît que la gestion des scanners reste d’actualité et que plusieurs
solutions ont été proposées pour sa mise en œuvre. Malgré quelques défis rencontrés, le
thème de cette étude offre l’avantage d’apporter aux entreprises une solution de gestion
des documents axée sur la réduction de l’utilisation du papier et capable de s’intégrer
aisément dans des solutions existantes, telles que l’utilisation d’un service web.
40
Webographie
41