Vous êtes sur la page 1sur 6

CONSERVATOIRE NATIONAL DES ARTS ET METIERS

Samedi 2 février 2008


13H30 – 15H30
Salle Jacquart

Développement Web
Code UE NFA016

CORRECTION DE L’EXAMEN
Première session

Documents autorisés : Brochure de référence CSS au format papier

Calculatrice non autorisée

Le sujet doit impérativement être remis dans la copie

Centre d’Enseignement à Distance


Nils SCHAEFER
Vrai / Faux (2 points)

1. En Javascript, l’attribut top référence la fenêtre mère de la fenêtre courante. (0,5 point)
Faux

2. Un code Javascript peut uniquement être inséré dans la partie body d’un document HTML. (0,5 point)
Faux

3. Les variables PHP ne sont pas typées. (0,5 point)


Faux

4. Les cookies sont stockés sur le serveur jusqu’à leur date d’expiration. (0,5 point)
Faux

Questions (3 points)

1. Qu’est-ce qu’un tableau associatif ? (1 point)

Un tableau associatif est un tableau où l’on utilise des chaînes de caractère plutôt que des indices numériques
pour y stocker des informations. L’extraction des différentes informations est de ce fait beaucoup plus simple.

2. Où trouve-t-on la balise <META> et à quoi sert-elle ? (1 point)

La balise <META> est placée dans l’en-tête du fichier HTML pour donner des informations sur ce dernier comme
le nom de l’auteur, le logiciel qui a généré la page, la date d’expiration, le codage des caractères…

3. Avec une servlet, est-il possible de partager des données entre plusieurs clients ? (1 point)

Oui, c’est possible car une même servlet peut travailler avec plusieurs clients et il est possible d’utiliser des
attributs de classe.

Exercice 1 (5 points)

Réalisez en HTML et PHP, un programme permettant de donner la date du lendemain à partir d’une chaîne
passée par l’intermédiaire d’un formulaire. Vous donnerez le code de la page HTML contenant le formulaire ainsi
que le code du script PHP affichant le résultat.

Fichier date.html
<html>
<body>
<form method=get action=date.php>
Date : <input type=text name=date> (format JJ/MM/AAAA)
</form>
</body>
</html>

Fichier date.php
<?php

$jma=split('/',$_GET['date']);
$j=$jma[0];
$m=$jma[0];
$a=$jma[0];

if($m==1 || $m==3 || $m==5 || $m==7 || $m==8 || $m==10) // mois à 31 jours sauf décembre
{
if($j==31)
{
$j=1;
$m++;
}
else
$j++;
}
elseif($m==4 || $m==6 || $m==9 || $m==11) // mois à 30 jours
{
if($j==30)
{
$j=1;
$m++;
}
else
$j++;
}
elseif($m==2) // mois de février
{
if(($a%4==0 && !$a%100==0) || $a%400==0) // année bissextille
{
if($j==29)
{
$j=1;
$m++;
}
else
$j++;
}
else
{
if($j==28)
{
$j=1;
$m++;
}
else
$j++;
}
}
elseif($m==12) // mois de décembre
{
if($j==31)
{
$j=1;
$m=1;
$a++;
}
else
$j++;
}

while(strlen($j)<2)
$j='0'.$j;
while(strlen($m)<2)
$m='0'.$m;
while(strlen($a)<4)
$a='0'.$a;

echo"Voici la date du lendemain : $j/$m/$a";

?>

Exercice 2 (2,5 points)

1. Donnez le calcul qui permet de déterminer le nombre total théorique d’adresses IP disponibles. Ces adresses
sont-elles toutes utilisables sur Internet ? (1 point)

Une adresse IP est représentée par 4 nombres codés chacun sur 8 bits. On dispose donc de 32 bits pour coder
une adresse IP. Il y a donc 232 adresses IP possibles soit 4 294 967 296. Bien entendu une partie de ces
adresses n’est pas utilisable sur Internet car elles possèdent une signification particulière.

2. Retrouvez la classe des adresses IP 193.43.208.180, 138.25.1.25 et 254.25.36.125. (1,5 point)

Adresse IP 193.43.208.180 Æ classe C


Adresse IP 138.25.1.25 Æ classe B
Adresse IP 254.25.36.125 Æ classe E
Exercice 3 (5 points)

