115
Université de Carthage Institut des Hautes Etudes commerciales Année universitaire : 2010/2011 MÉMOIRE DE PROJET DE FIN D’ETUDES POUR L’OBTENTION DU DIPLÔME DE MASTÈRE PROFESSIONNEL Filière Commerce Electronique Conception et développement d’un Conception et développement d’un site web Marchand pour vente site web Marchand pour vente du matériel informatique en ligne du matériel informatique en ligne Organisme Dirigé par : Mr. Nabil Chaabani (IMS) Mme. Thouraya

85143320 Rapport Final Walid

Embed Size (px)

Citation preview

Page 1: 85143320 Rapport Final Walid

Université de Carthage Institut des Hautes Etudes commerciales

Année universitaire : 2010/2011

MÉMOIRE DE PROJET DE FIN D’ETUDES

POUR L’OBTENTION DU DIPLÔME DE MASTÈRE PROFESSIONNEL

Filière 

Commerce Electronique

Conception et développement d’un siteConception et développement d’un site web Marchand pour vente du matérielweb Marchand pour vente du matériel

informatique en ligneinformatique en ligne

Organisme

Réalisé par : Tbini Walid

Dirigé par : Mr. Nabil Chaabani (IMS) Mme. Thouraya Daoues (IHEC) Mr. Melki Sofiene (IHEC)

Page 2: 85143320 Rapport Final Walid

Abstract: A company that offers products and / or services, always looking to adopt

the best business management in order to compete on the market that is growing

competition.

It is the goal of our project is to develop a website that will allow

electronic commerce to manage orders, customers, products, brands…

Our application also has the objectives: to broaden the scope of

intervention by involving all users in the website, save society's resources (staff

assignments, financing of the commercial approach ...) reduce costs and increase

revenue.

This report describes the analysis, design, and state of the art, directing,

implementing and evaluating the application.

Key-Words: Cart, catalog, PHP, product management, invoice management, 3-tier architecture, online shopping, UML, jquery, CSS, HTML...

Résumé : Une société qui propose des produits et/ou des services, cherche toujours à

adopter la meilleure gestion commerciale afin de pouvoir rivaliser sur le marché

qui ne cesse d’augmenter la concurrence.

C’est l’objectif de notre projet qui consiste à mettre en place un site web

de commerce électronique qui permettra de gérer les commandes, clients,

produits, marques, factures…etc.

Notre application a aussi pour objectifs : d’élargir le champ d’intervention

en impliquant tout les internautes dans le site web, d’économiser les ressources

de la société (tâches du personnel, financement de la démarche commerciale…

etc.), de réduire les coûts et augmenter les revenus.

Ce rapport décrit l’analyse, la conception, l’état de l’art, la réalisation,

l’implémentation et l’évaluation de l’application.

Mots clés : Panier, catalogue, PHP, gestion des produits, gestion des factures, architecture 3-tiers, achat en ligne, UML, jquery, CSS, HTML…

Page 3: 85143320 Rapport Final Walid

Dédicaces

A mes très chers parents

Dont leurs mérites, leurs sacrifices, leurs qualités

humaines m’ont permis de vivre ce jour, Les mots me

manquent pour exprimer toute la reconnaissance, la

fierté et le profond amour que je vous porte pour les

sacrifices qu’ils ont consenti pour ma réussite, qu’ils

trouvent ici le témoignage de mon attachement ma

reconnaissance, gratitude et respect, que dieu leur

préservent bonne santé et longue vie. Tous mes

sentiments de reconnaissance pour vous.

A mes frères et sœurs

J’espère atteint le seuil de vos espérances. Que ce travail

soit l’expression de ma profonde affection Je vous

remercie pour le soutient moral et l’encouragement que

vous m’avez accordés .Je vous souhaite tout le bonheur

que vous méritez

En leur souhaitant un brillant avenir.

A mes oncles et ma famille

Que je ne pourrais nommer de peur d’en oublier mon

attachement et mes affections les plus Sincères.

Page 4: 85143320 Rapport Final Walid

A mes ami(e) s

A tout ceux qui ont su m’apporter aide et soutient aux

moments propices, Je dédie ce travail, reconnaissant et

remerciant chaleureusement.

Page 5: 85143320 Rapport Final Walid

Remerciement

C’est avec un bonheur au cœur que je consacre ces mots

signe de gratitude et de reconnaissance à tous ceux qui

ont contribué, de prés ou de loin, à la réalisation de ce

projet, qu’ils trouvent ici mon terme les plus sincères de

remerciements

Je remercie tous ceux qui m’ont accueilli bras ouverts au

sein de la société « IMS» spécialement, mon encadreur

Mr Nabil Chaabani.

Mes fortes gratitudes à mes encadreurs à

l’IHEC CARTHAGE : Mr. Melki Sofiene et Mme.

Thouraya Daoues qui m’ont su me mettre sur les railles

de la réussite du projet.

Mon remerciements au personnel et enseignant de l’IHEC

de Carthage pour leur aide durant notre parcours

universitaire.

Page 6: 85143320 Rapport Final Walid

Table des matières

Introduction…………………………………………………. …………….. 6Chapitre I Présentation générale……………………………………….. 8I.1. Introduction…………………………………………………………... 8I.2. Présentation de l’organisme d’accueil……………………………… 8 I.2.1. Les objectifs d’IMS……………………………………………….. 8 I.2.2. Les produits et les services offerts par IMS………………………. 8I.3. Présentation du sujet………………………………………………... 9I.4. Méthodologie et formalisme adoptés………………………………... 9I.5. Conclusion…………………………………………………………... 12

Chapitre II Analyse des besoins et spécifications…………………….. 13II.1. Introduction………………………………………………………... 13II.2. Objectifs……………………………………………………………. 13II.3. Critique de l’existant………………………………………………. 14II.4. Spécification des exigences………………………………………... 14 II.4.1. Liste des exigences……………………………………………... 15 II.4.1.1. Besoins fonctionnels…………………………………….. 15 II.4.1.2. Besoins non fonctionnels………………………………... 16 II.4.2. Quelques concepts……………………………………………… 16 II.4.3. Scénarios et des cas d’utilisation……………………………….. 17 II.4.3.1. Identification des acteurs………………………………... 17 II.4.3.2. Les diagrammes des cas d’utilisation…………………… 17 II.4.3.2.1. Diagramme de cas d’utilisation globale………………… 18 II.4.3.2.2. Diagramme de cas d’utilisation «Acheté un produit»........ 19  II.4.3.2.3. Diagramme de cas d’utilisation « Gérer produit»……….. 20 II.4.3.3. Les diagrammes de séquence……………………………. 20 II.4.3.3.1. Propriétés du diagramme de séquences…………………. 20 II.4.3.3.2. Diagramme de séquence «Authentification»……………. 21 II.4.3.3.3. Diagramme de séquence «Mise à jour d’un produit»......... 22 II.4.3.3.4. Diagramme de séquence «Ajout d’un nouveau produit»… 24 II.4.3.3.5. Diagramme de séquence «Suppression d’un produit»…… 25 II.4.3.3.6. Diagramme de séquence «Gestion du panier»…………... 27II.5. Conclusion………………………………………………………….. 28

Chapitre III Etat de l’art…………………………………………………. 29III.1. Introduction………………………………………………………….. 29

1

Page 7: 85143320 Rapport Final Walid

III.2. Architecture de l’application……………………………………….. 29 III.2.1. Architecture de client-serveur……………………………………. 29 III.2.1.1. Présentation……………………………………………….. 29 III.2.1.2. Avantages de l’architecture client-serveur………………... 30 III.2.1.3. Inconvénient de l’architecture client-serveur……………... 30 III.2.2. Architecture 3-tiers……………………………………………….. 31 III.2.2.1. Présentation……………………………………………….. 31 III.2.2.2. Avantages de l’architecture 3-tiers………………………... 32 III.2.2.3. Inconvénient de l’architecture 3-tiers……………………... 32 III.2.3. Architecture N-tiers………………………………………………. 32 III.2.3.1 Présentation………………………………………………... 32 III.2.4. Architecture adoptée……………………………………………… 33III.3. Choix techniques…………………………………………………….. 34 III.3.1. SGBD utilisé ……………………………………………………... 34 III.3.1.1. MySQL ………………………………………………….... 34 III.3.1.1.1. Communication du MySQL avec le serveur web…….. 34 III.3.1.2. Les autres SGBD face à MYSQL : PostgreSQL …………. 34 III.3.1.3. SGBD adoptée (MySQL)…………………………………. 35 III.3.2. Les Langages utilisés……………………………………………... 35 III.3.2.1. Le langage Jquery…………………………………………. 35 III.3.2.2. Le langage PHP…………………………………………… 36 III.3.2.3. Les autres langages face à PHP : ASP…………………….. 36 III.3.2.4. Coopération de PHP et MySQL…………………………... 37III.4. Conclusion…………………………………………………………… 37

Chapitre IV Conception…………………………………………………... 38IV.1. Introduction………………………………………………………….. 38IV.2. Conception de l’application…………………………………………. 38 IV.2.1. Diagramme de classes...………………………………………….. 38IV.3. Conception de la base de données…………………………………... 40 IV.3.1.Passage à un modèle relationnel à partir d’un diagramme de classes.. 40 IV.3.2. Schéma Relationnel de la base de données……………………….. 40IV.4. Conclusion……………………………………………………………. 42

Chapitre V Réalisation et implémentation……………………………….. 43V.1. Introduction…………………………………………………………... 43V.2. Environnement de travail……………………………………………. 43 V.2.1. Environnement matériel…………………………………………... 43 V.2.2. Environnement logiciel……………………………………………… 44V.3. Architecture du Système …………………………………………….. 45 V.3.1. Diagramme de composante……………………………………….. 45

2

Page 8: 85143320 Rapport Final Walid

V.4. Choix techniques……………………………………………………… 46 V.4.1. Choix du langage………………………………………………….. 46 V.4.2. Choix de la technologie de sécurité……………………………….. 46 V.4.2.1. Protection contre les attaques d’injection SQL……………. 46 V.4.2.2. Les sessions………………………………………………... 46 V.4.2.3. Mécanisme de hachage de mot de passe…………………... 47 V.4.3. Autres choix technologiques……………………………………… 48V.5. Diagramme de GANTT………………………………………………. 48V.6. Phase d’implémentation……………………………………………… 49 V.6.1. Contraintes………………………………………………………… 49 V.6.2. Pratiques adoptées………………………………………………… 50V.7. Phase de tests et validation…………………………………………... 50 V.7.1. Jeux de tests et validation…………………………………………. 51V.8. Conclusion…………………………………………………………….. 53

