- Créer un projet Git : soit public, soit privé avec le formateur en administrateur
- Incluez à la fin de l'examen un export de votre base de données
Créez une base de données que vous appellerez « prenom_bibliotheque » :
abonne
---
id(PK – AI – INT)
prenom (VARCHAR)
nom (VARCHAR)
association_abonne_ouvrage
id (PK – AI – INT)
id_abonne (INT)
id_ouvrage (INT)
ouvrage
- id (PK – AI – INT)
- titre (VARCHAR)
- auteur (VARCHAR)
---
En respectant une structure MVC, vous crééez un formulaire pour chaque table, et notamment un formulaire contenant 2 selects ("abonnés" et "ouvrages") pour le formulaire de la table d'association.
Contrôles de saisie :
- Les champs ouvrage.titre, ouvrage.auteur, abonne.prenom, abonne.nom ne doivent pas faire plus de 150 caractères et ne doivent pas être vides.
Les données doivent s'enregistrer en base de données.
Ouvrage et Abonne :
Pour ces deux tables, vous créérez en MVC :
- Une page qui affiche la liste des éléments, sous forme de tableau
- Une page qui affiche 1 élément
- Un bouton "Editer" qui renvoie vers une page d'édition. L'update doit fonctionner en BDD.
- Un bouton "Supprimer" qui supprime l'élément. La suppression doit fonctionner en BDD.
Table d'association :
- Une page qui affiche la liste des associations, sous forme de tableau
- Le tableau contiendra les champs :
Nom | Prénom | Titre de l'ouvrage | Auteur
- Un bouton "Supprimer" qui supprime l'élément. La suppression doit fonctionner en BDD.
- Afficher le nombre d'abonnés.
- Afficher le nombre d'ouvrages.
- Afficher le nombre d'associations.
- Afficher les ouvrages n'ayant pas été empruntés.
- Afficher les abonnés n'ayant pas emprunté de livre.
- Afficher tous les ouvrages empruntés par 1 abonné, trouvé par son nom (le WHERE doit contenir le nom et pas l'ID, de l'abonné de votre choix).
- Afficher tous les abonnés (meme ceux qui n'ont pas emprunté) ainsi que les ouvrages - pour ceux qui ont emprunté.
- Afficher les ouvrages (meme ceux qui n'ont pas été empruntés), ainsi que les abonnés - pour ceux qui ont été empruntés.
Vous produirez un code :
- Indenté
- Conceptualisé
- Documenté / Commenté
- Optimisé
- Factorisé
- Générique
- Maintenable