Ce document est consultable sur la plateforme Chamilo du département.
Par commodité, jusqu'à maintenant nous avons travaillé "en local". Ainsi, vous chargiez directement une page web dans votre navigateur via la commande firefox xxxx.html. Il est maintenant temps de nous placer dans le contexte d'un véritable site web dans lequel les pages web sont récupérées au moyen de requêtes HTTP adressées à un serveur web. Suivez le guide...
Information importante : Comme vous travaillez de chez vous, pour utiliser le serveur web Apache des étudiants de l'IUT (disponible à l'URL www-etu-info.iut2.upmf-grenoble.fr)
il faut savoir accéder à distance à votre répertoire Linux.
Une alternative, est de travailler avec un serveur web de développement local (voir tout à la fin de ce document).
Le logiciel serveur utilisé Apache est un logiciel libre
faisant partie d'un ensemble plus large développé par la fondation Apache (http://www.apache.org/).
Nous allons utiliser le serveur Apache qui a été installé sur la machine www-etu-info.iut2.upmf-grenoble.fr.
Normalement, pour mettre des pages Web sur ce serveur Apache, il suffit de les copier dans le répertoire /var/www/ de la machine www-etu-info.iut2.upmf-grenoble.fr. Mais vous n'êtes pas autorisés à le faire! (vous n'avez pas les droits d'administrateur). Toutefois, le logiciel Apache permet à tout utilisateur d'avoir un répertoire personnel dans lequel il rangera ses propres pages qui seront alors accessibles par le serveur Apache.
Par exemple, pour l'utilisateur dont le login est toto:
Attention! Pour avoir accès aux pages contenues dans les répertoires public_html des utilisateurs, le serveur Apache a besoin d'avoir des droits en "lecture pour tous" sur ces pages. Pour donner ces droits facilement, un script setup-public-html a été développé pour vous qu'il faudra ne pas oublier d'exécuter!
Ce script va donner des droits en "lecture pour tous" sur l'ensemble des fichiers de votre répertoire ~/public_html et des sous-répertoires. Si vous voulez voir le code de ce script, il est rangé dans le répertoire /users/info/pub/bin/
Remarque: Comme les droits de vos répertoires sont réinitialisés toutes les nuits, il faudra à chaque séance, exécuter de nouveau ce script. De plus, il faut l'exécuter dès lors qu'un nouveau fichier est créé/inséré dans votre répertoire ~/public_html ou l'un de ses sous-répertoires.
Les formulaires html permettent la saisie d'information par l'internaute (côté client) et déclenche un traitement côté serveur.
Classiquement, le traitement effectué côté serveur (par un programme PHP) retourne une page HTML qui est transmise au client pour affichage.
Editer (avec Atom) le fichier form1.html et en analysant le code répondre aux questions suivantes :
Remarque:
En fait, que la méthode soit GET ou POST, les données du formulaire sont bien passés au serveur!
Dans le cas de la méthode GET, vous avez vu que les paramètres sont visibles dans la barre d'adresse URL. Ainsi les données du formulaire sont encodées dans l'URL.
Dans le cas du POST, les données du formulaire n'apparaissent pas dans l'URL. Elles sont passées dans le corps de la requête HTTP.
Pour plus allez plus loin, voir l'article "Où vont les données?".
Editer (avec Atom) le fichier form2.html et analyser le code pour le comprendre. Repérez par exemple:
Editer (avec Atom) le fichier styleForm2.css et analyser le code pour le comprendre.
Accéder à l'URL http://www-etu-info.iut2.upmf-grenoble.fr/~votre_login/ à partir de votre navigateur et accéder au formulaire form2.html
Dans form2.html changer le programme PHP appelé par script2-simple-bis et tester de nouveau.
Dans form2.html changer le programme PHP appelé par script2.php et tester de nouveau.
Voici le formulaire de commande de matériel de l'entreprise ACME *:
Remarque 1: pour les cadeaux, les choix possibles sont
Remarque 2: Le dernier champ est un champ textarea.
*Vous ne connaissez pas l'entreprise ACME??? Voici son histoire...
D'après https://fr.wikipedia.org/wiki/Compagnie_ACME: La compagnie ACME (ACME Corporation) est une société fictive. Elle a été fondée par le personnel de la Warner Bros. Les premiers produits à sortir des usines sont des bouchons de liège et sont vus pour la première fois en 1935 dans le dessin animé Buddy's Bug Hunt. Toutefois, la plupart des produits sont vus dans les dessins animés Bip Bip et Coyote où des produits ACME sont fréquemment achetés par Wile E. Coyote, qui commande armes, fusées et autres dispositifs, dans ses tentatives inventives et sans fin pour attraper Bip Bip. C'est dans cette série que l'entreprise prendra sa renommée.
L'activité de la compagnie n'est jamais clairement définie, mais elle apparaît comme un conglomérat pouvant manufacturer n'importe quel produit et offrir n'importe quel service imaginable, et ce peu importe leur extravagance ou leur inutilité. L'acronyme de la compagnie signifierait American Company Making Everything (Compagnie Américaine Fabriquant Tout) ou, selon d'autres, A Company that Makes Everything (Une Compagnie qui Fait Tout), ou encore Another Company Making Everything.
Plutôt que d'utiliser le serveur Apache de l'IUT, ou d'installer un serveur Apache sur votre machine, vous pouvez utiliser un serveur web de développement local:
Utiliser un terminal et entrer la commande php -v
si PHP est installé, vous devriez obtenir quelque chose d'équivalent à:
PHP 7.3.11 (cli) (built: Dec 13 2019 19:21:21) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
Il faut l'installer!! Voici 3 petits tutos en fonction de votre machine:
<?php echo ("Bonjour à tous! \n");?>
PHP 7.3.11 Development Server started at Mon Mar 30 10:48:26 2020 Listening on http://127.0.0.1:8080 Document root is /Users/sylvie Press Ctrl-C to quit.
Remarque importante:
Il faut toujours vous situer dans le "bon" répertoire (celui où se trouvent vos fichiers formulaires et fichiers PHP) avant de lancer le serveur avec la commande php -S localhost:8080.
Vous êtes prêt! Vous pouvez tester tous vos formulaires et leurs réponses PHP.