Chapitre VI Interface de l’application…………………………………... 54VI.1. Introduction………………………………………………………….. 54VI.2. Interface de l’application……………………………………………. 54 VI.2.1. Back-office……………………………………………………….. 54 VI.2.1.1. Page d’authentification……………………………………. 54 VI.2.1.2. Session administrateur…………………………………….. 55 VI.2.1.2.1. Page d’accueil du back-office…………………………. 55 VI.2.1.2.2. Page gestion des produits……………………………... 56 VI.2.1.2.3. Page ajout d’un nouveau produit (pop-up)……………... 56 VI.2.1.2.4. Suppression d’un produit……………………………... 57 VI.2.2. Front-office……………………………………………………….. 58 VI.2.2.1. Page d’accueil du front-office …………………………….. 58 VI.2.2.2. Page gestion de panier…………………………………… .. 60 VI.2.2.3. Page choix de méthode d’expédition……………………... 61 VI.2.2.4. Page choix de méthode de payement……………………… 62 VI.2.2.5. Page confirmation commande……………………………... 63 VI.2.2.6. Page de payement………………………………………….. 64VI.3. Conclusion……………………………………………………………. 66Conclusion générale………………………………………………………….. 67Glossaire……………………………………………………………………… 68Bibliographie et Néographie………………………………………………… 69Annexe………………………………………………………………………... 70

3

Page 9: 85143320 Rapport Final Walid

Table des figuresListe des figures Titres

Figure I.1 Démarche d’élaboration du projet

Figure I.2 Organigramme de faisabilité du projet

Figure II.1 Diagramme de cas d'utilisation globale

Figure II.2 Diagramme de cas d'utilisation « Acheté un produit »

Figure II.3 Diagramme de cas d'utilisation « gérer les produits »

Figure II.4  Diagramme de séquence « authentification » 

Figure II.5 Diagramme de séquence « Mise à jour d’un produit »

Figure II.6  Diagramme de séquence « Ajout d’un nouveau produit »

Figure II.7  Diagramme de séquence « Suppression d’un produit »

Figure II.8  Diagramme de séquence « Gestion du panier »

Figure III.1  Architecture client-serveur

Figure III.2  Architecture 3-tiers

Figure III.3  Architecture N-tiers

Figure IV.1 Diagramme de class

Figure IV.2 Schéma relationnel de la base de données

Figure V.1  Diagramme de composante

Figure V.2  Protection contre les attaques d’injection SQL

Figure V.3  Protection des données avec Les sessions

Figure V.4 Protection de mot de passe avec le mécanisme de hachage

Figure V.5 Script d'appel des plugins de jquery

Figure V.6  Menu slider

Figure V.7 Diagramme de GANTT

Figure V.8 Tableau jeux de tests et validation

Figure VI.1  Page de connexion de l’utilisateur

Figure VI.2 Message d’erreur lorsque le login ou le mot de passe est invalide

4

Page 10: 85143320 Rapport Final Walid

Figure VI.3  Page d’accueil du back-office

Figure VI.4  Page gestion des produits

Figure VI.5 Page ajout d’un nouveau produit

Figure VI.6 Contrôle de saisie dans l’ajout d’un nouveau produit

Figure VI.7  Supprimer un produit

Figure VI.8  Page d’accueil du back-office

Figure VI.9  Ajout d’un produit au panier

Figure VI.10  Page détails d’un produit

Figure VI.11  Page Gestion du panier

Figure VI.12  Page d’authentification du client

Figure VI.13  Formulaires d’inscription d’un nouveau client

Figure VI.14  Page Choix de méthode d’expédition

Figure VI.15  Formulaire de modification de l’adresse d’expédition

Figure VI.16  Page Choix de méthode de payement

Figure VI.17 Page confirmation de la commande

Figure VI.18  Page de payement

5

Page 11: 85143320 Rapport Final Walid

Introduction

GénéraleL’évolution du secteur informatique durant ces dernières années a

favorisé l’apparition de nouvelles technologies web qui ont permis d’unir

les différents organismes et les différentes sociétés d’une manière

croissante et remarquable.

Cette évolution prend sa part dans divers secteurs et impose son

existence vue la simplicité des applications facilitant la communication

entre les différents membres des établissements surtout que le facteur

temps joue un rôle très important dans l’évolution de la qualité des

services.

Le secteur du commerce n’a pas échappé à cette vague, en effet ce

secteur a donné naissance à un nouveau secteur dit E-Commerce qui

désigne l’ensemble des échanges numérisés liés à des activités

commerciales. 

C’est dans ce contexte que s’inscrit ce projet de fin d’études, dans

lequel nous sommes amenés à réaliser un site web marchand, qui permet

de vendre des ordinateurs en ligne.

Donc, après avoir introduit notre travail de projet de fin d’études,

nous présentons dans un premier chapitre la société IMS qui nous a

accueillis, nous délimitons le cadre général du travail et nous spécifions

notre sujet.

Le deuxième chapitre est consacré à une analyse des besoins qui

s’intéressera aussi bien aux aspects fonctionnels qu’aux aspects non-

fonctionnels liées à notre sujet. Dans ce chapitre nous identifierons les cas

6

Page 12: 85143320 Rapport Final Walid

d’utilisations ainsi que les diagrammes de séquences décrivant les

scénarios d’utilisation de site web.

Le troisième chapitre est consacré à la conception de notre site web.

Dans ce chapitre nous allons spécifier les différentes classes constituantes

notre system. A partir du diagramme de classe nous dégagerons la

structure de notre base do données.

Dans le quatrième chapitre nous présenterons les outils qui nous

étaient utiles dans l’élaboration de ce travail.

Le cinquième chapitre s’occupera de la réalisation de site web en

passant par l’environnement matériel et logiciel utilisé avec les différentes

techniques de réalisation et de sécurité.

Le dernier chapitre nous donne une vue sur le site web dans son état

final et ce en nous fournissant les différentes IHM.

Pour conclure, nous revenons sur nos apports et perspectives dans la

conclusion de ce projet.

7

Page 13: 85143320 Rapport Final Walid

Chapitre I. Présentation

Générale

I.1. Introduction 

I.2. Présentation de l’organisme d’accueil 

La société tunisienne IMS est une société de services et d‘ingénierie informatique

(SSII) spécialisée dans la conception, la réalisation et le développement de tout procédé et

applications informatiques et télécommunications incluant l’aspect logiciel (Software) et

l’aspect matériel (Hardware).

La société IMS est composée par des ingénieurs et des techniciens diplômés des

grandes écoles tunisiennes disposant d’une expérience laborieuse dans le domaine des TIC et

des scientifiques hautement qualifiés.

I.2.1. Les objectifs de IMS

Les objectifs qu’IMS visent à les atteindre sont :

Satisfaction des clients et Anticipation totale de leurs besoins

Développement des relations de partenariat solides avec des sociétés nationales

et internationales.

Satisfaction de ces collaborateurs puisque la relation humaine est son axe

stratégique.

Atteindre une qualité de haut niveau

Renforcer son avancée technologique

Innover toujours en se basant sur des études et des recherches avancées

I.2.2. Les produits et les services offerts par IMS

- La société IMS offre plusieurs types de produits tels que :

Page 14: 85143320 Rapport Final Walid

CMS ERP /CRM E-Banking E-Portail Formed

- La société IMS offre aussi plusieurs types de service tels que :

Applications Web Web Marketing E-Solution Développement Informatique Outsourcing Réseau ET Télecommunication Assistance Technique

I.3. Présentation du sujet 

Le sujet intitulé « Conception et développement d’un site web Marchand pour vendre

du matériel informatique en ligne ». Le travail demandé a pour finalité de créer un site web

marchand destinée à la vente du matériel informatique en ligne, qui est encore au stade de la

recherche, et ce dans l’optique de concevoir et de réaliser une application qui permet de

vendre en ligne, de gérer les commandes, les clients, les factures, et le stock en temps réel.

I.4. Méthodologie et formalise adoptés

La méthodologie, est bien sûr la démarche méthodologique et l’ensemble des modèles

associés mais c’est aussi, en amont mettre à plat la logique applicative : les outils de

modélisation comme Merise ou UML sont donc primordiaux.

Dans ce qui suit, nous allons décrire la démarche de développement et argumenter le

choix d’UML comme langage de modélisation.

UML, est bien connu par les développeurs. Il est souvent utilisé pour la conception et

la représentation graphique (sous forme de diagrammes) de n’importe quelle application de

manière détaillée (éléments, paramètres, fonctions, etc.)

Outre sa souplesse et son caractère polyvalent, UML, est le mieux adapté aux

développements des applications e-commerce.

Page 15: 85143320 Rapport Final Walid

La démarche d’élaboration de notre projet s’appuie sur UML qui permettra de

modéliser d’une manière claire et précise la structure et le comportement du système. Cette

démarche est itérative, incrémentale, pilotée par les cas d’utilisation et centrée sur

l’architecture, la figure ci-dessous décrit cette démarche.

Figure I.1 : Démarche d’élaboration du projet

Page 16: 85143320 Rapport Final Walid

Figure I.2 : Organigramme de faisabilité du projet

Page 17: 85143320 Rapport Final Walid

Vu que 50% des échecs des projets informatiques proviennent de la spécification, nous

avons donné une attention particulière au maquettage.

Le maquettage est une technique qui permet de surmonter la difficulté de spécification

du logiciel due à la différence de terminologie et au manque de précision dans l'expression

des besoins. Cette activité consiste à dessiner rapidement des écrans du futur système

(maquette).

I.5. Conclusion 

Nous avons présenté le cadre du travail au sein de l’entreprise IMS, le sujet ainsi que

les méthodologies utilisées pour concevoir notre site web. Ces éléments seront par la suite les

piliers pour la conception et la mise en place de notre application ils nous ont, en effet, fournis

les grandes lignes du système qui seront par la suite exploitées, détaillées et mises en œuvre

pour la suite du travail.

Dans ce qui suit nous allons effectuer une analyse des besoins et des spécifications du

projet à réaliser ce dont nous allons aborder au cours du prochain chapitre.

Page 18: 85143320 Rapport Final Walid

Chapitre II. Analyse des besoins

et spécifications

II.1. Introduction

L'identification des besoins est la pierre angulaire de conception et développement des

sites web, car l’analyse des besoins est essentielle à la réussite d'un projet de développement.

En effet cette phase consiste à qualifier les besoins fonctionnels et à analyser l’existant afin

