Vous êtes sur la page 1sur 36

201 0

E-commerce
PROJET DE FIN DU 4me ANNEE ILM

Encadr par :Mr Abdelaziz MANSOUR Prsente par :Fatima Zahra GUERMOUDI Soufia ELOUAFI Fadwa ZERRAR

Sommaire
1.1 Pourquoi E-Commerce?....................................................................................................6 3. Modlisation UML...........................................................................................................12 3.1 Choix dUML .............................................................................................................12 3.2 Cas dutilisation..........................................................................................................13 3.3 Diagrammes de squences..........................................................................................15 ...........................................................................................16 3.4 Diagramme de classes.................................................................................................21 Arrivant au chapitre de la ralisation, nous allons commencer par dcrire larchitecture logicielle choisie et justifier leur utilisation dans la ralisation de lapplication. Viendra ensuite, le tour de lapplication elle-mme, o nous allons tenter dexpliquer la mthodologie de son fonctionnement laide de quelques prises dcran. ........................24 Le choix des outils de dveloppement est un choix primordial afin que nous puissions avoir beaucoup de libert dinnover et denrichir nos applications, mais aussi nous devons prendre en considration la qualit du produit que nous allons mettre en place...................24 Cest pour cela, nous nous nchapperons pas dune tude comparatifs entre les diffrents outils les plus rpondus dans le march demploi et qui offrent plusieurs avantages couvrant nos besoins et nos buts dans lapplication............................................................................24 Donc ce chapitre vient pour dvoiler larchitecture de notre application et justifiera le choix des diffrents outils que nous avons implment en effectuant une brve tude comparative entre leurs forts concurrents.............................................................................24 4.1 Environnement de dveloppement..................................................................................24 4.1.1 La plateforme J2EE.................................................................................................24 4.1.2 Larchitecture MVC.................................................................................................25 4.2. Outils de dveloppement................................................................................................26 4.2.1 Environnement de dveloppement intgr : clipse................................................26 4.2.2 MySQL :..................................................................................................................27 MySQL est un serveur de bases de donnes relationnelles SQL, dvelopp dans un souci de performances leves. Il est multi-thread, multi-utilisateurs. C'est un logiciel libre dvelopp sous double licence en fonction de l'utilisation qui en est faite : dans un produit libre ou dans un produit propritaire. Dans ce dernier cas, la licence est payante, sinon elle est libre.............................................................................................................27 4.2.3 JAVAScript..............................................................................................................28 4.2.4 TomCat 6..................................................................................................................28 Apache Tomcat est un conteneur libre de servlets et JSP Java EE. Issu du projet Jakarta, Tomcat est un projet principal de la fondation Apache. Tomcat implmente les spcifications des servlets et des JSP du Java Community Process[1] . Il est paramtrable

par des fichiers XML et de proprits, et inclut des outils pour la configuration et la gestion. Il comporte galement un serveur HTTP............................................................28 5. Prsentation de quelques crans........................................................................................29

Remerciements
Nous ddions ce travail tout dabord nos parents, qui trouvent dans ce rapport tous nos remerciements et tous nos respect, mme si que tous les mots et les expressions de remerciements ne suffisent pas pour les remercier, pour leurs esprits aimables, leurs encouragements et leurs soutiens durant toute notre vie personnelle et professionnelle. Nous tenons remercier particulirement, Mr EL MANSOUR ABDELAZIZ, qui a dirig notre travail, avec ses conseils judicieux, ses remarques forts prcieuses toujours formules avec bienveillance et aussi avec ses explications et ses propositions fines. Nos vifs remerciements vont galement tous nos collgues, qui nont pas pargn le moindre effort pour nous aider.

Avant propos
Au terme de la 4me anne de formation passe linstitut suprieure de gnie appliqu (IGA), il est obligatoire de rdiger un rapport qui a son poids sur la note de fin danne, ceci pour validation de cette anne. Dans ce cadre, nous avons effectu un projet qui porte sur un sujet

