Vous êtes sur la page 1sur 22

ESST

Rapport PROJET BDD

Réalisation et interrogation de la base de données "Étudiants"

HAMADOUCHE AMINA SERINE


BERBAR IDIR
Introduction :

Le présent rapport constitue le compte rendu du projet de réalisation et interrogation de la base de


données "Étudiants". Ce projet a pour objectif de développer un système permettant la gestion des
informations relatives aux étudiants, telles que leurs données personnelles, leurs résultats
académiques et leur inscription aux différentes unités d'enseignement.

Le projet vise à créer une application web basée sur PHP et MySQL, offrant une interface conviviale
permettant à l’utilisateur d'effectuer des opérations courantes selon les privilèges qui lui ont été
accordés.

Ce rapport présentera les différentes étapes de développement du système, en commençant par


l'analyse des besoins et la conception de la base de données, puis en détaillant les fonctionnalités
implémentées et les défis rencontrés. Il mettra également en évidence les résultats obtenus.

Nous espérons que ce rapport fournira une vue d'ensemble claire du projet, de sa réalisation et de
ses résultats.

Création de la base de données :

Exemple de création d’une table:

Table Etudiant :
Structure de la table Etudiant :

Exemple de création d’un utilisateur :

Création de BDDAdmin :

La première étape consiste à établir la connexion à la base de données :

Ce code est utilisé au début de l’application PHP pour établir une connexion à la base de données, ce
qui permet ensuite de récupérer ou stocker des données dans la base de données à partir du reste
du code de l'application.

Ensuite, nous avons créer le formulaire de connexion :


Le résultat du formulaire :

Nous devons également gérer les erreurs de connexion :


Ce code représente une page de formulaire de connexion qui affiche des messages d'erreur
conditionnels en fonction des paramètres de l'URL. Lorsque l'utilisateur soumet le formulaire, les
données sont envoyées à "cnx.php" pour le traitement ultérieur.

Si l’utilisateur saisi :

1) un nom erroné :

Alors le message suivant lui sera affiché :

2) Un mot de passe incorrect : (le mot de passe entré dans cet exemple est : TPAdmine)

Alors le message suivant lui sera affiché :


Si l’utilisateur arrive à se connecter, il sera redirigé vers la page associée à son rôle :

Exemple (pour l’utilisateur BDDAdmin, la page correspondante est Admin.html)

Voici le code qui gère la redirection :


Supposons maintenant que nous sommes l’utilisateur BDDAdmin :

Tous les privilèges sont accordés à cet utilisateur.

Voici le résultat de ce code :

Les boutons sont liés à d'autres pages où les actions correspondantes seront exécutées.

Insertion :

Nous proposons à l’utilisateur de choisir la table dans laquelle il voudrait insérer :


Supposons que l’on voudrait insérer dans la table Etudiant :
Ce code représente une page d'insertion d'étudiant avec un formulaire où l'utilisateur peut saisir les
informations de l'étudiant et les envoyer pour les insérer dans une base de données. Des messages
d'erreur peuvent être affichés en fonction des résultats du processus d'insertion.

Cependant, nous devons d’abord vérifier que l’étudiant en question n’existe pas déjà dans la base de
données
Le résultat de l’insertion :

1) Si l’étudiant existe déjà :

2) Si l’étudiant n’existe pas :

Suppression :

Nous proposons à l’utilisateur de choisir la table dans laquelle il voudrait insérer :


Supposons que nous voulons supprimer un tuple de la table Etudiant :

Lors de cette opération, nous avons rencontré le problème suivant :

“””””“Fatal error: Uncaught mysqli_sql_exception: Cannot delete or update a parent row: a


foreign key constraint fails (`projetbdd`.`etudiant_unite`, CONSTRAINT `FK_ETUDIANT_UNITE1`
FOREIGN KEY (`matricule_etu`) REFERENCES `etudiant` (`matricule_etu`)) in C:\xampp\htdocs\
ProjetBDD\projetVSCODE\suppressionetudiant.php:23 Stack trace: #0 C:\xampp\htdocs\
ProjetBDD\projetVSCODE\suppressionetudiant.php(23): mysqli_stmt->execute() #1 {main}
thrown in C:\xampp\htdocs\ProjetBDD\projetVSCODE\suppressionetudiant.php on line
23””””””””

L'erreur indique qu'il y a une violation de contrainte de clé étrangère lors de la suppression
d'un tuple dans la table "etudiant_unite". La contrainte de clé étrangère
(FK_ETUDIANT_UNITE1) empêche la suppression d'un tuple dans la table "etudiant" si ce
tuple est référencé par un tuple dans la table "etudiant_unite".

Donc, nous devons d'abord les tuples correspondants dans la table "etudiant_unite" avant de
supprimer le tuple dans la table "etudiant". Voici le code mis à jour pour effectuer cette
opération :
Voici le résultat du code :

1) Si le matricule est invalide :

2) Si le matricule existe :
Modification :

Nous proposons à l’utilisateur de choisir la table dans laquelle il voudrait modifier une valeur :
Supposons que nous voulons modifier dans la table Etudiant :
On effectue la recherche du matricule de l’étudiant dont on souhaite modifier une valeur :

Voici le résultat de ce code :

1) Si le matricule est invalide :


2) Sinon :

L’utilisateur peut choisir l’attribut a modifier :

Prenons l’exemple suivant :


Voici le résultat :

Affichage :

Si l’utilisateur souhaite par exemple afficher la table Etudiant_unite :


Voici le résultat de ce code :

Consulter résultat requête :

Requête 1 :
Requête 2 :

Requête 3 :

Requête 4 :
Exemple : Résultat de la requête 1 :

Les utilisateurs TPEtudiant et TPEnseignant :

Pour TPEtudiant, seul la consultation de la table étudiant est autorisée en saisissant uniquement le
matricule de l'étudiant en question.

(même code que pour BDDAdmin pour le privilège SELECT, la démonstration sera montre en vidéo)

Pour TPEnseignant, l’insertion d’un tuple dans la table Enseignant ainsi que la consultation sont
autorisés.

(même code que pour BDDAdmin pour le privilège SELECT et INSERT, la démonstration sera montre
en vidéo)

Conclusion :

En conclusion, Au cours du développement, nous avons fait face à divers défis, tels que la gestion des
privilèges des utilisateurs, la validation des données et la gestion des requêtes complexes. Ainsi ce
projet de réalisation et interrogation de la base de données "Étudiants" a été une expérience
enrichissante qui nous a permis d'acquérir une meilleure compréhension des principes
fondamentaux de la gestion des données et de leur manipulation

Vous aimerez peut-être aussi