Devoir pratique STI n°10 : la bibliothèque du lycée, son catalogue en ligne en JavaScript et sa table des livres en SQL
É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. Les deux exercices portent sur la bibliothèque du lycée : l'exercice 1 écrit le fichier catalogue.js de la page du catalogue, l'exercice 2 les requêtes sur la table livre, qui contient les mêmes livres. Les fonctions JavaScript se testent dans la console du navigateur et dans la page, les requêtes SQL dans MySQL. Barème sur 20 points.
Exercice 1 : le catalogue en ligne (8 pts)
Le site de la bibliothèque du lycée a la page catalogue.html suivante, reliée au fichier catalogue.js. Les livres y sont rangés dans quatre tableaux de même taille : titres, auteurs, annees et dispos ; la case i de chacun décrit le même livre, et dispos[i] vaut 1 si le livre est disponible et 0 s'il est emprunté.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Catalogue de la bibliothèque</title>
</head>
<body>
<h1>Catalogue de la bibliothèque</h1>
<input type="checkbox" id="dispo"><label for="dispo">Seulement les livres disponibles</label>
<input type="button" id="afficher" onclick="afficher()" value="Afficher">
<ul id="catalogue"></ul>
<script>
var titres = ["Les Misérables", "Notre-Dame de Paris", "Le Prophète", "Germinal", "Le Pain nu", "Les Contemplations"];
var auteurs = ["Hugo", "Hugo", "Gibran", "Zola", "Choukri", "Hugo"];
var annees = [1862, 1831, 1923, 1885, 1980, 1856];
var dispos = [1, 0, 1, 0, 1, 1];
function afficher() {
var ul = document.getElementById("catalogue");
var seulement = document.getElementById("dispo").checked;
ul.innerHTML = "";
for (var i = 0; i < titres.length; i++) {
if (!seulement || etat(dispos[i]) == "disponible") {
ul.innerHTML += "<li>" + ligne(titres[i], auteurs[i], annees[i], dispos[i]) + "</li>";
}
}
}
</script>
<script src="catalogue.js"></script>
</body>
</html>
La fonction afficher() du bouton « Afficher » est donnée dans la page ; elle utilise les deux fonctions à écrire dans catalogue.js :
- 1) Écrire la fonction etat(d) qui renvoie « disponible » si d vaut 1 et « emprunté » sinon (4 pts).
- 2) Écrire la fonction ligne(t, a, an, d) qui renvoie la ligne du catalogue du livre de titre t, d'auteur a, paru en an et de disponibilité d, par exemple ligne("Germinal", "Zola", 1885, 0) donne « Germinal (Zola, 1885) : emprunté », en utilisant etat (4 pts).
Exercice 2 : la bibliothèque (12 pts)
Les livres du catalogue de l'exercice 1 sont rangés dans la table livre (id, titre, auteur, annee, dispo) de la base de la bibliothèque : dispo vaut 1 si le livre est disponible et 0 s'il est emprunté. Elle contient :
- (1, Les Misérables, Hugo, 1862, 1), (2, Notre-Dame de Paris, Hugo, 1831, 0), (3, Le Prophète, Gibran, 1923, 1),
- (4, Germinal, Zola, 1885, 0), (5, Le Pain nu, Choukri, 1980, 1), (6, Les Contemplations, Hugo, 1856, 1).
- 1) Écrire la requête qui affiche les titres des livres disponibles, par ordre alphabétique (3 pts).
- 2) Écrire la requête qui affiche le titre et l'année des livres de Hugo, du plus ancien au plus récent (3 pts).
- 3) Le livre d'identifiant 3 vient d'être emprunté : écrire la requête qui le rend non disponible (3 pts).
- 4) Écrire la requête qui supprime les livres parus avant 1900 qui ne sont pas disponibles (3 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 (3ème Sciences de l'informatique, technologies du web). Ce n'est pas un sujet officiel.
Tout le programme : 3ème année Sciences de l'informatique · Revoir le cours · Tous les devoirs