BB-Info-2023-SI-STI - CCC

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 8

Lycée OASIS *** Prof.

Riadh HARIZI
Section : Sciences de l’Informatique
DEVOIR DE SYNTHÈSE Épreuve : Systèmes & Technologies de l’Informatique
N°3 Date : Mardi 14 mai 2023 Durée : 3h

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

Le sujet comporte 8 pages numérotées de 1/8 à 8/8.


Le candidat est appelé à répondre sur cette même feuille d’examen qui sera remise à la fin de l’épreuve.

EXERCICE N°1 (2 points)


Dans un contexte de base de données et de développement Web, pour chacune des propositions ci-dessous en
mettant une croix (X) dans la case correspondante à la une seule réponse correcte.

Important : Pour chaque affirmation, toute réponse comportant plus d’une croix est considérée erronée.
1) En HTML, l’événement "onblur" d’une zone de texte, se déclenche lorsqu’on :

change la valeur de la zone de texte.

perd le focus de la zone de texte.

prend le focus de la zone de texte.

2) En HTML, pour lier le fichier "monstyle.css" situé dans le dossier comportant le document html appelant,
on utilise la balise :

<link scr="monstyle.css" rel="stylesheet"/>

<a href="monstyle.css">

<link href="monstyle.css" rel="stylesheet"/>

3) En CSS, l’instruction qui permet d’incliner un texte identifié par le nom "Texte1" de 50 degrés est :

#Texte1 { transform: skew (50deg); }

#Texte1 { transform: rotate (50deg); }

#Texte1 { transform: translate (50deg); }

4) En PHP, l’instruction qui permet d'inclure le contenu du fichier "Fichier1.php" dans un autre fichier
"Fichier2.php" est :

require ("Fichier2.php") ;

require ("Fichier1.php") ;

define ("Fichier1.php");

Page 1 / 8
EXERCICE N°2 (4 points)
"Rapide_Transport" est une société spécialisée dans le transport des personnes entre les régions du grand Tunis
(Tunis, Ariana et Ben Arous). Elle a développé une plateforme autour d’une base de données permettant à ses
clients de chercher des trajets entre ces trois régions.
Ci-dessous, la représentation textuelle simplifiée de cette base de données.
Ville (CodeVille, NomVille)
Voiture (Immat, NomChauffeur, TelChauffeur)
Trajet (CodeVilleDep#, CodeVilleArr#, Immat#, DateHeureDep, Frais)
Soit la description des noms des colonnes des tables de cette base de données :
Nom Description Nom Description
CodeVille Code d’une ville CodeVilleDep Code d’une ville de départ d’un trajet
NomVille Nom d’une ville CodeVilleArr Code d’une ville d’arrivée d’un trajet
Immat Immatriculation d’une voiture DateHeureDep Date et heure de départ d’un trajet
NomChauffeur Nom et prénom d’un chauffeur Frais Frais d’un trajet
TelChauffeur Téléphone d’un chauffeur

On présente ci-dessous un extrait de la page "Recherche.html" qui permet d’envoyer à la page "affichage.php"
les données du formulaire "F", afin d’afficher la liste des trajets répondant aux valeurs saisies dans les champs
du formulaire.

<form name="F" method="POST" action="affichage.php" ><br>


<label>Ville de départ : </label> <select class="C1" id="VilleDep" name="VilleDep">
<option value="">Choisir la ville de départ</option>
<option value="V01">Tunis</option>
<option value=" V02">Ariana</option>
<option value="V03">Ben Arous</option>
</select>
<label>Ville d'arrivée : </label><select class="C1" id="VilleArr" name="VillAarr" >
<option value="">Choisir la ville d'arrivée</option>
<option value=" V01">Tunis</option>
<option value=" V02">Ariana</option>
<option value="V03">Ben Arous</option>
</select>
<label>Date et heure de départ : </label>
<input type ="datetime" name="Dateheure" id="Dateheure" class="C1" >
<input name="B1" value="Valider" type="submit">
<input name="B2" value="Annuler" type="reset">
</form>

Page 2 / 8
1) En se référant au code HTML de la page "Recherche.html", compléter le tableau ci-dessous par le code
CSS adéquat à chaque mise en forme.

Mise en forme Code CSS


…………………………………………………………………………………...…
Les libellés des champs du formulaire doivent
…………………………………………………………………………………...…
commencer toujours par une lettre majuscule.
…………………………………………………………………………………...…

L’arrière-plan de la liste déroulante "Ville de …………………………………………………………………………………...…

départ" doit être de couleur ayant le code …………………………………………………………………………………...…

"#ffffcc". …………………………………………………………………………………...…

