Rapport Projet Web Ordinateurs
Rapport Projet Web Ordinateurs
Rapport Projet Web Ordinateurs
Rapport
Projet WEB
Réalisé par :
RIHANI Zakaria
OULAASRI Yassine
GUINECH Abdellah
CHAOUNI El Mehdi
Encadré par :
M. GHARBI Salah Eddine
I. Introduction ......................................................................................................................... 03
II. Présentation du projet .................................................................................................... 03
1. Qu’est-ce qu’une boutique en ligne ? ................................................................... 03
2. L’objectif du projet ......................................................................................................... 03
III. Etude de l’existant ............................................................................................................. 03
IV. Critique et solutions ......................................................................................................... 04
1. Critique de l’existant ...................................................................................................... 04
2. Solutions proposées ...................................................................................................... 04
V. Conclusion ............................................................................................................................ 06
I. Introduction ......................................................................................................................... 08
II. Analyse conceptuelle ....................................................................................................... 08
1. Modèle conceptuel de données .............................................................................. 08
2. Modèle logique de données...................................................................................... 10
III. Outils et langages utilisés .............................................................................................. 11
1. Langages utilisés ............................................................................................................. 11
2. Outils de développement ........................................................................................... 13
3. Conception des pages .................................................................................................. 15
4. Fonctions de base........................................................................................................... 20
IV. Conclusion ............................................................................................................................ 22
Conclusion ...................................................................................................................................... 29
Webographie................................................................................................................................. 30
PROJET WEB 2020/2021
Introduction générale
Aujourd’hui, le E-commerce est considéré comme un dossier prioritaire par de
nombreuses organisations internationales, surtout depuis que les problèmes liés
à la facture numérique ramènent les politiques des technologies de
l’information, de la communication et du développement sur les devants de
l’actualité. Des recommandations stratégiques spécifiques ont été formulées
dans différents domaines ; infrastructure et services de télécommunications,
fiscalité, protection du consommateur, sécurité des réseaux, protection de la vie
privée et des données. La confiance est un élément crucial pour le
développement du commerce électronique. Il s’agit, essentiellement, d’assurer
aux consommateurs et à l’entreprise des services de réseaux surs, fiables et
vérifiables.
De même, les consommateurs entendent rester maîtres de la collecte de leurs
données personnelles et de l’usage qui en est fait, et veulent être surs d’avoir
accès à des mécanismes de recours adaptés. Pour créer le niveau de confiance
souhaitable, il faut se doter de technologie fiable, de dispositifs de
réglementation et d’auto réglementation appropriés, et pratiquer une
pédagogie du public.
Le présent rapport, qui expose ce travail, est composé de trois chapitres
structurés comme suit :
Dans le premier chapitre, on va présenter la problématique à résoudre,
l’analyse des besoins, le cahier de charge et l’objectif du projet.
Le deuxième chapitre sera consacré à la conception du projet, les différents
langages utilisés lors la création du site web ainsi que la phase dynamique
qui concerne la création de la base de données.
Dans le troisième chapitre on va présenter le résultat final de notre projet les
qualités et défauts, analyse des performances selon différents tests.
CHAPITRE 1
ETUDE ET ANALYSE
DU PROJET
I. Introduction
Dans ce chapitre, on va définir le E-commerce et particulièrement les boutiques en
ligne des ordinateurs. Ensuite, on va déterminer le cahier des charges et les objectifs
à atteindre de ce projet. Ainsi, on s’intéresse à l’étude de l’existant et ses critiques.
2. L’objectif du projet
L’objectif du projet consiste à développer un site web dynamique d’une
boutique de vente en ligne des ordinateurs.
Ce site permettra de réaliser les opérations suivantes :
• Gérer les relations avec les clients.
• Permettre au client de créer son propre compte.
• Gérer les commandes.
• Mettre en place des promotions.
• Gérer les produits (ajouter, modifier ou supprimer des produits).
D’ailleurs, même le vendeur n’a aucun moyen pour mettre à disposition ses
annonces de vente et services, à l’exception des supports traditionnels tels que les
journaux ou les petites affiches qui ne ciblent pas la majorité des clients.
Ainsi, un moyen fiable et automatisé permettant d’informer un grand nombre de
clients des offres de vente et des services nécessaires.
Divers autres traitements sont, d’ailleurs, sources de problèmes, adoptant les
méthodes traditionnelles de travail :
• Le règlement des factures se fait en espèce ou par chèque, sur place.
• L’enregistrement des clients se fait manuellement sur papier.
• Les produits sont classés par catégorie et par sous-catégorie non
hiérarchisées, ce qui rend la recherche plus pénible.
• Les documents sont nombreux et généralement mal organisés.
2. Solutions proposées
Grâce à Internet, de nouvelles perspectives de développement apparaissent dans
l'élargissement du marché économique.
La création d’un site Internet a pour but de valoriser l'image de la société et faire
des économies sur différents points. L'utilisation d'Internet, comme segment de
communication de masse, permet également de baisser des coûts marketing et
d'autres frais. Avec la transmission du haut débit et la sécurisation augmentée des
moyens de paiement, la confiance des utilisateurs en ce qui concerne l'e-
commerce est croissante. La plupart des personnes adultes utilisent, aujourd’hui,
Internet pour faire des achats.
Ce projet consiste donc à mettre en place un site Web dynamique qui gère la
commercialisation des ordinateurs. Ceci est possible à travers des catalogues en
ligne proposant différents produits aux meilleurs. La société n’aura donc qu’à
agencer ses produits et bien sûr de mettre sa base de données à jour.
Les clients peuvent consulter le site après une inscription, et commander les
produits, qui sont par la suite livrés à domicile.
Cette boutique en ligne permettra d’offrir beaucoup des services à savoir :
V. Conclusion
A travers le cahier des charges qu’on a cité ci-dessus, on comprend bien que
l’interface web que on va réaliser est un site web dynamique mais pour
l’implémenter on a besoin de faire une étude conceptuelle du site.
Dans cette étape on va traiter le travail qu’on a réalisé présentant les outils utilisés
et l’organisation et démarches suivies.
CHAPITRE 2
CONCEPTION DU
PROJET
I. Introduction
Dans ce chapitre, on va présenter la solution conceptuelle que on a proposée en
utilisant la méthode MERISE. Cette conception du système à réaliser est un modèle
peut être défini comme étant une image de la réalité.
Dans cette partie, nous utilisons la méthode MERISE, cette méthode est basée sur la
séparation des données et des traitements à effectuer en plusieurs modèles
conceptuels et physiques, pour modéliser une base de données.
Categories Product
Gérer
0, n
Modifier
0, n Client
Id_users : Integer
Admin Username : Characters (256)
Id_adm : Integer mail_users : Characters (256)
Name_adm : Characters (256) Pwd_users : LongText
Pwd_adm: LongText
0, n
0, n
Commande
Categories Product
Id_categ Id_pc
#Id_adm #Id_adm
Family #Id_categ
Descrip Name
Img Description
Price
Old_price
Family
Img
Client
Admin Id_users
username
Id_adm mail_users
Name_adm Pwd_users
Pwd_adm
Commande Commander
Id_comd #Id_comd
#Id_adm #Id_users
Id_fact Quantité
Date_pai
Date_liv
1. Langages utilisés
a. HTML
Afin d'être au standard du W3C sur la famille HTML, nous avons utilisé le HTML5, Il
s'agit de la nouvelle version du langage HTML, avec de nouveaux éléments, attributs et
comportements ; mais aussi un ensemble plus large de technologies qui permettent des
sites web plus variés et puissants, et des applications web. Cet ensemble est parfois
appelé HTML5 & Cie et est souvent juste abrégé en HTML5.
b. CSS
Afin de manipuler la présentation, nous avons utilisé des feuilles de style CSS. Pour les
raisons suivantes :
D’une part, il permet d’alléger le code source écrit en HTML, puisque tout ce qui est
relatif à la présentation est géré dans un fichier séparé. Ce qui entraîne donc un
chargement plus rapide des pages, qui est après manipulé par la feuille de style.
Et d’autre part, il permet de nous retrouver plus facilement dans notre code et ainsi
facilite les modifications à effectuer, puisqu’au lieu d’avoir à modifier toutes les pages
une à une, nous avons juste à modifier le fichier CSS.
c. DOM et JAVASCRIPT
Une fois la feuille HTML générée, nous pouvons afficher et interagir dynamiquement
avec la page de l'utilisateur grâce au JavaScript et au Document Object Model, il sert
donc à définir comment la page Web doit réagir aux différents comportements des
utilisateurs.
d. PHP
Pour le coté serveur, nous avons choisi le langage PHP, ceci pour plusieurs raisons :
Tout d’abord, le PHP gère très bien les requêtes SQL. Ce qui est important pour
manipuler les résultats de requêtes SQL.
Mais aussi, le PHP possède beaucoup de fonctions utiles telle que la cryptologie,
fonctions de traitement de base de données, mathématique, etc…
Enfin, le PHP est un des langages coté serveur le plus utilisé, il existe une grande
communauté d’utilisateurs de PHP.
Exemples d’utilisation :
e. SQL
L'association PHP/MySQL est de plus en plus utilisée ces dernières années. C'est
pourquoi nous avons choisi le MySQL qui fait partie des logiciels de gestion de base
de données les plus utilisés au monde, autant par le grand public (applications web
principalement) que par des professionnels, il offre de grandes performances en
flexibilité. Il intègre de nombreuses fonctionnalités et assure une bonne sécurité des
données.
2. Outils de développement
Visual Studio Code est un éditeur de code source qui peut être utilisé avec une variété
de langages de programmation, notamment Java, JavaScript, Go, Node.js et C++. Il est
basé sur le cadre Electron, qui est utilisé pour développer des applications
Web Node.js qui s'exécutent sur le moteur de présentation Blink.
Depuis la version 1.56, sortie April 2021, l'éditeur prend en charge 44 langages de
programmation majeurs, tandis que des plugins sont souvent disponibles pour les
langages plus rares.
b. XAMP
Ainsi, il est à la portée d'un grand nombre de personnes puisqu'il ne requiert pas de
connaissances particulières et fonctionne, de plus, sur les systèmes d'exploitation les
plus répandus.
Comme l’anglais est la langue la plus utilisée dans différents domaines partout dans
le monde on a choisit de créer notre sit web nommé " LabShop " en langue anglaise
pour cibler le maximum de clients du monde.
Le site est composé de cinq pages principales :
• Page « Home » :
C’est la page d’acceuil qui contient les différents catégories d’ordinateurs, à
savoir ( ASUS, LENOVO et DELL ), ainsi qu’un footer contenant le « à propos »
de la boutique et des liens vers les réseaux sociaux, des liens rapides pour un
accès fluide à certaines parties du site ainsi que les informations, contacts et
local de la boutique.
Le contenu affiché sur la page d’Accueil est créé par le HTML utilisant les différents
balises notamaent les "<div>" pour séparer les conteneur de texte et d’images et les
bien positionner sur l’écran, les "<ul>" pour les informations en liste tels que les Quick
Links et Contact Info du footer, les "<i>" pour créer des icones des réseaux sociaux
telle que celle de Facebook, Instagram, Twitter et Youtube.
Le style de la page Home est purement fait par le CSS, telles que les cercles de l’arrière
plan ayant un thème plus ou moins flou au centre. Ainsi toutes les couleurs des texte
et des conteneurs de texte sont choisies de façon à donner un thème sombre au site.
Grâce à CSS, on pu modifier et peronnaliser le passage de la souris sur les boutons
de la barre de navigation, ainsi que tous les lien « hypertext » pour assurer l’utilisateur
qu’il se positionne sur un tel ou tel élement du site.
Le thème créé sur la page Home est reproduit sur toutes les pages du site pour avoir
le même arrière plan.
La police du texte est choisie des polices de google fonts qui en propose une grande
variété à pourvoir intégrer dans son projet en utilisant l’exemple la liaison suivante :
<link
href="https://fonts.googleapis.com/css2?family=Acme&family=Righteous&display=
swap" rel="stylesheet"> , et de même pour les icones avec la librairie font-awesome.
• Page « Login » :
•
Il est nécessaire de remplir les deux champs du Login, sinon un message est affiché
« Fill all fields ! » imposant à l’utilisateur de les remplir tous.
• Page « SignUp » :
•
C’est la page d’inscription au site pour les nouveaux clients voulant effectuer
des achats sur la boutique en ligne. On peut y accéder seulement à partir de
la page Login qui contient un lien pour les gens qui n’ont pas de compte.
Lors de l’inscription, comme dans le login, il est nécessaire de remplir tous les
champs, si jamais l’utilisateur saute l’un des champs il lui est affiché « Fill all
fields » comme le montre la capture d’écran suivante.
Une fois l’utilisateur crée un compte, les données entrées dans les différents champs
du SignUp sont envoyées et stockées dans la base de données préalablement créée
par l’administrateur grâce au langage PHP et le serveur virtuel XAMPP qui permettent
de gérer les comptes des utilisateurs, et leur donner accès lors du Login.
Dès lors l’utilisateur possède son propre panier à y ajouter ou en supprimer des articles
des différents catégories comme le montre la capture ci-après.
C’est la page qui permet aux clients de contacter la boutique, soit pour une
réclamation, pour une impression sur les services de la boutique ou même
pour des remarques et conseils.
Comme vous allez remarquer la barre de navigation n’existe pas dans toutes
les pages du site et remplacé par un lien « hypertext » pour faire le retour à
l’acceuil comme indiqué sous le bouton d’envoi « Send » dans la capture
d’écran ci-dessous.
Lorsqu’un client veut fournir son avis sur le site, il est aussi nécessaire de remplir tous
les champs du formulaire « Send Us A Message », notamment la zone de texte qui va
contenir le message.
Après un clic sur le bouton « Send », le message de l’utilisateur est envoyé vers la boite
mail de la boutique.
C’est une page qui présente les membres de l’équipe du projet, elle est
constituée se quelques mots sur chaque membre, l’image et les réseaux
sociaux associés à chacun.
4. Fonctions de base
On a nommé fonctions de base certaines fonctionnalités principales de notre site
web qui sont réalisées pour rendre le site web plus interactif avec l’utilisateur
employant des messages de retour clairs et significatifs.
a. Système Remember me
Garder une session active ça veut dire que l'utilisateur ne va pas se déconnecter
de son compte quand il ferme le navigateur, alors il peut garder sa session active
jusqu’il se déconnecte lui-même de son compte utilisant le bouton de
déconnexion.
Session : le système d’authentification crée une session dont la durée de vie est
limitée dans le temps, elle dépend de la durée de vie de la fenêtre du navigateur.
Ainsi la fermeture du navigateur arrête la session.
Cookies : ce sont de petits fichiers texte permettant de sauvegarder des
informations personnelles. Ils peuvent y mémoriser votre nom d'utilisateur et mot
de passe pour éviter de redemander ultérieurement.
b. Système d’alerte
Ce site web est basé sur le PHP, donc les requêtes sont asynchrones sans actualiser
la page, pour cette raison, nous avons créé un système d'alerte qui nous permet de
notifier l’utilisateur du succès ou de l’échec de l’opération, après un traitement de
disponibilité et validité des données entrées.
Dans la figure ci-dessus, nous avons utilisé la fonction PHP hash () pour hacher le
mot de passe entré par l’utilisateur.
Un hash est le résultat de l’application d’une fonction de hachage cryptographique.
VI. Conclusion
Utilisant le HTML, CSS, JAVASCRIPT et PHP, et à l’aide des outils de développements
mentionnés avant, la création du projet a été bien réussie.
Vus les études en distanciel, on a pensé à héberger le site web sur le 000webhost
qui offre un hébergement gratuit pour une possibilité de faire des tests sur le site
par tous les membres de l’équipe. C’est le sujet du dernier chapitre.
CHAPITRE 3
SIMULATION
I. Tests de responsivité
• iPad
Les conteneurs se positionnent selon la taille de l’écran comme le montre le test sur un
iPad de taille 768x1024 dans les captures d’écran ci-dessous.
Par défaut sur Edge, il y un petit œil qui masque ou affiche le mode de passe pour les
champs de type « password ».
Généralement Il n’y a pas une grande différence à l’affichage de notre site web pour
les différents navigateurs cités ci-dessus vu qu’ils sont de versions récentes, mais il se
peut qu’il y ait une différence remarquable pour les anciens navigateurs des années 90
et avant.
Conclusion
Ce projet consistait à créer un site web dynamique, il s’agit d’une boutique de vente
en ligne des appareils électroniques et spécialement les ordinateurs portables.
Au cours de la création de notre projet, nous avons essayé d’appliquer tous ce qu’on a
acquis sur les différents langages du développement WEB, et même nous avons fait
des efforts pour bien comprendre quelques aspects avancés, surtout en ce qui
concerne le JAVASCRIPT, le PHP et les systèmes de gestion de bases de données.
C’est en gros les étapes générales de la création de notre projet, et c’était une occasion
pour améliorer nos compétences en programmation ainsi qu’on conception surtout
que le développement WEB ne fait pas partie des éléments majeurs de notre domaine
génie électrique.
Dans de prochains projets, nous essayerons de travailler avec des Frameworks qui
permettent une manière facile et fluide de programmer réduisant le travail en termes
de temps, efficacité et performances.
Webographie
HTML, CSS, JS, PHP :
• http://labshop-ensam-rabat.000webhostapp.com
• https://github.com/Zakaria-Rihani/Labshop