dactualit en pleine croissance le commerce lectronique ou autrement dire le e-commerce. Le e-commerce permet lentreprise de bnficier dune boutique en ligne ouverte 24/24, et aussi une souplesse de gestion de toutes les manipulations et les actions produites. Ce rapport a pour but de rendre compte sur les diffrentes tapes suivantes : Contexte Gnral du Projet Analyse et Conception Ralisation Conclusion et Perspectives

1. Introduction
1.1 Pourquoi E-Commerce?
Grce sa flexibilit, sa large diffusion et au fait quune boutique en ligne est ouverte 24h/24 tous les jours de lanne, le commerce lectronique devient chaque jour un outil de vente plus important aux yeux des entreprises modernes. Mme les entreprises les plus traditionnelles exploitent dsormais Internet afin de stimuler leurs ventes et se lancent dans laventure du commerce lectronique.

1.2 Quest-ce que le commerce lectronique ?


Le commerce lectronique, galement appel e-commerce, se rapporte gnralement la vente de produits et services sur Internet. Ces transactions e-commerce se divisent en deux catgories, le B2B (Business to Business), c'est--dire le commerce en ligne entre entreprises, et le B2C (Business to Customer), le commerce en ligne entre une entreprise et des particuliers. Les transactions de commerce lectronique se droulent gnralement comme suit : un acheteur consulte un catalogue en ligne, commande un

article ou un service et fournit ses informations de carte de crdit ainsi quune adresse de livraison. Le vendeur vrifie ensuite les informations du moyen de paiement, traite la commande et soccupe de la livraison.

Contexte Gnral du Projet

2. Origine du projet et directions clientes


FM GROUP MAROC est une socit de Marketing Relationnel (Marketing de Rseau), avec plus de 2000 distributeurs. La communication & les commandes se passe par mail. Vu la taille de lentreprise et le nombre des commandes par jours, la socit a dcid de crer un site e-commerce qui gre lensemble des commandes passes par les clients ainsi que leurs livraison.

2.1 Pourquoi un site e-commerce ?


L'ide de ce site est issue d'un constat: le e-commerce sduit de nombreuses entreprises, quel que soit leur secteur d'activit. Beaucoup de dcideurs sentent l'utilit de franchir le pas du e-commerce qui est en pleine expansion pour fidliser la clientle existante du fait quon rend laccs aux produits de lentreprise plus rapide tous moment et tous temps. Il est aussi utilis comme un moyen de publicit gratuite qui permet de cibler une nouvelle clientle. En terme dvolution le site e-commerce permet dautomatiser la gestion des commandes, la gestion des livraisons et la gestion des produits. En outre il donne une vision globale sur les statistiques des ventes de lentreprise en se basant sur une base de donne relle. 2.2 Fonctionnalits que doit offrir le systme :

2 .2.1 Partie client : Le client peut accder au site de vente en ligne depuis un navigateur conforme au standard HTML 4 ou plus. Le client peut faire sa recherche et sa slection de produits dune manire anonyme, mais il doit sidentifier ou remplir un formulaire dinscription ds quil valide la liste darticles choisis, pour passer

Une commande. Dans cette optique, des donnes gres en session (panier virtuel ou caddie) assurent la mmorisation des articles slectionns par le client avant la confirmation de la commande. Cependant, ds que le client valide sa commande, toutes les informations ncessaires la livraison sont enregistres dans la base de donnes du serveur.
Le client recherche un article en

slectionnant une catgorie

