Vous êtes sur la page 1sur 12

 Direction Générale des Etudes Technologiques


Ministère de l’Enseignement Supérieur,
de la Recherche Scientifique, et de la Technologie Institut Supérieur des Etudes Technologiques
 de Bizerte

Nom :…………………………….….. Prénom :………….……………………... Classe :…………………….

N° C.I.N. : Salle :..……….……………. N° place………….……….

Signature de l’étudiant Epreuve de : Programmation Web 2


Date : Juillet 2020

Département : Technologies de l’Informatique A.U. : 2019 – 2020


Spécialité : Informatique Date : Juillet 2020
Niveau : 1 Durée : 1 Heure
Matière : Programmation Web 2 Classes : TI1
Enseignants : D. Amara, I. Jemmali , M. Ouali Documents : Non Autorisés

Notice
 L’épreuve est formulée en 12 pages
 Toutes les feuilles sont à rendre
 Aucun document n’est autorisé.
Note  Aucune rédaction au crayon n’est acceptée. Il sera tenu compte de la présentation
des réponses.
 Il est conseillé de lire intégralement le sujet avant de répondre.

Bon Travail

Page 1 / 12
Ne rien écrire dans cette zone

 Exercice 1 (5 pts) (15 min)


10*0.5
Cocher la(les) bonne(s) réponse(s).

Q1. Dans quelle section d'un document HTML pouvez-vous inclure du 


code JavaScript ?
a) <title> 
b) <head> 
c) <script> 
d) <body> 
Q2. Comment faire appel à une fonction nommée « Somme »? 
a) Somme() 
b) call function somme() 
c) call somme() 
d) Aucune de ces réponses n’est vraie 
Q3. Quelle est la syntaxe correcte pour faire référence à un script externe 
appelé « myscript.js » ?
a) <script href="myscript.js"> 
b) <script name="myscript.js"> 
c) <script src="myscript.js"> 
d) Toutes les réponses sont vraies 
Q4. Quelle propriété JavaScript devez-vous utiliser pour modifier le 
contenu actuel d'un élément ?
a) innerHTML 
b) insideHTML 
c) innerText 
d) modifyHTML 
Q5. Quelle méthode permet de récupérer un élément HTML par son nom ?
a) getElementByName(nom) 
b) getElementByTagName(nom) 
c) getElementBy(nom) 
d) getElementsByTagName(nom) 

Page 2 / 12
Ne rien écrire dans cette zone

Q6. Laquelle des méthodes suivantes permet d’enlever le dernier élément 


d’un tableau ?
a) last() 
b) get() 
c) pop() 
d) shift() 
Q7. Qu’affiche le code alert("10"+"5") ; ? 
a) "10"+"5" 
b) 15 
c) 105 
d) "15" 
Q8. Quel évènement est déclenché lorsqu'un texte est modifié dans un 
input ?
a) onmodif 
b) onchange 
c) onload 
d) onfocus 
Q9. Que renvoie l’exécution du code message="bonjour" ; alert(typeof 
message) ; ?
a) boolean 
b) "typeof message" 
c) undefined 
d) String 
Q10. En JavaScript, comment modifier la couleur de fond de l’élément 
HTML initialisée par elem = document.getElementById("myElement") ?
a) elem.style.backgroundColor="blue" ; 
b) elem.background-color="blue" ; 
c) elem.style.background-color="blue" ; 
d) elem.backgroundColor="blue" ; 

Page 3 / 12
Ne rien écrire dans cette zone

 Exercice 2 (15 pts) : DOM


Soit la page HTML suivante:

Page 4 / 12
 Direction Générale des Etudes Technologiques

Ministère de l’Enseignement Supérieur,
de la Recherche Scientifique, et de la Technologie Institut Supérieur des Etudes Technologiques
 de Bizerte

Nom :…………………………….….. Prénom :………….……………………... Classe :…………………….

N° C.I.N. : Salle :..……….……………. N° place………….……….

Signature de l’étudiant Epreuve de : Programmation Web 2


Date : Juillet 2020

Le clic sur le bouton "Envoyer " fait l’appel à une fonction Verif() écrite en JavaScript et qui permet
de vérifier les conditions suivantes :
 Les champs Nom, Prénom et NCIN doivent être non vides.
 Le champ CIN ne contient que 8 chiffres de 0 à 9.
 La nature de l’activité fonctionnaire est sélectionnée par défaut.
 La date de début de la durée de validité doit être inférieur à celle de la date de fin.

Si les conditions précédentes sont satisfaites, le message "Inscription Valide " sera affiché sinon il faut
afficher le message "Inscription Non Valide ".

Le bouton "Annuler " permet de remettre à vide tous les champs du formulaire.

Les messages d’erreurs seront affichés dans l’élément <div id="error"></div>.

NB : Les messages d’erreurs seront affichés dans l’élément <div id="error"></div>

Page 5 / 12
Ne rien écrire dans cette zone

Travail demandé
1. Compléter le code HTML avec le code nécessaire

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Justificatif</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<section id="wrapper">
<fieldset>
<h1>Justificatif de déplacement</h1><hr>
<div id="error"></div>
<p>En application de l’article prescrivant les mesures
générales nécessaires pour faire face à l’épidémie de covid-19 dans le
cadre de l’état d’urgence sanitaire à ISET Bizerte.</p>

