Vous êtes sur la page 1sur 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Cahier des charges


Ralisation d'une boutique en ligne de location de DVD
__________
juin 2011

2011 ELANG ANTOINE

Ralis par : ELANG Antoine

Juin 2011

1 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Sommaire
1. 2. Introduction ............... ..3 Technologies utlises........................................... 4 2.1 PHP............................................................................... . 4

2.2. MySQL .................................................................................. ...... 4 2.3. Combinaison PHP/MySQL .4 2.4. Les avantages de la combinaison PHP/MySQL.5 2.5. Plate-forme de dveloppement WampServer .6............... 2.6 XHTML et CSS..6 3. Dossier de spcifications ................................... ..6 3.1. Description gnrale ..................................................... 6 3.2. Besoins fonctionnels ...................................................................... ..7 3.2.1 Exigences du client ............................................................... 7 3.2.2 Exigences de l'administrateur ............................................... 8 3.2.3. Diagramme des cas d'utilisation .......................................... 8 3.2.4. Diagramme de squences .................................................... 9 3.3. Diagramme de classes ..................................................................... 11 4. Aspect conceptuel..... ............... 13 4.1 Conception du systme d'identification des utilisateurs.. .............. 13 4.2 Conception de l'application du panier virtuel.... .............. 14 4.3. Conception de la base de donnes ................................................. 15 4.3.1. Structure de la base de donnes films ................... 15 4.3.2. Modle conceptuel des donnes ..................... 16

5.

Plan de navigation Arborescence du site... 17 5.1. Navigation.. ..................................................................................... 17 5.2 Arborescence du site.... .................................................... 18

6. Conclusion 19

Ralis par : ELANG Antoine

Juin 2011

2 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

1. Introduction
Dans le cadre du module C218, il nous a t confi la ralisation d'un site web en utilisant le langage PHP et le systme de gestion de base de donnes MySQL.

Nous avons nomm notre site web de location de films par internet DVDRENT. Ce dveloppement propose toutes les fonctions basiques que puisse proposer un site de location de DVD : affichage dune vidothque classe par genres, inscription et connexion dutilisateurs, location de films, visualisation de ses locations actuelles etc.

Dans ce rapport, nous allons tout dabord prsenter et expliquer les technologies utilises pour le dveloppement de dvdrent. Nous traiterons ensuite de sa conception dans un dossier complet et aliment de diagrammes de conception. Nous terminerons par une description dtaille du projet avec un parcours des fonctionnalits, un schma de navigation et des explications sur limplmentation de notre base de donnes.

Ralis par : ELANG Antoine

Juin 2011

3 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

2. Technologies utilises
2.1. PHP
PHP est un outil d'interfaage, accessible par n'importe quel navigateur web, il permet d'afficher des informations en fonction des demandes d'un client.

2.2. MySQL
MySQL est l'organe ddi la gestion des donnes (stockage et demande de rsultats). Il va permettre de stocker de grandes quantits d'informations, ainsi que de faire des requtes plus ou moins complexes de reporting ou de statistiques sur ces donnes.

2.3. Combinaison PHP et MySQL


PHP et MySQL permettent de dployer des solutions centralises sur un serveur. PHP peut offrir une manipulation ergonomique des donnes avec des possibilits graphiques quasi infinies. MySQL quant lui peut : stocker tout type de donnes, faire des recherches multicritres et aussi assurer la fonction de reporting sur une quantit importante de donnes. PHP proposera l'affichage graphique des chiffres, la

construction des tableaux pour les priodes demandes pendant que MySQL s'occupera de fournir PHP les rsultats qui sont demands par l'utilisateur.

Ralis par : ELANG Antoine

Juin 2011

4 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

2.4. Les avantages de la combinaison PHP/MySQL


Des standards du march La combinaison PHP MySQL est l'une des plus rpandues dans le monde des bases de donnes. Des millions d'entreprises et associations l'utilisent pour assurer la diffusion, la saisie ou la prsentation de donnes aussi diverses que des rapports financiers, des informations mdicales ou des bases de donnes de la vie de tous les jours (bibliothques, magasins en ligne etc.).

Des outils Open Source Open Source veut dire que PHP et MySQL sont des outils gratuits, et qu'ils sont en constante amlioration car des milliers de dveloppeurs bnvoles participent au projet. Client lger Une fois qu'une application PHP MySQL est installe, elle peut tre accessible de n'importe quel poste ayant un navigateur internet (Internet Explorer, Firefox, Netscape, Mozilla etc.). Aucune installation ou configuration n'est ncessaire sur l'ordinateur de l'utilisateur final de la solution.

