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