d’obtenir les spécifications et les exigences détaillées techniques.

Dans cette partie, nous avons spécifié les différents besoins fonctionnels et non

fonctionnels requis pour l’implémentation de notre site web et les cas d’utilisations possibles.

Nous allons ensuite passés à la conception de notre site web.

II.2. Objectif

La vente en ligne est une forme de commerce électronique qui a apparut avec le

développement massive des technologies d’informations et qui consiste à réaliser tout les

étapes d’une transaction commercial sur internet.

Dans ce contexte que s’inspire notre travail qui consiste à concevoir et à développer un

site web marchand.

Notre solution aura pour objectif :

Vendre du matériel informatique en ligne.

Contrôle et gestion des différents processus.

Réduire les coûts et augmenter les revenus.

Augmenter le nombre des clients.

Page 19: 85143320 Rapport Final Walid

II.3. Critique de l’existant

- La vente du matériel informatique se fait d’une manière traditionnel, c'est-à-dire si

les clients veulent acheter du matériel informatique, ils doivent se présenter dans les points de

vente.

- La gestion des ventes, des factures, des produits, des clients…, se fait manuellement et

puis enregistrer sur un ordinateurs dans des fichiers Excel.

La façon de gère et de vendre le matériel informatique engendre les défaillances

suivantes :

Les frais de locations et les frais des personnels qui travaillent dans les

boutiques sont élevée.

Les clients qui viennent pour acheter du matériel informatique n’ont pas une

visibilité totale sur tous les matériels.

Une perte du temps dans la recherche des informations concernant le

matériel informatique.

Le processus de la gestion des ventes du matériel informatique (Ajout,

Modification,… des facteurs, des clients, des produits,…) est long.

Un Manque de publicité.

II.4. Spécification des exigences

Les objectifs de la phase spécification des exigences sont de faciliter la

reconnaissance et la compréhension du lien entre les exigences, de permettre leur priorisation,

et surtout de tracer leur prise en charge dans le projet.

II.4.1. Liste des exigences

Page 20: 85143320 Rapport Final Walid

II.4.1.1. Besoins fonctionnels :

1 - Besoin de deux interfaces conviviales et interactives, front-office et back-office

puisque le site web est destiné à deux types d’utilisateurs qui sont les internautes, les clients

et le administrateur.

2 - Pour La partie back-office du site :

Besoin d’une page d’authentification pour accéder au back-office.

Besoin de gérer les produits : Consultation, ajout, modification, suppression, recherche des produits, gestion des marques ...

Besoin de gérer les medias : ajout, modification et suppression des medias (Logo, Bannière…).

Besoin de gérer les contacts : consultation et suppression des contacts.

Besoin de gérer le compte d’administrateur : Modifier le login et le mot de passe, ajouter un administrateur…

Besoin de gérer les factures : consultation, recherche, suppression des factures.

Besoin de gérer les clients inscrit dans l’espace clients : informer les clients sur l’avancement de leurs commandes, rechercher des clients, consultation des informations concernant les clients…

Besoin d’un module de newsletter pour communiquer les clients et les internautes sur toutes les nouveautés.

Besoin de gérer les commandes : Ajout, suppression, consultation et recherche des commandes.

Gestion des stocks en temps réel.

3 - Pour la partie front office du site:

Besoin d’un menu qui contient tout les catalogues du matériel informatique.

Besoin d’une page de contact.

Besoin d’une page de paiement.

Besoin d’un espace membre pour nos clients qui contient l’historique des

achats réalisé, toutes les offres spéciales, le suivi de la livraison...

Page 21: 85143320 Rapport Final Walid

Besoin d’un Moteur de recherche.

Besoin d’une Newsletter.

Besoin d’un Module de partage des produits sur les réseaux sociaux.

Besoin d’un panier pour gérer les quantités des produits acheté.

II.4.1.2 Besoins non fonctionnels :

En plus des besoins fonctionnels cités ci-dessus nous devons tenir compte des

contraintes suivantes :

La satisfaction complète des besoins de tous les utilisateurs.

Simplifier le travail des utilisateurs avec une ergonomie sobre et efficace.

L’implémentation des mesures sécuritaires.

Assurer la Confidentialité des informations.

L'optimisation du code.

L'optimisation des ressources consommées.

La compatibilité avec le matériel existant.

L’application doit assurer la non-répudiation et la traçabilité de l’information.

L’application doit être sécurisée. Un profil d’accès est affecté à chaque

utilisateur.

II.4.2. Quelques concepts

Dans notre site web, nous allons définir les différents types d'utilisateurs qui ont des

droits et des fonctionnalités qui leurs sont propres.

Nous abordons alors notre travail par une identification des acteurs, en fait un acteur

représente un rôle joué par une personne ou par un groupe de personnes qui interagit avec le

système.

Dans notre site web on trouve 3 types d’acteurs : l’internaute, le client, et

l’administrateur du site.

Page 22: 85143320 Rapport Final Walid

II.4.3. Scénarios et des cas d’utilisation

II.4.3.1 Identification des acteurs :

Les principaux acteurs de notre application sont :

L’administrateur.

Les internautes.

Les clients.

Chaque acteur à ses propres tâches qu’on va les modéliser dans les sections suivantes.

En effet, tous les acteurs passent obligatoirement par deux interfaces qui sont :

- Le back-office : destinée à l’administrateur.

- Le front-office : destinée aux internautes et aux clients.

Espace Administrateur : C’est le back-office de notre site web. Dans cette espace

l’administrateur a le droit d’effectuer toutes sortes d’opérations pour administrer le site tel que

l’ajout, la modification, la suppression, la mise a jour des produits ou des medias, ou des

factures…, définir les droits d’accès, consulter les contacts…

Espace Internaute : C’est le front-office de notre site web. Cette espace est destinée

aux internautes et aux clients qui peuvent naviguer sur le site, effectuer des recherches sur les

marques du matériel informatique proposée, s’inscrire dans la newsletter, faire des achats,

s’inscrire dans l’espace membre, consulter le catalogue…

II.4.3.2 Les diagrammes des cas d’utilisation :

Il s'agit de la solution UML pour représenter le modèle conceptuel, les diagrammes

des cas d’utilisation permettent de décrire l'interaction entre l'acteur et le système.

II.4.3.2.1 Diagramme de cas d’utilisation globale :

Page 23: 85143320 Rapport Final Walid

Figure II.1 : Diagramme de cas d'utilisation globale

Ce diagramme de cas d’utilisation nous donne une vue globale sur les utilisateurs et

leurs interactions avec les 2 parties du site, le back-office et le front-office.

- l’internaute : son interaction se fait avec le front-office du site soit par la consultation

du contenue du site, la création d’un compte, la recherche …

- le client : c'est un internaute qui s'est transformé en client dés son premier acte

d’achat en ligne, il hérite tout les fonctionnalités de l’internaute (consultation du contenue du

site, la création d’un compte, la recherche …).

- l’administrateur : son interaction se fait avec le back-office du site, son rôle est la

gestion du site (gestion des produits, gestion des medias, gestion des commandes…)

II.4.3.2.2 Diagramme de cas d’utilisation  « Acheté un produit »

Page 24: 85143320 Rapport Final Walid

Figure II.2 : Diagramme de cas d'utilisation « Acheté un produit »

Ce diagramme de cas d’utilisation nous montre l’interaction du client avec le front-

office du site lorsqu’il va acheter un produit. Le client ici peut consulter les produits, gérer

son panier, passer une commande et suivre son avancement après l’authentification.

II.4.3.2.3 Diagramme de cas d’utilisation  « Gérer les produits » 

Page 25: 85143320 Rapport Final Walid

Figure II.3: Diagramme de cas d'utilisation « Gérer les produits »

Ce diagramme de cas d’utilisation nous montre comment l’administrateur gère les

produits. Pour gérer un produit, l’administrateur doit tout d’abord s’authentifier, puis il peut

ajouter, modifier, ou supprimer un produit.

II.4.3.3 Les diagrammes de séquence:

II.4.3.3.1 Propriétés du diagramme de séquences :

L’analyse des cas d’utilisation commence par l’élaboration des diagrammes de

séquences avec des objets d’analyses. Les objets d’analyses sont des instances de classes

d’analyses qui représentent les éléments majeurs ayant des comportements et des

responsabilités dans le système.

Les objets de contrôle : ils représentent les activités systèmes. Ces objets dirigent les

activités des objets d’entités et d’interfaces.

Les objets d’entités : ce sont des entités persistantes au système (tel que les tables de

la base de données).

Page 26: 85143320 Rapport Final Walid

Les objets d’interface : ils représentent l’interface qui est en interaction directe avec

l’utilisateur (exemples : les écrans de saisies).

II.4.3.3.2 Diagramme de séquence « Authentification » :

Titre : S’authentifier.

Résumé : Ce cas d’utilisation permet à l’utilisateur de se connecter au système et de

s’authentifier a travers un profile qui déterminera les rubriques aux quels il a le droit d’y

accéder.

Acteurs : Se sont les différant utilisateurs du système qui sont : l’internaute, le client

et l’administrateur.

Description des scénarios :

1. Pré condition   :

Existence d’une interface permettant la saisie d’identificateur ainsi du mot de passe

pour l’utilisateur.

2. Scénario Normal   :

L’utilisateur accède au site web

Une interface Homme/Machine est apparue contenant un formulaire

l’authentification.

Saisie du Login et de Mot de Passe.

Le system vérifie l’existence de l’utilisateur.

Le system cherche les rubriques disponibles pour cet utilisateur

Le system affiche les rubriques selon le profil de l’utilisateur connecté.

3. Scénario d’erreur   :

Login et Mot de Passe erroné.

Le system indique à l’utilisateur que le Login et le Mot de Passe sont

erronés.

Le system affiche l’échec de la saisie (Le scénario normal reprend au point

1).

Page 27: 85143320 Rapport Final Walid

Figure II.4 : Diagramme de séquence « Authentification » 

II.4.3.3.3 Diagramme de séquence « Mise à jour d’un produit » :

Titre : Mettre à jour un produit.

Résumé : Décrire les étapes à suivre par l’administrateur afin de mettre à jour un

produit.

Acteurs : l’administrateur.

Description des scénarios :

1. Pré condition   :

Dans l’interface du back-office on trouve un menu qui contient des modules, on

choisit le module Produits

2. Scénario Normal   :

a. L’administrateur entre dans le back-office et choisi le module produits

b. L’écran du produit affiche tout les produits.

Page 28: 85143320 Rapport Final Walid

