Devoir pratique STI n°12 : créer la base des clubs avec ses contraintes, afficher un club et inscrire un membre en PHP
Écris tes programmes en Python ou en algorithme et vérifie-les tout de suite, puis ouvre la correction exercice par exercice.
Le travail se fait sur ordinateur, avec un serveur local (XAMPP) : chaque fichier est enregistré sous le nom donné, dans le même dossier. Les deux exercices construisent le site des clubs du lycée : l'exercice 1 crée la base des clubs et de leurs membres, l'exercice 2 les pages PHP qui affichent un club et y inscrivent un élève, ouvertes depuis la page inscription.html. Barème sur 20 points.
Exercice 1 : la base des clubs (8 pts)
Le lycée garde ses clubs et leurs membres dans deux tables :
- club (code, nom, places) : code est une chaîne de 3 caractères, clé primaire ; nom (30 caractères au plus) est obligatoire et deux clubs ne peuvent pas avoir le même ; places est un entier obligatoire strictement positif ;
- membre (id, nom, classe, #code_club) : id est un entier auto-incrémenté, clé primaire ; nom (40 caractères au plus) et classe (10 au plus) sont obligatoires ; code_club, obligatoire, référence club(code).
- 1) Écrire les requêtes de création des tables club et membre avec toutes leurs contraintes (6 pts).
- 2) Choisir la relation entre club et membre, et la contrainte qui refuse un membre dans un club qui n'existe pas (2 pts).
Exercice 2 : les pages PHP des clubs (12 pts)
Les tables sont dans la base MySQL clubs. Pour essayer les pages sans l'exercice 1, voici le fichier base.sql sur lequel elles sont vérifiées (les colonnes des tables, sans leurs contraintes, et leurs lignes) :
CREATE DATABASE clubs;
USE clubs;
CREATE TABLE club (code CHAR(3) PRIMARY KEY, nom VARCHAR(30), places INT);
CREATE TABLE membre (id INT AUTO_INCREMENT PRIMARY KEY, nom VARCHAR(40), classe VARCHAR(10), code_club CHAR(3));
INSERT INTO club VALUES ('ROB', 'Robotique', 3), ('THE', 'Théâtre', 20), ('ECH', 'Echecs', 10);
INSERT INTO membre (nom, classe, code_club) VALUES
('Sami Ben Ali', '4SI1', 'ROB'),
('Rim Trabelsi', '4SI2', 'ROB'),
('Omar Jaziri', '4SI1', 'ECH'),
('Lina Mansour', '4SI3', 'ROB');
<?php
$cnx = mysqli_connect("localhost", "root", "", "clubs");
?>
<p>Nos clubs : <a href="club.php?code=ROB">Robotique</a> <a href="club.php?code=THE">Théâtre</a> <a href="club.php?code=ECH">Echecs</a></p>
<form action="inscrire.php" method="post">
<input type="text" name="nom" id="nom">
<input type="text" name="classe" id="classe">
<select name="code" id="code">
<option value="ROB">Robotique</option>
<option value="THE">Théâtre</option>
<option value="ECH">Echecs</option>
</select>
<input type="submit" value="S'inscrire">
</form>
La connexion est dans connexion.php, que chaque page inclut avec require. La page inscription.html envoie nom, classe et code à inscrire.php avec la méthode POST.
- 1) Écrire la page club.php qui reçoit le code d'un club par la méthode GET (paramètre code) : si aucun club n'a ce code, elle affiche « Club inconnu » ; sinon elle affiche le titre « Club : Robotique » (avec le nom du club), un tableau HTML du nom et de la classe de ses membres par ordre alphabétique du nom, puis « 3 membre(s) sur 3 places » (6 pts).
- 2) Écrire la page inscrire.php : si le nom, sans les espaces du début et de la fin, est vide, elle affiche « Nom obligatoire » ; sinon, si le club n'existe pas, « Club inconnu » ; sinon, si le club a déjà autant de membres que de places, « Club complet » ; sinon elle ajoute le membre et affiche « Inscription enregistrée » (6 pts).
Correction détaillée
La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice. Avec un compte gratuit, tu peux ouvrir 3 corrections de ton choix.
Connecte-toi d'abord : créer un compte ou me connecter.
Tu as encore 0 correction(s) gratuite(s) à utiliser.
Il te faut un abonnement actif pour les autres corrections. Voir les tarifs ou demander un code sur WhatsApp, Instagram ou Facebook.
Les corrections gratuites de cet appareil ont déjà été utilisées, avec ce compte ou un autre : chaque appareil a droit à 3 corrections gratuites, quel que soit le nombre de comptes. Pour les autres corrections, il faut un abonnement. Voir les tarifs ou écrire sur WhatsApp.
Mission Carthage est en période de test : le site s'ouvre avec un code d'accès. Demande ton code sur WhatsApp, Instagram ou TikTok, puis tape-le sur missioncarthage.tn.
Cette correction n'est pas encore publiée. Reviens bientôt.
Impossible de charger la correction. Vérifie ta connexion et réessaie.
Toutes les corrections jusqu'au devoir de synthèse3 mois pour 20 TND, offre jusqu'au 30 novembre 2026 Envoyer à un parent pour qu'il paieSujet original écrit pour Mission Carthage, dans le format d'un devoir pratique d'informatique (4ème Sciences de l'informatique, technologies du web). Ce n'est pas un sujet officiel.
Tout le programme : Bac Sciences de l'informatique · Revoir le cours · Tous les devoirs