Multiplateforme et portable Un serveur PHP MySQL est bti pour pouvoir communiquer avec n'importe quel type d'ordinateur (Windows, Apple, Unix etc.). Nul besoin de faire des ajouts supplmentaires en dveloppement pour les environnements htrognes. De plus la solution peut tre hberge sur n'importe quel type d'ordinateur car PHP est totalement portable. Accessibilit Le serveur peut tre mis en accs direct via internet. Auquel

Ralis par : ELANG Antoine

Juin 2011

5 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

cas il est possible de s'y connecter partir de n'importe o dans le monde partir d'un poste reli internet

2.5. Plate-forme de dveloppement WampServer


WampServer est une plate-forme de dveloppement Web sous Windows. Il permet de dvelopper des applications Web dynamiques l'aide du serveur Apache, du langage de scripts PHP et d'une base de donnes MySQL. Il possde galement PHPMyAdmin pour grer plus facilement les bases de donnes. WampServer s'installe facilement et son utilisation trs intuitive permet de le configurer trs rapidement (sans toucher aux fichiers de configuration). Contrairement aux autres solutions, WampServer permet de reproduire fidlement son serveur de production. Cest cette plate-forme qui nous a servi de dveloppement dans le cadre de ce Projet.

2.6. XHTML et CSS


Ajout ces technologies listes ci-dessus, nous avons utilis XHTML, eXtensible HyperText Markup Language, pour crire le contenu de nos pages web et CSS, Cascading Style Sheets ("Feuille de style"), pour prsenter ce contenu.

3. Dossier de spcifications
3.1. Description gnrale
Ce projet propose de raliser un outil de location de DVD en ligne (accessible via HTTP). Les acteurs client et administrateur vont jouer un rle dans ce systme. Nous aurons besoin d'une base de donnes pour stocker les informations relatives au site internet, tel que les informations des clients, les films, les locations, etc.

Ralis par : ELANG Antoine

Juin 2011

6 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Des classes seront cres dans le systme dans le but de faire la relation entre les donnes de la base et le site internet.

3.2. Besoins fonctionnels 3.2.1. Exigences du client


Le client peut accder au site de location en ligne depuis un navigateur conforme au standard HTML 4 ou plus. Le client peut faire sa recherche et sa slection de films dune manire anonyme, mais il doit sidentifier ou remplir un formulaire dinscription ds quil valide la liste de films choisis, pour passer une commande. Dans cette optique, des donnes gres en session (panier virtuel ou caddie) assurent la mmorisation des films 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 film en slectionnant une catgorie ou en saisissant le nom (ou une partie du nom) dun film dans un champ de recherche du catalogue. Le rsultat de sa recherche saffiche sous la forme dune liste dinformations succinctes (rfrence, titre, prix location,), et le client peut visualiser la fiche de chaque film par un simple clic sur la rfrence du film dsir. La fiche dun film comporte toutes les donnes concernant le film (rfrence, anne, ralisateur, rsum, prix, photo de la couverture du DVD). Sil le dsire, le client ajoute le film son panier virtuel en cliquant sur un lien hypertexte depuis la fiche de larticle. Le client peut modifier la quantit dsire de chaque film 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 imprime ventuellement 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 films 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 de location. (Ce module ne sera pas pris en compte dans le prsent projet).

Ralis par : ELANG Antoine

Juin 2011

7 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

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.

3.2.2. Exigences de ladministrateur


Ladministrateur gre le site depuis son navigateur Internet. Ladministrateur doit sidentifier pour accder son espace dadministration en ligne, et un seul couple login/mot de passe est configur cet effet. Ladministrateur peut supprimer des comptes client et en modifier les informations. Ladministrateur ajoute, supprime ou modifie les films du catalogue. Ladministrateur affiche les informations de chaque commande, change ltat dune commande aprs lenvoi des films (Attente, Livr) ou supprime compltement une commande dans le cas o le rglement ne lui parviendrait jamais.

3.2.3. Diagramme des cas dutilisation


Nous explicitons par le diagramme de cas dutilisation de la norme UML les exigences du client et de ladministrateur telles quexprimes plus haut.

Ralis par : ELANG Antoine

Juin 2011

8 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

3.2.4. Diagramme de squences


Nous prsentons ensuite deux diagrammes de squences :

Diagramme de squence n1 : un client souhaite commander un film pour location. Diagramme de squence n2 : un administrateur importe un nouveau film dans le systme

Ralis par : ELANG Antoine

Juin 2011

9 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Diagramme de squence n1: un client souhaite louer un film

Ralis par : ELANG Antoine

Juin 2011

10 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Diagramme de squence n2: un administrateur importe un nouveau film dans le systme

L'administrateur, comme expliqu auparavant, est en mesure d'accder aux donnes du systme. Ici, on s'intresse au cas de l'enregistrement d'un nouveau film dans la base de donnes du site dvd rent.