c. L’administrateur appuie sur le bouton mise à jour du produit qu’il veut le

modifier.

d. L’écran du produit affiche tout les informations du produit concerné.

e. L’administrateur modifie les informations du produit et valide son choix.

f. Le system enregistre les modifications réalisé par l’administrateur dans la base

de données.

g. L’écran du produit affiche un message de mise à jour avec succès.

3. Scénario d’erreur   :

Des Informations erronées ou des champs vides.

L’écran du produit affiche un massage d’erreur qui indique à

l’administrateur que les informations saisis sont erronées ou indique qu’il

y’a des champs vides et qu’il doit les remplis (Le scénario normal reprend

au point 5).

Figure II.5 : Diagramme de séquence « Mise à jour d’un produit » 

Page 29: 85143320 Rapport Final Walid

II.4.3.3.4 Diagramme de séquence « Ajout d’un nouveau produit »:

Titre : Ajouter un nouveau produit.

Résumé : Décrire les étapes à suivre par l’administrateur afin d’ajouter un produit.

Acteurs : l’administrateur.

Description des scénarios :

1. Pré condition   :

Dans l’interface du back-office on trouve un menu qui contient des modules, on

choisit le module Produits

2. Scénario Normal   :

a. L’administrateur entre dans le back-office et choisi le module produits

b. L’écran du produit affiche tout les produits.

c. L’administrateur appuie sur le bouton ajouter un produit.

d. L’écran du produit affiche un formulaire d’ajout d’un nouveau produit.

e. L’administrateur remplie le formulaire du produit et valide son choix.

f. Le system enregistre le nouveau ajouté par l’administrateur dans la base de

données.

g. L’écran du produit affiche un message d’ajout avec succès.

3. Scénario d’erreur   :

Des Informations erronées ou des champs vides.

L’écran du produit affiche un massage d’erreur qui indique à

l’administrateur que les informations saisis sont erronées ou indique qu’il

y’a des champs vides et qu’il doit les remplis(Le scénario normal reprend

au point 4).

Page 30: 85143320 Rapport Final Walid

Figure II.6 : Diagramme de séquence « Ajout d’un nouveau produit »

II.4.3.3.5 Diagramme de séquence « suppression d’un produit » :

Titre : Supprimer un produit.

Résumé : Décrire les étapes à suivre par l’administrateur afin de supprimer un

produit.

Acteurs : l’administrateur.

Description des scénarios :

1. Pré condition   :

Dans l’interface du back-office on trouve un menu qui contient des modules, on

choisit le module Produits

2. Scénario Normal   :

a. L’administrateur entre dans le back-office et choisi le module produits

Page 31: 85143320 Rapport Final Walid

b. L’écran du produit affiche tout les produits.

c. L’administrateur appuie sur le bouton supprimer du produit qu’il veut le

supprimer.

d. L’écran du produit affiche un message qui demande la confirmation de la

suppression.

e. L’administrateur confirme son choix.

f. Le system supprime le produit dans la base de données.

g. L’écran du produit affiche un message de suppression avec succès.

Figure II.7 : Diagramme de séquence « Suppression d’un produit »

II.4.3.3.6 Diagramme de séquence « Gestion du Panier »

Titre : Gérer un panier.

Page 32: 85143320 Rapport Final Walid

Résumé : Décrire les étapes à suivre par le client afin de gérer son panier lors d’une

opération d’achat.

Acteurs : Le client.

Description des scénarios :

1. Pré condition   :

Dans l’interface du front-office on trouve les catalogues des produits offerts, alors il

suffit de choisir le produit à acheter.

2. Scénario Normal   :

a. Le client parcoure les catalogues des produits offerts et choisi un produit(s) on

appuyant sur le bouton ajouter au panier.

b. Le produit(s) s’ajout dans le panier.

c. Le client accède à son panier en appuyant sur l’icone panier.

d. Le client peut modifier les quantités des produits dans le panier.

e. Le client peut supprimer des lignes dans le panier.

f. Le client peut passer la commande après avoir terminer la gestion de son

panier.

3. Scénario d’erreur   :

Des Informations erronées ou des champs vides.

L’écran du produit affiche un massage d’erreur qui indique au client que

les informations saisis lorsque il a modifié son panier sont erronées, ou

indique qu’il y’a des champs vides et qu’il doit les remplis(Le scénario

normal reprend au point 4).

Page 33: 85143320 Rapport Final Walid

Figure II.8 : Diagramme de séquence « Gestion du panier »

II.5. Conclusion 

Ce chapitre nous a permis de couvrir tous les cas d'utilisations concernant les

différents utilisateurs de notre système et de définir les besoins non fonctionnels à prendre en

considérations afin de satisfaire les utilisateurs. La spécification des besoins étant établie,

nous essayerons dans le chapitre suivant de concevoir clairement les différentes technologies

existantes pouvant être utilisées pour l’élaboration du projet.

Page 34: 85143320 Rapport Final Walid

Chapitre III. État de l’art

III.1. Introduction

Dans ce chapitre, nous allons détailler les différentes architectures existantes pouvant

être utilisées pour l’élaboration de notre projet, en suite nous allons présenter les différents

moyens techniques qui peuvent être utilisées dans la réalisation de notre projet.

III.2.Architecture de l’application

III.2.1. Architecture client-serveur

III.2.1.1. Présentation :

Les architectures client-serveur constituent une étape importante dans l'évolution des

systèmes d'informations. Ce type d'architecture est constitué uniquement de deux parties: un

client qui gère la présentation et la logique applicative est un serveur qui stocke les données

de façon cohérente et gère éventuellement une partie de la logique applicative. L'interface

entre ces deux parties est classiquement le langage. Dans ce type d'architecture on constate

une certaine indépendance du client par rapport au serveur. La programmation du client peut

s'effectuer sans se préoccuper de la mise en place de la base de données. En particulier, les

questions concernant l'administration des données ne concerneront pas le développeur du

client (dimensionnement des disques, répartition des données sur le système, optimisation des

accès aux données, sauvegarde des données,...).

Figure III.1 : Architecture client-serveur

Page 35: 85143320 Rapport Final Walid

III.2.1.2. Avantages de l’architecture client-serveur :

Les principaux avantages de l’architecture client-serveur sont :

L'Atomicité : permet à la transaction d'avoir un comportement indivisible; soit

toutes les modifications sur les données effectuées dans la transaction sont

effectives, soit aucune n'est réalisée.

La Cohérence des données de la base est permanente.

L'Isolation des transactions : signifie que les modifications effectuées au cours

d'une transaction ne sont visibles que par l'utilisateur qui effectue cette

transaction.

La Durabilité : elle garantit la stabilité de l'effet d'une transaction dans le

temps, même en cas de problèmes graves tel que la perte d'un disque.

III.2.1.3. Inconvénients de l’architecture client-serveur :

L'architecture client-serveur possède toutefois des inconvénients. Ce sont ces

inconvénients qui poussent les entreprises à utiliser d'autres technologies. Les deux

inconvénients principaux sont la difficulté à gérer correctement les questions de sécurité et le

coût du déploiement.

La sécurité d'un système en architecture client-serveur est gérée au niveau du SGBDR.

Celui-ci contrôle l'accès aux données en attribuant des autorisations d'accès aux différents

utilisateurs du système. Le problème vient du fait que cette attribution de droit ne peut pas

tenir compte des spécificités du logiciel réalisé.

L'autre problème est souvent considéré comme beaucoup plus important par les

entreprises car il est beaucoup plus visible. Il s'agit des durées et coûts de déploiement des

logiciels. En effet un logiciel classique, développé en architecture client-serveur, nécessite

une installation et une éventuelle configuration sur chaque poste utilisateur. Le déplacement

d'un technicien coûte déjà très cher aux entreprises. Mais ce qui reste le plus laborieux est la

nécessité de mettre à jour régulièrement le logiciel. Dans une architecture client-serveur,

chaque mise à jour du logiciel nécessite un nouveau déploiement accompagné de nombreux

coûts.

III.2.2. Architecture 3-tiers:

Page 36: 85143320 Rapport Final Walid

III.2.2.1 Présentation :

Le principe d'une architecture 3-tiers est relativement simple: il consiste à séparer la

réalisation des trois parties vues précédemment (stockage des données, logique applicative,

présentation). Nous avons déjà pu entrevoir la possibilité de séparer la conception de ces trois

subdivisions, ici il s'agit de séparer leur implantation. Tout comme dans le client-serveur,

cette séparation signifie qu'il est possible de déployer chaque partie sur un serveur

indépendant, toutefois cela n'est pas obligatoire.

La mise en place de ce type d'architecture permet dans tous les cas une plus grande

évolutivité du système. Il est ainsi possible de commencer par déployer les deux serveurs sur

la même machine, puis de déplacer le serveur applicatif sur une autre machine lorsque la

charge devient excessive.

Les éléments permettant la réalisation classique d'un système en architecture 3- tiers

sont les suivants:

Système de gestion de base de données relationnel (SGBDR) pour le stockage

des données,

Serveur applicatif pour la logique applicative,

Navigateur Web pour la présentation.

Figure III.2 : Architecture 3-tiers

III.2.2.2. Avantages de l’architecture 3-tiers :

Les avantages de l'architecture 3-tiers sont principalement au nombre de quatre : 

Les requêtes clients vers le serveur sont d'une plus grande flexibilité que dans

celles de l'architecture 2-tiers basées sur le langage SQL.

Page 37: 85143320 Rapport Final Walid

Cette flexibilité permet à une entreprise d'envisager dans le cadre d'une

architecture 3-tiers une grande souplesse pour l'introduction de toutes

nouvelles technologies. 

D'un point de vue développement, la séparation qui existe entre le client, le

serveur et le SGBD permet une spécialisation des développeurs sur chaque

tiers de l'architecture. 

Plus de flexibilité dans l'allocation des ressources; la portabilité du tiers serveur

permet d'envisager une allocation et ou modification dynamique aux grés des

besoins évolutifs au sein d'une entreprise.

III.2.2.3. Inconvénients de l’architecture 3-tiers :

Les inconvénients de l’architecture 3-tiers sont :

Les coûts de développements d'une architecture 3-tiers sont plus élevés que

pour du 2-tiers. 

Plus de charge sur le serveur et le réseau.

III.2.3. Architecture n-tiers

III.2.3.1. Présentation :

Une architecture n-tiers va plus loin dans le découpage de l'application sur différents

serveurs. Une architecture n-tiers est également appelée architecture distribuée du fait de la

distribution des traitements et des données sur différents serveurs. Le découpage de base du