appartenant au menu. Le rsultat de sa recherche saffiche sous la forme dune liste dinformations succinctes (image, prix). Sil le dsire, le client ajoute larticle son panier virtuel en cliquant sur un lien hypertexte spcial depuis la fiche de larticle. Le client peut modifier la quantit dsire de chaque article slectionn, et ventuellement en supprimer certains depuis lcran du panier virtuel. En revanche, il ne peut plus modifier sa commande ds quelle est valide. Le client bnficie dune rubrique supplmentaire rserve aux nouveaux produits de la socit qui se situe en dessous du menu. En cliquant sur cette dernire le client est redirig vers une autre page qui visualise les nouveauts avec une description de chacune. Le client imprime le bon de commande tabli lors de sa validation en ligne. Il adresse ladministrateur du site ce bon accompagn de son rglement pour que les articles slectionns lui soient envoys. Cependant, un module complmentaire de paiement en ligne peut facilement tre ajout au site afin dautomatiser toute la chane du processus dachat. Aprs stre de nouveau identifi, le client suit ltat de sa commande, qui peut prendre deux valeurs : Attente, pour les commandes valides mais en attente du paiement, et Livr, pour les commandes envoyes au client.

2.2.2 Partie administrateur :


Ladministrateur cest le responsable du site, il permet la gestion des

catalogues, en ajoutant ou en supprimant des listes des produits, Et il permet aussi lajout et la suppression des catgories de ces produits. Ladministrateur a aussi comme rle, la gestion des commandes et du stock qui lui permettent de visualiser les statistiques des ventes de son site.
Dautre part, ladministrateur peut diter des bons de livraison, des

factures, ainsi que sa possibilit denvoyer des mails aux clients et de prvoir des alertes quand lun des produits nest pas disponible en stock.

10

Analyse et Conception

11

Dans tout projet informatique on vise simplifier et faciliter des problmes standard que nous confrontant plusieurs fois dans notre vie, donc il nous faut un passage dun cas rel un cas abstrait, ce passage est connu par la Modlisation ou bien la Conception. En outre pour avoir une bonne conception, il est indispensable de comprendre bien le monde rel, cest ce quon appelle lAnalyse. Suite cela et comme notre projet est dun aspect informatique, nous nchapperons pas cette tape. Pour cela on a choisi de faire la conception par UML 3. Modlisation UML

3.1 Choix dUML


UML (en anglais Unified Modeling Language ou langage de modlisation unifi ) est un langage de modlisation graphique base de pictogrammes. Il est apparu dans le monde du gnie logiciel, dans le cadre de la conception oriente objet . Couramment utilis dans les projets logiciels, il peut tre appliqu toutes sortes de systmes ne se limitant pas au domaine informatique. UML possde plusieurs facettes. C'est la fois une norme et un langage de modlisation objet. Cest une norme car UML offre la possibilit de s'exprimer clairement : en reprsentant des concepts abstraits et en limitant les ambiguts (parler un langage commun, au vocabulaire prcis, indpendant des langages orients objet). Cest galement un langage graphique qui sappuie sur la technologie objet et les concepts quelle vhicule. Il peut donc tre utilis dans diffrentes mthodes. Enfin, cest un support de communication, il constitue une base de discussion entre tous les acteurs dun projet.

12

3.2 Cas dutilisation Bien souvent, la matrise douvrage et les utilisateurs ne sont pas des informaticiens. Il leur faut donc un moyen simple dexprimer leurs besoins. Cest prcisment le rle des diagrammes de cas dutilisation qui permettent de recueillir, danalyser et dorganiser les besoins, et de recenser les grandes fonctionnalits dun systme. Un diagramme de cas dutilisation capture le comportement dun systme, dun sous systme, dune classe ou dun composant tel quun utilisateur extrieur le voit. Il scinde la fonctionnalit du systme en units cohrentes, les cas dutilisation, ayant un sens pour les acteurs. Les cas dutilisation permettent dexprimer le besoin des utilisateurs dun systme, ils sont donc une vision oriente utilisateur de ce besoin au contraire dune vision informatique. Il ne faut pas ngliger cette premire tape pour produire un logiciel conforme aux attentes des utilisateurs. Pour laborer les cas dutilisation, il faut se fonder sur des entretiens avec les utilisateurs. Daprs les spcifications, nous avons pu dgager le diagramme de cas dutilisations suivant :

