Administration et sécurité ERP Laravel
Administration et sécurité ERP Laravel
Enfin, un grand merci à mes chers parents qui n’ont eu cesse à m’encourager
et m’assurer leur présence et affection durant l’élaboration de ce mémoire.
À tous , merci !
Anya.N
2
Dédicaces
Anya.N
3
Résumé
Une plate-forme ERP permet d’intégrer toutes les facettes de l’entreprise sous une suite
d’applications [Link] travail consiste à administrer et sécuriser cette dernière.
Pour ce faire, nous avons implémenté une application web en utilisant le framework Laravel.
Notre application permet la gestion des utilisateurs, des rôles et des permissions selon un
modèle de contrôle d’accès basé sur les rôles (RBAC).Elle comprend également une mini
application de gestion de la relation client (CRM) à travers laquelle nous illustrons la
capacité de l’administrateur à accorder les autorisations nécessaires aux utilisateurs sur des
ressources spécifiques.
4
Abstract
An Enterprise Resource Planning (ERP) allows you to integrate all facets of your
business into a suite of software [Link] this thesis we aim to provide a solution
to administer and secure this platform.
To do so, we implemented a web application using the Laravel framework, which allows the
management of users, roles and permissions according to a role-based access control model
(RBAC).The application includes a mini customer relationship management (CRM) through
which we illustrate the administrator's ability to easily grant the necessary permissions to
users on specific resources.
5
Liste des acronymes
BI Business Intelligence
IA Intelligence Artificielle
6
MRP II Manufacturing Resource Planning
RH Ressources Humaines
7
Liste des figures
● Figure 9 : Nombre de Smartphones vendus aux utilisateurs finaux dans le monde entre
2007 et 2020
8
● Figure 21 : Les diagrammes UML
● Figure 34 : Authentification
● Figure 36 : Accueil
9
Liste des tableaux
Tableau 4: Tableau descriptif des rôles au sein d’une entreprise commerciale et des niveaux
d’accès associés
10
Sommaire
Résumé……………………………………………………………………………………….4
Abstract……………………………………………………………………………………...5
Liste des acronymes………………………………………………………………………....6
Liste des figures……………………………………………………………………………...8
Liste des tableaux ………………………………………………………………………….. 10
Introduction ………………………………………………………………………………... 15
I. Plate-formes ERP………………………………………………………………... ....17
Introduction ……………………………………………………………………….. .17
A. Généralités sur les ERPs ……………………………………………………..17
1. Définition ………………………………………………………….....17
2. Histoire ……………………………………………………………....19
3. Architecture interne ……….... ……………………………………....20
4. Classification des solutions ……. ……………………………….......22
a) Open source et propriétaire ………………………………… 22
(1) ERP open source ……………………………………..22
(a) Définition …………………………………….22
(b) Avantages et inconvénients ………………….22
(2) ERP propriétaire ……………………………………..22
(a) Définition ……………………………………22
(b) Avantages et inconvénients ……………….....23
b) ERP généraliste, ERP vertical et ERP métier………………...23
(1) ERP généraliste………………………………………23
(2) ERP vertical………………………………………….23
(3) ERP métier…………………………………………...23
c) ERP monolithique et approche best of breed ……………….24
(1) ERP monolithique……………………………………24
(a) Définition…………………………………….24
(b) Avantages et inconvénients……………….....24
(2) Approche best of breed……………………………….25
(a) Définition……………………………………..25
(b) Avantages et inconvénients…………………..25
B. Segmentation du marché des ERPs………………………………………….26
1. Marché des ERPs Open Source……………………………………...26
a) Odoo…………………………………………………………26
2. Marché des ERPs propriétaires ……………………………………..27
a) SAP , Oracle et Microsoft …………..………………………28
C. RFID, Cloud , Mobilité , BI et ERPs………………………………………..29
1. Radio Frequency Identification (RFID)……………………………..29
2. ERP Cloud …………………………………………………………..30
3. ERP Mobile………………………………………………………….32
11
4. ERP et Business Intelligence………………………………………...34
Conclusion ………………………………………………………….35
12
d) Insufficient Transport Layer Protection……………………...53
Conclusion …………………………………………………..54
III. Analyse et Conception ……..………………………….…………………………...56
Introduction ………………………………………………………………………...56
A. Généralités sur l’UML……………………………………………………….56
1. UML………………………………………………………………....56
2. Diagrammes UML…………………………………………………...56
3. Diagramme de cas d’utilisation …………………………………….58
4. Diagramme de classes ……………………………………………….58
5. Diagramme de séquence……………………………………………..59
B. Analyse………………………………………………………………………60
1. Identification des acteurs ……………………………………………60
2. Spécification des besoins ……………………………………………63
3. Représentation des diagrammes de cas d’utilisation………………....64
a) Diagramme de cas d’utilisation global …………………....…64
b) Diagrammes des cas d’utilisation détaillés ………………….65
(1) Cas d'utilisation ‘PDG’……………………………....65
(2) Cas d'utilisation ‘Responsable commercial ’………...66
(3) Cas d'utilisation ‘Commercial’…………………..…..67
C. Conception…………………………………………………………………..68
1. Représentation des diagrammes de séquence………………………..68
a) Diagramme de séquence du cas d’utilisation ‘Modifier le mot
de passe’……………………………………………………..68
b) Diagramme de séquence du cas d’utilisation ‘Ajouter un
utilisateur ’…………………………………………………...69
c) Diagramme de séquence du cas d’utilisation ‘Ajouter un
rôle’..........................................................................................70
2. Représentation du diagramme de classe……………………………..71
3. Structure de la base de données……………………………………...72
Conclusion ………………………………………………………………….73
IV. Implémentation et réalisation ……………………………………………………..74
Introduction ………………………………………………………...………………75
A. Technologies de développement frontend…………………………………..75
1. HTML5……………………………………………………………...75
2. CSS3………………………………………………………………..76
3. JavaScript……………………………………………………………76
4. JQuery……………………………………………………………….76
5. Bootstrap 4…………….………………………………………….....77
6. Material design ……………………………………………………...78
13
2. PHP …………………………………………………………………79
3. MySQL ……………………………………………………………..79
4. Apache Server ………………………………………………………80
5. PhpMyAdmin ……………………………………………………….80
6. Laravel ……………………………………………………………..81
Conclusion et perspectives…………………………………………………………………88
Références bibliographiques ……………………………………………………………....89
14
Introduction
Les entreprises qui mettent en œuvre des systèmes ERP bénéficient de nombreux
avantages, notamment l'amélioration de la productivité, l’avantage concurrentiel, en
satisfaisant la demande des clients et en augmentant leur capacité de réaction rapide.
Notre travail consiste à développer une application web qui permette d’administrer et
sécuriser un ERP afin de contrôler l’accès aux différents éléments du système.
15
Chapitre 1 :
Plate-formes ERP
16
Introduction
Dans un premier temps, nous définirons le concept d'ERP, son évolution à travers le
temps ainsi que l'architecture interne des ERPs.
Par la suite nous classifierons les solutions ERP en plusieurs catégories, et nous
parlerons de la segmentation du marché des ERPs.
“Un ERP désigne une application informatique permettant à une entreprise de gérer et
d’optimiser l'ensemble de ses ressources.”[9]
Le terme français Progiciel de Gestion Intégré (PGI) ,n’est pas une traduction littérale
de l’abréviation ERP. Un PGI est un “ logiciel permettant de gérer l’ensemble des processus
d’une entreprise , en intégrant l’ensemble des fonctions de cette dernière, comme la gestion
des ressources humaines, la gestion comptable et financière, l’aide à la décision, mais aussi la
vente, la distribution, l’approvisionnement, le commerce électronique.”[14]
Le terme ERP s’apparente davantage à l’aspect fonctionnel tandis que le terme PGI a
une approche plus globale. [10]
Bien qu’il y ait une différence entre ces deux termes, ils sont employés comme des
termes synonymes.
17
2. Histoire des ERPs [8]
L'histoire des ERPs remonte aux années 1960, lorsque les premiers systèmes logiciels
basés sur l'automatisation de fonctions individuelles, furent inventés.
Parmi ces systèmes l’on peut citer les logiciels de gestion et contrôle des stocks ou (Inventory
Management and control) en [Link] derniers permettent de maintenir le niveau approprié
de stock dans un entrepôt.
En 1980, les MRPs ont évolué, et une nouvelle appellation fut attribuée à ces systèmes:
MRP II. Alors que le MRP concernait principalement les matériaux, le MRP II s'intéressait à
l'intégration de tous les aspects du processus de fabrication, y compris les matériaux, les
finances et les relations humaines.
18
C’est en 1990, que le terme "Enterprise Resource Planning" fut inventé par le
Gartner Group pour décrire la prochaine génération de logiciels MRP.
Cette fois l'objectif était d'intégrer toutes les facettes de l'entreprise sous une seule suite
d'applications logicielles.
Pendant cette période, les modèles de base des logiciels ERP ont été introduits et
intégrés dans la conception. Parmi ceux-ci figurait l'architecture Client/Serveur qui a permit
d'héberger des ressources telles que les bases de données, dans des lieux centraux, et de
distribuer des ressources, comme l'interface utilisateur à d'autres endroits.
Dans les années 2000, l’ERP II a été mis en place.L’ERP II permit l'accès à d'autres
fonctionnalités en dehors de l'entreprise,à savoir la gestion de la relation client (CRM1) et la
gestion de la chaîne d'approvisionnement (SCM).
En 2010, le cloud devint plus accessible et permit aux entreprises de profiter de ses
services notamment l’IaaS. Ce fut peut-être le plus grand coup de pouce à l'expansion et à
l'évolution des capacités des logiciels ERP, et ce grâce à la disponibilité universelle de
l'internet et au développement simultané des technologies basées sur le web. Cela a permit de
stocker, de gérer et d'accéder à des données, de n'importe où, grâce à une connexion Internet.
L’ERP cloud permet de bénéficier de toutes les fonctionnalités qu'un logiciel ERP peut
offrir sans avoir à acheter et à entretenir toute une infrastructure informatique.
La flexibilité de ces systèmes permet aux utilisateurs de gérer leurs entreprises à tout moment
et en tout lieu.
Selon l’étude, aucune des entreprises européennes ne prévoit d’avoir des déploiements ERP «
100% on-premise » (100% sur site) dans l’année à venir, les applications ERP étant de plus
en plus basées sur le Cloud...” Laurent Delattre
Les logiciels ERP ont grandement évolué. Les entreprises de toutes tailles et spécialités
ont la possibilité d'adapter ces systèmes à leurs besoins particuliers, ce qui leur permet
d'améliorer leur efficacité.
1
“Logiciel créé expressément pour permettre à une entreprise de fidéliser ses clients et d'accroître sa part du marché,
en intégrant à son système informatique la gestion des données relatives aux besoins et aux attentes de sa
clientèle.”[14]
19
3. Architecture interne d’un ERP
Exemple [5]
2
“the way that a particular type of work is organized, or the order of the stages in a particular
work process.” [Link]
20
● (3) Dans le cas où le produit n’est pas disponible une commande sera passée au
service de production.
● (4) Le service de gestion des stocks est à nouveau sollicité pour vérifier la
disponibilité de la matière première afin de lancer la production
● (5) Dans le cas où la matière première est indisponible il faudra prendre contact avec
des fournisseurs (vendeurs) .
● (6) Ensuite, la production est lancée.
● (7) Une fois la commande prête, elle est envoyée au service des ventes.
● (8) Le service des ventes se chargera de fournir le produit au client.
21
● (1) Quand le client passe sa commande auprès du commercial, le commercial est en
mesure de lui fournir une réponse en temps réel et ce grâce au fait qu'il ait accès aux
données du service de gestion des stocks .
● (2) Le commercial répond à la demande du client dans les délais, ce qui permet
d'améliorer les recettes et la satisfaction des clients.
(a) Définition
Un ERP Open Source ou ERP Libre en français, est un ERP dont le code
source est libre d’accès. Ce dernier est modifiable c’est à dire qu’il est possible
d’ajouter les fonctionnalités manquantes afin de satisfaire les besoins de l’entreprise
ou à l’inverse supprimer ce qui l’alourdit autrement dit les fonctionnalités dont
l’entreprise n’a pas besoin. Le code source de l’ERP Open source est réutilisable dans
les mêmes conditions que la licence d’origine.
(a) Définition
Est opposé à un ERP open source et désigne un ERP qui utilise un code propriétaire et
étroitement surveillé. Seuls les auteurs originaux de ce logiciel peuvent accéder, copier et
modifier ce logiciel. Dans le cas d'un logiciel propriétaire, Il faut avoir une licence ou un
abonnement afin de pouvoir utiliser l’ERP et cette licence/abonnement permet uniquement
d’utiliser le logiciel mais ne donne pas accès au code source.
22
(b) Avantages et inconvénients
Un ERP généraliste est un ERP standard , non modifiable , pouvant être adapté
aux besoins de n’importe quelle entreprise.
23
c) ERP monolithique ou ‘Best of breed’ [10]
(a) Définition
Un ERP monolithique est conçu selon une architecture monolithique,
autrement dit sous forme d’un seul bloc. Il peut être défini comme étant une
suite logicielle dont les composants sont interconnectés et interdépendants.
Avantages et inconvénients
Avantage
Le plus grand avantage de cette approche est de loin l'intégration
complète des données entre les différentes fonctions. L’approche
monolithique a d’autres avantages, l’on peut citer : interface utilisateur unique
ce qui simplifie la familiarisation des employés avec la solution proposée
,soutien d'un fournisseur unique pour faciliter la gestion ...
Inconvénients
L'inconvénient de cette approche est que, très souvent, une seule suite
ne peut répondre de manière adéquate à des fonctions essentielles spécifiques.
Les inconvénients supplémentaires sont les suivants :
● La personnalisation est plus difficile.
● La viabilité des fournisseurs est un risque d’où l’importance de choisir
le bon fournisseur.
● L'entreprise est liée à un seul fournisseur pour l'assistance et la
maintenance.
24
(2) Approche best of breed
(a) Définition
La stratégie "Best-of-Breed" consiste à sélectionner le produit qui
répond le mieux aux exigences de l’entreprise .Ce produit étant en général un
logiciel spécialisé dans un domaine précis et lié à l’ERP par le biais de
connexions statiques ou dynamiques.
25
B. Segmentation du marché des ERPs
Après avoir classé les solutions ERP en plusieurs catégories nous allons voir quels sont
les principaux acteurs des deux catégories suivantes : les EPPs open source et les ERPs
propriétaires.
a. Odoo [20]
[20]
Odoo est une suite intégrée d'applications comprenant de nombreux modules qui
permettent de répondre aux besoins de gestion des entreprises.
Odoo, l'ERP open source le plus populaire est écrit en python, il est compatible avec les
systèmes d'exploitation suivants : Linux, type Unix, MacOs et Microsoft Windows.
Odoo est basé sur une architecture MVC et utilise une base de données PostgreSQL.
Les 4 applications principales de l’ERP Odoo sont : les Sites web, les ventes, les
opérations et les outils de productivité.
Avec 31 modules (Ventes, CRM, RH, comptabilité, Inventaire, etc.) répartis sur 4
applications cette solution dispose d'une large couverture fonctionnelle lui permettant ainsi de
s'intégrer à toute taille et toute sorte d'entreprise.
De plus Odoo propose une version community gratuite sous licence LGPLv3, ainsi
qu’une version entreprise sous licence propriétaire Odoo Enterprise Edition License v1.05.
26
2. Marché des ERPs propriétaires
a. SAP , Oracle et Microsoft
Tableau 1: Descriptif des solutions ERPs de SAP , Oracle et Microsoft [12] [21] [23]
27
En 2012, le système logiciel SAP contrôlait environ 25 % de part du marché des ERP.
Contre 13% pour Oracle et 5% pour Microsoft Dynamics. [5]
En 2019 , SAP reste le leader des ERPs , Microsoft Dynamics se place en deuxième
position et Oracle en troisième position du classement . [5]
SAP [5]
● Part importante du marché
● Taux de présélection élevé
● La plus longue période de remboursement
Oracle [5]
● Taux de sélection le plus élevé lors de la présélection
● Durée de mise en œuvre la plus longue
● Le plus grand delta entre la durée prévue et la durée réelle de la mise en œuvre
● Le plus faible pourcentage d'utilisateurs ayant réalisé entre 81 et 100 % des bénéfices
28
C. RFID, Cloud , Mobilité et Business Intelligence (BI)
Les technologies de la BI transforment les données des systèmes ERP afin d’en extraire
de précieuses informations et aider à la prise de décisions.
Le Cloud computing ou informatique dans les nuages ainsi que les appareils mobiles
modifient le lieu de stockage des données et les rendent plus accessibles.
29
2. ERP Cloud
"Le Cloud Computing, désigne l'utilisation de serveurs distants (en général accessibles
par Internet) pour traiter ou stocker l'information. L'accès se fait le plus souvent à l'aide d'un
navigateur Web."[3]
Un ERP est dit ERP Cloud s’il satisfait les principales caractéristiques du Cloud
Computing.
Un système ERP Cloud doit être accessible via le navigateur de l’utilisateur et sans que
l’utilisateur n’ait besoin d’installer ni de configurer l’ERP.
Un ERP Cloud est fourni par le SaaS ( Software as a Service ). Avec le SaaS les
fournisseurs de services Cloud, hébergent et gèrent les applications logicielles et
l’infrastructure sous-jacente et gèrent également la maintenance.
Maintes solutions ERP sont proposées sur le marché, mais la solution la plus connue est
SAP Business By Design fournie par SAP, leader des éditeurs d'ERP.
Selon l’étude menée par google [11] , le cloud joue déjà un rôle clé dans la technologie
d'entreprise, mais les dix prochaines années le verront passer au premier plan, avec un soutien
important des dirigeants. Voici comment ces données se répartissent dans le monde entier.
3
réf : [Link]
30
Figure 7 : Utilisation du cloud en entreprise [11]
La solution ERP Cloud présente de nombreux avantages [6], l’on peut citer :
Implémentation rapide :
Les CNPs (Cloud Services Providers) , fournisseurs de services Cloud proposent
diverses solutions pouvant satisfaire les besoins des entreprises , c’est pourquoi l’entreprise
pourra rapidement mettre en place l’ERP , en choisissant l’offre la plus adéquate.
La scalabilité :
L’un des principaux atouts des services cloud est l'élasticité, les entreprises peuvent
augmenter ou réduire les ressources qu’elles utilisent selon leurs besoins.
31
Amélioration de la disponibilité du système et de la reprise après sinistre :
CSPs fournissent des politiques et des plans bien définis pour la sauvegarde, la
restauration, et toutes les autres fonctions qui concernent la disponibilité et la reprise après
sinistre.
3. ERP Mobile
L'ERP mobile est utilisé par les entreprises voulant garantir un accès rapide, sécurisé et
en temps réel à leurs données professionnelles en utilisant un terminal mobile.
L'utilisation d'un ERP mobile est bénéfique à tous les niveaux : elle permet de faciliter
les relations commerciales, la gestion de l’entreprise et garantir la disponibilité des données
nécessaires à l'accomplissement des tâches des employés nomades.
L'impact positif de l'ERP mobile est indéniable, une étude menée par CDW sur 752
sociétés a révélé que 94% de ces entreprises affirment que leurs appareils mobiles les rendent
plus efficaces.
Les principaux avantages de l'ERP Mobile sont les suivants :
● Un meilleur pilotage :
Une solution ERP Mobile facile le pilotage et la prise de décisions et ce en mettant à
la disposition des équipes, les informations nécessaires y compris lorsqu'elles ne sont
pas au bureau
● Améliorer la performance
Les employés peuvent accéder à l'information critique en tous lieux et à tout moment,
ainsi ils pourront effectuer des opérations CRUD en temps-réel et ne pas attendre
d'être en entreprise pour le faire.
● Implémentation :
32
Les statistiques (figure 9) indiquent le nombre de Smartphones vendus aux utilisateurs
finaux dans le monde entier entre 2007 et 2020. En 2018, environ 1,56 milliard de
Smartphones ont été vendus dans le monde.
Figure 9 : Nombre de smartphones vendus aux utilisateurs finaux dans le monde entre
2007 et 2020
4
réf : [Link]
5
réf : [Link]
33
6
Une solution BI, aide les entreprises à regrouper des sources disparates à savoir : les
données des systèmes de gestion de la relation client (CRM), les informations sur la chaîne
logistique, les tableaux de bord des performances commerciales, les analyses marketing et les
données d'appel des centres de contact, en une seule interface unifiée fournissant des rapports,
des tableaux de bord et des analyses en temps réel.
La solution ERP Cloud de SAP pour les entreprises moyennes en croissance, unifie
toutes les fonctions essentielles dans une suite logicielle.
Avec plus de 500 rapports standards proposés par SAP plus particulièrement à travers sa
solution Business ByDesign, les utilisateurs disposent d’une vue claire et des mesures
nécessaires à la prise de décisions.[23]
6
réf : [Link]
34
Conclusion
Ce chapitre nous aura permit d'aborder le concept d'ERP dans sa globalité.
Nous avons identifié les solutions qui s'offrent à nous en matière d'ERP ainsi que les acteurs
phares du marché des ERPs Open Source ( Odoo ) et des ERPs propriétaires à savoir : SAP ,
Oracle , Microsoft Dynamics , les points forts de ces solutions furent abordés et une
comparaison entre elles fut établie.
Enfin, nous avons présenté les technologies RFID, Cloud ,Mobilité et Business
Intelligence (BI) et vu comment ces dernières contribuent à l'amélioration du fonctionnement
des ERPs.
35
Chapitre 2 :
Administration et sécurité
des plate-formes ERPs
36
Introduction
Dans ce chapitre, nous commencerons par aborder des généralités sur la sécurité
informatique, nous verrons les principaux services et mécanismes de la sécurité.
Dans la seconde partie, il s’agira de définir ce qu’est une politique de contrôle d’accès
ainsi que les concepts de base de cette dernière. Nous nous intéresserons également aux types
de politiques de contrôle d’accès les plus répondus.
Enfin, la troisième partie sera consacrée à la sécurité des applications web, nous
verrons les risques liés à la sécurité de ces dernières ainsi que les vulnérabilités communes de
ces applications.
La sécurité informatique, c’est l’ensemble des moyens mis en œuvre pour minimiser la
vulnérabilité d’un système informatique contre des menaces accidentelles ou intentionnelles
[4].
(2) Confidentialité
La confidentialité consiste à assurer que seules les personnes autorisées puissent
accéder aux ressources. Les mécanismes de confidentialité protègent les informations
sensibles contre toute divulgation non autorisée.
37
(4) Intégrité et non répudiation
L’intégrité a pour objectif de garantir que les données soient bien celles que l’on
croit être. La non-répudiation garantit que l'occurrence d’une transaction ne puisse
être niée.
(5) Disponibilité
Propriété permettant de maintenir le bon fonctionnement du système en
garantissant que le système ou la ressource soit accessible et utilisable suite à la
demande d’une entité autorisée.
Les mécanismes de sécurité sont des mécanismes conçus pour détecter, prévenir ou
contrer les attaques de sécurité.
Il existe plusieurs mécanismes de sécurité [4], l’on peut citer le cryptage, la signature
numérique, l’échange d'authentification, l’horodatage, l’utilisation de pare-feu, etc.
(1) Cryptage
Consiste à utiliser des algorithmes mathématiques pour transformer les messages en
forme inintelligible.
Exemple :
OpenSSL [1] : une implémentation open source des protocoles SSL et TLS. Cette
bibliothèque met en œuvre des fonctions cryptographiques de base et fournit diverses
fonctions utilitaires.
Au lieu de transmettre les paquets en texte clair, il permet de crypter les informations à
l'aide d'un algorithme puissant. La source et la destination effectuent un ‘handshake’ et se
mettent d'accord sur une clé longue et compliquée qui sera utilisée pour décrypter les données
lorsqu'elles arrivent à destination en toute sécurité.
Par conséquent, même si un attaquant accède à un dispositif de connexion et lit les
paquets qui y transitent, il lui sera très compliqué de les décrypter.
38
(3) Échange d’authentification
L’échange d’authentification est un mécanisme assurant l’identité d’une entité à travers
un échange d’information.
(4) Horodatage
L’horodatage est l’association d’une date et une heure à un événement une information
ou une donnée informatique afin de garder une trace de son occurrence.
Un pare-feu pour applications web (WAF) protège les applications web contre diverses
attaques de la couche applicative, telles que le cross-site scripting (XSS), l'injection SQL et
l'empoisonnement des cookies. L’utilisation d’un WAF permet de bloquer les attaques qui
visent à exfiltrer les données. [13]
7
réf :[Link]
39
Le WAF protège les applications web en filtrant, surveillant et bloquant tout trafic
HTTP/S malveillant circulant vers l'application web, et empêche toute donnée non autorisée
de quitter l'application[13].
Les WAFs peuvent se présenter sous la forme d'un logiciel, d'un appareil ou d'un
service. Les politiques peuvent être personnalisées pour répondre aux besoins uniques des
applications web ou ensemble d'applications web.
« L’ensemble des lois, règles et pratiques qui régissent la façon dont l’information
sensible et les autres ressources sont gérées, protégées et distribuées à l’intérieur d’un
système spécifique » ITSEC .
2. Concepts de base
Les concepts de base d’une méthode de contrôle d’accès sont les sujets, les objets et
les actions.
Les sujets représentent les entités actives du système, c'est-à-dire des utilisateurs ou
des processus. Ils accèdent aux objets, entités passives du système (données ou services) à
travers l’utilisation de méthodes d’accès aux objets, c'est-à-dire les actions lecture , écriture,
exécution….
40
3. Types de politiques de contrôle d’accès [2]
Nous allons introduire les trois principaux types de contrôle d’accès: DAC , MAC ,
RBAC .
Autrement dit, le DAC est un modèle de contrôle d'accès basé sur l'identité qui offre
aux utilisateurs un certain contrôle sur leurs données. Les propriétaires des données (ou tout
utilisateur autorisé à contrôler les données) peuvent définir des autorisations d'accès pour des
utilisateurs ou des groupes d'utilisateurs spécifiques.
Les autorisations d'accès pour chaque élément de données sont stockées dans une liste
de contrôle d'accès (ACL). Une ACL comprend les utilisateurs et les groupes qui peuvent
accéder aux données et les niveaux d'accès qu'ils peuvent avoir.
● (1) L'utilisateur 1 crée un fichier et devient son propriétaire ou obtient des droits
d'accès à un fichier existant.
● (2) L'utilisateur 2 demande l'accès à ce fichier.
41
● (3) L'utilisateur 1 accorde l'accès à la ressource en question. Cependant, l'utilisateur 1
ne peut pas accorder des droits d'accès qui dépassent les siens. Par exemple, si
l'utilisateur 1 ne peut que lire un fichier, il ne peut permettre à l'utilisateur 2 de le
modifier.
● (4) S'il n'y a pas de contradiction entre l’ACL créée par l’administrateur et la décision
prise par l'utilisateur 1, l'accès est accordé.
“ means that access control policy decisions are made by a central authority, not by the
individual owner of an object. User cannot change access rights. An example of MAC occurs
in military security, where an individual data owner does not decide who has a top-secret
clearance, nor can the owner change the classification of an object from top-secret to secret.”
NIST
“A means of restricting access to system resources based on the sensitivity (as represented
by a label) of the information contained in the system resource and the formal authorization
(i.e., clearance) of users to access information of such sensitivity.” NIST
Avec le modèle MAC c’est le système qui fournit aux utilisateurs un accès basé sur la
confidentialité des données et les niveaux d'autorisation des utilisateurs.
Reprenons l’exemple évoqué dans la partie ‘contôle d’accès de type DAC’ , mais cette
fois en utilisant le modèle MAC.
42
Figure 13 : Illustration du contrôle d’accès de type MAC
43
c) Role Based Access Control (RBAC) [19]
Le contrôle d'accès basé sur les rôles (RBAC) est une méthode de contrôle d'accès
basée sur la définition des rôles des employés et des privilèges correspondants au sein de
l'organisation. Le principe de ce modèle est que chaque employé se voit attribuer un rôle.
Un utilisateur peut être affecté à un ou plusieurs rôles. Lors de l’ajout d’un nouvel
employé, l'attribution d’un rôle est facile. Et lorsqu'une personne quitte l'entreprise, nul
besoin de modifier les paramètres du rôle.
● Un utilisateur ne peut exécuter une opération que si un rôle lui a été attribué.
● L'identification et l'authentification ne sont pas considérées comme des opérations.
● Toutes les activités de l'utilisateur sont effectuées par le biais d'opérations.
44
(3) Le modèle NIST-RBAC [19]
Le RBAC plat est une implémentation des fonctionnalités de base du modèle RBAC.
Des rôles sont attribués à tous les utilisateurs. Les utilisateurs obtiennent les autorisations
dont ils ont besoin en acquérant ces rôles. Il peut y avoir autant de rôles et d'autorisations que
l'entreprise en a besoin. Un seul utilisateur peut se voir attribuer plusieurs rôles, et un rôle
peut être attribué à plusieurs utilisateurs.
Le RBAC hiérarchique, comme son nom l'indique, met en œuvre une hiérarchie au sein
de la structure des rôles. Cette hiérarchie établit les relations entre les rôles. Les utilisateurs
ayant des rôles supérieurs acquièrent les autorisations de tous les rôles inférieurs, qui sont
attribués à leurs subordonnés. La complexité de la hiérarchie est définie par les besoins de
l'entreprise.
45
(c) Constrained RBAC
Permet d'identifier les autorisations attribuées aux rôles existants (et vice-versa). Par
exemple, en identifiant les permissions d'un employé licencié, l'administrateur peut révoquer
les permissions de l'employé et ensuite réattribuer le rôle à un autre utilisateur ayant le même
ensemble de permissions ou un ensemble différent.
46
C. Sécurité des applications web
Une application web est une application hébergée sur un serveur et accessible à travers
un navigateur web et dont l’utilisation ne requiert pas d'installation sur les machines clientes.
Les applications web sont programmées avec les mêmes technologies que les sites web tout
en offrant une expérience utilisateur et des fonctionnalités similaires à celles des logiciels.
8
réf : [Link]
47
2. Risques liés à la sécurité des applications [1]
Deuxièmement, les pirates informatiques ciblent de plus en plus les applications web
depuis que les éditeurs de logiciels sont devenus plus vigilants et écrivent un code sécurisé et
veillent à distribuer des correctifs pour contrer les formes traditionnelles d'attaques.
Les applications deviennent la cible d'attaques lorsque les réseaux et les points d'entrée
au niveau de l'hôte deviennent relativement sûrs.
L’OWASP a répertorié les failles de sécurité les plus répondues dans les applications
web afin d’aider les entreprises à améliorer la sécurité de leurs applications web et à réduire
les vulnérabilités de ces dernières.
Liste des 10 failles de sécurité des applications web les plus courantes [16]
Risque Description
Injection Une faille de type injection, comme une injection SQL, une injection
de commande système, ou une injection LDAP, se produit quand une
donnée non fiable est envoyée à un interpréteur en tant qu'élément d'une
commande ou d'une requête. Les données hostiles de l'attaquant peuvent
duper l'interpréteur afin de l'amener à exécuter des commandes fortuites ou
accéder à des données non autorisées.
48
Exposition de Beaucoup d'applications web et d'APIs ne protègent pas correctement
données les données sensibles (données bancaires,données personnelles
sensibles d'identification). Les pirates peuvent alors intercepter ou modifier ces
données mal protégées pour effectuer une usurpation d'identité par
exemple. Les données sensibles méritent une protection supplémentaire
,ainsi que des précautions particulières lors de l'échange avec le navigateur.
Violation de Les restrictions sur les droits des utilisateurs authentifiés sont souvent
contrôle d'accès mal appliquées. Les attaquants peuvent exploiter ces failles pour accéder à
des fonctionnalités et/ou des données non autorisées. Par exemple, accéder
aux comptes d'autres utilisateurs, visualiser des fichiers sensibles, modifier
les données d'autres utilisateurs, modifier les droits d'accès, etc.
49
Utilisation de Les composants, tels que les bibliothèques, frameworks et autres
composants modules logiciels, fonctionnent avec les mêmes privilèges que
présentant des l'application. Si un composant vulnérable est exploité par une attaque, cela
vulnérabilités peut entraîner de graves pertes de données ou la compromission du
connues serveur. Les applications et les API utilisant des composants dont les
vulnérabilités sont connues peuvent compromettre leurs défenses et
permettre diverses attaques.
Journalisation & La plupart des études de failles montrent que le temps nécessaire pour
Surveillance détecter une faille est supérieur à 200 jours. Généralement, cette faille est
insuffisantes détectée par des parties externes plutôt que par une surveillance ou des
processus internes.
Tableau 3 : Classement OWSAP des failles de sécurité les plus courantes [16]
Selon le Web Application Security Consortium, les vulnérabilités les plus répondues
sont le Cross-Site Scripting, la fuite d'informations, les injections SQL, et la protection
insuffisante de la couche transport. La figure 19 montre le pourcentage des vulnérabilités
communes des applications web. Dans cette section, nous allons décrire brièvement chaque
type de vulnérabilité ainsi que les mécanismes de protection. [1]
9
réf : [Link]
50
a) SQL injection
L'injection SQL est une technique de piratage web exploitant une faille de sécurité
présente dans une application interagissant avec une base de données.
Une attaque par injection SQL consiste à insérer ou "injecter" une requête SQL via les
données d'entrée du client dans l'application.
Une SQLi (SQL injection) réussie permet à l'attaquant de lire des données sensibles à
partir de la base de données, modifier les données qui s'y trouvent (Insérer/ Mettre à jour /
Supprimer) , exécuter des opérations d'administration sur la base de données (telles que l'arrêt
du SGBD), l'attaquant pourra également , récupérer le contenu d'un fichier donné présent sur
le système de fichiers du SGBD et dans certains cas envoyer des commandes au système
d'exploitation.[16]
Mécanismes de protection
Le cross-site Scripting est une faille de sécurité des sites web qui permet d'injecter un
code malveillant dans une page web , provoquant des actions sur les navigateurs web utilisés
pour visiter la page, parce qu'ils pensent que le script provient d'une source fiable, le script
malveillant peut accéder aux cookies, jetons de session ou autres informations sensibles
conservées par le navigateur et utilisées avec ce site[16]. Ces scripts peuvent même réécrire le
contenu de la page HTML. Des failles dans le développement des applications web
permettent à ces attaques d'être exécutées principalement lorsqu'il y a un échange de données
entre les utilisateurs et les serveurs. Il existe trois formes de XSS, qui visent généralement les
navigateurs des utilisateurs : XSS réfléchi ,XSS stocké, DOM XSS.[13]
51
Mécanismes de sécurité et prévention :
● Utiliser des frameworks implémentant des techniques de protection contre les attaques
XSS tel que React JS. Il faut aussi penser à lister les limites des mécanismes de
protection implémentés par ces Framework et trouver des solutions pour les prendre
en charge.
● Appliquer des techniques d'échappement aux données des requêtes HTTP non sûres.
L’utilisateur doit lui aussi adopter les bonnes pratiques afin de se protéger des attaques XSS.
● Choisir le bon navigateur : les attaquants ont tendances à cibler les navigateurs les
plus utilisés.
● Booster la sécurité du navigateur : Il existe certains programmes et outils pour
améliorer la sécurité des navigateurs tels que NoScript,GoogleToolbar...
● Désactiver certaines fonctionnalités : JavaScript, Java, Active X, JScript, VBScript,
Flash et QuickTime sont tous potentiellement dangereux.
● Eviter de cliquer sur les liens inclus dans des emails, se méfier des URL trop longs et
faire attention aux liens issus de l’utilisation de link shorteners.
La fuite d'informations permet à une application de révéler des données sensibles tels
que les détails techniques de cette dernière, des commentaires de développeurs,
l'environnement ou encore des données spécifiques à l'utilisateur. Ces données sensibles
peuvent ensuite être utilisées par un attaquant afin d’exploiter l'application cible, son réseau
d'hébergement ou ses utilisateurs.
Les informations sensibles peuvent être présentes dans les commentaires HTML, les
messages d'erreur, le code source ou simplement laissées à la vue de tous. Bien que la fuite
d'informations ne représente pas nécessairement une faille de sécurité, elle donne à un
attaquant des indications utiles pour son exploitation future.
52
● Choisir les bons algorithmes et générer des clés robustes.
● Chiffrer l’ensemble des données transmises avec des protocoles sécurisés.
● Veiller à désactiver le cache pour les réponses contenant des données sensibles.
● Utiliser des fonctions de hachage puissantes lors du stockage des mots de passe.
Elle est définie comme étant une faiblesse de la sécurité causée par une application ne
prenant aucune mesure pour protéger le trafic du réseau.
Secure Socket Layer (SSL) est le protocole original qui a été utilisé pour assurer le
cryptage du trafic HTTP, sous la forme de HTTPS. Deux versions publiques de SSL
existaient- les versions 2 et 3 présentent de graves faiblesses cryptographiques, ces deux
version ne devraient plus être utilisées. Pour diverses raisons, la version suivante du protocole
à savoir (SSL 3.1) a été appelée Transport Layer Security (TLS) version 1.0. Par la suite, les
versions 1.1, 1.2 et 1.3 de TLS ont été publiées. Les termes "SSL", "SSL/TLS" et "TLS" sont
utilisés de manière interchangeable et, dans de nombreux cas, "SSL" est utilisé pour désigner
le protocole TLS, le plus moderne.
53
Conclusion
Dans ce chapitre, nous avons commencé par introduire quelques concepts de base de
la sécurité informatique.
Ensuite, nous avons abordé la notion de contrôle d’accès, qui permet de restreindre
l’utilisation du système, par le biais de l’attribution de permissions aux utilisateurs identifiés
et authentifiés.
Les applications web présentent des failles de sécurité, nous avons donc cité les
vulnérabilités communes de ces dernières à savoir le cross scripting, la fuite d’informations,
les injections SQL et la protection insuffisante de la couche transport.
Ce qui suit est axé sur l’intégration du modèle de contrôle d’accès RBAC dans les
diagrammes UML afin de concevoir l’application qui permettra d’administrer et sécuriser la
plate-forme ERP.
54
Chapitre 3 :
Analyse et conception
55
Introduction
Enfin, la troisième partie sera axée sur la conception : les diagrammes de classes ainsi
que les diagrammes de séquence et la structure de la base de données seront présentés.
1. UML
2. Diagrammes UML
56
Figure 20 : Les vues UML
Il existe plusieurs types de diagrammes UML et chacun d'entre eux sert un objectif
différent, qu'il soit conçu avant la mise en œuvre ou après (dans le cadre de la
documentation).
Les trois catégories les plus larges qui englobent tous les autres types sont : la catégorie
des diagrammes UML comportementaux, diagrammes UML structurels et diagrammes UML
d'interaction. Comme leur nom l'indique, certains diagrammes UML tentent d'analyser et de
représenter la structure d'un système ou d'un processus, tandis que d'autres décrivent le
comportement du système, de ses acteurs et de ses composants.
57
Les 14 différents types de diagrammes UML ne sont pas tous utilisés régulièrement
pour documenter des systèmes et/ou des architectures. [18]
Les diagrammes les plus fréquemment utilisés dans le développement de logiciels sont les
suivants les diagrammes de cas d'utilisation, les diagrammes de classes et les diagrammes
de séquence.
Acteurs : ils interagissent avec le système ; un acteur peut être un être humain, une
organisation ou une application interne ou externe
Relations entre les acteurs et les cas d'utilisation : représentées par des flèches droites.
4. Diagramme de classes
Les diagrammes de classes contiennent les classes, ainsi que leurs attributs (également
appelés champs de données) et leurs comportements (également appelés fonctions). Plus
précisément, chaque classe a 3 champs : le nom de la classe en haut, les attributs de la classe
juste en dessous du nom, les opérations/comportements de la classe en bas. La relation entre
les différentes classes (représentée par une ligne de connexion), constitue un diagramme de
classe.
58
5. Diagramme de séquence [18]
Comme leur nom l'indique, les diagrammes de séquence décrivent la séquence des
messages et des interactions qui se produisent entre les acteurs et les objets. Les acteurs ou les
objets ne peuvent être actifs qu'en cas de besoin ou lorsqu'un autre objet veut communiquer
avec eux. Toute communication est représentée de manière chronologique.
● Acteurs du système
● Objets du système
● Messages ( cas d’utilisation, appels d’opération)
Représentation
Les lignes verticales représentent la ‘vie’ de chaque entité , tandis que les lignes
horizontales représentent les échanges de messages avec le système ou au sein du
système.
59
B. Analyse
L’analyse des besoins est une étape importante du cycle de développement d’un
logiciel, elle nous permet de définir les besoins fonctionnels et non fonctionnels du client
ainsi que les utilisateurs qui interagissent avec notre application.
60
Rôle Définition Niveau d’accès
10
réf : [Link]
61
VP Vente et Marketing Directeur commercial + Directeur
“Un vice-président, abrégé en Marketing
VP, est une personne
travaillant pour un
gouvernement, une entreprise,
une institution ou une
association, et dont le rôle est
d'occuper le poste du président
lorsque celui-ci ne peut pas
l'exercer.” [13]
Dans le cas de l’ERP nous
pouvons assimiler ce rôle à
l'administrateur d’un module
particulier. Exemple la partie
vente et marketing.
Tableau 4 : Descriptif des rôles au sein d’une entreprise commerciale et des niveaux d’accès
associés
Dans le cadre de notre travail, nous allons nous intéresser à la partie relative à la gestion de la
relation client. Pour ce faire, nous allons implémenter une mini application CRM.
Lors de l’étape d’analyse et conception, nous focaliserons nos efforts sur les rôles suivants :
´PDG’, ´Responsable commercial’ et ´Commercial’. Les besoins de ces derniers seront
détaillés dans ce qui suit.
62
2. Spécification des besoins
Besoins fonctionnels
Les rôles PDG , responsable commercial et commercial, illustrent la hiérarchie des rôles au
sein d’une entreprise, de ce fait , chacun d’eux aura des besoins spécifiques selon son niveau
de responsabilité.
63
3. Représentation des diagrammes de cas d’utilisation
64
b) Diagrammes des cas d’utilisation détaillés
65
(2) Cas d’utilisation ‘Responsable commercial’
66
(3) Cas d’utilisation ‘Commercial’
67
C. Conception
68
b) Diagramme de séquence du cas d’utilisation ‘Ajouter un utilisateur ’
69
c) Diagramme de séquence du cas d’utilisation ‘Ajouter un rôle’
70
2. Représentation du diagramme de classe
Utilisateurs
Rôles
La fonction ou titre de travail d’une personne dans une entreprise peut être appelé un
"rôle". Mais un rôle a une définition plus technique dans le RBAC : il s'agit d'un ensemble
clairement défini de capacités, ou d'autorisations, à utiliser dans les systèmes de l'entreprise.
Chaque utilisateur interne se voit attribuer au moins un rôle, et certains peuvent avoir
plusieurs rôles.[2]
Permissions
Dans le contexte du contrôle d'accès, une permission est la capacité d'effectuer une
action sur un ou plusieurs objets du système.[2]
Sessions
La session représente une période de temps pendant laquelle l’utilisateur est connecté
au système. L’utilisateur se voit attribuer un ou plusieurs rôles (exprimé à travers
l’association entre rôles et utilisateurs), qui lui octroient des permissions spécifiques. Les
permissions dont bénéficie l’utilisateur durant la session sont la somme des permissions des
rôles activés durant cette dernière. [2]
71
3. Structure de la base de données
72
Conclusion
Dans ce chapitre nous avons établi une description graphique du projet à travers
l’utilisation du langage de modélisation UML et ses diagrammes.
D’abord, nous avons identifié les principaux rôles au sein de l’entreprise et nous en
avons sélectionné trois (PDG, responsable commercial, commercial). À travers l’utilisation
des diagrammes de cas d’utilisation, nous avons analysé les exigences du système.
Puis nous avons utilisé le diagramme de classes pour présenter les principales classes
du système et les relations entre elles. Les diagrammes de séquence quant à eux, furent
utilisés afin de décrire les principales interactions entre les acteurs et le système.
Enfin, après avoir analysé les besoins de l’utilisateur et conçu les diagrammes
nécessaires, nous pouvons passer à l’étape suivante qui est la réalisation.
73
Chapitre 4 :
Implémentation
et réalisation
74
Introduction
1. HTML5
11
HyperText Markup Language (HTML) est un langage qui permet de créer des pages
web et mettre en forme leur contenu en utilisant des balises, d’où le nom langage de balisage.
L’HTML5 fut introduit en 2014 par Word Wide Web Consortium (W3C) est la dernière
version disponible à ce jour.
Pour palier à ce problème des balises spécifiques ont été introduites : ( <section>,
<nav>, <article>, <aside>, <header>, <footer> ,<main>), des éléments prenant en charge le
contenu multimédia :<audio> et <video>, mais aussi des APIs qui intègrent des objets
JavaScript : Canvas , Drag-and-Drop , Offline-Applications, Géolocation.
11
réf: [Link]
75
2. CSS3
12
Langage permettant de définir le design d’une page web html, séparant ainsi la
présentation de la structure.
3. JavaScript
13
Langage de programmation de script, orienté objet, utilisé pour rendre les pages html
interactives.
4. Jquery
14
12
réf: [Link]
13
réf : [Link]
14
réf:[Link]
76
5. Bootstrap 4
15
Est un framework front-end, utilisé pour développer des sites web ou des applications
web responsives.
Bootstrap 5 alpha a été officiellement publié le 16 juin 2020.[17]
Les changements majeurs qu'apporte Bootstrap 5 :
● Bootstrap ne dépend plus de jQuery .
● Le support d'Internet Explorer est supprimé.
● Bootstrap a introduit sa propre bibliothèque d'icônes SVG open-source.
● Tous les plugins JS sont toujours disponibles.
● Ajout de propriétés CSS personnalisées.
● Ils ont élargi leurs palettes de couleurs.
15
réf: [Link]
77
6. Material Design
16
Langage visuel et interactif créé par Google. Il fut présenté pour la première fois en
2014 lors de l'événement annuel Google I/O.
Material Design fut introduit afin d’unifier le style graphique des applications et
plateformes , en suivant les lignes directrices fixées concernant le choix des couleurs ,
polices ainsi que l’utilisation de mises en page basées sur une grille, des animations et des
transitions, des effets de profondeur tels l'éclairage et les ombres, superposition des éléments
etc …
Material Design peut être utilisé sur Android/ Web & IOS et vise à être accessible à
tous, intuitif , interactif et efficace.
16
réf: [Link]
78
B. Technologies de développement backend
1. Laragon
17
2. PHP
18
3. MySQL
19
Système de gestion de base de données relationnelles, qui utilise SQL (langage qui
permet d’écrire des requêtes pour communiquer avec la base de données).
17
réf:[Link]
18
réf: [Link]
19
réf : [Link]
79
4. Apache server
20
Est un serveur http, très populaire du World Wide [Link] permet de délivrer les pages
web aux clients.
Plusieurs modules peuvent être pris en charge par Apache, permettant ainsi d'interpréter
des langages de programmation tels que PHP , Python , Ruby et Perl. De plus, plusieurs
fonctionnalités sont supportées : réécriture d’URL , protocoles de communications
additionnels , common Gateway Interface (CGI), serveur proxy …
Le serveur Apache peut être configuré plus facilement en utilisant des interfaces
graphiques.
5. PhpMyAdmin
21
20
réf: [Link]
21
réf:[Link]
80
6. Laravel [15]
Laravel propose :
● Un moteur de routage simple et rapide.
● Puissant conteneur d'injection de dépendances.
● Stockage des sessions et du cache.
● Migration de schémas de base de données.
● Traitement robuste des tâches en arrière-plan.
● Diffusion d'événements en temps réel.
Ce framework PHP utilise l’architecture MVC pour développer des applications web.
● Authentification
● Autorisation
● Vérification de l’adresse e-mail
● Cryptage
● Hachage
● Réinitialisation du mot de passe
81
C. Interfaces graphiques :
1. Interfaces d’authentification
La vérification en deux étapes ou two factor authentication (2FA), est une technique
d’authentification qui nécessite une étape supplémentaire comparée à la méthode classique
d’authentification.
82
Figure 34 : Authentification
83
2. Interface d’accueil
Figure 36 : Accueil
84
4. Interface ‘Liste des utilisateurs’
85
6. Interface ‘Modifier mot de passe’
Par mesure de sécurité l’utilisateur nouvellement créé , devra changer son mot de passe après
sa première connexion au système.
Conclusion
D’abord, nous avons mis en avant les technologies utilisées en frontend (Boostrap4,
material design...).
Ensuite, nous avons exposé les technologies utilisées en backend. Le backend repose
essentiellement sur l’utilisation du framework Laravel.
Enfin, nous avons décliné un aperçu de notre application et mis en évidence les
principales fonctionnalités offertes par cette dernière.
86
Conclusion et perspectives
La plupart des organisations du monde entier ont réalisé que dans un environnement
commercial en évolution rapide, il fallait des solutions adéquates. Elles adoptèrent
l’utilisation de nouveaux systèmes puissants : les ERPs.
Or ces systèmes qui intègrent toutes les données et tous les processus de
l’entreprise dans un système unifié, nécessitent d’être sécurisés et correctement
administrés.
Afin de réaliser ce projet,nous nous sommes d’abord intéressés de près aux ERPs :
leur architecture, leur fonctionnement ainsi que les solutions existantes sur le marché des
ERPs.
Par la suite nous nous sommes penchés sur l’aspect sécuritaire des plate-formes
numériques, en analysant les failles les plus courantes afin de les éviter.
Notre choix s’est porté sur l’utilisation du modèle de contrôle d’accès basé sur les
rôles : le modèle RBAC. Ce choix fut motivé par les raisons suivantes :
Enfin, nous avons implémenté la solution : une application web basée sur le
framework Laravel permettant d’administrer et sécuriser une plate-forme ERP.
87
Le suivi de cette méthodologie de travail a permit d’aboutir à un résultat final
répondant aux besoins des entreprises.
● Mini CRM
88
Références bibliographiques
[1] Alzahrani, Abdulrahman et al. “Web Application Security Tools Analysis.” 2017 IEEE
3rd International Conference on Big Data Security on Cloud (BigDataSecurity), IEEE
International Conference on High Performance and Smart Computing, (HPSC) and IEEE
International Conference on Intelligent Data and Security (IDS) (2017): 237-242..
[6] Mohamed [Link] Elmonem,Eman [Link], Mervat [Link], "Benefits and challenges of
cloud ERP systems – A systematic literature review ",December 2016.
Ouvrages
[8] Enterprise Resource Planning: Global Opportunities & Challenges by Liaquat Hossain,
Jon David Patrick and M.A. Rashid x Idea Group Publishing 2002.
89
Sitographie
[11] [Link]
[12] [Link]
[13] [Link]
[14] [Link]
[15] [Link]
[16] [Link]
[17] [Link]
[18] [Link]
[19] [Link]
[20] [Link]
[21] [Link]
[22] [Link]
[23] [Link]
90