Vous êtes sur la page 1sur 5

STI

Classe : 4ème année Sciences de l’informatique

Série 5 : Développement d’un

site web dynamique

---------------------------------

Nom du Prof : Mr. Hatem ROMDHANE

S
Exercice 90 min

Important :
Créer, dans le répertoire du serveur web local (www ou équivalent), un dossier de
travail en le nommant "SW_Bibliotheque" où seront enregistrés tous les documents
à réaliser.

L’administration d’un établissement scolaire souhaite mettre en place un site web pour
mieux gérer les différents emprunts des livres de la bibliothèque. Pour cela on vous
demande de réaliser les tâches suivantes :
✓ Enregistrer un nouveau livre,
✓ Enregistrer les données relatives à chaque empreint de livre.

Travail demandé
Partie A : Création de la base de données
Soit la base de données décrite par la représentation textuelle simplifiée suivante :
Type (CodeType, LibType)
Livre (NumLivre, TitreLivre, CodeType#, NbExpDisp)
Abonne (IdAb, NomAb, PrenAb, ClasseAb)
Emprunt (IdAb#, CodeLivre#, DateEmp)
N.B. : ci-dessous la description des champs
Champ Type Description
CodeType Entier auto-incrémenté Code du type d’un livre
LibType Chaîne de taille 30 Libellé du type d’un livre
NumLivre Chaîne de taille 5 Numéro unique d’un livre
TitreLivre Chaîne de taille 100 Titre d’un livre
NbExpDisp Entier Nombre d’exemplaires disponibles d’un livre
IdAb Entier Identifiant unique d’un abonné
NomAb Chaîne de taille 30 Nom d’un abonné
PrenAb Chaîne de taille 30 Prénom d’un abonné
ClasseAb Chaîne de taille 30 Classe d’un abonné
DateEmp Date Date d’emprunt d’un livre

1
1) Créer une base de données intitulée "BD_Bibliotheque".
2) Créer les différentes tables de la base de données en se référant à la description
des champs présentée dans le tableau ci-dessus
3) Ajouter les contraintes d’intégrité référentielles entre les différentes tables de la
base de données
4) Ajouter à la table Livre une contrainte de domaine sur le champ NbExpDisp qui doit
être ≥ 0
5) Insérer dans la base de données les lignes suivantes :

Table Type Table Livre


CodeType LibType NumLivre TitreLivre CodeType NbExpDisp
1 Algorithmique L1520 Les fichiers 1 15
2 Base de données L1680 Le langage PHP 3 10
3 Multimédia L1730 Les requêtes en SQL 2 8
4 Robotique L1790 La carte ESP32 4 20

Table Abonne Table Emprunt


IdAb NomAb PrenAb Classe IdAb NumLivre DateEmp
112233 Selmi Amina 4SI1 112233 L1730 2023-01-13
112244 Triki Walid 4M2 112255 L1790 2023-01-20
112255 Ouni Sami 3SI2 112233 L1680 2023-02-02

6) Exporter la base de données au format SQL

Partie B : Création des documents web

1) Créer la page web « index.html » en respectant la disposition suivante :

Zone1 Zone2

• Zone1 : Représente le volet de navigation. Elle contient les liens hypertextes


suivants :
✓ Nouveau Livre : servira de lien vers la page "Ajout.html".
✓ Emprunt d’un livre : servira de lien vers la page "Emprunt.html"
• Zone2 : Représente la section où se fait l’affichage des pages web. Elle con-
tient par défaut la page "Ajout.html" et servira aussi à l’affichage des autres
pages du site.

2
2) Ajout d’un nouveau livre :
a) Créer la page "Ajout.html" permettant d’ajouter un nouveau livre à la base de
données via le formulaire suivant :

Sachant que :
• Le clic sur le bouton "Annuler" permet de réinitialiser les différents champs
du formulaire
• Le clic sur le bouton "Ajouter" fait appel au fichier "Ajout.php"

b) Créer le fichier "Ajout.php" permettant :


o d'afficher le message "Numéro existant" dans le cas où la valeur saisie
du champ NumLivre existe déjà dans la base, ou bien,
o d’insérer les données du livre dans la base, puis afficher le message
"Ajout effectué avec succès".

3
3) Emprunter un livre :
a) Créer la page web "Emprunt.html" permettant d’inscrire un nouvel emprunt via
le formulaire suivant :

Sachant que :
• Le clic sur le bouton "Annuler" permet de réinitialiser les différents champs
du formulaire
• Le clic sur le bouton "Ajouter" fait appel au fichier "Emprunt.php"

b) Créer le fichier "Emprunt.php" permettant :


o d'afficher le message "Abonné inexistant" dans le cas où la valeur saisie
du champ Identifiant Abonné n’existe pas dans la table Abonne, ou bien,
o d’afficher le message "Livre inexistant ou non disponible" dans le cas où
la valeur saisie du champ Numéro Livre n’existe pas dans la table Livre
ou le nombre d’exemplaires disponibles = 0, ou bien,
o d’afficher le message "Emprunt déjà effectué" dans le cas où le trio des
champs IdAbonne, NumLivre et DateEmp existe dans la table Emprunt,
ou bien,
o d’insérer les données du nouveau emprunt à la base, puis mettre à jour
le champ NbExpDisp de la table Livre et afficher le message "Emprunt
ajouté avec succès", sachant que le champ DateEmp aura comme valeur
la date système.

Vous aimerez peut-être aussi