Vous êtes sur la page 1sur 8

Commissariat Régional de l’Éducation de Tunis 1

Section : Sciences de l’Informatique


DEVOIR DE SYNTHÈSE Épreuve : Systèmes & Technologies de l’Informatique
N°2 Date : 15/03/2024 Durée : 2h

Nom et Prénom : …………………………………………………………………….. Classe : …………................ Note : ……………… /20

Exercice N° 1 (2 points : 0,25 x 8)


Pour chacune des questions suivantes, une seule proposition est correcte. Mettre une croix (X) dans
la case correspondante à la proposition correcte.
Important : Pour chaque question, toute réponse comportant plus d’une croix est considérée
erronée.
1. Soit l’élément h1 suivant : <h1 id="titre" class="titre">Titre de niveau 1 </h1>, on veut doubler
sa taille lorsqu'il est survolé par le pointeur de la souris pendant 5s. Quelle règle CSS doit-on utiliser ?
 #titre:hover { font-style : italic ; transition : 5s;}

 #titre:hover { font-size : 20px ; transition : 5s;}

 #titre:hover { transform : scale(2 , 2) ; transition : 5s;}


2. En PHP, la fonction mysql_affected_rows
 retourner le nombre de lignes affichées par la dernière requête SELECT

 retourner le nombre de colonnes affichés par la dernière requête SELECT

 retourner le nombre de lignes supprimées par la dernière requête DELETE


3. Dans une page web, on souhaite créer un bouton permettant l’appel de la fonction JavaScript verif1().
Quelle ligne d’instructions permet d’effectuer cette tache ?
 <button onclick = "verif1()">Cliquez ici</button>

 <a href = verif1()>Cliquez ici</a>

 <button>Cliquez ici</button = verif1()>


4. Soit l’élément HTML suivant : <input type="text" id="nom">. Quelle est l’instruction JavaScript qui
permet de récupérer la valeur de la zone de saisie décrite ci-dessus.
 document.getElementsById('nom').value

 document.getElementById('nom').value

 document.getElementById('nom').innerHTML
5. Soit la règle CSS suivante : p.bli{ color: red; } permet de colorer en rouge
 le texte de tous les paragraphes.

 le texte de tous les paragraphes ayant bli comme valeur de l’attribut class.

 le texte du seul paragraphe ayant bli comme valeur de l’attribut id.

Professeurs : Brahim Akrem & Rekik Wassim 1


6. Soient l’élément html <h1 id="h"></h1>. Quelle est l’instruction qui permet d’affecter la date et
l’heure systèmes au titre h1 ?
 document.getElementById("h").value=new Date();

 document.getElementById("h").innerHTML=new Date();

 document.getElementById("h")=new Date();
7. Pour supprimer une ligne d’une table, quelle commande SQL doit-on utiliser ?
drop line delete …. from drop table
  
8. Pour modifier le nom et le type d’une colonne d’une table, quelle commande SQL doit-on utiliser ?
Modify Change Rename
  
Exercice N° 2 (3 points : 0,25 x 12)
Compléter le tableau ci-dessous tout en précisant l’instruction et/ou le rôle et /ou le langage utilisé
(HTML, JAVASCRIPT, PHP, SQL) et/ou le rôle des instructions :
Instruction Langage Rôle
Permet d’afficher le nombre d’enregistrements
select count(*) from client ; SQL de la table client
…………………………………………………
Supprime les espaces superflus de la variable $t
$t=strtolower(trim($t)) ; PHP puis la convertit en minuscule
…………………………………………………
If (isNaN(s)) Vérifier si une chaine S et convertible en un
……………………………………………… JavaScript
nombre
require "fiche.php"
PHP Importer et inclure le fichier "Fiche.php"
………………………………………………
Appelle la function Fonc1() lors du chargement
<body onload=”Fonc1()”> HTML de la page Web
…………………………………………………
p=S.lastIndexOf(" ") Déterminer la position du dernier espace dans
……………………………………………… JavaScript
une variable S de type chaines de caractères.
mysql_num_rows($req) Calculer le nombre de lignes retournées par la
……………………………………………… SQL
requête SELECT
Importer le fichier Controles.js dans la page
<script src=”Controles.js”></script> HTML HTML
…………………………………………………