13

Les cas dutilisations figurant dans limage ci-dessus prsente les diffrents scnarios cits comme suit : Inscription : le client doit sinscrire sil veut passer une commande. Authentification : Saisie par les diffrents clients il sagit du login et du mot de passe. Passer une commande : le client choisis les produits quil dsire et les valide. Gestion de catgorie : ladministrateur peut ajouter ou supprimer une catgorie. Gestion de produit : ladministrateur peut ajouter ou supprimer un produit. Gestion de livraison : LAdministrateur valide les commandes et Imprime les bons de livraison

14

3.3 Diagrammes de squences Les diagrammes de squence sont des diagrammes dinteractions qui permettent de modliser les scnarii. Ils ont pour objectif de mieux reprsenter les interactions entre les objets de notre projet selon un point de vue temporel.

3 .3.1 INSCRIPTION

Le diagramme de squence illustr ci-dessus prsente le scnario <<Inscription Client>>.

Lutilisateur remplis les informations dinscription ensuite les informations sont envoy lAdministrateur pour validation.

15

3.3.2 SAUTHENTIFIER

Le diagramme de squence illustr ci-dessus prsente le scnario <<Authentification>>.

16

3.3.2 Passer une Commande


Le diagramme de squence illustr ci-dessus prsente le scnario <<Passer une commande>>.

17

3.3.3 Gestion de livraison


Le diagramme de squence illustr ci-dessus prsente le scnario <<Gestion de livraison>>.

18

3.3.4 Gestion de Produit


Le diagramme de squence illustr ci-dessus prsente le scnario <<Gestion de Produit>>.

19

3.3.5 Gestion de Catgorie


Ce diagramme de squence illustr ci-dessus prsente le scnario <<Gestion de catgorie>>.

20

3.4 Diagramme de classes Dans ce paragraphe, nous allons dcouvrir les principales classes auxquelles a abouti lanalyse des donnes. Compte tenu des spcifications tablies dans les chapitres prcdents, notre diagramme de classes sera de la forme suivante :

21

Ce dernier se compose de six classes ; en effet un utilisateur peut passer une ou plusieurs commandes ,un panier contient un produit ou plusieurs produits dune catgorie ou plusieurs catgories .

22

Ralisation

23

Arrivant au chapitre de la ralisation, nous allons commencer par dcrire larchitecture logicielle choisie et justifier leur utilisation dans la ralisation de lapplication. Viendra ensuite, le tour de lapplication elle-mme, o nous allons tenter dexpliquer la mthodologie de son fonctionnement laide de quelques prises dcran.

4. Choix des outils et modle implments Le choix des outils de dveloppement est un choix primordial afin que nous puissions avoir beaucoup de libert dinnover et denrichir nos applications, mais aussi nous devons prendre en considration la qualit du produit que nous allons mettre en place. Cest pour cela, nous nous nchapperons pas dune tude comparatifs entre les diffrents outils les plus rpondus dans le march demploi et qui offrent plusieurs avantages couvrant nos besoins et nos buts dans lapplication. Donc ce chapitre vient pour dvoiler larchitecture de notre application et justifiera le choix des diffrents outils que nous avons implment en effectuant une brve tude comparative entre leurs forts concurrents. 4.1 Environnement de dveloppement 4.1.1 La plateforme J2EE Llaboration de notre application sappuie sur la plateforme J2EE (Java 2 Enterprise Edition) qui est une norme propose par la socit Sun, porte par un consortium de socits internationales, visant dfinir un standard de dveloppement d'applications d'entreprises multi-niveaux, bases sur des composants. On parle gnralement de plate-forme J2EE pour dsigner l'ensemble constitu des services (API) offerts et de l'infrastructure d'excution.
24