système reste toujours le même: une partie gestion de données, une partie gestion de la

logique applicative et bien entendu le client assurant la présentation. Toutefois les deux

parties développées coté serveur vont pouvoir être déployées chacune sur plusieurs serveurs.

L'objectif général de ce type d'architecture est de permettre l'évolutivité du système

sous plusieurs aspects: la quantité de données stockée, la disponibilité du serveur, le nombre

d'utilisateurs…

Il existe deux types de répartition possibles dans une architecture distribuée. Il est

possible de répartir les données et de répartir la logique applicative. Chacune de ces deux

répartitions permet de résoudre des problèmes de natures différentes. Elles peuvent donc être

mises en place soit séparément, soit en parallèle sur le même système.

Page 38: 85143320 Rapport Final Walid

Figure III.3 : Architecture N-tiers

III.2.4. Architecture adoptée

Vu que notre application nécessite un serveur Web pour fonctionner, alors

l’architecture la plus adoptée au système à réaliser est l’architecture 3-tiers. Donc les

éléments qui constituent l’architecture de notre application sont les suivant :

La présentation : C’est la partie la plus immédiatement visible pour l'utilisateur.

On parle d'Interface Homme Machine. En informatique, elle peut être réalisée par

une application graphique ou textuelle ou en WML pour être utilisée par un

téléphone portable.., et pour notre cas il est représentée en HTML pour être

exploitée par un navigateur web.

La logique applicative : Elle correspond à la partie fonctionnelle de l'application,

celle qui implémente la « logique », et qui décrit les opérations que l'application

opère sur les données en fonction des requêtes des utilisateurs, effectuées au

travers de la couche présentation.

La couche accès aux données : La fonction principale de cette couche est de

gérer les données. La façon dont elle organise, manipule et stocke les données est

transparente vis-à-vis des applications externes et des utilisateurs.

III.3. Choix techniques

Page 39: 85143320 Rapport Final Walid

III.3.1. SGBD utilisé :

III.3.1.1. MYSQL

MySQL est un système de gestion de base de données relationnelle. Une base de

données relationnelle augmente la vitesse et la flexibilité, en stockant des données dans des

tables séparées plutôt que de mettre toutes les données dans un secteur. Ces tables sont liées

par des relations définies permettant de combiner des données de plusieurs tables sur

demande. Employer une SGBDR signifie qu'il est possible d'ajouter, d'accéder, et de traiter

les données stockées dans votre base de données. SQL est "Structured Query Language" - le

langage normalisé le plus commun pour accéder à des bases de données. 

III.3.1.1. 1. Communication du MySQL avec le serveur web :

La totalité du dialogue avec une base de données s’effectue en passant des messages

au serveur MySQL. Ces messages peuvent être envoyés de plusieurs façons. Les requêtes

faites sont formulées dans le langage SQL (Strutured Query Language).

PHP, lui ne comprend pas ce langage, mais cela n’est pas utile car PHP est là

seulement pour passer de façon transparente à MySQL les requêtes écrites en SQL. Le serveur

web les interprète, les exécute, et renvoie un message contenant le résultat de cette exécution

ou un diagnostic d’erreur si la requête n’était pas correcte.

III.3.1.2 Les autres SGBD face à MYSQL : PostgreSQL

PostgreSQL est un Système de Gestion de Base de Données open source basé sur

POSTGRES développé à l'université de Californie au département des sciences informatiques

de Berkeley.

Ce système est concurrent d'autres systèmes de gestion de base de données, qu'ils

soient libres (comme MySQL et Firebird), ou propriétaires (comme Oracle, Sybase, DB2 et

Microsoft SQL Server). Comme les projets libres Apache et Linux, PostgreSQL n'est pas

contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de

développeurs et d'entreprises.

- Principales caractéristiques :

PostgreSQL peut stocker plus de types de données que les types traditionnels

entiers, caractères, etc. L'utilisateur peut créer des types, des fonctions, utiliser

l'héritage de type etc.

Page 40: 85143320 Rapport Final Walid

Il fonctionne sur diverses plates-formes matérielles et sous différents systèmes

d'exploitation.

III.3.1.3. SGBD adoptée (MySQL)

On a choisie MySQL car il est très rapide, fiable, et facile à employer. MySQL a

également un ensemble de dispositifs très pratiques développés en coopération avec ses

utilisateurs. C'est également 'Open Source' et donc librement accessible. MySQL est employé

pour accéder à des bases de données sur Internet dû à sa connectivité, à sa vitesse et à sa

sécurité. Il a été à l'origine développé pour contrôler de grandes bases de données à une

vitesse beaucoup plus rapide que les solutions qui ont précédemment existé. MySQL a

pendant plusieurs années prospéré dans les secteurs compliqués de la production.

III.3.2. les langages utilisés :

III.3.2.1. Le langage JQuery :

JQuery est une librairie JavaScript, et c’est un langage conçu pour simplifier les

scripts du coté client dans le navigateur. Il a été crée par John Resig au Barcamp de New-

York en 2006. C’est un logiciel open source sous les licences combinées du MIT et GPL.

Le slogan de jQuery est Coder moins pour en faire plus est parfaitement adapté, et on

peut faire de beaux effets avec quelques lignes de code. Sa syntaxe est très facile à

comprendre, et on code de manière transparente une fois qu’on a compris les concepts de

base. JQuery est particulièrement adapté pour :

Créer des animations

Gérer les évènements du navigateur

Sélectionner les éléments DOM

Créer des programmes AJAX

- Avantages d’utiliser jQuery

Premièrement, c’est beaucoup plus rapide de programmer une fonctionnalité avec

jQuery que de l’écrire à partir de rien. Il permet donc de rehausser la valeur de vos projets de

conception web en diminuant le temps consacré ou bien en vous permettant d’implémenter

des fonctionnalités plus poussées.

Page 41: 85143320 Rapport Final Walid

Ensuite, il est conçu pour fonctionner dans tous les navigateurs récents. Si vous

programmez souvent en JavaScript vous savez à quel point chaque navigateur offre une

version différente de JavaScript et à quel point ça peut rendre le code complexe et illisible.

Aussi, le fait d’utiliser une librairie aussi poussée peut vous éviter d’avoir recours à

Flash, qui est une technologie propriétaire

III.3.2.2. Le langage PHP :

PHP est un langage interprété, de scripts et libre. Il connaît un succès toujours

croissant sur le Web. L'environnement Linux est sa plateforme de prédilection. Combiné avec

le serveur Web Apache et la base de données MySQL, PHP offre une solution

particulièrement robuste, stable et efficace, offrant en outre l'avantage d'être gratuite, tous ces

logiciels viennent du monde des logiciels libres. Il est conçu pour le développement d

‘application Web interactive et dynamique.

PHP possède un grand nombre de fonctions permettant des opérations sur le système

de fichiers, la gestion de la base de données telle que MySQL et de pouvoir le gérer

dynamiquement. C’est un langage qui s’inclut dans le HTML. Il est principalement conçu

pour servir de langage de scripts côté serveur. Il est rapide (le serveur n’a pas besoin d’être

réinitialisé souvent) et stable (ne change pas radicalement d’une version à une autre).

III.3.2.3. Les autres langages face à PHP : ASP (Active Server

Pages) :

ASP est un standard mis au point par Microsoft en 1996. Son syntaxe est un peu

différente de celui de PHP mais les bases sont les même. Il supporte pratiquement tous les

standards du Web et maintenant il est supporté par le serveur Web Apache. En fait, c’est un

langage VB script.

PHP est l’un des langages les plus utilisé dans le monde et est passé devant la

technologie ASP de Microsoft.

En effet, PHP possède plusieurs avantages par rapport à ASP. Les principaux sont :

La portabilité.

La réutilisabilité.

La modularité.

L’extensibilité.

Un faible coût.

Page 42: 85143320 Rapport Final Walid

La simplicité d'utilisation.

III.3.2.4. Coopération de PHP et MySQL :

MySQL et PHP, le couple parfait : ils sont fréquemment utilisés conjointement. On les

appelle parfois le duo dynamique. MySQL assure la gestion de la base de données, PHP

langage de programmation dans lequel sont écrites les applications de bases de données sur le

Web.

III.4. Conclusion

Dans ce chapitre, nous avons présenté l’architecture à adopter pour notre application

ainsi qu’une comparaison avec les autres architectures. Aussi, nous avons détaillé les

technologies utilisées pour la programmation et la base de données. Dans ce qui suit nous

allons effectuer la conception du projet Représenté dans le diagramme de class et dans le

schéma relationnel, ce dont nous allons aborder au cours du prochain chapitre.

Chapitre IV. Conception

IV.1. Introduction

Page 43: 85143320 Rapport Final Walid

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. Cette phase englobe la conception de la base de données et celle des applications.

Dans ce chapitre nous exposons notre conception du système à réaliser et qui a pour

but de rendre flexible la tâche de développement de notre application.

En premier lieu, on va présenter l'architecture du système par la suite, vu la diversité

des méthodes de conception qui n’ont cessé d’évoluer, nous présentons en deuxième lieu

notre choix qui est la méthode objet basée sur le langage de modélisation unifié UML.

Ensuite, nous décrivons la conception du projet avec UML en présentant les différents

diagrammes issus de l’application et enfin on va décrire l’architecture de la base de données et

les relations entre ses tables.

IV.2. Conception de l’application

IV.2.1. Diagramme de classes

Le diagramme de classes constitue un élément très important de la modélisation : il

permet de définir quelles seront les composantes du système final : il ne permet pas en

revanche de définir le nombre et l’état des instances individuelles. Néanmoins, on constate

souvent qu’un diagramme de classes proprement réalisé permet de structurer le travail de

développement de manière très efficace; il permet aussi, dans le cas de travaux réalisés en

groupe (ce qui est pratiquement toujours le cas dans les milieux industriels), de séparer les

composantes de manière à pouvoir répartir le travail de développement entre les membres du

groupe.

Page 44: 85143320 Rapport Final Walid

Figure IV.1 : Diagramme de classes

Page 45: 85143320 Rapport Final Walid

IV.3.Conception de la base de données

IV.3.1. Passage à un modèle relationnel à partir d’un diagramme de classes :

Dans le but de se manifester le plus possible de l’approche orienté objet, on a décidé

d’adopter le modèle objet dans la conception de la base de données. Ce modèle est basé sur le

diagramme de classes (Figure IV.1) pour le passage vers le modèle entité relation.

Pour cela, les règles de passages de modèle objet au modèle relationnel sont les