Professeurs : Brahim Akrem & Rekik Wassim 2


Exercice N° 2 (8 points)
Partie A (3,5 points : 0,5 + 0,5 + 1 + 0,5x3)
Dans le but d’améliorer ses services, une agence de voyage a développé un site web qui offre à ses clients
les services suivants :
• Recherche d’un hôtel,
• Payement des frais relatifs aux vacances.
Ci- après le code relatif à la page "Index.html" qui représente la page d’accueil du site :

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Page d'accueil</title>
</head>
<body>
<header>
<center> <h2>Agence du voyage : South Travel</h2></center>
</header>
<nav>
<ul>
<li><a href="intro.html" target="conteneur">A propos</a></li>
<li><a href="Reserver.html" target="conteneur">Réservation</a></li>
<li><a href="Payer.html" target="conteneur">Payement</a></li>
</ul>
</nav>
<main> <iframe> </iframe> </main>
<footer> Email : Webmaster@Site.com - Tel : 71123456 </footer>
</body>
</html>

1. Lors du clic sur chacun des 3 liens, le contenu de la page Web cible ne s’affichera pas dans la fenêtre
en ligne <iframe> appropriée.
Résoudre ce problème en complétant l’élément iframe par les valeurs convenables des deux attributs
name et src ; sachant que l’élément iframe comporte par défaut la page "intro.html".

<iframe src=”…………intro.html…………….” name=”…conteneur............................................. ”> </iframe>


2. Afin de mettre en forme le contenu de cette page Web, ajouter l’élément html pour attacher cette
page avec le fichier "MesStyles.CSS" comportant les règles de mises en forme demandées.
<title>Page d'accueil</title>
…<link rel = "stylesheet" href = "mesStyles.css">…………………………………………………………………
</head>

Professeurs : Brahim Akrem & Rekik Wassim 3


3. Soit l’imprime écran suivant relatif à la page index.html :

 

Compléter le tableau suivant en indiquant, pour chaque n° de zone, le nom de la balisé qui
convient.
N° Zone Balise
 header
 main / section
 nav
 footer
4. On se propose d’ajouter une règle CSS au fichier MesStyles.CSS afin l’éliminer les puces
relatives à la liste comportant les liens hypertextes. Compléter la règle suivante en ajoutant la
déclaration convenable.
ul {… list-style-type : none ................................................................................................ ; }
5. Ecrire la règle CSS qui permet d’appliquer, à chaque ligne de liste : une bordure bleue, en trait
continu, d’épaisseur 3pixels et des coins arrondis de 10%.
li {border : "blue", solid, 3px ……………….………..……….; border-radius ....................................... 10%;}

6. Pour l’entête de la page, écrire la règle CSS qui permet de changer, lors de son survol avec le
pointeur de la souris, sa couleur d’arrière en "Orange"
Header :…hover…… {background-color : orange ................................................................................. ;}

