Veuillez respecter les noms des diffrents champs et fichiers
Transcription
Veuillez respecter les noms des diffrents champs et fichiers
Centre d’enseignement de Versailles Webmestre A4 Samedi 2 juillet 2005 – 9h-12H Tout document autorisé Veuillez respecter les noms des différents champs et fichiers présents dans le sujet. L’objectif de cet examen est de réaliser la gestion d’un mini répertoire téléphonique. Le site offre les fonctionnalités suivantes : • Accès sécurisé par mot de passe a son répertoire. • Test des accès à l’aide des sessions. • Affichage du répertoire téléphonique. • Ajout de nouveaux numéros. Les données seront enregistrées dans un fichier au format texte. Le format des enregistrements est le suivant : Nom : Prénom : Numéro de téléphone Question 1 (3 points) Le fichier d’indexe de ce site est simple, il est constitué d’une entête, d’un menu et d’une page centrale. En tête Menu Page centrale Identification (login.html) Liste (showPhone.php ) Ajouter (addPhone.php) Florent Brusciano 1 En supposant que la création des fichiers nommés : header.inc.php et footer.inc.php soient déjà réalisés, écrivez la page d’index permettant la navigation dans ce site web. <? Include « header.inc.php » … Insérez votre code … … Include « footer.inc.php » ?> Question 2 (2 points) Ecrivez une page HTML nommée login.html composée d’un formulaire. La méthode de ce formulaire est POST et l’action autent.php. Ce formulaire contient : • Un champ de texte nommé login. • Un champ de type password nommé password. • Un bouton de type submit. Question 3 (4 points) Ecrivez le script autent.php testant le login et le password en provenance du formulaire créé lors de la question précédente. Les couples (login, password) sont stockés dans un fichier de type texte nommé passwd.txt. Voici un exemple de fichier : Philippe :: philou JR :: dallas Florent :: flo Login :: Passwd Fabriquez une fonction nommée checkPass($login, $pass) qui récupère les informations en provenance du fichier afin de les comparer avec le couple (login, password) passé en paramètre. Cette fonction retourne vrai si le couple (login, password) est valide sinon elle retourne faux. Florent Brusciano 2 Si le couple (login, password) est valide une variable de session nommée : $_SESSION[‘isPassValid’] sera initialisée à true. Un message de bienvenu sera affiché à l’utilisateur. Question 4 (3 points) Ecrivez le script showPhone.php réalisant l’affichage du carnet téléphonique. Ce script testera la valeur de la variable de session isPassValid et redirigera l’utilisateur vers la page login.html en cas de nécessité. Si le contenu du fichier est le suivant : 1 ;; Brusciano ;; Florent ;; 06 06 34 45 67 2 ;; Geachan ;; Emile ;; 01 07 08 09 66 3 ;; Halgand ;; Mathieu ;; 08 00 66 77 33 Voici le format d’affichage d’une news : 1 Florent Brusciano 06 06 34 45 67 2 Emile Geachan 01 07 08 09 66 3 Mathieu Halgand 08 00 66 77 33 Remarque : il est conseillé de charger le fichier dans un tableau avant de lancer l’affichage des news dans le navigateur. Question 5 (4 points) Ecrivez le script addPhone.php réalisant l’ajout d’une entré dans le répertoire téléphonique. Ce script testera la valeur de la variable de session isPassValid et redirigera l’utilisateur vers la page login.html en cas de nécessité. Le script PHP se décompose en deux parties : • Un formulaire HTML dans lequel l’utilisateur rentre les données suivantes : o L’indexe du répertoire téléphonique. o Le nom. o Le prénom. o Le numéro de téléphone. • Les sauvegardes des données dans le fichier de type texte : o Réception des informations. o Enregistrement dans le fichier texte. o Affichage d’un message récapitulatif sur les informations collectées. Florent Brusciano 3 Question 6 (2 points) Ecrivez, en PERL, une expression régulière qui assure que l’index du répertoire téléphonique est un chiffre. Ecrivez, en PERL, une expression régulière qui permet de valider un numéro de téléphone français. Question 7 (2 points) Expliquez quel est le mode de fonctionnement de PHP avec le serveur Apache. Expliquez quel est le mode de fonctionnement de Perl avec le serveur Apache. Remarque : des schémas peuvent être utilisés s’ils sont explicites et accompagnés d’une brève explication. Florent Brusciano 4