<p>Je soussigné(e)</p>
0.75
<form action="" …onSubmit="return verif()" onreset="effacer()"…>
<div>
<label for="nomPrenomEmp">Nom et prénom de l'employeur :</label>
<input type="text" name="nomPrenomEmp" id="nomPrenomEmp">
</div>
<div>
<label for="fonction">Fonction:</label>
<select name="fonction" id="fonction">
<option value="directeur">Directeur</option>
<option value="secretaire">Secrétaire</option>
<option value="general">Général</option>
</select> </div>

Page 6 / 12
Ne rien écrire dans cette zone

<div>
<p>certifie que les déplacements de la personne ci-après, entre son
domicile et le lieu de son activité sont permises :</p>
</div>
<div>
<label for="nomPrenom">Nom et prénom</label>
<input type="text" name="nomPrenom" id="nomPrenom">
</div>
<div>
<label for="ncin">NCIN:</label>
<input type="text" name="ncin" id="ncin">
</div>
<div>
<label for="nature">Nature de l'activité</label>
<input type="radio" name="nature" value="enseignant"> Enseignant
<input type="radio" name="nature" value="fonctionnaire"
……………checked………>
0.25 Fonctionnaire
<input type="radio" name="nature" value="etudiant"> Etudiant
</div>
<div class="other">
<label for="dureeMin">Durée de validité: de</label>
<input type="date" name="dateDebut" id="dateDebut">
<span>à</span>
<input type="date" name="dateFin" id="dateFin">
</div>
<div>
<input type="submit" value="Envoyer">
<input type="reset" value="Annuler">
</div>
</form>
</fieldset>
</section> <script src="main.js"></script> </body> </html>

Page 7 / 12
Ne rien écrire dans cette zone

2. Ecrire le code de la fonction verif_ncin(ncin) permettant de tester un NCIN est valide ou non

function verif_ncin()
{ 1. 5

let verif = true;

let taille = ncin.length;

for(let i=0; i<taille; ++i) {

if ((ncin.charAt(i) < "0") || (ncin.charAt(i) > "9") || (taille!=8))

verif = false;

return verif;

3. Ecrire le code de la fonction verif_date() permettant de valider les dates

function verif_date ()
{ 1. 5

let verif = true;

let dateDebut = document.getElementById('dateDebut').value;

let dateFin = document.getElementById('dateFin').value;

if (dateFin < dateDebut) {

verif = false;

return verif;

Page 8 / 12
 Direction Générale des Etudes Technologiques

Ministère de l’Enseignement Supérieur,
de la Recherche Scientifique, et de la Technologie Institut Supérieur des Etudes Technologiques
 de Bizerte

Nom :…………………………….….. Prénom :………….……………………... Classe :…………………….

N° C.I.N. : Salle :..……….……………. N° place………….……….

Signature de l’étudiant Epreuve de : Programmation Web 2


Date : Juillet 2020

4. Compléter le code JavaScript de la fonction Verif()

function Verif()
{
let valid = true;
1
let err = document.getElementById('error');

let nomEmp = document.getElementById('nomPrenomEmp').value;

let nomUtilisateur = document.getElementById('nomPrenom').value;

let ncin = document.getElementById('ncin').value;

let erreur = "";

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

// Validation nom et prénom de l'employeur

if(………………… nomEmp.length <= 0 ………………………) { 1. 5

erreur += "<p>Veuillez taper le nom et prénom de l'employeur!</p>";

err.style.display = "block";

valid = false;

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

Page 9 / 12
Ne rien écrire dans cette zone

// Validation nom et prénom de l'utilisateur 1. 5

if(………… nomUtilisateur.length <= 0 ……………) {

erreur += "<p>Veuillez taper votre nom et prénom!</p>";

err.style.display = "block";

valid = false;

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

// Validation NCIN

if(……………………… ncin.length <= 0 ……………………) {


2
erreur += '<p>Veuillez taper votre NCIN!</p>';

err.style.display = "block";

valid = false;

} else if (!verif_ncin(ncin)) {

erreur += '<p>Le numéro de votre CIN est incorrect!</p>';

err.style.display = "block";

valid = false;

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

Page 10 / 12
Ne rien écrire dans cette zone

// Validation dates
1. 5
if(……………………… !verif_date() ……………………) {

erreur += '<p>La date de début de la durée de validité doit être

inférieur à celui de la date de fin!</p>';

err.style.display = "block";

valid = false;

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

if (valid) {
1
alert("Inscription Valide");

}else {

err.innerHTML = erreur;

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

return valid;

Page 11 / 12
Ne rien écrire dans cette zone

5. Ecrire une fonction JavaScript effacer() qui permet d’effacer les messages d’erreurs.

function effacer()
{ 1
let err = document.getElementById('error');

err.style.display = "none";

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………….

6. Ecrire une fonction JavaScript changeParagraphes() qui permet de chercher les paragraphes dans cette
page et de modifier leur arrière-plan en jaune.

function changeParagraphes()
{
// Récupérer tous les paragraphes 1. 5
// let paras = document.querySelectorAll('p');

let paras = document.getElementsByTagName('p');

for (let i=0; i<paras.length; i++) {

paras[i].style.backgroundColor = 'yellow';

………………………………………………………………………………………………………………….

Page 12 / 12

Vous aimerez peut-être aussi