J2EE comprend notamment Les spcifications du serveur d'application, c'est--dire de l'environnement d'excution : J2EE dfinit finement les rles et les interfaces pour les applications ainsi que l'environnement dans lequel elles seront excutes. Ces recommandations permettent ainsi des entreprises tierces de dvelopper des serveurs d'application conformes aux spcifications ainsi dfinies, sans avoir redvelopper les principaux services. Des services, au travers d'API, c'est--dire des extensions Java indpendantes permettant d'offrir en standard un certain nombre de fonctionnalits. Sun fournit une implmentation minimale de ces API appele J2EE SDK (J2EE Software Dveloppent Kit). Dans la mesure o J2EE s'appuie entirement sur le langage Java, il bnficie des avantages et inconvnients de ce langage, en particulier une bonne portabilit et une maintenabilit du code. Ce choix est justifi par plusieurs facteurs savoir : La maturit et la richesse de cette technologie. La possibilit de la rutilisation des diffrents composants qui en font partie. La sparation forte quoffre la plupart des Framework relevant de cette architecture. la maintenabilit des applications.

4.1.2 Larchitecture MVC La plateforme adopte pour le dveloppement de ce projet est la plateforme J2EE. Celle-ci offre une panoplie doutils et de frameworks permettant la mise en place dune architecture fiable et volutive. Le modle le mieux adapt ce type de projet est le modle MVC (Modle Vue Contrleur). En effet, Le modle MVC cherche sparer les couches prsentation, traitement et accs aux donnes, ce qui assure la clart de larchitecture et simplifie la tche du dveloppeur responsable de la maintenance et de lamlioration du projet. Les diffrentes interactions entre le modle, la vue et le contrleur sont rsumes par le schma de la figure suivante :
25

Figure -1 : Architecture Modle-Vue-Contrleur L'interface utilisateur est un navigateur web partir duquel lutilisateur accde lensemble des fonctionnalits de lapplication. La logique applicative est constitue des scripts traitant les demandes de l'utilisateur. La source de donnes est une base de donnes (MySQL dans notre cas) qui contient lensemble des informations manipules dans lapplication. 4.2. Outils de dveloppement 4.2.1 Environnement de dveloppement intgr : clipse Eclipse est un environnement de dveloppement intgr (EDI ou IDE en anglais pour Integrated Development Environment) est un programme regroupant un ensemble d'outils pour le dveloppement de...) libre (le terme Eclipse dsigne galement le projet correspondant, lanc par IBM) extensible, universel et polyvalent, permettant potentiellement de crer des projets de dveloppement mettant en uvre n'importe quel langage de programmation (Un langage de programmation est un code de communication, permettant un tre humain de dialoguer avec
26

Une machine en lui soumettant des instructions et en analysant les donnes matrielles fournies par le systme, gnralement un...). Eclipse est principalement crit en Java ( l'aide de la bibliothque graphique (Une bibliothque graphique est une bibliothque logicielle spcialise dans les fonctions graphiques. Elle permet d'ajouter des fonctions...) SWT, d'IBM), et ce langage, grce des bibliothques spcifiques, est galement utilis pour crire des extensions. La spcificit d'Eclipse IDE vient du fait de son architecture totalement dveloppe autour de la notion de plug-in: toutes les fonctionnalits de cet atelier logiciel sont dveloppes en tant que plug-in. Plusieurs logiciels commerciaux sont bass sur ce logiciel libre, comme par exemple IBM Lotus Notes 8, IBM Symphony ou Websphere Studio Application Developer. 4.2.2 MySQL : MySQL est un serveur de bases de donnes relationnelles SQL, dvelopp dans un souci de performances leves. Il est multi-thread, multiutilisateurs. C'est un logiciel libre dvelopp sous double licence en fonction de l'utilisation qui en est faite : dans un produit libre ou dans un produit propritaire. Dans ce dernier cas, la licence est payante, sinon elle est libre. Il fonctionne sur plusieures plates-formes diffrentes, incluant Linux, Mac OS et Windows. Ses bases de donnes sont galement accessibles en utilisant des langages de programmation tels que C, Java et PHP. MySQL fait partie du quatuor LAMP : Linux, Apache, MySQL, PHP. Le couple PHP/MySQL est trs utilis sur Internet et propos par la majorit des hbergeurs. Il est l'uvre d'une socit sudoise, MySQL AB, fonde par David Axmark, Allan Larsson et Michael Widenius. Le nom MySQL vient de leur habitude prfixer par My une grande partie de leurs dossiers, bibliothques et outils.

