Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
DEDICACE
REMERCIEMENTS
A Tout le corps enseignant de l’IUG de Douala pour son apport indéniable dans notre
formation
AVANT-PROPOS
’arrêté ministériel n° 90/E/50/MINEDUC du 24 décembre 1971 est celui qui institua
L ’examen national du brevet de techniciens supérieurs (BTS), ceci dans le but de fournir
aux entreprises camerounaises des techniciens directement opérationnels.
La formation tient sur deux ans comprenant un stage académique de deux mois effectué
à la fin de la première année. Ce stage a pour but de confronter les étudiants aux réalités du
monde professionnel et entraîne la rédaction d’un rapport soutenu en fin de deuxième année.
Dans le cas qui se rapporte à nous, le cycle BTS comprend une liste non exhaustive d’options
suivantes :
Banque (BQ) ;
Commerce international (CI) ;
Comptabilité et gestion des entreprises (CGE) ;
Journalisme (JO) ;
Assistant Manager(AMA) ;
Avec aujourd’hui ses vingt-sept années d’expérience, un imposant palmarès aux divers
examens officiels qui le hissent au sommet de la hiérarchie nationale, une gamme
d’infrastructures aussi complètes que modernes, un corps enseignant des plus sélectifs, l’Institut
Universitaire du Golfe de Guinée s’impose comme l’une des institutions privées
d’enseignement supérieur les plus performantes d’Afrique Centrale.
Etant donné le caractère professionnel que revêt ce diplôme, l’étudiant en cycle BTS doit
effectuer un stage académique dont l’objectif est non seulement de concrétiser les
connaissances théoriques acquises mais surtout de découvrir les réalités de l’entreprise dans un
contexte professionnel réel. Ayant effectué un stage a la Faculté de Génie Industriel de Douala.,
plus précisément au service informatique, nous vous présenterons notre travail portant sur le
thème : « Analyse et Conception d’un Site Web Dynamique Sécurisé ».
RESUME
L’objectif principal de ce rapport est d’apporter des solutions au problème de mise à jour
des informations sur le site web de la Faculté de Génie Industriel. Face à l’inexistence d’une
interface d’administration permettant de faciliter les mises à jour des informations sur le site
existant, nous avons jugé très important de mettre en place une nouvelle plateforme web qui
permettra de faciliter les mises à jour sur le site (site web dynamique). Ce système réunira en
son sein des utilisateurs qui en fonction des rôles pourront effectuer des mises à jour via des
interfaces agréables et simples ainsi qu’un profil super utilisateur qui sera chargé de gérer les
profils. Ce projet constituera pour nous un moyen de permettre à la Faculté de Génie industriel
de toujours avoir des informations à jour sur son site et ainsi de mieux renseigner les visiteur et
partenaires qui consultent son site.
SOMMAIRE
ABSTRACT
The principal objective of this report is to provide solutions to the problem of updating
information on the website of the Faculty of Industrial Engineering. Faced with the inexistence
of an administration interface allowing to facilitate the updates of information on the existing
SOMMAIRE
site, we considered it very important to set up a new web platform that will make it possible to
facilitate the updates on the site (dynamic website). This system will bring together users who,
depending on the roles, will be able to update via pleasant and simple interfaces as well as a
super user profile who will be responsible for managing the profiles. This project will constitute
for us a means of enabling the Faculty of Industrial Engineering to always have up-to-date
information on its site and thus to better inform visitors and partners who consult its site.
SOMMAIRE
SOMMAIR
E
SOMMAIRE
SOMMAIRE
REDIGE ET SOUTENU PAR ANAFACK DIDEROT JORDAN
Rédigé et soutenu par ANAFACK Diderot Jordan VI
CONCEPTION D’UN SITE WEB DYNAMIQUE SECURISE POUR LA FACULTE
DE GENIE INDUSTRIEL DE DOUALA
SOMMAIRE
DEDICACE .............................................................................................................................................. i
REMERCIEMENTS ................................................................................................................................ii
AVANT-PROPOS...................................................................................................................................iii
SOMMAIRE
RESUME ..................................................................................................................................................v
ABSTRACT ............................................................................................................................................ vi
LISTE DES ABREVIATIONS ............................................................................................................. viii
INTRODUCTION GENERALE ............................................................................................................. 1
FIGURES
CONCEPTION D’UN SITE WEB DYNAMIQUE SECURISE POUR LA FACULTE
DE GENIE INDUSTRIEL DE DOUALA
INTRODUCTION GENERALE
L'information est devenue aujourd'hui un outil efficace pour tout gestionnaire qui veut
agir de manière efficiente1(*). L’Internet de son côté est le seul support de communication qui
offre des avantages et services relatifs à l'information à un coût très réduit. Il permet avec ses
liens virtuels d'aller d'une page à une autre, d'un serveur à un autre, d'un point du globe à un
autre, à une vitesse record et d'une manière presque transparente pour son utilisateur, rien que
par un simple clic. Selon DREYFUS2(*), la recherche de l'information sur Internet représente
25% du trafic total en volume sur le net. De ce fait nous sommes convaincus que si une université
dispose de son propre site internet, cela représentera un outil efficace pour sa promotion et cela
pourrait permettre à ses partenaires et étudiants de recueillir des informations sur elle ou de
transmettre à l'université des informations en un temps record mais faudrait-il encore que les
informations fournies sur le site soient d’actualité et cohérentes.
Pendant notre stage nous avons constaté que la FGI possède déjà une plate-forme web et lors
de son étude, nous avons décelé de multiples insuffisances. Dans le but de palier à ces
insuffisances, notre travail sera de concevoir et réaliser un nouveau site web a grâce au langage
de programmation PHP et de modélisation UML, d’où le thème « Analyse et Conception d’un
Site Web Dynamique Sécurisé ».
Il est vrai que les établissements scolaires et universitaires qui présentent le cerveau moteur de
tout développement, doivent aussi bénéficier des avantages de l'internet en améliorant la qualité
d'information fournie aux élèves et aux étudiants. Il est donc utile pour nous de savoir
« comment la FGI peut exploiter internet dans le but d’améliorer la qualité d’information
fournie à ses étudiants ainsi qu’à ses partenaires ? ».
Dans le but d’atteindre l’objectif visé, notre rapport s’articulera sur deux parties : la première
partie intitulé présentation de l’entreprise et étude de l’existant ou nous allons faire une
présentation générale de la FGI ainsi que l’étude du système existant et une deuxième partie
intitulée phase technique dans laquelle nous allons présenter de bout en bout notre solution, la
conception et l’implémentation de celle-ci.
PREMIERE PARTIE :
PRESENTATION DE L’ENTREPRISE ET
ETUDE DE L’EXISTANT
Dans cette partie nous allons présenter dans le 1er chapitre la FGI, les activités que nous avons
effectuées et ce pour quoi nous avons choisi notre thème et dans le 2e chapitre nous ferons
l’étude de l’existant.
Dans ce chapitre il sera question pour nous dans un premier temps de présenter l’université dans
laquelle nous avons effectué notre stage ensuite nous présenterons succinctement notre service
d’accueil et enfin nous détaillerons les activités que nous avons effectuées.
Il sera question dans cette section de présenter la FGI selon sa création, son évolution,
son organisation et son fonctionnement.
I. Création et évolution
1. Création
La Faculté de Génie Industriel (FGI) de l’Université de Douala a été créée en 1993 au
Cameroun, suite au décret n°93/030 du 19 janvier 1993 portant organisation administrative et
académique de l’Université de Douala. Elle n’a pas été effective dès la création à cause de la
conjoncture économique qui prévalait dans les années 90, et elle est opérationnelle depuis
décembre 2006 à la suite de l’arrêté ministériel N° 06/0130/MINESUP/DDES du 18 octobre
2006 portant ouverture de la Faculté de Génie Industriel à l’Université de Douala.
C’est une Faculté qui forme les ingénieurs en Génie Industriel dotés d’une grande capacité en
techniques de management intégré (ISO9001/08, ISO14001 et OHSAS 18001), et elle se
positionne peu à peu en institution leader de formation de ces nouveaux cadres. Toute la
formation à la FGI est strictement basée sur le système LMD.
1.2 Formations
La Faculté de Génie Industriel forme des Ingénieurs dans les domaines des Sciences, des
Technologies et Techniques, conformément au système LMD.
Le système académique appliqué à la Faculté de Génie Industriel est le système LMD (Licence,
Master, Doctorat). En effet, l'étudiant admis au concours de la Faculté de Génie Industriel suit
le parcours suivant :
Le cycle Licence : dans ce cycle d'une durée de trois ans, l'étudiant doit rassembler 180
crédits. Ce cycle est sanctionné par l'obtention d'une Licence en Génie Industriel.
Le cycle Master : d'une durée de deux ans (120 crédits), ce cycle est sanctionné par
l'obtention d'un Master en Génie Industriel.
Le cycle Doctorat : d'une durée de trois ans (180 crédits), il est sanctionné par un
Doctorat en Génie Industriel.
La FGI est logée au Campus de PK17, en périphérie de la ville de la ville de Douala, et bâti sur
un site de plusieurs hectares comprenant :
Un laboratoire informatique ;
Une médiathèque avec connexion intranet donnant accès à plus de 15 000 ouvrages
spécialisés en Ingénierie et plusieurs revues ;
Un parking pouvant abriter plus de 500 véhicules ;
Un minibus de 30 places pour les visites d’entreprises ;
Etc.
2. Evolution
Depuis sa création, la Faculté de Génie Industriel a connu de nombreux changements qui se
sont matérialisés par la création :
D’un nouveau département Génie des Procédés(GPR) dont l’objectif est de former les
ingénieurs capables de concevoir, faire fonctionner, améliorer, gérer ou commercialiser
des procédés,
D’un centre d’incubation qui est un organe d’accompagnement des porteurs de projets
industriels et/ou technologiques.
Tout dernièrement une réflexion sur un texte de transformation de la FGI en Ecole Nationale
Supérieur Polytechnique de Douala (ENSPD). Cette nouvelle dénomination induit des
changements sur le plan administratif. Notamment la disparition du poste de doyen laissant
place à un directeur ; les 3 postes de vice-doyen disparaissent, apparition d’un poste de
Directeurs Adjoint.
DOYEN
VICE-DOYEN chargé de Programmation
VICE-DOYEN chargé de la Scolarité
2. Organigramme
La FGI est organisée en plusieurs départements et services entretenant entre eux
d’interdépendance.
Dans cette section il sera question pour nous de présenter le service dans lequel nous avons
effectué notre stage, les activités que nous avons réalisées ainsi que la justification de notre
thème.
Elle est dirigée par un chef de cellule ayant rang et prérogative de chef d’établissement
des institutions universitaires, assister d’un adjoint ayant rang et prérogatives de chef service
de l’administration centrale.
1.2 Organisation
La cellule comprend trois (3) unités :
2. Objectifs
La cellule a pour objectif le traitement, l’identification, l’authentification et la sécurisation
numérique des données de la faculté. A cette fin elle a pour principale tâche d’assurer :
S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
- Finalisation du pré-rapport
- Elaboration d’un PowerPoint pour
la Pré-soutenance
- Pré-soutenance
2. Justification du thème
Avoir un site internet est important pour toute organisation car c’est un outil efficace pour sa
promotion. Plusieurs raisons nous ont amené à porter la réflexion sur ce sujet. Ces raisons sont
aussi pertinentes les unes que les autres.
Avoir une plateforme web dynamique et administrable en ligne avec la gestion des
profils d’utilisateurs permettant de faciliter les mises à jour,
Avoir une plateforme web ergonomique, facile d’utilisation et flexible.
Ces éléments justifient le choix de ce thème car ils permettront ainsi de mettre en place un
système plus efficace permettant à la Faculté de Génie Industriel d’avoir une meilleure présence
sur internet.
L’étude de l’existant est une étape très importante dans l’informatisation d’une
entreprise, car elle permet de mieux maitriser le système actuel afin de concevoir une solution
informatique spécifique aux problèmes rencontrés.
Dans ce chapitre nous analyserons le système existant ainsi que ces différents processus, puis
nous le critiquerons et nous proposerons une ébauche de solution.
La description du système existant est une étape clé dans la conception d’un système
d’information. Elle nous relève les insuffisances de l’ancien système ce qui nous permet
d’avoir une vue plus approfondie du nouveau système à mettre en œuvre.
Dans cette section nous allons procéder premièrement à la délimitation de l’existant ensuite
nous décrirons les processus.
Consulter les informations sur la FGI (le personnel administratif, les infrastructures et
bien d’autres informations concernant la FGI dérouler dans le chapitre précédent,
Consulter les différents départements ainsi que les domaines de formation de la FGI,
Consulter les modalités pour les concours d’entrée à la FGI,
etc.
Un acteur est une personne physique ou morale qui intervient activement dans le système
d’information ou qui le stimule. Nous pouvons citer par exemple un service, une personne, une
fonction ou sous-fonction d’une organisation. Ceux du système étudié sont regroupés en acteurs
principaux et secondaires.
- Cellule informatique
- Doyen
- Chef de département
I. Critique de l’existant
Cette critique qui découle de l’analyse de l’existant préalablement menée a pour but de fournir
un état de situation actuelle et notamment de faire apparaître les qualités et les défauts de ce qui
existe déjà. Nous résumons dans le tableau ci-dessous les problèmes, causes, objectifs et
solution.
1. Objectifs
Pour la réalisation de notre projet il sera question pour nous de fixer des objectifs permettant de
gérer les multiples problèmes décelés à savoir :
.
Gestion des mises à jour : cette opération consiste à améliorer et faciliter les mises à
jour sur le site.
Ergonomie : le système devra offrir aux utilisateurs une interface qui soit riche et
simple. Par ailleurs, l'interactivité devra être adaptée (usage du clavier, menu, souris,
etc.).
Sécurité : dans le but d’assurer la sécurité, plateforme entière sera sécurisée contre les
intrusions telles : attaques par XSS, injections SQL et des failles web les plus courantes
en général. Nous allons aussi mettre en place le protocole HTTPS qui fera office de
sécurité et chiffrera toutes les communications entre le serveur qui héberge et les
utilisateurs.
Compatibilité : le site web doit pouvoir s’ouvrir sur n’importe quel navigateur web
fonctionnant sous des systèmes (Windows, Linux, Mac, Android, IOS).
Deuxième PARTIE :
MODELISATION ET IMLPLEMENTATION DU
NOUVEAU SYSTEME
Dans cette partie, il sera question pour nous dans le chapitre III de procéder à la
modélisation du système futur à l’aide du langage UML, puis dans le chapitre IV nous
procèderons à son implémentation.
La réalisation d'un site web doit être impérativement précédée d'une méthodologie
d'analyse et de conception qui a pour objectif de permettre de formaliser les étapes préliminaires
du développement d'un site afin de rendre ce développement plus fidèle aux besoins du client.
La phase d'analyse permet de lister les résultats attendus, en matière de fonctionnalité et la phase
de conception permet de décrire de manière non ambiguë, le plus souvent en utilisant un langage
de modélisation, le fonctionnement futur du système, afin d'en faciliter la réalisation. Dans un
premier temps nous présenterons le langage UML ainsi que la description des nouveaux
processus systèmes ensuite nous passerons à l’étude des principaux diagrammes de UML
Nous allons présenter dans cette partie le langage UML ainsi que les AGL qui ont été utilisés
ensuite nous allons décrire les nouveaux processus système.
UML est particulièrement utile dans notre cas car il nous permettra de décrire de façon
graphique au travers du diagramme de cas d’utilisation, diagrammes d’activité, diagramme
séquence et de classes, l’architecture logicielle du système que nous souhaitons mettre sur pied.
Il vaut mieux modéliser un système avant de le réaliser car la modélisation permet de mieux
comprendre le fonctionnement du système.
Obtenir une modélisation de très haut niveau indépendante des langages et des
environnements.
Faire des simulations avant de construire un système.
Exprimer dans un seul modèle tous les aspects statiques, dynamiques, juridiques,
spécifications, etc.
Documenter un projet,
Générer automatiquement la partie logicielle d'un système.
Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect précis
du modèle. Chaque type de diagramme UML possède une structure (les types des éléments de
modélisation qui le composent sont prédéfinis) et véhicule une sémantique précise (il offre
toujours la même vue d'un système). Combinés, les différents types de diagrammes UML
offrent une vue complète des aspects statiques et dynamiques d'un système. Les diagrammes
permettent donc d'inspecter un modèle selon différentes perspectives et guident l'utilisation des
éléments de modélisation (les concepts objet), car ils possèdent une structure. Une
caractéristique importante des diagrammes UML, est qu'ils supportent l'abstraction. Cela
permet de mieux contrôler la complexité dans l'expression et l'élaboration des solutions objet.
2.1.2 Formalisme
Les différentes informations et traitements entre les acteurs seront matérialisés dans le
diagramme de cas d’utilisation selon le formalisme suivant (exemple d’une banque) :
Exemple simplifié du diagramme de cas d’utilisations modélisant une borne d’accès à une
Banque.
Légende :
Client : c’est l’émetteur des cas d’utilisations « Retirer argent, effectuer un virement,
consulter comptes » ;
Client
Cas d’utilisation
Un cas d’utilisation est une unité cohérente d’une fonctionnalité visible de l’extérieur. Il réalise
un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l’acteur qui
l’initie. Un cas d’utilisation modélise donc un service rendu par le système, sans imposer le
mode de réalisation de ce service. Un cas d’utilisation se représente par une ellipse contenant
le nom du cas (un verbe à l’infinitif), et optionnellement, au-dessus du nom, un stéréotype.
Nous allons présenter les cas d’utilisations pour les acteurs du système qui gèrent plusieurs
fonctionnalités afin de mieux identifier le rôle de chacun. Les cas d’utilisations présentés ci-
dessous détaillent les cas d’utilisation globaux. Ils permettent de mieux cerner les
fonctionnalités de notre site web.
La cellule informatique
Chef de département
2.2.1 Objectif
Le diagramme d'activité est un diagramme comportemental d'UML, permettant de représenter
le déclenchement d'événements en fonction des états du système et de modéliser des
comportements parallélisables (multithreads ou multiprocessus). Le diagramme d'activité est
également utilisé pour décrire un flux de travail (workflow). Il est recommandable pour
exprimer une dimension temporelle sur une partie du modèle, à partir de diagrammes de classes
ou de cas d'utilisation.
2.2.2 Formalisme
Dans le diagramme d’activité on retrouve les principaux éléments suivants :
Elément Représentation
ACTIVITE
Nom de l'activité
TRANSITION
NŒUD DE DECISION
NŒUD DE DEBUT
NŒUD DE FIN
2.3.1 Objectif
Le diagramme de séquence fait partie des diagrammes comportementaux (dynamique) et plus
précisément des diagrammes d’interactions.
Il permet de représenter des échanges entre les différents objets et acteurs du système en
fonction du temps.
A moins que le système à modéliser soit extrêmement simple, nous ne pouvons pas modéliser
la dynamique globale du système dans un seul diagramme. Nous ferons donc appel à un
ensemble de diagrammes de séquences chacun correspondant à une sous-fonction du système,
généralement d’ailleurs pour illustrer un cas d’utilisation.
2.3.2 Formalisme
2.4.2 Formalisme
Les principaux éléments d’un diagramme de classes
Classe :
Nom de la classe
Propriétés
Méthodes
CHAPITRE 4 : IMPLEMENTATION
A ce stade du processus, les cas d'utilisations sont terminés, le problème a été analysé
en profondeur. Nous avons défini une conception mieux appropriée aux besoins de
l'application. Nous pouvons alors entreprendre la dernière activité du projet composé de deux
parties (implémentation et test), ayant comme objectif d'aboutir à un produit final, exploitable
par les utilisateurs. Dans cette phase nous allons présenter les outils de développement que nous
avons utilisé, l'architecture matérielle, l’implémentation des cas d'utilisation, quelques
exemples d’interfaces représentant les pages web qui ont été réalisées. Enfin nous allons
aborder les aspects liés à la sécurité de notre site.
SECTION 1
Dans cette section nous allons présenter les différents outils qui nous ont permis de réaliser
notre site web ensuite nous présenterons les technologies que nous avons utilisé.
I. Environnement de développement
Dans cette partie on représente brièvement les interfaces de chaque logiciel que nous avons
utilisé, on évoquera le système d'exploitions, WampServer, ainsi que des Framework Laravel
version 5, Bootstrap version 4.
1. Système d’exploitation
L'environnement de base qui a constitué le support de notre travail est le système d'exploitation
Windows 7. Il offre les fonctionnalistes pour obtenir d'excellentes performances de façon aisée.
Nous bénéficions de la puissance et de la fiabilité de la technologie du système d'exploitation
le plus évolué de Microsoft.
Windows 7, offre la fiabilité et l'efficacité qui est optimisée .il en fait plus, en procurant un
pouvoir de travail plus efficace.
C’est une plate-forme de développement Web sous Windows pour des applications Web
dynamiques à l’aide du serveur Apache2, du langage de scripts PHP et d’une base de données
MySQL. Il possède également PhpMyAdmin permettant ainsi une gestion plus facile des bases
de données. Chaque version d’Apache, MySQL et PHP dispose de sa propre configuration
(principalement apache 2.2 et apache 2.4) et ses propres fichiers (données pour MySQL). Le
logiciel est disponible gratuitement en deux versions : 32 et 64 bits.
3. Sublime Text
Sublime Text est un éditeur de texte générique codé en C++ et Python, il prend en charge 44
langages de programmation majeurs, tandis que des plugins sont souvent disponibles pour les
langages plus rares.
4. MySQL Workbench
MySQL Workbench (anciennement MySQL admininstrator) est un
logiciel de gestion et d’administration de base de données MySQL crée
en 2004. Via une interface intuitive, il permet de créer, modifier ou
supprimer des tables, des comptes d’utilisateurs, et d’effectuer toutes les
opérations inhérentes à la gestion d’une base de données.
2. Le langage PHP
raison de la richesse de sa bibliothèque, on désigne parfois PHP comme une plate-forme plus
qu'un simple langage.
3. Le langage JavaScript
Le JavaScript est un langage de script incorporé sans un document
HML. Ce langage est un langage de programmation qui permet
d'apporter des améliorations au langage HTML en permettant
d'exécuter des commandes du coté client. C'est-à-dire au niveau du
navigateur et non du serveur web.
4. MySQL
III. Frameworks
1. LARAVEL
Laravel est un Framework web open-source écrit en PHP. Il respecte le modèle MVC
(modèle vue-contrôleur). C’est un Framework orienté objet distribué sous licence MIT.
C’est un outil qui, dans sa conception, se base sur le meilleur de plusieurs autres
Frameworks pour développer son propre système et être plus efficace. Il possède également des
composants qui lui sont propres. Il fournit entre autre :
2. BOOTSTRAP
Bootstrap est une collection d'outils utile à la création de sites web et applications web.
C'est un ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils de
navigation et autres éléments interactifs, ainsi que des extensions JavaScript en option. C'est
l'un des projets les plus populaires sur la plate-forme de gestion de développement GitHub
(GitHub est un service web d'hébergement et de gestion de développement de logiciels).
SECTION 2 :
Dans cette section nous présenterons la base de données de notre système en suites quelques
interfaces, en fin l’aspect sécurité de notre site.
I. Base de données
1. Schéma de base de données
Grace à MySQL Workbench nous avons réalisé le schéma de données suivant pour notre
système :
II. IHM
1. Frontend
Le Frontend ou partie visible par les visiteurs ou toute autre personne non authentifier.
Page d’accueil
Page de connexion
2. Backend
C’est la plateforme d’administration qui permet de faire des modifications, mises à jour des
informations sur le site.
Page d’accueil Responsable de la cellule informatique(Admin)
III. Sécurité
Aujourd’hui, dans tout système informatique la sécurité est devenue un élément essentiel
permettant d’assurer la confidentialité, l’intégrité et la disponibilité des données. Son importance
est d’autant plus utile dans les plateformes web car internet est devenu un immense terrain de
jeu et de chasse pour les pirates du web. Gérer la sécurité d’un site web est devenu en ce sens
une priorité pour les entreprises car de nombreuses plateformes web professionnelles bien
conçues subissent des attaques et se trouvent souvent paralysées ou complètement détruites.
Nous allons présenter les aspects de la sécurité de notre système et les failles web dont notre
système a été protégé.
Pour avoir accès à notre plateforme d’administration, les utilisateurs devrons s’authentifier avec
une adresse email et un mot de passe.
Les utilisateurs du système n’ont accès qu’aux fonctionnalités liées à leur profil.
Une vulnérabilité ou faille est une faiblesse dans un système informatique permettant à un
attaquant de porter atteinte à l'intégrité de ce système. Les failles sont majoritairement dues aux
erreurs de programmation, ou bien à des oublis de sécurisation. Notons aussi que la faille peut
être due à une mauvaise configuration du serveur qui se contente de distribuer les pages web
après avoir interprété le code PHP présent dans le fichier demandé. C’est en exploitant ces bugs,
ces failles web, que le pirate peut obtenir un accès partiel ou total du site. Il peut obtenir des
informations de la base de données ou, encore, contrôler le contenu intégral du site, le modifier,
supprimer des pages, en rajouter, etc.
Nous allons présenter les principales failles présentes dans les applications web et dont notre
système est immunisé (annexe). Les méthodes de protection présentées sont celles qui ont été
utilisées dans notre système en tenant compte de nos outils et ne sont pas donc universelles.
La faille XSS (plus officiellement appelée Cross-Site Scripting) est une faille permettant
l'injection de code HTML ou JavaScript dans des variables mal protégées. Elle permet
d’exécuter des scripts du coté client. Ceci signifie que nous ne pouvons exécuter que du
JAVASCRIPT, HTML et d’autres langages qui ne vont s’exécuter que chez celui qui lance le
script et pas sur le serveur directement.
b. Méthode de protection
Pour se protéger contre cette faille Laravel grâce à son moteur de Template blade, mes a notre
disposition une syntaxe : {{ $variable }}. Grace à cette syntaxe nous pouvons afficher nos
variables sans crainte.
b. Méthode de protection
Pour se protégé contre cette faille, nous utilisons des requêtes préparées. Laravel encore une
fois grâce à Query Builder nous permet de réaliser des requêtes sécurisées.
La faille CSRF ("Cross site request forgery") est très souvent assimilée à la XSS alors que ces
deux failles sont diamétralement opposées. Quand la XSS cherche à dérober des informations
personnelles de l'utilisateur, la CSRF cherche à lui faire exécuter des actions à son insu
directement sur son ordinateur.
d. Méthode de protection
Pour se protégé contre cette faille, nous utilisons à chaque page de notre site un jeton pour
authentifier les requêtes.
Un point fondamental de la sécurité informatique n'est autre que le mot de passe. Bien que nous
l'ayons protégé, il est possible qu'il soit tout simplement trop faible.
Tous les mots de passe des utilisateurs doivent êtres hachés avant d’être stocker dans une base
de données. Pour cella on peut utiliser plusieurs fonction PHP : sha1(), bcryp () etc.
Permet ainsi de hacher le mot de passe de l’utilisateur et dans notre site nous avons utilisé la
fonction bcryp ().
Cette pratique peut couter très cher car un pirate qui a accès au serveur peut se connecter en
tant que root a notre base de données et y dérobé des informations confidentielles voire détruire
la base de données.
Dans notre cas WAMPSERVER est sécurisé par un mot de passe et l’utilisateur par défaut a
été supprimé.
Le HTTPS soit « protocole de transfert hypertexte sécurisé ») est un protocole qui permet
de chiffrer les informations sensibles transmises via un formulaire et d’authentifier le site afin
qui intermédiaire (pirate) ne puisse pas exploiter les données échangées quand bien même il
réussirait à entrer en possession de celles-ci.
Il est nécessaire de sécuriser un site avec https car il offre beaucoup d’avantages tels :
La sécurisation de son site web avec https requiert trois étapes qui sont :
SSL est un protocole d’échange sécurisé entre deux points. Un certificat SSL va permettre de
garantir à votre visiteur passant par l’adresse https:// que le cryptage est validé de A à Z pour
l’échange des données entre son navigateur et notre site web.
L’obtention d’un certificat est payant Mais Grace au sponsor tel que Mozilla, Facebook et bien
d’autre il existe pour les petits sites vitrines et blogs, une solution gratuite : cette solution,
c’est la nouvelle autorité de certification Let’s Encrypt qui doit être renouvelé tous les 3
mois.
Illustration :
CONCLUSION
Au terme de ce rapport où il était question pour nous de nous intéresser à la création
d’un site web et plus précisément la mise en place d’une nouvelle plateforme web dynamique
dans laquelle il sera plus facile de mettre à jour des informations concernant la Faculté de Génie
Industriel de Douala. De façon globale, nous pouvons dire que nous avons atteint les objectifs
fixés.
Pour ce faire nous avons tout d’abord réalisé une étude du système existant en vue de déceler
les insuffisances et les différents intervenants qui interagissent avec celui-ci. Ensuite grâce au
langage de modélisation Objet UML, nous avons modélisé notre système futur par la réalisation
des différents diagrammes qui nous ont permis à chaque étape d’avoir une meilleure
compréhension de notre système futur. Enfin grâce à cette modélisation de notre système, nous
avons généré la base de données de notre nouvelle plateforme ce qui nous a permis de passer à
l’étape de la programmation dans laquelle nous avons appliqué les règles de sécurité pour rendre
notre système invulnérable aux attaques des pirates et nous avons implémenté notre solution.
A la question de savoir « comment la FGI peut exploiter internet dans le but d’améliorer
la qualité d’information fournie à ses étudiants ainsi qu’à ses partenaires ? », nous pouvons
répondre que pour ce faire la FGI doit se doter d’une plateforme web dynamique ce qui facilitera
ainsi la mise à jour des informations et le fait que cette plate-forme soit dynamique rassurera le
visiteur de la véracité des informations sur la plateforme. En plus d’être dynamique, elle doit
être sécurisée pour se protéger contre d’éventuelles attaques des pirates. Néanmoins, il faut
rester vigilant en vérifiant de manière récurrente la sécurité et la mise à jour de son site web,
car les failles évoluent et de nouvelles se créent tous les jours.
ANNEXE
REFERENCES BIBLIOGRAPHIQUES
Livres
* 1 OSAMBO, O, ours des Systèmes d’information, Lice I Gestion, ULK , Kigali, Paris, 2002
Cours
https://openclassrooms.com/fr/courses/6179306-securisez-vos-applications-web-
avec-lowasp/
https://openclassrooms.com/fr/courses/3613341-decouvrez-le-framework-php-
laravel/
https://openclassrooms.com/fr/courses/1665806-programmez-en-oriente-objet-en-
php/
https://openclassrooms.com/fr/courses/4670706-adoptez-une-architecture-mvc-en-
php
https://openclassrooms.com/fr/courses/3306901-creez-des-pages-web-interactives-
avec-javascript/
https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-
avec-mysql/
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-
et-mysql/
https://openclassrooms.com/fr/courses/2984401-apprenez-a-coder-avec-javascript
https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-
avec-html5-et-css3
https://openclassrooms.com/fr/courses/2035826-debutez-lanalyse-logicielle-avec-
uml/
Articles
https://www.httpcs.com/fr/top-10-owasp
https://web.developpez.com/tutoriels/web/failles-securite-application-web/
DEDICACE .............................................................................................................................................. i
REMERCIEMENTS ................................................................................................................................ii
AVANT-PROPOS...................................................................................................................................iii
RESUME ..................................................................................................................................................v
ABSTRACT ............................................................................................................................................ vi
LISTE DES ABREVIATIONS ............................................................................................................. viii
LISTE DES FIGURES ............................................................................................................................ ix
INTRODUCTION GENERALE ............................................................................................................. 1
I. Base de données................................................................................................................ 44
1. Schéma de base de données ......................................................................................... 44
2. Implémentation physique de la base de données dans WAMP.................................... 46
II. IHM .................................................................................................................................... 47
1. Frontend ........................................................................................................................ 47
2. Backend ......................................................................................................................... 48
III. Sécurité .......................................................................................................................... 51