Mission Carthage Français

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

Sujet type bac pratique STI n°3 : l'association de don du sang

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

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

Toutes les ressources se trouvent dans le dossier Ressources. Créer, dans le dossier du serveur web local (www ou htdocs), un dossier de travail où seront enregistrés tous les fichiers à réaliser. Une association de don du sang veut un site pour inscrire ses donneurs et suivre ses collectes dans les lycées. Barème sur 20 points.

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

Partie A : création de la base de données (6 pts)

Le site utilise une base de données décrite par la représentation textuelle suivante :

  • donneur (cin, nom, groupe, poids, tel)
  • collecte (idCol, lieu, dateCol)
  • don (idDon, #cin, #idCol, quantite)

Description des champs :

  • cin : chaîne de 8 caractères, numéro de la carte d'identité qui identifie un donneur ; idCol et idDon : entiers auto-incrémentés, identifiants ; tous les autres champs sont obligatoires.
  • nom : chaîne de 40 caractères ; groupe : chaîne de 3 caractères (groupe sanguin) ; poids : entier en kilogrammes, au moins 50 ; tel : chaîne de 8 caractères.
  • lieu : chaîne de 40 caractères ; dateCol : date de la collecte ; quantite : entier en millilitres, strictement positif.

Lignes à insérer :

  • donneur : (08123456, Sami Ben Ali, O+, 72, 22111222), (09876543, Rim Trabelsi, A-, 58, 98222333), (07654321, Hedi Kefi, B+, 80, 55444555) ;
  • collecte : (Lycée pilote de Sousse, 2026-03-10), (Maison des jeunes de Monastir, 2026-04-14) ;
  • don : (08123456, 1, 450), (09876543, 1, 400), (08123456, 2, 450).
  • 1) Créer la base de données donsang, ses tables et leurs relations, puis insérer les lignes données (4 pts).
  • 2) Écrire la requête qui affiche, pour chaque collecte qui a reçu des dons, son lieu, son nombre de dons et la quantité totale de sang reçue, par identifiant de collecte (2 pts).

Partie B : création des documents web (14 pts)

Consignes : toutes les fonctions JavaScript sont enregistrées dans mesControles.js ; toutes les règles CSS sont dans le fichier mesStyles.css, donné ci-dessous ; toutes les pages HTML sont reliées à mesStyles.css, et donneur.html est aussi reliée à mesControles.js. Le bouton « Annuler » d'un formulaire efface ses champs.

body { font-family: Tahoma, sans-serif; margin: 0; }
header { background-color: #a93226; color: white; padding: 10px; }
nav { width: 19%; display: inline-block; }
section { width: 54%; display: inline-block; }
aside { width: 24%; display: inline-block; }
footer { text-align: center; color: #7b241c; }
iframe { width: 100%; height: 450px; border: none; }
  • 1) Créer la page index.html reliée à mesStyles.css : un élément <header> contient le titre de niveau 1 « Donner son sang » ; un élément <nav> contient deux liens, « Devenir donneur » vers donneur.html et « Les collectes » vers collectes.html, qui s'ouvrent dans le cadre page ; un élément <section> contient le cadre (iframe) de nom page, qui affiche par défaut donneur.html ; un élément <aside> contient la vidéo don.mp4 avec ses boutons de lecture ; un élément <footer> contient le texte « Association Sang pour la vie » (3 pts).
  • 2) Créer la page donneur.html, reliée à mesStyles.css et à mesControles.js, avec un formulaire qui envoie ses champs à ajoutDonneur.php par la méthode POST et appelle verifier() avant l'envoi : numéro de carte d'identité (cin), nom (nom), groupe sanguin (liste groupe avec les huit choix A+, A-, B+, B-, AB+, AB-, O+, O-), poids (poids, nombre d'au moins 50), téléphone (tel), et les boutons « S'inscrire » et « Annuler » (3 pts).
  • 3) Écrire dans mesControles.js la fonction cinValide(cin), vraie si cin a exactement 8 chiffres, et la fonction poidsValide(p), qui reçoit le texte saisi et est vraie si c'est un nombre entier entre 50 et 200 ; puis la fonction verifier() qui affiche un message (alert) et renvoie false si l'un des deux champs n'est pas valide (4 pts).
  • 4) Écrire la page ajoutDonneur.php, qui travaille sur la base de la partie A (connexion dans connexion.php, donné) : si le poids reçu est inférieur à 50, elle affiche « Poids insuffisant » ; sinon, si un donneur a déjà ce numéro de carte, « Ce donneur est déjà inscrit » ; sinon elle ajoute le donneur et affiche « Donneur inscrit : Sami Ben Ali (O+) » avec son nom et son groupe (4 pts).
<?php
$cnx = mysqli_connect("localhost", "root", "", "donsang");
?>

Pour essayer la page PHP sans la partie A, voici la base sur laquelle elle est vérifiée (les colonnes des tables, sans leurs contraintes) :

CREATE DATABASE donsang;
USE donsang;
CREATE TABLE donneur (cin CHAR(8) PRIMARY KEY, nom VARCHAR(40), groupe VARCHAR(3), poids INT, tel CHAR(8));
INSERT INTO donneur VALUES ('08123456', 'Sami Ben Ali', 'O+', 72, '22111222'), ('09876543', 'Rim Trabelsi', 'A-', 58, '98222333'), ('07654321', 'Hedi Kefi', 'B+', 80, '55444555');

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

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

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

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

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