3.3. Diagramme de classes


Le diagramme de classe de dvd rent est prsent ci-dessous. Dans notre systme, un client peut louer un ou plusieurs films, faisant chacun partie d'une catgorie. Chaque film est tourn par 1 ralisateur et 0, 1 ou plusieurs acteurs jouent dedans.

La classe principale du systme est le DatabaseManager qui s'occupe de crer une connexion vers la base de donnes et la fermer lorsque toutes les requtes sont arrtes.

Ralis par : ELANG Antoine

Juin 2011

11 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Chacune des classes possdes toutes les fonctions de rcupration, dition et suppression des donnes de la base au site web et vice et versa. Elles passent par le DatabaseManager chaque excution d'une mthode faisant appel la rcupration ou a l'envoi de donnes.

Ralis par : ELANG Antoine

Juin 2011

12 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

4. Aspect conceptuel
4.1. Conception du systme didentification des utilisateurs
Ds son arrive sur le site de la boutique, lutilisateur est identifi anonymement par le systme de gestion de sessions intgr de PHP. Cet identifiant de session anonyme le suit pendant toute sa visite sur le site. Si lutilisateur est un client, sa session lui permet dans un premier temps de mmoriser les films ajouts son panier virtuel (voir tableau III.2 ci-aprs). Lors de la validation de sa commande, le client dcline son identit en saisissant son e-mail et son mot de passe, ou cre un compte client sil nen possde pas encore. Aprs le contrle de la validit du compte client, son e-mail ($_SESSION['email']) et son statut

($_SESSION['statut'], gal client dans ce cas) viennent complter les donnes du panier virtuel dans la session (voir tableau III.2). Il est noter que, au cours de cette tape, les informations de sa commande et ses coordonnes sont enregistres dans la base de donnes du serveur, pour les rcuprer lors dune prochaine visite. Si lutilisateur est un administrateur, sa session mmorise uniquement son e-mail et son statut lors de la saisie du formulaire didentification. La mmorisation de son statut admin lui permet daccder toutes les pages de lespace administrateur, sans avoir sidentifier lors du passage dune page lautre.

Tableau III.1 Variables de session utilises pour lidentification dun utilisateur

Variables de session ddies lidentification $_SESSION[email]

Description

Exemples

E-mail de lutilisateur (client ou administrateur)

antoine.elang@gmail.com

$_SESSION[statut]

Statut de lutilisateur, qui prend la valeur client ou admin selon le profil de lutilisateur

client

Ralis par : ELANG Antoine

Juin 2011

13 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Tableau III.2 Exemple de panier virtuel mmoris dans la variable de session $_SESSION['liste']

$liste[x][y]

[y]=[0] : rfrence

[y]=[1] : quantit

[y]=[2] : PU

[y]=[3] prix total

[x]=[0] : film0 [x]=[1] : film1 [x]=[2] : film2

DRAMJMD1 COMEJMD1 COMEJMD3

2 3 1

7.00 7.00 6.50

14.00 21.00 6.50

4.2. Conception de lapplication du panier virtuel


Comme nous lavons prcis prcdemment, les informations relatives aux films slectionns par lutilisateur sont mmorises dans des variables de session. Nous utilisons une variable de type tableau ($liste[]) pour mmoriser toutes les informations de la liste du panier virtuel. Ce premier tableau contient lui-mme autant de variables de type tableau quil y a de films retenir ([x] reprsente lidentifiant de chaque film). Chaque tableau de films mmorise quant lui quatre informations diffrentes ([y]=0 : rfrence, [y]=1 : quantit, [y]=2 : prix unitaire, [y]=3 : prix total). La structure ainsi obtenue est donc un tableau deux dimensions ($liste[x][y]). Pour bien comprendre le fonctionnement de cette variable $liste, illustrons son utilisation par un exemple concret dune commande de location de trois films (DRAMJMD1, COMEJMD1 et COMEJMD3). Dans cet exemple, il est possible de rcuprer linformation quantit du film COMEJMD3 laide de la variable $liste[2][1] (qui est gale 1 dans lexemple), ou encore le prix total (prix unitaire quantit) de larticle COMEJMD1 laide de la variable $liste[1][3] (qui est gale 21.00 dans lexemple ; voir tableau III.2).

Une deuxime variable permet de mmoriser le prix total de la commande. Cette variable nomme $total est gre, elle aussi, dans la session de lutilisateur (voir tableau III.3).

Ralis par : ELANG Antoine

Juin 2011

14 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Tableau III.3

Variables $_SESSION[total]

Description Prix total de tous les articles de la commande

Exemples 41.50

