Application web
Objectif
Ce projet consiste en la création d'une application web répondant aux caractéristiques suivantes :
- Interaction Homme-Machine reposant sur un formulaire HTML
- Traitement des données du formulaire côté serveur
Exemples de projets
Le choix du traitement à mettre en œuvre est libre. Voici quelques exemples de thèmes envisageables :
- Calculs *(calculs géométriques, calculs des points pour le bac, ...)
- Génération d'images
- Recherche dans une "base de données" (écrite en dur dans le code ou récupérée depuis un fichier)
- Stockage d'informations dans une "base de données" (écriture dans un fichier)
Les contraintes
- Travail en groupe obligatoire (entre 2 et 3 personnes)
- Langage PHP ou Python
- Formulaire contenant au minium :
- un champ texte
- une liste d'options
- un champ boutons radio ou cases à cocher
- Traitement des données côté serveur
Les étapes clés du projet
- Faire l'exercice de démarrage version PHP
- Faire l'exercice de démarrage version Python
- Faire un choix entre le langage PHP et le langage Python
- Créer un formulaire simple (sans CSS) répondant aux contraintes (3 types de champs) et s'assurer d'être en mesure de récupérer les valeurs côté serveur
- Trouver une idée de traitement
- Mettre en œuvre le traitement
- Mettre en forme le formulaire (CSS) et ajouter de l'interactivité (Javascript)
Livrable
Votre projet devra être transmis à l'enseignant au format zip. L'archive devra contenir :
- Le code source du projet
- Un court compte rendu au format PDF (maximum 2 pages) précisant :
- Une courte description du projet
- Le nom des membres du groupe
- Le rôle de chaque membre du groupe
- Une description précise de l'échange de données entre client et serveur
- Une description du traitement mis en œuvre
Démarrage
Étude de la version PHP
Installation de PHP
- Télécharger l'archive ZIP de la version 8.2.3 de PHP depuis la page officielle de téléchargement
- Décompresser l'archive ZIP
- Renommer le répertoire
php-8.2.3-nts-Win32-vs16-x64enphp - Couper/coller le répertoire
phpvers le répertoireDocuments - Lancer l'application Invite de commande
- Exécuter la commande ci-dessous qui permet de rendre php accessible depuis n'importe quel dossier :
set PATH=%PATH%;C:%HOMEPATH%\Documents\php
- Vérifier que PHP soit bien accessible en lançant la commande :
php -v
- Vous devez obtenir l'affichage suivant :
PHP 8.2.2 (cli) (built: Jan 31 2023 21:19:11) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.2, Copyright (c) Zend Technologies
Squelette de l'application
- Télécharger le squelette d'application
- Décompresser l'archive ZIP
- Renommer le dossier en
squelette_php - Ouvrir l'ensemble des fichiers dans l'éditeur de votre choix (Notepad++, Visual Studio Code, ...)
Lancement du serveur
- Lancer l'application Invite de commande
- Se déplacer jusqu'au dossier du squelette (en considérant qu'il soit le dossier Téléchargements)
cd C:%HOMEPATH%\Downloads\squelette_php
- Une fois dans le dossier, lancer un serveur PHP :
set PATH=%PATH%;C:%HOMEPATH%\Documents\php
php -d extension=C:%HOMEPATH%\Documents\php\ext\php_gd.dll -S localhost:8080
- Se rendre à l'adresse http://localhost:8080, une page avec pour titre Page d'accueil doit s'afficher
Exécution des traitements
Le squelette comporte 3 traitements dont il vous faudra comprendre parfaitement le fonctionnement :
- Traitement 1 - génération d'une réponse texte
- Traitement 2 - génération d'une réponse HTML
- Traitement 3 - génération d'une réponse image
- Se rendre sur http://localhost:8080/exemple_traitement_1.php
- Un message réclamant le paramètre nom doit s'afficher
- Fournir une valeur au paramètre nom directement via l'URL
- Un message réclamant que le paramètre nom soit fourni via la méthode POST doit s'afficher
- Modifier la page
index.phpafin créer le formulaire permettant d'envoyer le paramètre nom en utilisant la méthode POST - Modifier le formulaire de façon à appeler le traitement numéro 2 et observez le résultat
- Modifier le formulaire de façon à appeler le traitement numéro 3 et observer le résultat
- Expérimenter en modifiant le formulaire et les traitements afin de bien comprendre le fonctionnement de l'ensemble
Étude de la version Python
Squelette de l'application
- Télécharger le squelette d'application : Télécharger
- Décompresser l'archive ZIP
- Renommer le dossier en
squelette_python - Ouvrir l'ensemble des fichiers sous Thonny (ou tout autre éditeur que vous maîtrisez)
Lancement du serveur
- Installer les modules Flask et Pillow
- Lancer le fichier
server.pyen passant par la console système (Outils ▸ Ouvrir la console du système...)
Exécution des traitements
Le squelette comporte 3 traitements dont il vous faudra comprendre parfaitement le fonctionnement :
- Traitement 1 - génération d'une réponse texte
- Traitement 2 - génération d'une réponse HTML
- Traitement 3 - génération d'une réponse image
- Se rendre sur http://localhost:8080/exemple_traitement_1
- Un message réclamant le paramètre nom doit s'afficher
- Fournir une valeur au paramètre nom directement via l'URL
- Un message réclamant que le paramètre nom soit fourni via la méthode POST doit s'afficher
- Modifier le template
templates\index.htmlafin créer le formulaire permettant d'envoyer le paramètre nom en utilisant la méthode POST - Modifier le formulaire de façon à appeler le traitement numéro 2 et observez le résultat
- Modifier le formulaire de façon à appeler le traitement numéro 3 et observer le résultat
- Expérimenter en modifiant le formulaire et les traitements afin de bien comprendre le fonctionnement de l'ensemble