Réalisez une interface de saisie de commande en HTML et en Javascript. Les champs « prix unitaire », « prix
total » et « total » doivent être remplis automatiquement.

<html>
<body>
<script type=text/javascript>
var designation=new Array();
var prix=new Array();
designation[0]="Clé USB Corsair 4Go";
prix[0]=45;
designation[1]="Clé USB Corsair 8Go";
prix[1]=80;
designation[2]="Clé USB Emtec 8Go";
prix[2]=75;
designation[3]="Clé USB Emtec 16Go";
prix[3]=160;

function somme(l)
{
document.getElementById('l'+l+'total').value=document.getElementById('l'+l+'prix').value*document
.getElementById('l'+l+'quantite').value;
total();
}

function total()
{
t=0;
for(l=0;l<5;l++)
t+=Number(document.getElementById('l'+l+'total').value);
document.getElementById('total').value=t;
}

</script>
<table border=0>
<tr align=center><td><b>Désignation</b></td><td><b>Prix unitaire
(€)</b></td><td><b>Quantité</b></td><td><b>Prix total (€)</b></td></tr>
<script type=text/javascript>
for(l=0;l<5;l++) // Nombre de lignes
{
document.write("<tr><td><select id=l"+l+"designation
onchange='document.getElementById(\"l"+l+"prix\").value=prix[document.getElementById(\"l"+l+"designation\
").value]; somme("+l+");'><option value=-1></option>");
for(i=0;i<prix.length;i++)
{
document.write("<option value="+i+">"+designation[i]+"</option>");
}
document.write("</select></td><td><input type=text id=l"+l+"prix></td><td><input type=text
id=l"+l+"quantite onkeyup='somme("+l+");'></td><td><input type=text id=l"+l+"total></td></tr>");
}
</script>
<tr align=center><td></td><td></td><td align=right>Total :</td><td><input type=text id=total></td></tr>
</table>
</body>
</html>

Exercice 4 (2,5 points)

Voici le code d’un document HTML :

<html>
<head>
<title>CSS</title>
</head>
<body>
<h1>Carte judiciaire: 63 prud'hommes bientôt supprimés</h1>
<p>Refonte de la carte judiciaire suite. Depuis un mois, <a href=dati.html>Rachida Dati</a> annonce des
suppressions de tribunaux. Le gouvernement poursuit sa réforme. Dernière étape en date: la disparition
programmée de 63 des 271 conseils de prud'hommes, selon un document officiel dont l'AFP a eu connaissance
dimanche. Dans ce document, la Chancellerie précise que le nombre de conseillers prudhomaux (à ce jour,
14.616 élus) restera inchangé.</p>
<p>La nouvelle carte des conseils de prud'hommes entrera en vigueur en avril 2008 afin de permettre
l'organisation des prochaines élections prud'hommales le 3 décembre 2008, selon une source
gouvernementale. La liste des 63 suppressions est issue de "plusieurs phases de concertation" avec les
syndicats, a indiqué le cabinet du ministre du Travail <a href=bertrand.html>Xavier Bertrand</a>.</p>
<p>Les personnels concernés seront rattachés à d'autres conseils de prud'hommes, de façon à conserver au
moins un conseil par département et à "renforcer ceux traitant plus de 800 affaires par an", a-t-on
ajouté. Après la publication de la liste des conseils supprimés dans le Journal officiel, "dans la
semaine qui vient", une concertation de trois mois sera menée, comme l'impose le Code du travail, avec
les syndicats, organisations professionnelles, élus locaux, chambres des métiers...</p>
</body>
</html>

Voici le résultat obtenu :

Appliquer une feuille de style à cette page pour obtenir le résultat suivant :

<html>
<head>
<title>CSS</title>
<style type="text/css">
h1
{
color:green;
border-bottom:solid;
border-bottom-width:4px;
margin:10px;
text-transform:uppercase;
font-size:16px;
}

p
{
margin:10px;
color:blue;
text-align:justify;
border-left:solid;
border-left:color:blue;
border-left-width:2px;
padding-left:10px;
}

a
{
border:solid;
border-width:1px;
border-color:blue;
text-decoration:none;
}
</style>
</head>
<body>
...
</body>
</html>