4.3. Conception de la base de donnes


Nous appelons films la base de donnes de lapplication, constitue de 8 tables selon les spcifications ci-dessous.

4.3.1. Structure de la base de donnes films


Table films regroupe les champs caractrisant les diffrents paramtres films de la boutique (rfrence, titre, description, prix unitaire...).

Table categorie dfinit le nom des catgories dans lesquels sont classs les films.

Table commandes regroupe les champs caractrisant une commande (date dbut location, date fin location, identifiant du client, tat de la commande...).

Table listes regroupe les champs caractrisant chaque film command (rfrence de larticle, quantit commande...).

Table clients regroupe les champs caractrisant chaque client (nom, prnom, adresse, email, mot de passe...).

Table realisateur regroupe les champs caractrisant chaque ralisateur de film.

Table acteurs regroupe les champs caractrisant chaque acteur dun film.

Ralis par : ELANG Antoine

Juin 2011

15 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

Table role dfinit le rle jou par un acteur dans un film.

Ces huit tables sont organises selon les relations dcrites dans la figure ci-aprs.

4.3.2. Modle conceptuel de donnes de la base films

Ralis par : ELANG Antoine

Juin 2011

16 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

5. Plan de navigation - arborescence du site


5.1.Navigation
INDEX

CATALOGUE

FICHE

PANIER

LOGIN

INSCRIPTION

COMMANDE

Ralis par : ELANG Antoine

Juin 2011

17 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

5.2. Arborescence du site


Dossier /public/ Nom du fichier index.php Description Accueil : page qui saffiche par dfaut ds quon se connecte au site. Elle contient une liste de films nouvellement sortis catalogue.php Zone Public : affiche la liste des films avec un lien contextuel sur le fichier fiche.php pour afficher le dtail du film concern. Depuis cet cran, il est aussi possible de slectionner un thme ou de faire une recherche sur un titre (ou une partie de ce titre) fiche.php Zone Public : affiche les diffrentes caractristiques dun film. panier.php Zone Public : affiche le contenu u panier virtuel. Il est possible de modifier les quantits de chaque film ou encore de supprimer dfinitivement un film du panier. login.php Zone Public : formulaire didentification dun client. inscription.php Zone Public : formulaire dinscription dun client. commande.php Zone Public : affiche les diffrentes commandes lies au compte du client. index.php Zone Administrateur : accs et identification pour la zone Administrateur. articlesGestion.php Zone Administrateur : gestion des films (liste, ajout, suppression, modification). articlesAjout.php Zone Administrateur : ajout dun nouveau film articlesModif.php Zone Administrateur : modification des informations de la fiche dun film. clientsGestion.php Zone Administrateur : gestion des clients (liste, suppression, modification). clientsModif.php Zone Administrateur : modification des informations dune fiche client. commandesGestion.php Zone Administrateur : gestion des commandes (liste, suppression, modification). commandesModif.php Zone Administrateur : modification des informations dune commande. Permet notamment de changer ltat dune commande (Attente>Livr).

/public/

/public/ /public/

/public/ /public/ /public/ /administrateur/

/administrateur /administrateur/ /administrateur /administrateur /administrateur /administrateur/ /administrateur

Ralis par : ELANG Antoine

Juin 2011

18 of 19

Cahier des charges Ralisation d'une boutique en ligne de location de DVD

6. Conclusion
Ce projet de construction d'un site internet l'aide du binme PHP/MySQL a t trs formateur et nous a immergs dans le monde du web ! Il nous a permis davoir une bonne exprience de la conception web et de dcouvrir le domaine du ecommerce.

Nous pensons avoir aboutis une solution fiable, utile et ergonomique qu'est dvd rent. Nous pensons avoir amen un site internet de qualit autant au niveau de l'interface que des fonctionnalits apportes. Nous avons respect les requtes de dpart, que nous avons toff avec nos propres ides.

Grce une partie administrateur assez complte, on peut facilement interagir avec la base de donnes en ajoutant et modifiant lensemble des informations. Linterface que nous avons propose colle au besoin des utilisateurs des sites actuels.

Certes, nous ne grons pas les rendus des films lous, mais nous avons intgr au niveau de la table des commandes le champ date_fin qui permet de limiter la date des prts de films 2 semaines, rendant ainsi possible la gestion des retours de films prts. Enfin, on pourrait complter ce travail en introduisant un module de paiement en ligne, la gestion dun espace membre et la gestion des pnalits.

Consulter le site web en ligne ladresse ci-dessous : http://www.ardive.net/tutorat/aelang/public/index.php


ELANG Antoine - Mai 2011. All rights reserved. Antoine.elang@gmail.com

Ralis par : ELANG Antoine

Juin 2011

19 of 19