…………………………………………………………………………………...…
Les champs de saisie "Ville de départ", "Ville
…………………………………………………………………………………...…
d’arrivée" et "Date et Heure de départ" doivent
…………………………………………………………………………………...…
avoir des bordures solides, de taille 1 pixel, de
…………………………………………………………………………………...…
couleur rouge avec des coins arrondis de 5 pixels. …………………………………………………………………………………...…

2) Afin de contrôler les données saisies dans le formulaire de la page "Recherche.html", on se propose de créer
le fichier "controle.js" qui contient les contrôles nécessaires sur les champs du formulaire.
Pour chacune des propositions ci-dessous, une seule réponse est correcte. Mettre une croix (X) dans la case
correspondante.

Important : Pour chaque affirmation, toute réponse comportant plus d’une croix est considérée erronée.

a) L’instruction qui permet de lier le fichier "controle.js" à la page "Recherche.html" est :

<script href="controle.js"> </script>

<script link="controle.js"> </script>

<script src=" controle.js"> </script>

b) L’instruction qui permet de récupérer la valeur du champ "Dateheure" par le biais de son identifiant est :

F.getElementById('Dateheure').value

document.getElementById('Dateheure').value

Dateheure.value

c) L’instruction qui permet de récupérer l’indice d’une option sélectionnée du champ "VilleDep" est :

document.getElementById('VilleDep'). selectedIndex

document.getElementById('VilleDep').value

document.getElementById('VilleDep').index

Page 3 / 8
3) La page "affichage.php" reçoit les données envoyées par la page "Recherche.html" afin d’afficher les noms
et les numéros de téléphones des chauffeurs qui assurent des trajets de la ville de départ vers la ville d’arrivée
à la date et à l’heure saisies.
a) Valider chacune les propositions ci-dessous en mettant dans la case correspondante la lettre "V" si elle
est correcte ou la lettre "F" dans le cas contraire.
i. La méthode qui permet d’envoyer au serveur les données d’un formulaire "F" de la page
"Recherche.html" est :

POST GET FTP HTTP

ii. En PHP, la requête qui permet de chercher, dans la base de données, la liste des noms et des numéros
de téléphones des chauffeurs répondant aux critères adéquats est :

$req="select V.NomChauffeur, V.TelChauffeur from Voiture V, Trajet T where


(T.CodeVilleDep='VilleDep') and (T.CodeVilleArr = 'VilleArr') and
(T.DateHeureDep = 'Dateheure') ";
$req="select V.NomChauffeur, V.TelChauffeur from Voiture V, Trajet T where
(T.CodeVilleDep='$_POST[VilleDep]') and (T.CodeVilleArr = '$_POST[VilleArr]')
and (T.DateHeureDep = '$_POST[Dateheure]') ";
$req="select V.NomChauffeur, V.TelChauffeur from Voiture V, Trajet T where
(T.CodeVilleDep='$_POST[VilleDep]') and (T.CodeVilleArr = '$_POST[VilleArr]')
and (T.DateHeureDep = '$_POST[Dateheure]') and (V. Immat=T. Immat )";
$req="select V.NomChauffeur, V.TelChauffeur from Voiture V where
(V.CodeVilleDep='$_POST[VilleDep]') and (V.CodeVilleArr = '$_POST[VilleArr]')
and (V.DateHeureDep = '$_POST[Dateheure]') ";
b) On suppose que la connexion au serveur et la sélection de la base sont déjà établies et la requête qui
interroge la base de données est écrite correctement et elle contient le champ "NomChauffeur" et le
champ "TelChauffeur".
Compléter le fichier "affichage.php" ci-dessous par les instructions nécessaires afin d’exécuter la requête
précédente et d’afficher les noms et les numéros de téléphones des chauffeurs qui assurent des trajets de
la ville de départ vers la ville d’arrivée à la date et à l’heure saisies dans le formulaire "F".

< ?php
/* Instruction(s) permettant d’exécuter la requête puis d’afficher les noms et les numéros de téléphones
des chauffeurs. */
…………………………………………….…………………………………………………………………………………………….…………..……

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

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

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

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

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

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

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

?>