Partie B (4,5 points : 0,5 + 0,25 + 0,5 + 0,25 + 0,5 + 0,25x5 + 0,25x5)
Soit la base de données simplifiée intitulée Gest_Cartes relative à la gestion des cartes bancaires. Cette
base est décrite par la représentation textuelle suivante :
proprietaire (cin, nomprenom, genre, tel)
carteBancaire(numcarte, cin#, dateExp, cvc)

Professeurs : Brahim Akrem & Rekik Wassim 4


Les champs des tables sont décrits dans le tableau ci-dessous :
champ Description et type
Cin Numéro de la CIN d’un propriétaire, de type chaine de 8 chiffres
nomprenom Nom et prénom et d’un propriétaire, de type chaine de 50 caractères au maximum
Genre Gentre d’un propriétaire, de type caractère ("M" : Masculin ou "F" : Féminin)
Tél Numéro du téléphone d’un propriétaire, de type chaine de 8 chiffres
numcarte Numéro d’une carte bancaire, de type chaine de 10 chiffres
Dateexp Date d’expiration d’une carte bancaire
Cvc Le code de sécurité d’une carte, de type entier
1. Ecrire en SQL les requêtes permettant de répondre aux questions suivantes :
a) Créer la table proprietaire :
Create table proprietaire (
Cin varchar(8) primary key,
Nomprenom varchar(50),
Genre enum ("M","F"),
Tel varchar (8)) ;
…………………………………………………………………………………………………………………………………
b) Ajouter la contrainte d’unicité (unique) sur la colonne nomprenom.
Alter table proprietaire add unique (nomprenom) ;
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
c) Appliquer la contrainte d'intégrité référentielle entre les deux tables
Alter table carteBancaire add foreign key(cin) references propriétaire(cin);
…………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………
2. Soit la page intitulée EnregistrerCarte.Html qui contient le formulaire suivant :

a)

b)

a) Indiquer le type de la zone de saisie a) relative à la date d’expiration de la carte.


<input type=" date ..................................................... " Id="datExp" name=”datExp”>
b) Indiquer le type de la zone de saisie b) relative au Code CVC ainsi qu’au nom de l’attribut permettant
de définir le texte apparent "xxx"
<input type="number ................................................." Id="cvc" name=”cvc”
placeholder ......................................... =”xxx”>

Professeurs : Brahim Akrem & Rekik Wassim 5


c) Le clic sur le bouton Enregistrer fait appel à la fonction JavaScript intitulée Verif() qui permet de
vérifier le remplissage des champs du formulaire en respectant les contraintes suivantes :
Champ Contrainte
N° de la carte Une chaine de 10 chiffres et comportant exactement une seule
occurrence du chiffre "5"
N° CIN Une chaine de 8 chiffres dont le premier est "0" ou "1"
Date expiration Une date non nulle (Sélection obligatoire d’une date)
Code CVC Une entire de 3 chiffres
Soit le contenu troué de la fonction Verif().

function Verif()
{
var a=document.getElementById("num").value;
var b=document.getElementById("cin").value; var
c=document.getElementById("datExp").value; var
d=document.getElementById("cvc").value;
test=true;
if (………a.indexOf("5")<0……….|| a.lastIndexOf("5")> a.indexOf("5")||a.length!=10)
{alert("Num carte ?"); test=false;}
else if (b.charAt(0)<"0" ||…… b.charAt(0)>"1"…… || b.length!=8)
{alert("Cin ?"); test=false;}
else if (………c.length==0………..)
{alert("Date ?"); test=false;}
else if (……d<100 || d>999……..)
{alert("cvc"); test=false;}
else …… return test ………; }
Compléter les pointillés par la conditions convenables afin que la fonction Verif() réussisse à vérifier les
conditions présentées par l’énonce.
Conditions
c.length==0
d<100 || d>999
a.indexOf("5")<0
b.charAt(0)>"1"
return test
d) Une fois les conditions sur le remplissage du formulaire sont vérifiées, le clic sur le bouton
Enregistrer fait appel au fichier "EnregistrerCarte.php" qui permet de :
• Afficher le message "Vérifier la date d’expiration de la carte", si la valeur saisie dans la zone
Date d’expiration ne dépasse pas la date système
Ou bien
• Afficher le message "Propriétaire non inscrit", si la valeur saisie dans la zone cin n’existe pas
dans la table Propriétaire
Ou bien
• Afficher le message "Carte déjà exploitée" si le numéro de la carte existe dans la table carte
Ou bien
• Insérer les données nécessaires à la table Carte et afficher le message "Ajout fait avec succès"

Professeurs : Brahim Akrem & Rekik Wassim 6