suivants :

Chaque classe se transforme en une table.

Chaque attribut de classe se transforme en un champ de cette table.

Règle1: Présence de la Cardinalité (? .. 1) d’un côté de l’association :

L’identifiant de la classe qui est associée à la cardinalité (?...1) devient la clé

étrangère de l’autre classe.

Règle 2: présence de (? .. N) des deux côtés de l’association :

L’association se transforme en une table. Cette table a comme champs

l’identifiant de chacune des deux classes, plus d’éventuels autres attributs.

Règle 3: présence d’une généralisation :

Créer une table pour chaque sous type, chaque table se compose des attributs

génériques et d’attributs spécifiques. [B1]

IV.3.2. Schéma Relationnel de la base de données :

En se basant sur les règles de passage du modèle objet utilisé tout au long de notre

conception vers un modèle relationnel qui va schématiser notre base de données on a aboutit

aux transformations suivantes :

Page 46: 85143320 Rapport Final Walid

Figure IV.2 : Schéma relationnel de la base de données

Page 47: 85143320 Rapport Final Walid

IV.4. Conclusion

Dans ce chapitre, nous avons présenté le diagramme de class de notre projet puis

nous avons précisé les règles de passage à suivre pour arriver au schéma relationnel de la

base de données de notre projet.

Dans le chapitre suivant, nous exposons l'environnement logiciel et matériel utilisé

pour réaliser notre application.

Page 48: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Chapitre V. Réalisation et

implémentation

V.1. Introduction 

La réalisation du système est faite sur une machine dédiée au projet sur une

plateforme de développement incluant un serveur d’application Apache et un serveur

gestion de base de données MYSQL, à l’aide des outils de développement et de tests

nécessaires.

Cette phase est aussi critique que les précédentes puisqu’elle est pratiquement la

dernière étape avant de livrer l’application aux futurs utilisateurs.

Cette phase repose sur la phase de conception pour implémenter les algorithmes

définis par les diagrammes de séquences.

V.2. Environnement de travail

V.2.1. Environnement matérielDans la réalisation de notre application nous avons travaillé avec un ordinateur

portable :

HP Compaq 610

Processeur : Intel® Core 2 Duo T5870 (2 GHz).

Mémoire : 2 GO de RAM.

Disque dur : 320Go.

Système d’exploitation : Microsoft Windows 7 

Page 49: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

V.2.2. Environnement logiciel

Outils de développement :

Dreamweaver 8 :

C’est l’Environnement de développement qui nous a permis de créer les interfaces,

les menus, les boutons …et d’utiliser les langages PHP, HTML, CSS, JAVASCRIPT pour

coder notre application. [N4]

Serveur d’application :

Wamp 5 :

Regroupe un serveur d’application Apache, un serveur gestion de base de données

MySQL, ainsi que des outils facilitant le développement de notre application. [N6]

Outil pour la conception :

Edraw max 5.6

Utilisé tout au long de la phase de spécification et de conception pour la modélisation

des besoins non fonctionnels en des besoins fonctionnels. [N7] 

Outil pour le graphique et le désigne :

Adobe Photoshop CS 5

C’est un logiciel de retouche, de traitement et de dessin assisté par ordinateur qui

nous a permet de désigner notre application. [N8]

Autre :

Gantt Project 2.0.4 

Utilisé pour la réalisation du diagramme de GANTT dans la phase de gestion de

projet, pour modéliser le planning de notre projet. [N9]

Page 50: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

V.3. Architecture du Système

V.3.1. Diagramme de composants

 Les diagrammes de composants permettent de décrire l'architecture physique et

statique d'une application en termes de modules : fichiers sources, librairies, exécutables,

etc. Ils montrent la mise en œuvre physique des modèles de la vue logique avec

l'environnement de développement.

Les dépendances entre composants permettent notamment d'identifier les contraintes

de compilation et de mettre en évidence la réutilisation de composants.

Les composants peuvent être organisés en paquetages, qui définissent des sous-

systèmes. Les sous-systèmes organisent la vue des composants (de réalisation) d'un système.

Ils permettent de gérer la complexité, par encapsulation des détails d'implémentation.

Ce diagramme de composante est basé sur l’architecture que nous avons utilisée pour

l’élaboration de notre projet (Voir chapitre III État de l’art).

Figure V.1 : Diagramme de composants

Page 51: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

V.4. Choix techniques

Comme nous avons bien justifié les choix technique adopté dans le chapitre état de

l’art. De ce fait, les choix techniques sont :

Langages de programmation : PHP, HTML, CSS, JQUERY. [N1], [N2], [N3]

SGBD : MySQL. [N5]

Serveur : Apache.

Ces choix satisfont les besoins nécessaires pour réaliser l’application. Donc, nous

avons approuvé ces choix et réalisé les différents modules dans ces conditions.

V.4.1. Choix de la technologie de sécurité

V.4.1.1. Protection contre les attaques d’injection SQL

Pour assurer la sécurité de notre application, nous allons appliquer la fonction

qui va permettre d’éviter les injections SQL via

PHP.

Figure V.2 : Protection contre les attaques d’injection SQL

Une injection SQL est un type d'exploitation d'une faille de sécurité d'une application

interagissant avec une base de données, en injectant une requête SQL non prévue par le

système et pouvant compromettre sa sécurité.

V.4.1.2. Les sessions

Pour assurer la sécurité de notre application, nous allons utiliser les sessions

qui vont nous permettre d’assurer la sécurité et l’intégrité des

données.

Page 52: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Figure V.3 : Protection des données avec Les sessions

Une session est un mécanisme technique permettant de sauvegarder temporairement

sur le serveur des informations relatives à un internaute. Ce système a notamment été

inventé pour palier au fait que le protocole HTTP agit en mode non connecté.

Nous avons implémenté les sessions particulièrement dans :

Les espaces membres et accès sécurisés avec authentification.

La Gestion du panier par le client.

Stockage d'informations relatives à la navigation de l'utilisateur.

Les informations seront quant à elles transférées de page en page par le serveur et

non par le client. Ainsi, la sécurité et l'intégrité des données s'en voient améliorées ainsi

que leur disponibilité tout au long de la session. Une session peut contenir tout type de

données : nombre, chaîne de caractères et même un tableau. [N2]

V.4.1.3. Mécanisme de hachage de mot de passe

Pour assurer la sécurité de notre application, nous avons utilisé la fonction MD5

qui va nous permettre d’assurer la sécurité des données contre le piratage.

Figure V.4 : Protection de mot de passe avec le mécanisme de hachage

Page 53: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Tous les mots de passe sont hachés au niveau de base de données à l’aide de

l’algorithme MD5 qui est une fonction de hachage cryptographique qui permet d'obtenir

pour chaque fichier, une empreinte numérique.

V.4.2. Autres choix technologiques

A fin de donner notre application un aspect convivial nous avons utilisé la

technologie jquery qui est une bibliothèque JavaScript libre, qui permet, grâce à ses plugins,

d’intégrer bon nombres d’effets assez époustouflants sur vos pages (x)HTML. (Voir chapitre

III Etat de l’art).

Nous avons mis ce script d’appel des plugins de jquery dans les pages HTML :

Figure V.5 : Script d'appel des plugins de jquery

Puis avons utilisé ces plugins dans les animations :

Figure V.6 : Menu slider

V.5. Diagramme de GANTT

Le diagramme de Gantt est un outil utilisé (souvent en complément d'un

réseau PERT) en ordonnancement et gestion de projet et permettant de visualiser dans

le temps les diverses tâches liées composant un projet (il s'agit d'une représentation d'un

graphe connexe, évalué et orienté). Il permet de représenter graphiquement l'avancement du

projet.

Page 54: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Cet outil répond à deux objectifs : planifier de façon optimale et communiquer sur le

planning établi et les choix qu'il impose.

Figure V.7 : Diagramme de GANTT

V.6. Phase d’implémentation

L’implémentation de l’application est une phase très importante dans le cycle de vie

d’un projet. Et comme toute autre phase, cette étape est soumis à des contraintes soit

évoqués dans les besoins fonctionnels et non fonctionnels au niveau de la Spécification

(chapitre II) soit qu’ils sont posés implicitement par les langages utilisées ou explicitement

de la part de notre responsable.

V.6.1. Contraintes

Pour adapter le modèle de conception au modèle d'implémentation nous devons en

premier lieu identifier les contraintes techniques avec lesquelles notre système doit être

construit.

L'implémentation doit répondre à des contraintes qui lui sont propres notamment le

temps d’implémentation.

- La modularité : C’est une approche structurante qui sépare un logiciel en petites

unités qui, rassemblées, composeront l'ensemble du logiciel.

Page 55: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

- La portabilité : C’est la capacité du système à fonctionner plus ou moins

facilement dans différents environnements d'exécution.

- La maintenabilité : C’est la capacité de pouvoir maintenir de manière cohérente

et à moindre coût certains composants de l’application. Elle désigne la capacité d'un système

à être simplement et rapidement réparé; et ainsi diminuer les temps d'interventions. La

maintenabilité d'un système est souvent caractérisée lors de sa conception.

.

V.6.2. Pratiques adoptées

Tout au long de la phase de réalisation, nous avons appliqué des différentes règles et

de techniques de codage :

- Règles de nommage : donner un nom explicite et facile à retenir pour les noms

des tables, des attributs, des packages, nom des méthodes...

- Règles de présentation : commenter clairement tous modules au niveau de la base

de données, le code de l’application.

- Règles Syntaxique : évité les structures syntaxiques complexes qui réduisent la

facilité de compréhension du code afin de réduire les risques de dysfonctionnement.

V.7. Phase de tests et validation

Les tests et validations se sont déroulés pratiquement tout au long du projet et se sont

divisés en cinq parties :

- Tests unitaires : Ces tests sont faits pour chaque fonction, ou avancement de

travail, et sont réalisés en premier lieu par le même membre qui a réalisé le travail, et par

l’autre membre en deuxième lieu et sont synthétisés dans un rapport de tests dans l’étiquette

de la version courante. Ce rapport contient les résultats indésirables des tests ainsi que des

remarques d’ordre général.

- Tests d’Intégration : Ces tests son effectués pour chaque page, module ou grande

partie terminée. Ils ont pour but de clore la partie en question et vérifier la compatibilité des

différentes fonctions et modules. Les résultats, ainsi que les remarques, sont mentionnés

dans un rapport de tests.

Page 56: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

- Tests Alpha et Bêta : Ces tests sont effectués lors de la fin de chaque module et à

