From Département MIAp

Misashs: ProgrammationWeb

Programmation pour le Web

Ce cours à pour objectif de vous familiariser avec la programmation Web. Après un bref rappel des principaux éléments du langage HTML et des feuilles de style CSS (interprétés par le client), nous verrons quelques éléments d'architecture du web afin d’apprendre à inclure à vos sites web du code exécuté par un serveur. Nous utiliserons pour cela le langage objet PHP. Vous éditerez vos fichiers grâce à l'éditeur de texte NotePad++.

Evaluation

La note finale correspondra à la moyenne pondérée de trois notes que vous aurez obtenues tout au long des 13 semaines de cours/TP :

Séance 1 (28/01/2015)

Le support du cours est téléchargeable ici.

Cette séance est dédiées à la révision du langage HTML.

Exercice 1 : bonjour.html

Ouvrez NotePad++ et créez un fichier nommé bonjour.html. Dans ce fichier, ajoutez le code HTML du transparent 13 du cours. Ouvrez ce fichier avec Firefox.

Exercice 2 : page d'accueil

Vous allez créer le site d'un magasin fictif contenant des pages sur les articles de ce magasin et des pages sur ses concepteurs. Tous les fichiers HTML que vous allez créer devront être placés dans un dossier "Nom1_Nom2".

Créez une page html nommée index.html contenant le nom d'un magasin fictif et un tableau de deux articles en spécifiant pour chaque article, son numéro identifiant, son nom, sa quantité en stock et son prix.

Exercice 3 : pages des articles

Pour chaque article, créez une page html contenant une photo et une liste contenant une petite description. Ajoutez en bas de ces pages un lien relatif "retour" vers la page index.html. Ajoutez aussi dans le tableau de la page index.html un lien vers la page de l'article sur le nom de l'article.

Exercice 4 : pages des contacts

Ajoutez en bas de la page index.html une liste "Contacts" contenant vos deux noms. Ces deux noms devront être des hyperliens vers deux pages HTML dans lesquelles vous vous présenterez (nom, parcours académique, parcours professionnel, passe-temps, photo, adresse e-mail, etc.). Ajoutez en bas de ces pages un lien relatif "retour" vers la page index.html. Pensez à inclure des paragraphes (<p>), des titres (<h>), des listes (<ul> ou <ol>) et toutes les structures qui vous paraissent utiles. La mise en forme de ces structures sera abordée lors de la prochaine séance portant sur les feuilles de style CSS.

Exercice 5 : validation des pages

Vérifier que vos pages respectent la norme HTML 5 définie par le W3C : http://validator.w3.org/. Si ce n'est pas le cas, corrigez les erreurs.

Exercice 6 : passage de votre site sur un serveur

Placez dans le dossier c:/wamp/www/ votre répertoire Nom1_Nom2. Connectez-vous à la page http://localhost/Nom1_Nom2/index.html. Vous allez accéder à votre site hébergé sur un serveur local (voir les annexes pour plus de détails). Vérifiez que tous vos liens (entre pages, images) fonctionnent bien. Si ce n'est pas le cas, réparez les erreurs.

Vous remarquerez que le lien http://localhost/Nom1_Nom2/ renvoie aussi sur votre page index.html. En fait, la page nommée index.html (ou index.php) est la page affichée par défaut lorsque vous vous connectez à un serveur sans spécifier un nom de fichier HTML (ou PHP). Pour accéder à une autre page de votre site, il faut nécessairement taper son nom dans l'adresse : http://localhost/Nom1_Nom2/NomFichier.html.

Séance 2 (04/02/2015)

Le support du cours est téléchargeable ici.

Cette séance est dédiée à l'amélioration du site créé lors de la première séance. Avant de commencer les exercices, vérifiez bien que vous avez terminé les exercices de la semaine dernière. Si ce n'est pas le cas, reprenez-les.

Exercice 1 : Structuration de votre site

Si vous placez tous les fichiers (HTML, images, ...) de votre site dans un même répertoire, vous allez rapidement rencontrer des difficultés pour vous y retrouver, surtout si vous avez beaucoup de fichiers. C'est pourquoi vous allez dans cet exercice structurer votre site.

