• Aucun résultat trouvé

IFT 1147, Hiver 2005 Dominik Gehl Programmation serveur Web avec PHP EXAMEN INTRA

N/A
N/A
Protected

Academic year: 2022

Partager "IFT 1147, Hiver 2005 Dominik Gehl Programmation serveur Web avec PHP EXAMEN INTRA"

Copied!
9
0
0

Texte intégral

(1)

IFT 1147, Hiver 2005 Dominik Gehl Programmation serveur Web avec PHP

EXAMEN INTRA

Lundi 23 f´evrier 2005 Dur´ee: 120 minutes

Directives:

• L’examen comporte 9 pages.

• L’examen est `a livre ouvert: toute documentation ainsi que la calculatrice non programmable sont autoris´ees

• Toute page HTML (PHP) doit ˆetre conforme `a la sp´ecification HTML 4.01.

• R´epondez sur le questionnaire.

1. /18

2. /12

3. /10

4. /14

5. /21

6. /25

Total: /100

(2)

1. (18 points) Dans chacun des six cas suivants, r´epondez de la mani`ere la plus concise possible.

Chaque bonne r´eponse vaut 3 points.

(a) Nommez la particularit´e principale d’un langage de programmationcˆot´e serveur.

(b) Qu’est-ce qu’une classe CSS ?

(c) Nommez une commande PHP qui vous permet d’afficher rapidement le contenu d’une vari- able, peu importe son type.

(d) Qu’est-ce qu’un tableau associatif ?

(e) Est-ce que le passage de param`etres `a une fonction se fait en PHP par d´efaut, par valeur ou par r´ef´erence ?

(f) Qu’est-ce qu’un test unitaire (unit test)

2

(3)

2. (12 points) Dans chacun des cas suivants, indiquez si vous devriez transmettre les param`etres indiqu´es par GET ou POST et pourquoi.

(a) login et mot de passe d’un usager

(b) identifiant d’un livre dont vous allez afficher la description d´etaill´ee

(c) confirmation d’un achat

3. (10 points) Ecrivez une fonction´ getListe($tab, $ordonnee)qui retourne, dans une chaˆıne de caract`eres, une liste HTML des entr´ees du tableau index´e $tab. Le param`etre bool´een

$ordonnee indique si la liste HTML devra ˆetre une liste ordonn´ee ou non ordonn´ee.

(4)

4. (14 points) Requˆetes SQL

Imaginez la base de donn´ees d’une biblioth`eque ayant les tables suivantes:

• Auteur

auteurID entier, auto number primaire

nom caract`eres multiple

prenom caract`eres

• Livre

livreID entier, auto number primaire titre caract`eres

prixUnite entier

• LivreAuteur

livreID entier primaire auteurID entier primaire

(a) (6 points) Quel est l’avantage d’avoir cr´e´e une table LivreAuteur, au lieu d’un champ auteurIDdans le tableau Livre?

(b) (4 points) Quelle commande SQL permet d’obtenir la liste des auteurs en ordre al- phab´etique ?

(c) (4 points)Quelle commande SQL permet d’obtenir la liste des livres dont le titre contient le mot noir ?

4

(5)

5. (21 points)Vous devez cr´eer une classeHTML_Pagequi vous permettra de simplifier grandement la g´en´eration de vos documents HTML.

L’ex´ecution du script

<?php

$page = new HTML_Page();

$page->setTitle("Exemple d’utilisation");

$page->setBodyContent("<p>Voici un exemple d’utilisation</p>");

$page->addBodyContent("<p>encore d’autre contenu</p>");

$page->display();

?>

devra envoyer au navigateur le code HTML suivant

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<title>Exemple d’utilisation</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<p>Voici un exemple d’utilisation</p>

<p>encore d’autre contenu</p>

</body>

</html>

(6)

6

(7)

6. (25 points) Vous devez cr´eer un script PHP permettant au visiteur de s’inscrire `a votre site.

La pagenouvelUsager.phpdoit contenir un formulaire avec les champs appropri´es afin de saisir un login, un mot de passe et une adresse de courriel. Lorsque soumis, vous devez v´erifier (dans l’ordre):

• que le login comporte entre 6 et 10 caract`eres (lettres entre a et z en minuscule ou en majuscule, ainsi que des chiffres) et commence n´ecessairement par une lettre.

• que le mot de passe comporte au moins 6 caract`eres tels que d´efinis ci-haut, dont au moins un chiffre, au moins une minuscule et au moins une majuscule.

• que l’adresse de courriel comporte le caract`ere@et que@n’en est ni le premier, ni le dernier caract`ere.

Lorsqu’une de ces conditions n’est pas satisfaite, vous devez r´eafficher le formulaire en indiquant clairement `a l’usager les champs causant probl`eme. Les champs contenant des valeurs valides doivent ˆetre re-remplis.

Lorsque toutes les conditions indiqu´ees ci-haut sont satisfaites, enregistrez les informations en faisant appel `aenregistrerNouvelUsager($login, $mdp, $courriel)(vous n’avez pas `a pro- grammer le contenu de cette fonction), et souhaitez la bienvenue `a votre nouvel usager.

(8)

8

(9)

Références

Documents relatifs

Ils font partie des pays les plus vulnérables, comme en témoigne l’indice de vulnérabilité économique, qui indique que ces pays sont 30 % plus vulnérables que les autres pays

volume total de flux financiers en faveur des ~,,~ africains a ete negligeable au cours de la periode allant de 1981 Ii 1983. La contraction du volume des flux finanoiers resultait

La première contrainte est satisfaite à condition que D et E soient à l'intérieur du triangle UVW et, de manière supplémentaire, la seconde contrainte est satisfaite à condition

En effet, nous avons encore la perspective d’augmenter la surface accessible au pâturage, de réduire encore les besoins en maïs et donc en intrants. Nous encourageons

Selon les données disponibles les plus récentes, plus de sept allocataires monoparentaux sur dix sont à bas revenus, contre environ un tiers pour les couples

Les adultes apparaissent en été (juin-juillet), nocturnes, la ponte (300-800 œufs) se fait dans les crevasses, après 8jours la chenille pénètre sous l’écorce en..

En qnclqucs phrases je r~sumais le texte d l'écrivais nu lahli!:HI, le malin, sous leur dictée.. Pcnclanl t·c

Ce qu'il lui fallait à elle, c'était un homme, un vrai ; autre chose que ces petits Ceyla qui amenaient des filles jusque dans le bureau de leur père, mais qui pour le