la fin de toute l’application. Ils sont aussi effectués en parallèle et ont pratiquement le même

principe que les tests d’intégration, sauf qu’ils ont de plus une tendance sur les

incommodassions de manipulation, l’interface graphique (couleurs, textes, …) et sont

effectués ensuite par les futurs utilisateurs.

- Tests de fonctionnalités : Les tests de fonctionnalité ont pour objectif d’une part

de vérifier le bon fonctionnement de l’application ainsi que la qualité de restitution des

médias sur différentes plates-formes matérielles (CPU, cartes graphiques, OS, Ram), et

d’autre part de déterminer ainsi la configuration minimale.

- Tests de qualité : Par un parcours exhaustif du produit, chaque testeur met en

évidence les problèmes liés à la restitution des médias. Cela permet de s’assurer que la

configuration minimale a été correctement évaluée.

Images : rendu des couleurs.

Textes : typographie, lisibilité.

V.7.1. Jeux de tests et Validation

Suite à la réalisation du travail demandé, nous avons essayé de faire le maximum de

jeux de tests possibles permettant de valider notre application. 

Profile Scénario ValidationAdministrateur Authentification pour au back-office OK

Administrateur Ajout d’un nouveau produit OK

Administrateur Suppression d’un produit OK

Administrateur Modification d’un produit OK

Administrateur Ajout d’une nouvelle marque OK

Administrateur Modification d’une marque OK

Administrateur Suppression d’une marque OK

Administrateur Consultation d’un message de contact OK

Administrateur Suppression d’un message de contact OK

Internaute, Client L’envoi d’un message de contact OK

Internaute, Client Inscription dans la newsletter OK

Page 57: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Administrateur Consultation des inscrits dans la newsletter OK

Administrateur L’envoi d’un mail aux inscrits dans la newsletter (mailing list). OK

Administrateur Suppression d’un inscrit dans la newsletter OK

Administrateur Ajout d’une nouvelle catégorie de newsletter OK

Administrateur Modification d’une catégorie de newsletter OK

Administrateur Suppression d’une catégorie de newsletter OK

Administrateur Ajout d’un nouveau media (logo, bannière) OK

Administrateur Modification d’un media (logo, bannière) OK

Administrateur Suppression d’un media (logo, bannière) OK

Administrateur Ajout d’un nouvel utilisateur (crée un compte) OK

Administrateur Modification d’un utilisateur (login, mot de passe…) OK

Administrateur Suppression d’un utilisateur OK

Client Inscription dans l’espace membre OK

Administrateur Recherche des clients OK

Administrateur Consultation des clients OK

Client Modification des informations concernant le client OK

Administrateur Consultation des factures OK

Administrateur Recherche des factures OK

Client Ajout des factures OK

Administrateur Suppression des factures OK

Administrateur Consultation des commandes OK

Administrateur Recherche des commandes OK

Client Confirmation de la commande OK

Administrateur Suppression des commandes OK

Client Consultation des produits OK

Client Recherche des produits OK

Client Ajout d’un produit au panier OK

Client Mise à jour du panier OK

Figure V.8 : Tableau jeux de tests et validation

V.8. Conclusion 

En dépit de certains problèmes que nous avons rencontrés, nous avons pu les

surmonter et réaliser le travail qui nous a été proposé, en outre nous avons acquis certains

Page 58: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

apports au cours de cette phase. En plus des nouvelles technologies de développement des

applications et la familiarisation avec certains logiciels, notamment en matière de

maintenance du code, la réalisation de cette application nous a permis d’acquérir une

expérience concernant le processus de développement.

Page 59: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Chapitre VI. Interfaces de

l’application

VI.1.Introduction 

Dans ce chapitre, nous allons présenter notre application à travers quelques captures

d'écran.

VI.2.Interfaces de l’application

VI.2.1. Back-office

VI.2.1.1. Page d’authentification

Cette interface présente un formulaire de connexion permettant à l'utilisateur de

s'identifier avec un login et un mot de passe pour qu'il soit autorisé à accéder au back-office

du site.

Figure VI.1 : Page de connexion de l’utilisateur

Page 60: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Lorsque le login ou le mot de passe est invalide, un message d’erreur sera affiché à

l’utilisateur :

Figure VI.2 : Message d’erreur lorsque le login ou le mot de passe est invalide

VI.2.1.2. Session administrateur

Après avoir s’authentifier, l’administrateur sera redirectionné vers la page d’accueil du

back-office :

VI.2.1.2.1. Page d’accueil du back-office

Elle contient un menu de navigation, composer de plusieurs rubriques permettant de

gérer le contenu du site, le processus d’achat, la relation avec les clients…

Figure VI.3 : Page d’accueil du back-officeVI.2.1.2.2. Page gestion des produits

Page 61: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Elle contient tous les produits offerts, cette page nous permet de gérer les produits soit

par la consultation, l’ajout, la modification, ou la suppression.

Figure VI.4 : Page gestion des produits

VI.2.1.2.3. Page ajout d’un nouveau produit (pop-up)

Pour ajouter un nouveau produit, on clique sur le bouton Ajout d’un nouveau produit,

ensuite on saisie les informations nécessaire du produit puis on valide.

Figure VI.5: Page ajout d’un nouveau produit

Page 62: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

On a mis des contrôles de saisie pour éviter tout type d’erreurs (champs vide,

informations erroné….), lorsqu’on fait une erreur, un message d’alerte s’affiche et nous

indique le type d’erreur.

Figure VI.6: Contrôle de saisie dans l’ajout d’un nouveau produit

VI.2.1.2.4. Suppression d’un produit

Pour supprimer un produit, on clique sur le bouton supprimer un produit, un message

de confirmation sera afficher et nous demande de confirmer notre choix ou d’annuler.

Figure VI.7 : Supprimer un produit

Page 63: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

VI.2.2. Front-office

VI.2.2.1 Page d’accueil du front-office

Cette page est destiner aux clients et aux internautes, elle contient un moteur de

recherche, un catalogue des produits offerts, un menu de navigation, les nouveautés dans

chaque catégorie de produit, une newsletter, top des ventes, les offres spéciales, un panier et

les publicités.

Figure VI.8 : Page d’accueil du back-office

- Pour acheter un produit le client doit tout d’abord choisir le produit désiré et l’ajouter

au panier. Pour ajouter un produit au panier, il suffit de cliquer l’icône chariot.

Page 64: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Figure VI.9 : Ajout d’un produit au panier

- Avant d’ajouter un produit au panier, le client peut voir les détails concernant le

produit désiré. Pour voir les détails d’un produit il suffit de cliquer sur le lien plus de détails.

Figure VI.10 : Page détails d’un produit

Page 65: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

VI.2.2.2 Page gestion de panier

-Cette page est destinée à la gestion de panier, Le client peut ici gérer son panier soit

par la modification des quantités des produits à acheter ou la suppression des produits.

Figure VI.11 : Page Gestion de panier

- Après avoir gérer son panier, le client peut valider ces achats, et il sera rédirectionner

vers cette page ou il va s’authentifier s’il est déjà inscrit, sinon il doit s’inscrire pour continuer

le processus d’achat.

Figure VI.12 : Page d’authentification

Page 66: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Figure VI.13 : Formulaires d’inscription d’un nouveau client

VI.2.2.3. Page choix de méthode d’expédition

- Après l’authentification le client sera rédirectionner vers la page choix de méthode

d’expédition, ou il va choisir la méthode dont la quel le produit va être expédié a lui.

Figure VI.14 : Page Choix de méthode d’expédition

Page 67: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

- Dans la page choix de méthode d’expédition, le client a la possibilité de modifier

l’adresse d’expédition. Pour modifier l’adresse d’expédition il suffit de cliquer sur le bouton

changer d’adresse.

Figure VI.15 : Formulaire de modification de l’adresse d’expédition

VI.2.2.4. Page choix de méthode de payement

Après avoir choisir la méthode d’expédition le client sera rédirectionner vers la page

choix de méthode de payement, dans cette page le client va choisir la méthode avec la quelle

il va payer ces achats.

Page 68: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Figure VI.16 : Page Choix de méthode de payement

VI.2.2.5. Page confirmation commande

Dans cette page on trouve tout les détails concernant la commande (Adresse du client,

méthode d’expédition, les produits achetés avec leurs quantités et leurs prix, le prix total des

achats, méthode de payement, frais de livraison, montant à payer). Il ne reste que la

confirmation de la commande après avoir vérifier les détails de la commande.

Page 69: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Figure VI.17 : Page confirmation de la commande

VI.2.2.6. Page de payement

Dés que le client confirme la commande, il est envoyé vers le serveur de paiement

SPS qui est un Système de Paiement Sécurisé qui permet d’offrir les autorisations sur les

cartes bancaires, dans un environnement sécurisé. Toutes les cartes de paiement locales ou

étrangères sont acceptées.

Page 70: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Figure VI.18 : Page de payement

Page 71: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

VI.3.Conclusion 

Nous avons essayé au cours de ce chapitre de vous présenter les interfaces illustrant

les différentes fonctionnalités fournies par notre projet. Pour assurer une meilleure qualité de

notre travail et garantir sa fiabilité, nous étions amenés à augmenter le nombre de test, en

prenant en compte le maximum de cas particulier, et en adaptant les différentes interfaces

pour une utilisation général.

Page 72: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Conclusion

GénéraleLe projet que nous avons réalisé a consisté en la conception et le développement d’un site

web marchand pour vente de matériel informatique en ligne répondant, d’une part, aux besoins de

ce concept qui vient tout juste de faire son apparition dans notre marché et d’autre part, aux besoins

d’IMS.

Entre les objectifs fixés, les attentes de la société, nous avons, toutefois, réussis à atteindre

nos principaux objectifs dont la réalisation d’un site web marchand composée de plusieurs modules

contenant les fonctionnalités nécessaires pour le bon déroulement des différentes gestions côté

client (panier, commande, profils, …) et côté marchand (administration, produits, catalogue,

marques, medias …).

Le dernier mot est consacré pour dire que notre parcours durant ce projet nous a retourné

plus d’avantages que d’inconvénients en nous rapprochant de l’environnement professionnel et en

faisant connaissance avec ses acteurs. Ceci dit, nous souhaitons que notre travail puisse être un une

contribution au développement du concept e-commerce.

Perspectives :

Nous tenons à préciser que durant tout le projet, on avait cherché à détailler et perfectionner

notre travail. Toutefois, des améliorations peuvent bien être rajoutées par exemple :

- Comparateur de prix.

- Module de produit similaire.

- Développement d’un module de payement.

