Mission Carthage Français

الرئيسية › الامتحانات › باكالوريا علوم الإعلامية

Devoir pratique STI n°4 : le tournoi inter-lycées, les attributs de son formulaire en JavaScript et ses rencontres en SQL

باكالوريا علوم الإعلامية، الثلاثي الأول. المدّة: ساعة. على 20 نقطة.

اكتب البرامج متاعك بـ Python ولا بالـ algorithme وثبّت فيهم في بلاصتهم، وبعد حلّ الإصلاح تمرين بتمرين.

Le travail se fait sur ordinateur. Les deux exercices portent sur le site du tournoi de football inter-lycées : l'exercice 1 écrit le fichier tournoi.js de sa page d'inscription, l'exercice 2 les requêtes sur la base des mêmes équipes et de leurs rencontres. Les fonctions JavaScript se testent dans la page donnée, les requêtes SQL dans MySQL (phpMyAdmin). Barème sur 20 points.

الموضوع مكتوب بالفرنسي، كيما في القسم.

Exercice 1 : le formulaire du tournoi (8 pts)

La page d'inscription au tournoi tournoi.html est donnée, reliée au fichier tournoi.js où s'écrivent les deux fonctions :

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>Tournoi inter-lycées</title>
</head>
<body>
<h1>Tournoi de football inter-lycées</h1>
<form id="inscription">
  <label for="equipe">Ton équipe</label>
  <select id="equipe">
    <option>Les Aigles</option>
    <option>Les Faucons</option>
    <option>Les Lions</option>
    <option>Les Dauphins</option>
  </select>
  <input type="checkbox" id="accord" onchange="activer()">
  <label for="accord">J'accepte le règlement du tournoi</label>
  <input type="button" id="envoyer" value="Envoyer" disabled>
  <select id="langue" onchange="changerDrapeau()">
    <option>Français</option>
    <option>Arabe</option>
    <option>Anglais</option>
  </select>
  <img id="drapeau" src="fr.png" alt="Drapeau">
</form>
<script src="tournoi.js"></script>
</body>
</html>
  • 1) Écrire la fonction activer(), appelée quand la case change : le bouton envoyer reste désactivé (disabled) tant que la case accord n'est pas cochée, et devient actif quand elle l'est (4 pts).
  • 2) Écrire la fonction changerDrapeau(), appelée quand la langue change : avec une structure switch sur le rang de l'option choisie (selectedIndex), l'image drapeau affiche fr.png pour Français, tn.png pour Arabe et en.png pour Anglais (4 pts).

Exercice 2 : le tournoi inter-lycées (12 pts)

Le tournoi de l'exercice 1 garde ses équipes (celles de la liste de la page d'inscription) et ses rencontres dans deux tables : equipe (id, nom, lycee, ville) et rencontre (num, #id_dom, #id_ext, buts_dom, buts_ext, date_r), où id_dom est l'équipe qui reçoit et id_ext l'équipe qui se déplace. La base est créée par ce script :

CREATE TABLE equipe (
  id INT PRIMARY KEY,
  nom VARCHAR(30) NOT NULL,
  lycee VARCHAR(40) NOT NULL,
  ville VARCHAR(20) NOT NULL
);
CREATE TABLE rencontre (
  num INT PRIMARY KEY,
  id_dom INT NOT NULL,
  id_ext INT NOT NULL,
  buts_dom INT NOT NULL,
  buts_ext INT NOT NULL,
  date_r DATE NOT NULL,
  FOREIGN KEY (id_dom) REFERENCES equipe(id),
  FOREIGN KEY (id_ext) REFERENCES equipe(id)
);
INSERT INTO equipe VALUES
  (1, 'Les Aigles', 'Lycée pilote', 'Sfax'),
  (2, 'Les Faucons', 'Lycée Ibn Khaldoun', 'Tunis'),
  (3, 'Les Lions', 'Lycée 9 Avril', 'Sfax'),
  (4, 'Les Dauphins', 'Lycée Bourguiba', 'Sousse');
INSERT INTO rencontre VALUES
  (1, 1, 2, 3, 1, '2026-10-03'),
  (2, 3, 4, 0, 0, '2026-10-04'),
  (3, 2, 3, 2, 2, '2026-10-10'),
  (4, 4, 1, 2, 1, '2026-10-11'),
  (5, 1, 3, 2, 0, '2026-10-17');
  • 1) Écrire la requête qui affiche, pour chaque rencontre dans l'ordre des dates, le nom de l'équipe qui reçoit, le nom de l'équipe qui se déplace et les buts de chacune (3 pts).
  • 2) Écrire la requête qui affiche, pour chaque équipe qui a reçu, son nom et le total des buts qu'elle a marqués à domicile, du plus grand total au plus petit (à égalité, par ordre alphabétique) (3 pts).
  • 3) Écrire la requête qui affiche, avec une sous-requête, les noms des équipes qui ont gagné au moins une rencontre à domicile, par ordre alphabétique (3 pts).
  • 4) Écrire la requête qui affiche le numéro et la date des rencontres où il y a eu le plus de buts (en tout), par numéro croissant (3 pts).

الإصلاح المفصّل

الإصلاح متاع الامتحان هذا للمشتركين. فيه التحليل، والـ algorithme بالنوطاسيون التونسية، والبرنامج Python المجرّب، والغلطات اللي ترجع برشا في كل تمرين. بحساب بلاش، تنجم تحلّ 3 إصلاحات تختارهم إنت.

كل الإصلاحات حتى الفرض التأليفي3 أشهر بـ 20 د، العرض حتى 30 نوفمبر 2026 ابعثها لبابا ولّا ماما يخلّصو

موضوع أصلي كتبناه لـ Mission Carthage، على نفس الشكل متاع امتحانات القسم. الأستاذ متاعك يبقى هو المرجع.

البرنامج الكل: باكالوريا علوم الإعلامية · عاود اقرا الكور · الامتحانات الكل