Pour cela, créez un dossier "Nom1_Nom2" contenant 4 répertoires : "images", "contacts", "articles" et "styles". Placez dans le dossier "images" toutes vos images, dans le dossier "contacts" vos deux pages HTML personnelles, dans le dossier "articles" les deux pages HTML concernant vos articles. Placez dans le dossier "Nom1_Nom2" (à côté des trois répertoires) votre page index.html. Modifiez les adresses relatives de votre site (liens hypertextes et images) en fonction de la nouvelle architecture. Vérifiez que tout marche bien sur le serveur local (voir Séance 1 -> Exercice 6).

Exercice 2 : Création et importation de votre fichier CSS

Dans le dossier "styles", ajoutez un fichier CSS. Ajoutez dans ce fichier les règles conseillées à la fin du cours. Importez ce fichier dans toutes vos pages. Vérifiez que le style se charge bien.

Exercice 3 : Mise en forme de votre site

Utilisez votre fichier CSS pour mettre en forme votre site. N'hésitez pas aussi à ajouter du contenu ou des éléments de structure dans vos pages HTML (mais pas de mise en forme).

Séance 3 (11/02/2015)

Le support du cours concernant est téléchargeable ici.

Cette séance sera dédiée à l'écriture de votre premier code PHP. Il permettra d'améliorer votre site afin de gérer plus efficacement les stocks de votre petite entreprise.

Tous les fichiers sur lesquels vous travaillerez aujourd'hui devront être placés dans le répertoire c:/wamp/www/. Connectez-vous ensuite à http://localhost/... pour les visualiser.

Exercice 1

Dans le répertoire c:/wamp/www/, créez un fichier Bonjour.php contenant les lignes suivantes :

<html> 
 <head><title>Bonjour</title></head>
 <body> 
  <?php
   echo "Bonjour le monde !";
  ?>
 </body> 
</html>

Connectez-vous ensuite à l'adresse http://localhost/Bonjour.php. Affichez la source de la page. Que remarquez-vous ? Pourquoi le code PHP n'apparait-il pas ?

Exercice 2