Page 4 / 8
EXERCICE N°3 (9.25 points)
Afin d’encourager les jeunes entrepreneurs, les étudiants et les startupers de créer leurs projets sans frais
d’investissement et de travailler dans un environnement collaboratif, l’association "Jeune Initiative", spécialisée
dans le travail collaboratif (Coworking) a mis à la disposition de ses adhérents des espaces de coworking
contenant plusieurs équipements de différents types (Ordinateurs, Imprimantes, photocopies, etc.). Pour gérer ces
espaces, le responsable du service informatique de l’association a implémenté la base de données simplifiée
intitulée "Gestion_Espaces" décrite par la représentation textuelle suivante :
Ville (CodeVille, NomVille)
Adherent (IdAdh, NomPren, EmailAdh, TelAdh, FraisIns, CodeVille#)
Espace (CodeEsp, NomEsp, Adresse, EmailEsp, NbSalles, CodeVille#)
Type (CodeType, LibType)
Equipement (CodeEq, NomEq, NumSerie, PrixAchat, CodeType#, CodeEsp#)
Travail (CodeEsp#, IdAdh#, DateTrav, NbreHeures, NumSalle)

Soit la description des colonnes des tables de cette base de données :


Nom Description Type Taille Nom Description Type Taille
CodeVille Code d’une ville Texte 3 NbSalles Nombre de salles d’un espace Entier
NomVille Nom d’une ville Texte 50 CodeType Code d’un type d’équipement Texte 3
IdAdh Identifiant d’un adhérent Texte 6 LibType Libellé d’un type d’équipement Texte 50
NomPren Nom et prénom d’un adhérent Texte 50 CodeEq Code d’un équipement Texte 3
EmailAdh Adresse email d’un adhérent Texte 50 NomEq Nom d’un équipement Texte 50
TelAdh N° de téléphone d’un adhérent Texte 8 NumSerie Numéro série d’un équipement Texte 50
FraisIns Frais d’inscription d’un adhérent en DT Réel PrixAchat Prix achat d’un équipement en DT Réel
CodeEsp Code d’un espace de travail Texte 3 DateTrav Date de travail dans un espace Date
NomEsp Nom d’un espace de travail Texte 50 NbreHeures Nombre d’heures de travail Entier
Numéro d’une salle de travail d’un
Adresse Adresse d’un espace de travail Texte 50 NumSalle Entier
adhérent
EmailEsp Adresse email d’un espace Texte 50

En se référant à la représentation textuelle et à la description des colonnes des tables données ci-dessus, répondre
aux questions suivantes :
1) Compléter le tableau ci-dessous par la clé primaire et les clés étrangères de la table "Travail".
Clé primaire Clés étrangères

2) Pour chacune des affirmations ci-dessous, mettre une croix (X) dans la case correspondante à la seule
réponse correcte.
a) Pour s’assurer que toutes les adresses Emails des adhérents ne se répètent pas, on utilise la requête SQL :
ALTER TABLE Adherent ADD CONSTRAINT EmailAdh DISTINCT
ALTER TABLE Adherent ADD CONSTRAINT EmailAdh UNIQUE
ALTER TABLE Adherent ADD CONSTRAINT PRIMARY KEY (EmailAdh)
b) Pour garantir la saisie d’une valeur strictement supérieure à 0 dans le champ "NbSalles", on utilise la
requête SQL :

ALTER TABLE Espace ADD CONSTRAINT CHECK (NBSalles>0)


ALTER TABLE Espace ADD CONSTRAINT NBSalles NOT NULL
ALTER TABLE Espace ADD NBSalles CHECK (NBSalles>0)
Page 5 / 8
3) Pour chacune des propositions ci-dessous, écrire la requête SQL correspondante permettant :
a) d’afficher la liste des espaces de travail (NomEsp, Adresse, NbSalles) par ordre décroissant des nombres
de salles.
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...

b) d’afficher la liste des équipements (NomEq, NumSerie, PrixAchat) de type "Imprimante".


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

c) d’afficher la liste des adhérents (NomPren, TelAdh) qui ont travaillé dans des espaces de leurs villes.
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...

d) d’afficher, pour chaque type d’équipement, son libellé ainsi que le montant total des prix de leur achats.
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...

e) d’afficher les noms des adhérents qui n’ont pas travaillé dans les espaces de travail de l’association.
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...

4) Le tableau ci-dessous contient un extrait de données de la table "Ville" et de la table "Adherent".


Ville Adherent
CodeVille NomVille IdAdh NomPren EmailAdh TelAdh FraisIns CodeVille
V01 Ariana A00001 Saber TOUNSI Saber@hexabyte.tn 22333555 200 V01
V02 Tunis A00002 Mouna BEJI Mona @yahoo.fr 21555444 300 V02
V03 Sousse A00003 Mohamed DOUZI Mohamed@gmail.com 99888444 500 V02
V04 Nabeul A00004 Nedra KERKENI Nedra@yahoo.fr 97859699 300 V4
a) Donner le nom de la table et le nom de la colonne contenant une anomalie.
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...
…………………………………………….…………………………………………………………………………………………….…………..………………...

b) Expliquer la cause de cette anomalie.


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

