Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
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
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.
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
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
Lutilisateur remplis les informations dinscription ensuite les informations sont envoy lAdministrateur pour validation.
15
3.3.2 SAUTHENTIFIER
16
17
18
19
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.1 5.1.1
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
Figure 3 :la page du spcial produits avec leur prix et un descriptif du produit
31
5.1.4 Authentification
32
5.1.5 Inscription
34
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