Sommaire
Prambule ............................................................................................................................................... 2 Dmarche ................................................................................................................................................ 2 Projet 1 : Un site de rencontres ............................................................................................................... 3 Cahier des charges ............................................................................................................................... 3 Linterface............................................................................................................................................ 3 La page daccueil .............................................................................................................................. 3 La page dinscription ........................................................................................................................ 3 La page de recherche ....................................................................................................................... 4 La base de donnes MySQL .................................................................................................................. 5 Projet 2 : Dictionnaire de citations interactif ........................................................................................... 6 Linterface............................................................................................................................................ 6 La page daccueil .............................................................................................................................. 6 La page daffichage des rsultats ...................................................................................................... 6 La page dinsertion ........................................................................................................................... 7 La base de donnes MySQL .................................................................................................................. 7 Projet 3 : Site e-Commerce ..................................................................................................................... 7 Les besoins du client ............................................................................................................................ 7 Votre travail ......................................................................................................................................... 8 Fonctionnement du site ....................................................................................................................... 8 La base de donnes MySQL .................................................................................................................. 9
Pr. A. MESRAR
Page 1
Prambule
Vous devez choisir de raliser un des trois projets dcrits ci-dessous. Les pr-requis de bases avoir pour commencer la programmation de ces sites sont : PHP de base ; accs aux BD et les sessions. Attention : Le projet doit tre grav sur un CD et doit tre rendu avant le 03 ou 04 Novembre selon les groupes au cours des sances. Critre de notation : 1. Clart du code (indentation, rpertoires du site, images) 2. Codage de lensemble des pages 4. Optimisation du code
Dmarche
1. 2. 3. 4. 5. 6. 7. Pour chaque projet vous devrez suivre la dmarche suivante : Lire attentivement le cahier des charges propos. Dcomposer le site en diffrents modules, auxquels correspondront autant de pages. tablir un schma gnral de fonctionnement mettant en relief les liens entre ces diffrentes pages. Tracer les grandes lignes de lorganisation de chaque page sous forme de schma, en sparant le code HTML du code PHP. crire le code de chaque partie sans trop entrer dans les dtails de design dans un premier temps. Effectuer des tests approfondis sur chaque page en essayant denvisager les divers comportements des utilisateurs, leurs erreurs ventuelles et les effets de celles-ci sur votre code. Mettre en place lensemble des pages et tester leurs interactions dans les mmes conditions.
8.
Pr. A. MESRAR
Page 2
Linterface
Linterface comprend trois pages, la page daccueil, la page dinscription et la page de recherche, chacune dote de fonctionnalits spcifiques.
La page daccueil
Nomme index.php, la page daccueil contient les lments suivants : En-tte commun. Liste des sports existants dans la base.613 Zone de saisie de le-mail pour identifier le visiteur. Si le-mail figure dj dans la base, un message de bienvenue saffiche avec le nom du visiteur, et les donnes personnelles du visiteur sont enregistres dans un cookie. Deux nouveaux liens sont crs dynamiquement, un vers la page de recherche et un vers la page dinscription, permettant de senregistrer pour un nouveau sport. Si le-mail ne figure pas dans la base, le visiteur est redirig automatiquement vers la page dinscription. Lien vers la page dinscription pour les personnes non encore enregistres.
La page dinscription
Nomme ajout.php, la page dinscription contient les lments suivants : En-tte commun. Formulaire HTML denregistrement comprenant trois zones principales :
Pr. A. MESRAR
Page 3
La premire comporte les zones de saisie de texte pour le nom, le prnom, le dpartement et le-mail. La deuxime contient une zone de slection proposant le choix des sports existant dans la table sport. Cette liste est construite dynamiquement partir des slections des sports existants dans la base de donnes par les utilisateurs. Une seconde liste de slection permet lutilisateur de choisir son niveau. Les choix possibles sont dbutant , confirm , pro ou supporter . Une zone de saisie de texte et un bouton denvoi particulier permettent au visiteur dajouter un nouveau sport dans la table sil nest pas propos dans la liste. Aprs lenregistrement du nouveau sport, le visiteur est dirig vers la page dinscription mise jour avec ce nouveau sport. Le formulaire se termine par les habituels boutons denvoi et de rinitialisation. Lien vers la page daccueil. Script vrifiant lexistence de saisies dans les zones de texte et les listes de slection, enregistrant les donnes dans la base sportive et affichant lidentifiant gnr. La figure suivante illustre ce que pourrait tre le formulaire de la page dinscription.
La page de recherche
Nomme recherche.php, la page de recherche contient les lments suivants : En-tte commun. Formulaire de saisie contenant trois listes de slection : La premire contient la liste des sports existants. Elle est construite dynamiquement partir des donnes de la table sport, comme dans la page dinscription. La deuxime indique le niveau des pratiquants et comporte les mmes valeurs que dans le formulaire dinscription.
Pr. A. MESRAR
Page 4
La troisime contient la liste des dpartements dans lesquels il existe des personnes inscrites. Elle est construite dynamiquement partir des donnes de la table personne. Lien vers la page daccueil. Lien vers la page dinscription. Script traitant les informations saisies et affichant la liste des partenaires correspondants dans un tableau XHTML. Les donnes saisies sont raffiches dans le formulaire afin de faciliter une ventuelle nouvelle recherche de lutilisateur. Le formulaire de recherche peut ressembler celui illustr la figure suivante :
En appliquant les rgles de normalisation avant dimplmenter la base de donnes. Comme indication lassociation pratique devient la table pratique. Sa cl primaire est la concatnation des cls primaires des tables quelle associe. Elle a de plus un attribut niveau.
Pr. A. MESRAR
Page 5
Linterface
Pour crer une unit dans le site, chaque page doit incorporer les mmes en-tte et pied de page. Linterface comprend trois pages, la page daccueil, la page daffichage des rsultats et la page dinsertion.
La page daccueil
Nomme index.php, la page daccueil comporte, outre les lments dcoratifs laisss votre libre choix, les lments suivants : Bandeau contenant la citation du jour tire au sort dans la base et affiche lors de chaque connexion. Formulaire de recherche contenant une zone de saisie de texte dans laquelle le visiteur saisit un mot-cl de recherche dune citation. Il peut aussi prciser sa recherche en choisissant dans une liste de slection parmi les auteurs prsents dans la base. Cette liste est construite dynamiquement en interrogeant la base. Un dernier critre de slection est constitu dune seconde liste de slection permettant de choisir le sicle des citations, du XVIe au XXIe. Le critre de tri des rsultats se fait par auteur ou par sicle en fonction du choix effectu laide de boutons radio. Aucun de ces critres ntant obligatoire, chaque choix doit possder une valeur par dfaut consistant afficher lensemble des citations. Le script de traitement de ce formulaire se trouve sur la page daffichage des rsultats. Lien vers la page dinsertion de nouvelles citations.
La page daffichage des rsultats
Nomme affichecit.php, la page daffichage des rsultats contient les lments suivants : Script grant les saisies du formulaire. Ce script construit la requte SQL dynamiquement en fonction des choix oprs par le visiteur dans la page de recherche et gre labsence de mot-cl et de choix dans les listes de slection afin de ne pas crer de blocage du fait dune requte mal construite. Rsultats de la recherche effectue par un visiteur. Chaque citation est prsente dans une cellule de tableau HTML et est suivie du nom de lauteur et de son sicle. Le tri des citations se fait par sicle ou par nom dauteur selon le choix fait par le visiteur.
Pr. A. MESRAR Page 6
La page dinsertion
Nomme saisiecit.php, la page dinsertion comprend les lments suivants : Formulaire contenant deux zones de saisie de texte pour le nom et le prnom de lauteur, une liste de slection du sicle, une zone de saisie multiligne pour le texte de la citation, ainsi que les habituels boutons deffacement et denvoi. Script de traitement des donnes situ dans le fichier lui-mme, devant vrifier si lauteur existe dj dans la base puis insrer les donnes et afficher un avis dinsertion pour le visiteur. Lien vers la page daccueil.
Les contraintes sont les suivantes : Un auteur peut avoir crit plusieurs citations. Une citation donne ne peut tre loeuvre que dun seul auteur. 618
Pr. A. MESRAR
Page 7
Votre travail
Comme vous nallez pas rinventer le concept de commerce en ligne et partir de zro, vous vous inspirerez de ce qui existe dj. Il vous faudra en dgager les points essentiels et nen retenir que ce qui correspond au cas relativement simple de votre client. En particulier, le nombre darticles vendus par cette PME est relativement limit. Cela peut entraner des simplifications dans la structure de la base, comme le fait de ne pas crer de table spciale pour enregistrer le nom des marques des produits en magasin.
Fonctionnement du site
Le site rpond aux conditions suivantes : Dans la page daccueil, le client recherche un type de produit dans une des catgories informatique, vido et divers (pour les accessoires et consommables). Un tri par marque et par prix est propos pour laffichage des rsultats. Les rsultats de la recherche sont affichs en respectant le critre de tri. Chaque produit est suivi dun lien permettant sa slection. La slection dun produit entrane sa mise en panier. Aprs chaque slection, le client peut soit rechercher un autre produit, soit terminer sa commande. Dans ce dernier cas, lensemble de sa commande est affiche, et vous lui demandez ses coordonnes. Si le client nest pas encore enregistr, il saisit ses coordonnes compltes. Son adresse e-mail et un mot de passe lui serviront sidentifier par la suite. Il saisit galement le cas chant ladresse de livraison, qui peut tre diffrente de ladresse du client. Ces informations sont stockes laide de sessions pour tre transmises aux pages suivantes de la procdure dachat. Si le visiteur est dj client, il ne saisit que son e-mail et son mot de passe. Lauthenticit de ces informations est vrifie dans la base, et les coordonnes compltes du client sont rcupres. Ces coordonnes sont utilises pour remplir automatiquement un formulaire identique celui du visiteur non enregistr. Ces informations sont galement stockes laide de sessions. La phase de paiement par carte bancaire ntant pas ralisable sans une convention bancaire, vous vous contentez de demander la saisie dun numro de carte et dutiliser un algorithme de vrification du numro. Vous trouverez cet algorithme sur Internet en faisant une recherche partir du mot-cl cl de Algorithme de Luhn ou suivre le lien http://www.asp-magazine.com/article-44.html . Si le paiement est bien ralis, vous finalisez la transaction en enregistrant lensemble des informations dans les tables client, commande et ligne puis affichez le numro de commande destination du client dans un PDF. Pour finir, vous envoyez un e-mail de confirmation au client et au dpt du magasin charg de la livraison.
Pr. A. MESRAR
Page 8
Bonne chance
Pr. A. MESRAR
Page 9