Créez un fichier CSV (par exemple en utilisant Excel ou le tableur d'OpenOffice) contenant une ligne par article, avec son numéro identifiant, son nom, sa quantité en stock, son prix et le nom de sa page html.

Exercice 3

Renommez index.html en index.php. Écrivez dans le corps ("body") du fichier un code php permettant de lire le fichier créé dans l'exercice 1.

Exercice 4

Supprimez le tableau HTML statique (celui contenant les produits). Modifiez le code PHP de l'exercice 2 afin qu'il permette de créer de façon automatique un tableau contenant les produits présents dans le fichier CSV (identifiant, nom, quantité, prix).

Exercice 5

Modifiez le code PHP pour que les noms des produits du tableau soient des hyperliens vers les pages HTML les décrivant (dont le nom se trouve dans le fichier CSV).

Exercice 6

Créez une page HTML concernant un troisième article (cf. séance 1 exercice 3). Ajoutez une ligne correspondante dans le fichier CSV. Vérifiez qu'une ligne concernant cet article est bien automatiquement ajoutée dans votre page index.php.

Séance 4 (25/02/2014)

Cette séance et la prochaine seront dédiées à la mise en place de sessions clients. Cela nous permettra de voir dans un premier temps comment utiliser des formulaires de saisie.

Le support du cours concernant les formulaires est téléchargeable ici.

Exercice 1

Exercice 2

Exercice 3

Exercice 4

Séance 5 (04/03/2014)

Nous allons aujourd'hui nous intéresser à la gestion de sessions utilisateurs. Le but est de permettre à un utilisateur de s’authentifier sur votre site.

Le support du cours est téléchargeable ici.

Exercice 1

La semaine dernière, vous avez développé un code permettant à un utilisateur de saisir des données. Il va falloir maintenant enregistrer ces données sur le serveur, afin de les utiliser plus tard lors de l'ouverture d'une session utilisateur.

Exercice 2

Nous allons maintenant permettre à un utilisateur de se connecter si il a déjà créé son compte.

Exercice 3

Séance 6 (11/03/2015)

Nous allons aujourd'hui permettre à un utilisateur connecté d'acheter un article. Nous verrons comment peuvent être utilisés des champs de type "hidden" dans un formulaire.

Exercice 1

Finissez les exercices de la séance précédente.

Exercice 2

Exercice 3

Vous êtes sur le point d'achter l'article : nomDeLArticle. Nombre d'articles disponibles : 
quantitéDeLArticle.

Exercice 4

Cher Prenom Nom, 

L'article nomDeLArticle numéro numeroDeLArticle vous a bien été expédié à l'adresse adresseClient 
en quantiteArticles exemplaires.
Un e-mail de confirmation vous sera envoyé à l'adresse adresseEMailClient. 
Nous vous remerçions d'avoir choisit notre entreprise. 

Cordialement, 
L'équipe de direction.

Séance 7 (18/03/2015)

Nous allons aujourd'hui gérer les quantités en stock lors de l'achat d'articles. Cela nous permettra d'étudier la notion de classe en PHP. Dans un premier temps, nous allons supprimer la quantité achetée par l'utilisateur dans le fichier "articles.csv". Il va falloir :

Ensuite nous verrons comment vérifier que la quantité en stock est suffisante (exercice 4).

Le support du cours est téléchargeable ici.

Exercice 1

Exercice 2

Exercice 3

Exercice 4

Séance 8 (25/03/2015)

Cette séance commence par un devoir sur papier.

Nous allons ensuite voir comment gérer les articles non envoyés en cas de rupture de stock.

Exercice 1

Cher Prenom Nom, 

L'article nomDeLArticle numéro numeroDeLArticle vous a bien été expédié à l'adresse adresseClient 
en quantiteArticles exemplaires.

Le montant de votre commande s'élève à montantDeLaCommande euros.

Un e-mail de confirmation vous sera envoyé à l'adresse adresseEMailClient. 

Nous vous remerçions d'avoir choisit notre entreprise. 

Cordialement, 
L'équipe de direction.

Exercice 2

Cher Prenom Nom, 

L'article nomDeLArticle numéro numeroDeLArticle vous a bien été expédié à l'adresse adresseClient 
en quantiteArticles exemplaires. Les quantiteArticlesNonEnvoyes autres exemplaires vous seront envoyés 
ultérieurement.

Le montant de votre commande s'élève à montantDeLaCommande euros.

Un e-mail de confirmation vous sera envoyé à l'adresse adresseEMailClient. 

Nous vous remerçions d'avoir choisit notre entreprise. 

Cordialement, 
L'équipe de direction.

Exercice 3

Exercice 4

Avant de partir

Sauvegardez les fichiers que vous aurez créés sur une clé USB. Supprimez-les ensuite de la machine sur laquelle vous avez travaillé.

Séances 9 - 13 (1/04/2015 - 6/05/2015)

Le projet consiste à développer une interface web et un programme PHP permettant à deux joueurs de s'affronter sur le jeu puissance 4. Ce projet peut être réalisé seul ou en binôme, principalement pendant les séances de cours. Lors de la dernière séance, vous devrez me donner un dossier NOM1_NOM2 contenant l'ensemble des fichiers que vous aurez créés, ainsi que tous les autres fichiers utiles (images, CSV).

Etape 1

Dans un premier temps, vous développerez une classe puissance 4 munie des champs/méthodes suivantes :

Etape 2

Cette étape permettra de développer une interface web de jeu :

Etape 3

Cette étape consistera à améliorer les conditions de jeu. Plusieurs perspectives peuvent être envisagées :

Annexes

Editeurs de texte

Installation d'un serveur PHP : Windows

Vous pouvez utiliser WAMP. Téléchargez-le, installez-le et lancez-le. Placez vos fichiers dans le répertoire c:/wamp/www/. Vos pages html/php seront ensuite accessibles en tapant dans votre navigateur l'url suivante : http://localhost/nomPage.php

Installation d'un serveur PHP : Mac OS

Vous pouvez utiliser MAMP. Téléchargez-le, installez-le et lancez-le. Placez vos fichiers dans le répertoire Applications/MAMP/htdocs. Vos pages html/php seront ensuite accessibles en tapant dans votre navigateur l'url suivante : http://localhost:8888/nomPage.php

Installation d'un serveur PHP : Linux

Commencez par ouvrir un terminal, puis exécutez les lignes de commande suivantes :

  • sudo apt-get install apache2
  • sudo apt-get install php5 libapache2-mod-php5
  • sudo /etc/init.d/apache2 restart

Les pages PHP que vous allez créer devront être placées dans le répertoire /var/www/. Vos pages html/php seront ensuite accessibles en tapant dans votre navigateur l'url suivante : http://localhost/nomPage.php

Retour au sommaire.

Récupéré sur https://www.univ-montp3.fr/miap/ens/site/pmwiki.php/?n=Misashs.ProgrammationWeb
Page mise à jour le 2015-03-30