- Statistiques.

Page 73: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Glossaire

AJAX Asynchronous JavaScript and XML.

ASP Active Server Pages.

CSS Cascading Style Sheets.

CMS Content management system.

CPU Central processing unit.

CRM Customer relationship management.

DAO Data access object.

DOM Document Object Model.

DTO Data transfer object.

ERP Enterprise resource planning.

GPL General Public License.

HTML HyperText Markup Language.

HTTP Hypertext Transfer Protocol.

IHM Interface homme-machine.

MIT Massachusetts Institute of Technology.

PERT Program Evaluation and Review Technique.

PHP Hypertext Preprocessor.

RAM Random-access memory.

SGBD Système de Gestion de Bases de Données.

SGBDR Système de Gestion de Bases de Données Relationnelles.

SSII Société de services et d‘ingénierie informatique.

SQL Structured Query Language.

TIC Technologies de l'information et de la communication.

UML Unified Modeling Language.

VB script Visual Basic script.

WAMP Windows, Apache, MySQL, and PHP.

WML Wireless Markup Language.

Page 74: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Bibliographie et

Nétographie

- Bibliographie :

[B1] : Modélisation des données et notation UML, Bruno Cremilleux et Jacque Madelaine, Université de Caen Basse-Normandie (mars 2010).

- Nétographie :

[N1] : (Jeff, Présentation du HTML, octobre 2008) www.commentcamarche.net/ /contents/html/htmlintro.php3

[N2] : (Jeff, Introduction à PHP, avril 2009) www.commentcamarche.net /contents/php/phpintro.php3.

[N3] : (Jeff, Feuilles de style, mars 2011) www.commentcamarche.net/contents/css/cssintro.php3

[N4]: (Nariman Mohammed, Dreamweaver 8, October 2005) www.slideserve.com/presentation/54984/Dreamweaver-8 [N5]: (Paul Dubois, Stefan Hinz, Carsten Pedersen, MySQL - Guide official, 2004) fr.wikipedia.org/wiki/MySQL

[N6] :  (damien, WAMP serveur, november 2008) www.6ma.fr/tuto/wamp+server+0-454

[N7]: (EDrawSoft, Edraw Max, mars 2011) windows.podnova.com/trends/edraw_max_home_network.html

[N8]: (jolie, Présentation de Photoshop, septembre 2009) gass.forumgratuit.fr/t17-presentation-photoshop

[N9] : (Paoh, Présentation de GanttProject, juin 2010) www.framasoft.net/article2071.html

Page 75: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

Annexe A

I. Langages

1. HTML

Le HTML (« HyperText Mark-Up Language ») est un langage dit de « marquage » (de

« structuration » ou de « balisage ») dont le rôle est de formaliser l'écriture d'un document avec

des balises de formatage. Les balises permettent d'indiquer la façon dont doit être présenté le

document et les liens qu'il établit avec d'autres documents.

Le langage HTML permet notamment la lecture de documents sur Internet à partir de

machines différentes, grâce au protocole HTTP, permettant d'accéder via le réseau à des

documents repérés par une adresse unique, appelée URL.

On appelle World Wide Web (noté WWW) ou tout simplement Web (mot anglais

signifiant toile) la "toile virtuelle" formée par les différents documents (appelés « pages web »)

liés entre eux par des hyperliens.

Les pages web sont généralement organisées autour d'une page d'accueil, jouant un point

central dans la navigation à l'aide des liens hypertextes. Cet ensemble cohérent de pages web liées

par des liens hypertextes et articulées autour d'une page d'accueil commune est appelée site web.

Le Web est ainsi une énorme archive vivante composée d'une myriade de sites web

proposant des pages web pouvant contenir du texte mis en forme, des images, des sons, des vidéo,

etc. [N.1]

2. PHP 

PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les

scripts CGI,ASP, ...) et non du côté client (un script écrit en JavaScript ou une applet

Java s'exécute sur votre ordinateur...). La syntaxe du langage provient de celles du langage C,

du Perl et de Java. Ses principaux atouts sont :

Une grande communauté de développeurs partageant des centaines de milliers

d'exemples de script PHP ;

La gratuité et la disponibilité du code source (PHP est distribué sous licence GNU

GPL) ;

La simplicité d'écriture de scripts ;

70

Page 76: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

La possibilité d'inclure le script PHP au sein d'une page HTML (contrairement aux

scripts CGI, pour lesquels il faut écrire des lignes de code pour afficher chaque

ligne en langage HTML) ;

La simplicité d'interfaçage avec des bases de données (de nombreux SGBD sont

supportés, mais le plus utilisé avec ce langage est MySQL, un SGBD gratuit

disponible sur de nombreuses plateformes :Unix, Linux, Windows, MacOs X,

Solaris, etc...) ;

L'intégration au sein de nombreux serveurs web (Apache, Microsoft IIS, etc.). [N.2]

3. CSS

Le concept de feuilles de style est apparu en 1996 avec la publication par le W3C d'une

nouvelle recommandation intitulée « Cascading StyleSheets » (feuilles de style en cascade),

notée CSS. 

Le principe des feuilles de style consiste à regrouper dans un même document des

caractéristiques de mise en forme associées à des groupes d'éléments. Il suffit de définir par un

nom un ensemble de définitions et de caractéristiques de mise en forme, et de l'appeler pour

l'appliquer à un texte. Il est ainsi possible de créer un groupe de titres en police Arial, de couleur

verte et en italique. 

Les feuilles de style ont été mises au point afin de compenser les manques du langage

HTML en ce qui concerne la mise en page et la présentation. En effet, le HTML offre un certain

nombre de balises permettant de mettre en page et de définir le style d'un texte, toutefois chaque

élément possède son propre style, indépendamment des éléments qui l'entourent. Grâce aux

feuilles de style, lorsque la charte graphique d'un site composé de plusieurs centaines de pages

web doit être changée, il suffit de modifier la définition des feuilles de style en un seul endroit

pour changer l'apparence du site tout entier ! 

Elles sont appelées « feuilles de style en cascade » (en anglais « Cascading Style Sheets »)

car il est possible d'en définir plusieurs et que les styles peuvent être hérités en cascade. 

Les feuilles de style permettent notamment :

d'obtenir une présentation homogène sur tout un site en faisant appel sur toutes les

pages à une même définition de style ;

de permettre le changement de l'aspect d'un site complet entier par la seule

modification de quelques lignes ;

une plus grande lisibilité du HTML, car les styles sont définis à part ;

71

Page 77: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

des chargements de page plus rapides, pour les mêmes raisons que précédemment ;

un positionnement plus rigoureux des éléments. [N3]

II. Editeur web

1. Dreamweaver 8

Il est un éditeur HTML développé par Macromedia. Il était à l'origine destiné aux

concepteurs de sites Web professionnels et offre un système de montage qui combine à la fois

la productivité de la conception WYSIWYG avec le contrôle du mode d'édition de code

HTML.

Cette combinaison a été tout à fait unique en fin des années 1990 et a aidé à

Dreamweaver à une adoption généralisée.

Dreamweaver peut masquer les détails du code HTML page de l'utilisateur, ce qui

permet aux non-experts de créer facilement des pages web et de sites

Permet aux utilisateurs de récupérer la plupart des navigateurs installés sur son

ordinateur vers des sites de prévisualisation.

Permet aux utilisateurs de se connecter aux bases de données (comme MySQL) pour

filtrer et afficher du contenu en utilisant les technologies de scripts tels que PHP, ASP,

ASP.net et, sans aucune expérience de programmation précédente. [N4]

III. SGBD

1. MYSQL

MySQL est un système de gestion de base de données (SGBD). Selon le type

d'application, sa licence est libre ou propriétaire. Il 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, en concurrence avec Oracle et Microsoft SQL

Server. [N5]

IV. Serveur

72

Page 78: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

1. WAMPSERVER

WampServer est une plate-forme de développement Web sous Windows. Il vous

permet de développer 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 et SQLite Manager pour gérer plus facilement vos bases de données. [N6]

V. Autres

1. Edraw max

EDraw Max est un programme de diagramme et de présentation destiné

aux étudiants et aux professionnels. Avec elle, les utilisateurs peuvent créer n'importe quel

type de dessins comme les organigrammes, diagrammes de réseau, des présentations, des

plans de construction, dessins de mode, des flux de travail, structures de programmes,

UML, design web, l'ingénierie électrique, des schémas de base de données, et plus encore.

[N7]

2. Adope Photoshop CS5

Photoshop est un logiciel de retouche, de traitement et de dessin assisté par ordinateur

édité par Adobe. Il est principalement utilisé pour le traitement de photographies numériques,

mais sert également à la création d’images ex nihilo (hors source photographique).

Photoshop est un logiciel travaillant sur images matricielles (également appelées

"bitmap", à ne pas confondre avec le format d’enregistrement Windows bitmap) car les

images sont constituées d’une grille de points appelés pixels. L’intérêt de ces images est de

reproduire des graduations subtiles de couleurs.

Photoshop possède son propre format de projet (PSD), qui est plus qu’un simple

format de fichier. Le programme accepte également d’importer et d’exporter des fichiers

d’image dans les formats les plus courants (GIF, JPEG, TIFF, PNG, ILBM, etc.).

Il offre :

un système de tri et d’organisation des fichiers permettant l’application

d’une opération sur plusieurs fichiers simultanément.

73

Page 79: 85143320 Rapport Final Walid

Projet de fin d’études Année universitaire : 2010/2011

des outils de dessin en mode bitmap : pinceau, crayon, formes

géométriques…

des outils de sélection de zones de travail (ou zones d’intérêt) : lasso,

rectangle de sélection, sélection par plage de couleur…

des outils de copie, collage et duplication de zones de travail

des outils de manipulation de calques : par l’empilement de zones

graphiques et l’utilisation de transparence et autres effets, on peut construire

l’équivalent de photomontages complexes.

des outils de manipulation de la palette de couleurs : changement de palette,

réglages colorimétriques, de luminosité, de contraste, de saturation…

des filtres pour appliquer divers effets à des zones d’intérêt : textures,

ombres, renforcement des contours, estampage, flou, etc. [N8]

3. GANTT PROJECT

GanttProject est logiciel qui permet la planification de projets à l’aide du diagramme

de Gantt. Il propose les fonctionnalités de base de ce type d’outil, comme la création des

tâches, l’affectation des ressources, la gestion des dépendances et de l’avancement, mais

dispose également de propriétés plus avancées comme l’exportation des documents en

HTML/PDF et le travail collaboratif à distance sur internet... [N9]

74