IUT des Pays de l'Adour - RT1
Module M2105 - Informatique - Web dynamique
Projet HTML/PHP/SQL - 2021
Site de vente en ligne
Version 13 mai 2021 (12:10)
Cahier des charges
On désire concevoir par nos propres moyens (un site web dynamique par exemple...) un site de vente en
ligne. Ce site proposera aux clients diérents articles répartis en plusieurs catégories. Chaque article devra
posséder sa propre che descriptive (voyez comment font Amazon, CDiscount, Wish et autres AliExpress).
En naviguant sur le site, les articles seront présentés sous forme de liste, et en cliquant sur l'un d'eux on
pourra accéder à sa description détaillée. Le client pourra alors choisir de l'ajouter à son panier. Il pourra
ensuite consulter son panier, éventuellement y supprimer ou modier les quantités de certains articles, puis
le valider pour engager la commande.
Ce qu'il faut absolument faire :
articles, catégories, achage liste, achage che article
●
accès administrateur pour ajouter/supprimer des articles, des catégories, des utilisateurs,...
gestion paniers clients
accès gestionnaire pour visualiser les commandes, les valider,...
Ce qui est optionnel. . . mais vivement conseillé :
sous-catégories
●
photos des articles
sur une che article, générer (dynamiquement donc) une che PDF à télécharger
moteur de recherche
ltres pour la recherche (ex : par marque, prix compris entre xxx et xxx)
avis des utilisateurs
Ce que l'on ne vous demande pas de faire :
connexion à un site bancaire pour le paiement du panier
●
envoi de mails pour le suivi de commande
classement des articles selon le ranking des clients
forums de discussion
Travail à réaliser
1. À partir du cahier des charges, faire une première ébauche de la structure de votre site web : quelles
pages? quels formulaires? quel script PHP appeler quand on valide un formulaire? quel "calcul"
réalisé par chaque script? que doit-il retourner au client? comment ce résultat devrait être "présentés"
à l'utilisateur?
2. Fort de ce premier travail, identier les informations nécessaires à ce système informatique et concevoir
la base de données : schéma entités-associations, puis traduction (via le schéma relationnel) en requêtes
SQL pour créer les tables. Préparer également les requêtes SQL dont vous aurez besoin pour être
certains que votre BdD est "bien conçue"...
1
3. Écrire vos premières pages HTML (pages statiques, formulaires, pages de test d'achage de résultats).
Pour les formulaire nous mettons à votre disposition un script [Link] qui vous renvoie une page
HTML contenant toutes les données transmises par le formulaire.
4. La partie HTML ne vous posant plus de soucis, vous pouvez maintenant écrire vos propres scripts PHP.
D'abord en fonctionnement "autonome", puis en utilisant les données transmises par le formulaire, puis
nalement en interrogeant votre base de données.
NB : À terme ce serait une bonne idée de remplir les listes de choix de vos formulaires (ex : choix d'une
catégorie) à partir des données présentes dans votre BdD...
5. Écrire une feuille de style CSS "basique" pour apprendre à dissocier le contenu de la forme dans une
page HTML.
NB : Par rapport aux diérents tutoriaux que vous pourrez trouver sur Internet, ne vous préoccupez
pas pour ce projet des menus et autres gures ottantes... Contentez vous pour l'instant des couleurs,
des polices de caractères, etc...
6. Gérer le problème de l'accès aux diérentes fonctionnalités de votre site en fonction du rôle de l'utili-
sateur : client anonyme, client identié, administrateur, gestionnaire commandes.
Évaluation
Pour ce projet vous travaillerez par binôme, ce qui évitera certains "problèmes" entre séances de TD et
séances de TP. Votre évaluation sur le module M2105 pour ce projet se fera en deux parties : une évaluation
nale du projet terminé (lors de la dernière séance) et un suivi de l'avancement de votre projet au fur
et à mesure des séances. Chaque créneau d'1h30 fera donc l'objet d'une évaluation. Évaluation
individualisée si nécessaire !
Pour ce projet vous disposez de 4 séances de TD (1h30) et de 4 séances de TP (3h). Ce qui fait globalement
12 séances d'1h30. Cette année, les conditions de travail sont un peu particulières puisqu'une partie du projet
se déroulera en distanciel. Le planning (prévisionnel) de travail, et donc des évaluations, sera le suivant,
sachant qu'il vous est tout à fait possible de prendre de l'avance si vous travaillez de manière assidue :
1. Structure "conceptuelle" du site : pages web, formulaires, fonctionnalités (futurs scripts), achage des
résultats, données qui seront utilisées,...
[Link] BdD (schéma E/A + schéma relationnel optimisé) + tables SQL
[Link] BdD (suite) + requêtes SQL → évaluation M2104
4. Pages web statiques, formulaires statiques (avec exécution du script [Link] en guise d'action)
5. Premiers scripts PHP (d'abord sans paramètre, puis avec les paramètres transmis par le formulaire)
6. Scripts PHP avec requêtes SQL pour sélectionner des données et les remettre au format HTML pour
les retourner au client
7. Scripts PHP avec requêtes SQL SELECT (suite)
8. Scripts PHP avec requêtes SQL INSERT INTO (+ tests via les scripts de l'étape précédente)
9. Formulaires HTML dynamiques, c'est-à-dire que les listes de choix (ex : choix d'une catégorie) doivent
être peuplées avec les informations présentes dans la BdD (en lieu et place de champs textuels, sources
d'erreurs de saisie) → ces formulaires sont générés à la volée par des scripts PHP...
10. Ajout d'une feuille de style CSS
11. Débogage de ce qui ne fonctionne toujours pas... et/ou ajout des sessions
12. Débogage de ce qui ne fonctionne toujours pas... et/ou ajout de quelques javascripts
2
Liens utiles
PHP
▷ Votre première page PHP
[Link]
▷ Le PHP Facile
[Link]
▷ Les sessions
[Link]
▷ How to Generate a PDF File in PHP
[Link]
▷ Php7 Cours et Exercices de Jean Engels (Edition Eyrolles)
[Link]
HTML
▷ Tutoriel HTML
[Link]
▷ Transmettre des données avec les formulaires
[Link]
transmettre-des-donnees-avec-les-formulaires
CSS
▷ Tutoriel CSS
[Link]
Autres ressources, un peu vieillottes, mais en Français sur [Link] avec,
entre autres :
▷ Programmez en Java de C. Delannoy 9è édition de 2017 (Edition Eyrolles)
[Link]
▷ Programmer avec MySQL de Christian Soutou de 2017 (Edition Eyrolles)
[Link]
▷ HTML 5 - Une référence pour le développeur web de Rodolphe Rimelé (Eyrolles)
[Link]
▷ La programmation ORIENTÉE OBJET de Hugues BERSINI
[Link]