M2203 - Bases de données 1° année DUT MMI

Une grande partie des documents de cet enseignement proviennent du cours donné par Tony Grandame en 2010-2011.

N'hésitez pas à me contacter en cas de problème ou pour toute question, en indiquant "M2203" dans le sujet du mail. Vous pouvez aussi contacter Thanh-Long DANG (thanhlong.dang@multidist.fr) qui intervient également dans les cours, TP et TD de ce module.




Cours



Énoncés de TD/TP



Mini-projet

Ce mini-projet consiste à concevoir la base de données associée à votre plateforme web d'annuaire/vitrine de la formation MMI.

En effet, pour créer la page qui réunira les profils des MMI de votre promotion, plutôt que de faire autant de pages HTML que d’étudiantes et étudiants, il est préférable d'utiliser une base de données pour stocker toutes les informations requises. Vous pourrez alors créer une seule page de profil, en PHP, qui récupérera les informations sur chaque étudiante ou étudiant dans la base de données. Nous vous demandons donc que votre projet contienne du code PHP et une base de données MySQL, et que ces développements en langages PHP et SQL soient au service des fonctionnalités que vous avez envisagées à l'issue de votre phase de réflexion préparatoire. Les paragraphes ci-dessous vont vous guider dans les étapes à suivre pour faire le lien entre réflexion et technique de manière appropriée.

Étape 1) Choix des fonctionnalités

Décrivez chacune des fonctionnalités qui seront implémentées dans votre plateforme web sous la forme d'un récit utilisateur. Par exemple, En tant que recruteur ou recrutrice, je peux voir la liste des profils des DUT MMI de Champs triée en fonction des langues étrangères qu'ils parlent, ou bien En tant que lycéen ou lycéenne, je peux voir, dans le profil d'un étudiant ou d'une étudiante, son prénom, son nom, le lien vers son portfolio et le ou les métiers envisagés.

Pour chacune de ces fonctionnalités, précisez s'il s'agit d'une fonctionnalité prioritaire qui sera développée quoi qu'il arrive, ou d'une fonctionnalité optionnelle développée seulement si vous en avez le temps. Pour chacune de ces fonctionnalités, expliquez pourquoi il vous semble important de l'intégrer dans votre plateforme, en montrant en quoi elle répond aux besoins de la cible visée, c'est-à-dire du profil des personnes qui visitent votre plateforme (recruteurs/recrutrices, lycéens/lycéennes, étudiantes ou étudiants souhaitant se réorienter, etc.). Il est possible que votre plateforme ne soit destinée qu'à une seule cible : dans ce cas, toutes les justifications devront faire référence à cette cible. Pensez à numéroter chacune des fonctionnalités pour pouvoir y faire référence à l'étape 2.

Étape 2) Préparation du modèle conceptuel des données

Dessinez le modèle conceptuel des données décrivant la base de données qui devra être mise en place pour réunir toutes les informations utilisées par les fonctionnalités de l'étape précédente. Décrivez, pour chacune des fonctionnalités de l'étape 1, quelles sont les entités, attributs, ou relations choisies pour permettre de les réaliser.

Cette étape devrait vous permettre de faire les bons choix pour répondre aux questions suivantes. Comment allez-vous organiser cette base de données : aurez-vous besoin d'une seule entité/table ou bien de plusieurs ? Qu'allez-vous stocker, et sous quelle forme, pour chaque étudiante ou étudiant ? Notez qu'a minima, seuls les champs "prénom" et "nom" devront être remplis. Vous pouvez choisir d'inclure d'autres informations qui ne seront remplies dans la base de données que pour les membres de votre groupe.

Étape 3) Préparation du modèle physique des données

Dessinez le modèle physique des données correspondant au modèle conceptuel des données de l'étape précédente.

Étape 4) Réalisation de la base de données

Créez la base de données SQL correspondant au modèle physique des données décrit à l'étape précédente.

Étape 5) Planification de la récupération des données

Décrivez de quelle manière vous allez vous organiser pour récupérer les données dont vous avez besoin pour chaque table de la base. Il n'est pas interdit de chercher à mutualiser avec d'autres groupes le processus de récupération de données.

Les modules M2202 et M2203 vous permettront d'acquérir les compétences en bases de données (langage SQL) et en programmation web (langage PHP). Les cours 1 et 2 du module M2203 (23 mars et 6 avril) vous donneront les outils pour décider sous quelle forme vous structurerez votre base de données. Le troisième cours, le 4 mai, vous donnera les bases du langage SQL qui vous permettra d'envoyer des requêtes à la base de données, à la fois pour y stocker les informations sur les étudiants et pour extraire les informations à afficher sur le site web. Enfin, le cours du 12 mars du module M2202 vous permettra de voir les bases du langage PHP, que vous pratiquerez lors des TP du module M2203.

Rendu des documents et fichiers préparés

Un document PDF contenant votre travail pour les étapes 1, 2, 3 et 5 ci-dessus devra être généré. Il sera réalisé en groupe par chaque groupe de projet tutoré. Pensez à le planifier au mieux, pour prévoir des réunions de travail en commun (par exemple, pour l'étape 1 : chaque personne propose trois fonctionnalités sur des post-its, avant une mise en commun puis discussion) ou du travail collaboratif à distance (par exemple, pour les étapes 2 et 3, création d'un document collaboratif sur Google Slides en chargeant chaque personne du groupe d'ajouter les entités, attributs et relations, correspondant aux fonctionnalités de l'étape 1 ; ou attribution de la création du modèle conceptuel à une seule personne, relecture par une autre, puis création du modèle physique par une troisième personne).

La taille de ce document devra être inférieure à 10 Mo, et il sera envoyé par courriel à l'adresse philippe.gambette@u-pem.fr le mercredi 2 mai 2017 à 22 heures au plus tard. Le mail contiendra aussi la composition du groupe.

Critères d'évaluation utilisés :