Compléter le tableau suivant par les instructions nécessaires selon la consigne indiquée.
N° Consignes Instructions
$num= $_POST["num"] ;
Récupération des données envoyées par le $cin = $_POST["cin"] ;
1.
formulaire. $dexp = $_POST["datExp"] ;
$cvc = $_POST["cvc"] ;
2. Récupération de la date système $dact = date() ;
3. Appel du fichier connexion.php require ("connexion.php") ;
Afficher le message "Vérifier la date d’expiration de if ($dact > $dexp)
4. la carte", si la date système dépasse la date echo("vérifier la date d’expiration de la
d’expiration de la carte. carte") ;
mysqli_query("insert into carteBancaire
Insérer les données nécessaires à la table Carte et
5. values ($num, $cin, $dexp, $cvc)",$res) and
afficher le message "Ajout fait avec succès"
echo (“ajout fait avec succès”):

Exercice N° 4 (7 points)
A l’occasion du mois de Ramadan le croissant rouge tunisien a lancé une compagne de dons au profit
des familles nécessiteuse. Pour ce faire Le responsable du bureau de la Marsa utilise la base de données
"Gestion_Dons" dont la représentation textuelle est la suivante :
Donateur (NCIN, Nom_prénom, Téléphone, Email)
Dons (Id_don, Description, Type, Mpaiement, Statut)
Collecte (NCIN, Id_don#, Datedon, Montant)

Description des champs des tables


Champ Description et type
NCIN Numéro carte identité nationale, de type entier.
Nom_prénom Nom et prénom, de type chaine de caractères.
Telephone Numéro de téléphone d’un donateur, de ce type entier.
Email Email d’un donateur, de type chaine de caractères.
Id_don Identifiant d’un don, de type chaine de caractères.
Description Description d’un don, de type chaine de caractères.
Type Type d’un don : "N" (Nature), "A" (Argent)
Mpaiement Méthode de paiement (espèces, chèque, carte de crédit, virement).
Statut Statut du don (en attente, reçu, traité).
Datedon Date du don
Montant Montant du don, de type réel et prend par défaut la valeur NULL.
1- Dresser la représentation graphique de la base de données tout en apportant les modifications
nécessaires afin qu’un donateur puisse effectuer plusieurs dons à des dates différentes : (1 point)

1 1

Professeurs : Brahim Akrem & Rekik Wassim 7


2- Compléter les commandes SQL pour :
a- Afficher la liste des donateurs qui ont effectué des dons en nature : (0,5 point)
Select *
from donateur DO, dons D, collecte C
Where D.type = "N"
And DO.ncin = C.ncin
And C.id_don = D.id_don
b- Afficher le nom et prénom des donateurs qui ont effectué des dons en espèces pendant l’année
courante. (1 point)
Select nom_prénom
from donateur DO, dons D, collecte C
Where D.mpaiement = "espèces"
And year(datedon) = year (now())
And DO.ncin = C.ncin
And C.id_don = D.id_don
c- Afficher la liste et le nombre des dons en nature collectés. (1 point)
Select *, count (c.id_don)
from dons D, collecte C,
Where D.type = "N"
And C.id_don = D.id_don
d- Afficher le nombre de dons collectés par donateur. (1 point)
Select id_don, count(id_don)
from collecte
Group by ncin
e- Afficher la liste des donateurs dont le montant des dons est supérieur à la moyenne des montants
des dons. (1,5 points)
Select *
from donateur D, collecte C
Where D.ncin = C.ncin
Group by D.ncin
Having sum(montant) > avg(montant)
f- Afficher la somme des dons, leurs descriptions, le nom et prénom des donateurs, effectués par
carte de crédit et dont le statut est en attente. (1 points)
Select sum(montant), description, nom_prénom
from donateur DO, dons D, collecte C
Where D.mpaiement = "carte de crédit"
And D.statut = "en attente"
And DO.ncin = C.ncin
And C.id_don = D.id_don

Bon travail

Professeurs : Brahim Akrem & Rekik Wassim 8

Vous aimerez peut-être aussi