c) Donner la ou les requête(s) SQL permettant de remédier à cette anomalie.


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

Page 6 / 8
EXERCICE N°4 (4.75 points)
"Digital Marketing" est une société spécialisée dans le marketing digital. Elle lance une plateforme afin de
commercialiser ses produits par l’intermédiaire d’une liste d’influenceurs possédant chacun plusieurs comptes
sur les réseaux sociaux.
Afin de gérer les réactions des internautes sur les publications des influenceurs, le gérant de la société utilise la
base de données simplifiée intitulée "Gestion_ influenceurs" décrite par la représentation graphique suivante :

N.B. : Cette base de données contient des anomalies.


Soit la description des noms des colonnes des tables de cette base de données :

Nom Description Nom Description


Nombre d’abonnés à un compte d’un
CodePays Code du pays d’un influenceur NbAbonnes
influenceur
NomPays Nom du pays d’un influenceur ReseauCpte Nom réseau social d’un influenceur
IdInf Identifiant d’un influenceur CodePub Code d’une publication d’un influenceur
NomInfo Nom et prénom d’un influenceur NomPub Nom d’une publication d’un influenceur
Genre d’un influenceur (H : Homme, Type d’une réaction à une publication
GenreInf TypeReact
F : Femme) (J’aime, J’adore, Je n’aime pas)
Date et heure d’une réaction à une
TelInf Numéro du téléphone d’un influenceur DateHeureReact
publication
CodeCpte Code d’un compte d’un influenceur

Soient les règles de gestion suivantes :


R1 : Un influenceur peut avoir plusieurs comptes.
R2 : Un compte appartient à un seul influenceur.
R3 : Un influenceur réside dans un seul pays.
R4 : Un pays est habité par plusieurs influenceurs.
R5 : Une publication est publiée à travers un seul compte.
R6 : Un compte peut contenir plusieurs publications.
R7 : Une publication peut avoir plusieurs réactions de même type à la même date et à la même heure.

Page 7 / 8
1) En se basant sur la représentation graphique et les règles de gestion ci-dessus, compléter le tableau ci-après
en mettant dans la colonne "Respect" le mot "Oui" si la règle est respectée dans la représentation graphique
ou le mot "Non" dans le cas contraire. Indiquer dans la colonne "Justification" la cause du non-respect de la
règle.

Règle Respect Justification


…………………………………………………………………………..…………………………………………………….
R1 ……………………
…………………………………………………………………………..…………………………………………………….

…………………………………………………………………………..…………………………………………………….
R2 ……………………
…………………………………………………………………………..…………………………………………………….

…………………………………………………………………………..…………………………………………………….
R3 ……………………
…………………………………………………………………………..…………………………………………………….

…………………………………………………………………………..…………………………………………………….
R4 ……………………
…………………………………………………………………………..…………………………………………………….

…………………………………………………………………………..…………………………………………………….
R6 ……………………
…………………………………………………………………………..…………………………………………………….

2) Le gérant de la société a remarqué que la publication "P003" a été publiée dans deux comptes différents
"C001" et "C005" d’où le non-respect de la règle "R5" lors de la création de la base de données.
Afin de respecter cette règle, apporter les modifications nécessaires sur la table "Publication" puis donner
sa nouvelle représentation textuelle tout en soulignant la clé primaire et en ajoutant "#" devant les clés
étrangères, sachant que la table "PublicationCompte" sera supprimée.
…………………………………………...…….……………………………………………………………………………………………………………..…………

3) Pour vérifier la validité de l’insertion des données dans la table "Reaction", le gérant de la société veut insérer
l’enregistrement suivant :
CodePub TypeReact DateHeureReact
P001 J’aime 01/05/2023 14:52:20
Lors de cette insertion, le système de gestion de base de données affiche le message d’erreur illustré par la
figure suivante :

a) Expliquer la cause de cette erreur.


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

b) Afin de respecter la règle "R7", apporter les modifications nécessaires sur la table "Reaction" puis
donner sa nouvelle représentation textuelle tout en soulignant la clé primaire et en ajoutant "#" devant
les clés étrangères.
…………………………………………...…….……………………………………………………………………………………………………………..…….

Barème
Exercice 1 (2 points) 2 (4 points) 3 (9.25 points) 4 (4.75 point)
Questions 1 2 3 4 1 2 3 4 1 2 3
Points 2=0.5*4 0.75 0.75 1.5 1 0.75 1=0.5*2 5.5=1+1+1+1.25+1.25 2=0.5+0.5+1 1.75=1.25+0.5 1 2=1+1

Page 8 / 8

Vous aimerez peut-être aussi