27

4.2.3 JAVAScript JavaScript est un langage de programmation de scripts principalement utilis dans les pages web interactives mais aussi ct serveur. C'est un langage orient objet prototype, c'est--dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun quips de constructeurs permettant de gnrer leurs proprits, et notamment une proprit de prototypage qui permet d'en gnrer des objets hritiers personnaliss.

4.2.4 TomCat 6 Apache Tomcat est un conteneur libre de servlets et JSP Java EE. Issu du projet Jakarta, Tomcat est un projet principal de la fondation Apache. Tomcat implmente les spcifications des servlets et des JSP du Java Community Process[1] . Il est paramtrable par des fichiers XML et de proprits, et inclut des outils pour la configuration et la gestion. Il comporte galement un serveur HTTP. Tomcat ne constitue qu'un conteneur web, et non un serveur Web part entire:il gre spcifiquement les servlets et les JSP (un compilateur Jasper compilant les pages JSP pour en faire des servlets). Il peut tre galement parfois dsign comme moteur de servlet, ou plus abusivement comme un serveur Web. Tomcat est en ralit souvent employ en combinaison avec un serveur Web Apache ou d'autres serveurs Web (JBoss, IIS, WebSphere, etc). Tomcat a t crit en langage Java. Il peut donc s'excuter via la machine virtuelle Java sur n'importe quel systme d'exploitation la supportant

28

5. Prsentation de quelques crans

5.1 5.1.1

Partie Client Accueil

Figure1 : Page dAccueil client, le menu gauche

29

5.1.2

Page produit

Figure 2 : Liste produit, le client fait un choix dans le menu gauche Et la liste des produits saffiche avec son prix et la possibilit de lajouter son panier

30

5.1.3 Page new produit

Figure 3 :la page du spcial produits avec leur prix et un descriptif du produit

31

5.1.4 Authentification

Figure 5 :la page dauthentification de lAdministrateur du site

32

5.1.5 Inscription

Figure 6 : la page dinscription du client

5.2 Administrateur 5.2.1 Gestion produit


33

Figure 7 : la page de lAdministrateur de la liste des produits

5.2.2 Ajouter produit

34

Figure 8 : La page Administrateur dAjouter un Produit

5.2.3 Supprimer Produit

35

Figure 9 : La page Administrateur pour supprimer un produit (seul ladministrateur le droit de supprimer un produit)

36

Conclusion
Nous avons vu grce ce projet comment il tait possible de crer une application web dynamique laide des outils J2EE trs rpandue de nos jours. En outre, nous avons pu voir que ses outils sont trs bien adapts aux exigences des application de-commerce qui ncessitent par la nature de leurs activits une fidlisation du client, donc une flexibilit et une adaptation aux prfrences du client, chose qui est totalement supporte par la nature dynamique des outils J2EE qui se manifeste essentiellement dans la sparation entre ce qui est traitement de ce qui est prsentation, ce qui amliore les performances du site en deux axes : dabord, la prsentation reste toujours en interaction avec linternaute et permet le suivi de son utilisation du site tous en lui offrant chaque tape la vue la plus confortable. Ce projet tait loccasion pour raffiner nos capacits dabstraction et de conception en termes de modlisation. En plus, il nous a permis de raffiner notre mthodologie de travail et de dvelopper notre esprit dquipe en travaillant sur un projet qui demande des comptences varies dans diffrents domaines.

37