Objectif :
Le TP sera réalisé sur les ordinateurs de la salle informatique au travers de la machine virtuelle (appelée VM pour Virtual Machine) mise à votre disposition.
Cette VM simule un serveur informatique, en particulier un serveur WEB + une base de données MySQL vous permettant de développer votre site WEB dynamique avec le langage PHP.
Cette première partie nommée "préparatifs" permet de mettre en place une base de données complète à partir d'un fichier fourni.
Lancer la machine virtuelle depuis le raccourci (VM-Pole Info) sur le bureau du PC hôte
Exécuter PhpMyAdmin en utilisant les identifiants suivants:
utilisateur : etudiant ; mot de passe : etudiant
Créer une base de données nommée tp2
Sélectionner la base que vous venez de créer dans l’onglet Bases de données
Dans le dossier Importer de la VM, vérifier la présence du fichier tpSQL.sql dans le sous-dossier HEI3_NDC1_TP_CommWEB/TP2
Importer, via le menu import de PhpMyAdmin, le fichier tpSQL.sql dont le rôle est de créer les tables de la base de données ainsi que leurs contenus
Supprimer tous les fichiers contenus dans le répertoire www présent dans home de la machine virtuelle
IMPORTANT
Le dossier www est le dossier par défaut du serveur WEB.
Lorsque vous lancez le navigateur Web à l'adresse http://localhost, le serveur WEB "regarde" le contenu du répertoire www.
Si, dans ce dossier www, il existe un fichier comme index.html ou index.php, celui-ci sera lancé systématiquement par le navigateur.
Si ce fichier n'existe pas, vous visualiserez alors l'arborescence du contenu du répertoire www, donc vos fichiers créés tout au long de ce TP
Vous enregistrez donc par la suite, dans ce dossier www, tous les fichiers WEB que vous créerez ainsi que les éléments attachés s'ils existent (images, photos,...)
Visuel partiel de la base de données :
Les tables "fournisseurs", "produits" et "Catégories" ainsi que leurs liens
On souhaite établir une requête permettant de récupérer les données suivantes:
Affichage des noms des fournisseurs (ici société)
par ordre alphabétique
et
pour chaque fournisseur,
le coût du stock
pour la catégorie « Boissons » (ici NomCategorie)
1. Dans PhpMyAdmin, tapez la requête ci-dessous repondant à ce souhait (cette étape vous permet de valider que la requête est fonctionnelle):
SELECT fournisseur.societe as nom,
sum(prixunitaire*unitesstock) as total
FROM produit
inner join fournisseur
on fournisseur.numfournisseur=produit.numfournisseur
inner join categorie
on produit.codecategorie=categorie.codecategorie
WHERE categorie.Nomcategorie='Boissons'
GROUP BY fournisseur.societe
On souhaite maintenant afficher ce résultat en dehors de PhpMyadmin, plus particulièrement dans une page WEB créée de toute pièce.
2. Dans le répertoire www du dossier home, créer un fichier intitulé afficherbrut.php
3. Ouvrir ce fichier avec l'éditeur "sublime Text" et insérer dans ce fichier :
les éléments minimum structurant une page Web HTML
Dans le corps de la page, mettre les éléments de connexion à la base de données MySQL. Vous utiliserez les données ci-dessous pour la connexion à la base de données:
serveur: localhost || utilisateur: etudiant || mot de passe : etudiant || base : tp2
4. Mettre le code nécessaire dans la page WEB permettant l'affichage des données brutes de la requête précédente comme le montre la figure suivante :
On souhaite maintenant afficher les données précédentes dans un tableau et ajouter une ligne supplémentaire faisant la somme des montants de chaque ligne.
1. Avec l'éditeur Sublime text, dupliquer la page afficherbrut.php en affichertableau.php
2. Modifier la page affichertableau.php pour obtenir un résultat de la requête dans un tableau centré sur la page, avec des bordures, comportant des titres de colonnes et une ligne par résultat (voir résultat ci-dessous)
3. Ajouter une dernière ligne de tableau qui affiche le coût total du stock ; ce coût sera calculé en PHP.
Indice pour réaliser cette question:
Profiter de la boucle d'affichage des lignes du tableau pour faire un calcul sommatoire afin d'obtenir le coût total du stock que vous mémoriserez dans une variable $coutStock pour pouvoir être affiché par la suite. Quand toutes les lignes du tableau sont affichées, ajouter une ligne avec le cout total
On souhaite afficher les résultats du tableau précédent sous forme de graphique. Pour ce faire, on fabriquera un histogramme où chaque barre sera fabriquée avec la balise <hr />. Cet élément HTML possède plusieurs attributs comme le montre l'exemple ci-dessous :
On modifie maintenant les lignes de code du deuxième tableau pour faire apparaitre l'histogramme
Le but est de créer une nouvelle page web qui va permettre, via un formulaire, de modifier le stock (ajouter ou soustraire une quantité en stock)
Vous modifierez dans un premier temps le stock pour un seul produit.
Vous utiliserez l'exemple ci-après pour modifier son stock:
Le fournisseur Leka Trading (numfournisseur:20)
fournit un seul produit (NomProduit:Ipoh Coffee, RefProduit:43)
de la catégorie boissons (CodeCategorie=1)
Remarque :
Pour visualiser le stock modifié, Leka Trading possède à l'origine une quantité de 17 Ipoh Coffee à 23 euros pièce. A l'aide du formulaire, modifier le stock pour en avoir 100 au total puis 0 et vérifier en même temps le coût du stock en affichant la page affichertableau.php ou directement dans la base de données.
Le but est de créer une nouvelle page web qui va permettre, via un formulaire, de modifier le stock (pour la catégorie "boissons") en choisissant cette fois-ci le produit à modifier.
Pour éviter de retaper tout le code, on se servira des pages précédentes en les dupliquant pour ensuite les modifier
On personnalise maintenant ces nouvelles pages pour répondre à la question
Ci-dessous le barème des points attribués par question.
La note tiendra compte de la "propreté" du code à savoir le respect des indentations, les commentaires utiles à la compréhension, l'organisation de la structure de la page web et de la justesse des réponses attendues.
Partie | Points |
---|---|
1. Structure de la page PHP |
1 2 |
2. Affichage des données dans un tableau |
1 2 |
3. Construction d'Histogramme |
1 2 |
4. Modification du stock (version partielle) |
1 2 |
5. Modification du stock (statique) |
1 2 |
6. Modification du stock (dynamique) |
1 2 |
Code correct (indentation, commentaires,...) | 2 |