GEN_Exercice_récapitulatif

Créé parMario Ramalho
DescriptionRécapitulatif global
ÉtiquettesExercice GEN
Durée300 min.
SujetConception et implémentation d'un système globale
ObjectifsConcevoir un diagramme ER (Entité-Relation) pour un système de gestion scolaire.
Créer le script SQL pour la base de données correspondante.
Insérer des données de test dans la base de données.
Écrire des requêtes SQL pour interroger la base de données.
Réaliser une application sur Bubble (No-Code Application)
ModalitéIndividuel

Le contexte

Cet exercice permet de concevoir de A à Z une application avec une base de données complète. Il contient 20 scénarii différents et va permettre à chacun ainsi de concevoir une application de gestion différente. Vous allez donc réaliser toutes les étapes de conception d’une application dans cette exercice :

  1. Implémenter un diagramme ER dépendant d’un scénario décrit par un client
  1. Implémenter cet base de données en créant le script de création de la base dans MySQL
  1. Créer du contenu et insérer des données dans votre base de données
  1. Implémenter des requêtes SQL permettant d’interroger la base de données
  1. Déploiement de votre base de données sur votre compte emf-informatique.
  1. Implémenter une application sur l’outil Bubble pour afficher les données sur un site Internet.

Travail à réaliser

Par rapport au numéro qui vous a été assigné, créer le diagramme ER du scénario ci-dessous :

⚠️
Vous devez également réaliser les phrases descriptives pour votre diagramme ER avant validation. Vous pouvez le documenter dans votre RP.

Validation du diagramme ER

Votre diagramme doit être validé par votre enseignant avant de poursuivre la suite de votre exercice.

  • Système de gestion scolaire
  • Plateforme de réservation d’hôtels
  • Plateforme de suivi de santé
  • Système de gestion de bibliothèque
  • Plateforme de streaming musical
  • Système de gestion d'inventaire pour un magasin
  • Site web de recettes de cuisine
  • Système de gestion de projet
  • Application de covoiturage
  • Plateforme de e-commerce
  • Système de réservation de restaurants
  • Application pour la gestion d'événements
  • Plateforme de tutorat en ligne
  • Système de gestion de flotte de véhicules
  • Réseau social pour animaux de compagnie
  • Application de suivi de fitness
  • Plateforme de crowdfunding
  • Système de gestion de contenu (CMS)
  • Service de livraison à domicile
  • Système de gestion d'université

Création du script de base de données MySQL

Vous devez ensuite créé votre script SQL pour que vous puissiez créer la base de données. Merci de respecter les points suivant pour la création de votre base de données MySQL :

  1. La création de chaque table doit être réalisé dans le bonne ordre, vous ne pouvez créer une table qui a une référence sur une table par encore créé.
  1. Les clés primaires doivent avoir la bonne configuration (auto incrémentation et unique)
  1. Les contraintes de clés secondaires doivent être réalisées
  1. Les cardinalités 0 ou 1 doivent correspondre à votre schéma ER.
  1. Des valeurs par défauts doivent être spécifiés pour certains champs.
  1. Des contraintes indiquant qu’une colonne ne doit pas être vide.
  1. Des contraintes spécifiques doivent être créé pour certains champs de votre base de données. Ex: (validation d’une adresse e-mail)
⚠️
Vous devez également réaliser un reverse de votre diagramme et documenter celui-ci dans votre RP.

Validation du script de création de base de données MySQL

Votre script doit être validé par votre enseignant avant de poursuivre la suite de votre exercice.

  • Système de gestion scolaire
  • Plateforme de réservation d’hôtels
  • Plateforme de suivi de santé
  • Système de gestion de bibliothèque
  • Plateforme de streaming musical
  • Système de gestion d'inventaire pour un magasin
  • Site web de recettes de cuisine
  • Système de gestion de projet
  • Application de covoiturage
  • Plateforme de e-commerce
  • Système de réservation de restaurants
  • Application pour la gestion d'événements
  • Plateforme de tutorat en ligne
  • Système de gestion de flotte de véhicules
  • Réseau social pour animaux de compagnie
  • Application de suivi de fitness
  • Plateforme de crowdfunding
  • Système de gestion de contenu (CMS)
  • Service de livraison à domicile
  • Système de gestion d'université

Insertion de données

Vous devez ensuite créé un script SQL pour insérer des données dans votre base de données.

Pour cela, vous pouvez créé votre script SQL pour insérer 3 lignes de données par table.

N’oubliez pas que l’insertion doit se faire également dans le bonne ordre, vous ne pouvez insérer une donnée qui a une référence sur une table par encore créé.

Validation du script d’insertion de base de données MySQL

Votre script doit être validé par votre enseignant avant de poursuivre la suite de votre exercice.

  • Système de gestion scolaire
  • Plateforme de réservation d’hôtels
  • Plateforme de suivi de santé
  • Système de gestion de bibliothèque
  • Plateforme de streaming musical
  • Système de gestion d'inventaire pour un magasin
  • Site web de recettes de cuisine
  • Système de gestion de projet
  • Application de covoiturage
  • Plateforme de e-commerce

  • Système de réservation de restaurants
  • Application pour la gestion d'événements
  • Plateforme de tutorat en ligne
  • Système de gestion de flotte de véhicules
  • Réseau social pour animaux de compagnie
  • Application de suivi de fitness
  • Plateforme de crowdfunding
  • Système de gestion de contenu (CMS)
  • Service de livraison à domicile
  • Système de gestion d'université

Ajout de plus de données d’insertion

Vous pouvez utiliser ensuite ChatGPT 3.5 pour ajouter au moins 10 lignes supplémentaires.

Vous pouvez par exemple utiliser un prompt de ce type :

Sur la base du script SQL suivant :
<<< votre code SQL INSERT INTO globale >>>
Ajoute moi 10 lignes supplémentaires par table

Tester ensuite votre SQL généré par ChatGPT pour vérifier qu’il fonctionne bien.

💪🏻
Bravo vous avez une base de données avec plusieurs données !

Création de requêtes SQL

Vous allez maintenant créer des requêtes SQL permettant d’interroger votre base de données. ces requêtes doivent être enregistrées dans votre RP, en indiquant la requête SQL et le résultat en copie d’écran.

  1. Créer une requête contenant toutes les colonnes d’une table mais avec un ordre d’affichage sur les colonnes importantes
  1. Créer une requête contenant que certaines colonnes d’une table avec une jointure d’une autre table. Les colonnes affichées devront provenir des deux tables.
  1. Créer une requête qui permet de compter le nombre d’occurrences d’une de vos tables. Vous pouvez choisir la table la plus importante de votre base de données
  1. Créer une requête qui permet d’obtenir la valeur maximum d’une colonne de type entier d’une table.
  1. Créer une requête qui permet d’afficher que les 3 occurrences d’une table en utilisant un ordre d’affichage plus grand au plus petit.
  1. Créer une requête qui permet de filtrer des données précises basés sur les colonnes de cette table.
  1. Créer une requête qui permet de filtrer une valeur commençant par une lettre.
  1. Créer une requête qui permet de filtrer des données provenant d’une autre table. Il est nécessaire de faire une jointure et de sélectionner sur un champ de l’autre table.
  1. Créer une requête qui permet d’afficher les informations provenant des deux tables d’une relation plusieurs à plusieurs.
  1. Créer une requête qui permet d’afficher les valeurs jointes entre deux tables. Il est nécessaire d’afficher toutes les valeurs communes, mais également les valeurs de la première table.
  1. Créer une requête qui permet de modifier toutes les données qui contiennent une valeur par une autre valeur.
  1. Créer une requête qui permet de supprimer une occurrence avec le numéro de la pk spécifique.
👉🏻
Avant de finaliser vos requêtes, merci de répondre au questionnaire ci-dessous :https://app.wooclap.com/NJFXIL/questionnaires/65d3b8d289a78e6153ccb567
Si vous avez aucune erreur, vous pouvez validé les requêtes avec votre enseignant.

Déploiement de votre base de données sur votre instance

Vous allez maintenant déployer votre base de données sur votre hébergement votrenom.emf-informatique.ch . Cette hébergement vous permet de créer une base de données MySQL et d’y insérer votre script SQL.

Voici les étapes à suivre pour effectuer ce déploiement :

  1. Accéder à votre console d’administration CPANEL https://cpanel.emf-informatique.ch
  1. Indiquer votre nom d’utilisateur et mot de passe (vous les avez reçu par e-mail) et cliquer sur Connexion
  1. Accéder à l’outil Base de données MySQL®
  1. Indiquer un nom pour une nouvelle base de données en inscrivant le nom de votre projet (Ex: livraison_domicile) et cliquer sur “Créer une base de données”
  1. Créer un nouvel utilisateur en indiquant le même nom que la base de données, indiquer également un mot de passe (vous pouvez utiliser EMF$1700) et cliquer sur “Créer un utilisateur”
  1. Donner les droits à l’utilisateur créé à la base de données en question, pour cela sélectionner l’utilisateur et la base données, puis cliquer sur “Ajouter”
  1. Cocher la case “TOUS LES PRIVILÈGES” et cliquer sur “Apporter les modifications”
  1. Cliquer sur retour, vous devez voir apparaître la base de données dans le tableau “Base de données actuelles”, comme ci-dessous :
  1. Retourner sur la page d’accueil de CPANEL et accéder à l’outil MySQL distant
  1. Ajouter un hôte d’accès permettant d’accéder à MySQL. Indiquer la valeur %.%.%.% puis Tous pour le commentaire puis cliquer sur Ajouter un hôte.
    ⚠️
    A la fin de l’exercice, merci de supprimer cette ligne hôte %.%.%.% sur votre CPANEL. Ceci n’est pas recommandé au niveau sécurité, donc il est préférable de l’utiliser que pour des tests.
  1. Retourner sur la page d’accueil de CPANEL et accéder à l’outil phpMyAdmin
  1. Sélectionner la base de données que vous venez de créer et cliquer sur l’outil SQL
  1. Dans MySQL Workbench, réaliser un export avec les données de votre base de données local de projet. Utiliser la fonction dans le menu Server puis Data export. Il faut sélectionner Dump Structure and Data pour que les données sont également exportées. Il ne faut pas cocher Include Create Schema car la base de données est déjà créé, Il faut également sélectionner Export to Self-Contained File pour obtenir qu’un fichier SQL.
  1. Insérer le script SQL que vous avez créé ci-dessus et cliquer sur “Exécuter”

Implémenter une application web sur Bubble

Bubble est un outil No-Code permettant de créer des applications web sans connaissance de codage. Nous vous proposons de créer une interface web permettant d’afficher le résultat de vos requêtes sur un site web Bubble que vous avez réalisé pour l’occasion.

  1. Créer un compte sur https://bubble.io/login?mode=signup
  1. Créer une nouvelle application en cliquant sur “Create an app”
  1. Nommer votre application avec le nom de votre projet. Ce n’est pas nécessaire d’utiliser un “template”
  1. Cliquer sur “Next step” en vérifiant le nom de l’application
  1. Sélectionner la police d’écriture que vous aimeriez appliquer à votre application.
  1. Sélectionner les couleurs pour chaque éléments de votre application
  1. Ajouter le plugin SQL Database Connector pour qu’il puisse être utilisé pour se connecter à notre base de données MySQL. Ensuite cliquer sur “Get Started building”
  1. Vous arrivez ensuite sur l’interface d’édition de votre application
  1. Cliquer sur plugins pour configurer le plugin SQL Database Connector
  1. Cliquer sur le bouton “Add a new Connection” et ajouter les éléments ci-dessous
    • Connection name : Correspond au nom de la connexion que vous aimeriez donné
    • Database type : Ici c’est du MySQL
    • Connection string : URL de connexion à votre base de données
    mysql://nom_utilisateur:mot_de_passe@adress_ip:port/nom_base_de_donnes
  1. Cliquer sur “Test the connection” pour vérifier que la connexion fonctionne bien. Si c’est le cas, le bouton se grise et il indique “Database connected”
  1. Créer ensuite votre première requête SQL pour afficher les éléments principaux de votre projet et cliquer sur ensuite “Initialize this query”. La requête doit avoir au maximum 200 éléments.
  1. Indiquer ensuite le type de données par colonne pour la requête
  1. Cliquer ensuite sur l’outil “Design”
  1. Rajouter un objet “RepeatingGroup” et configurer cet objet de la façon suivante : (avion correspond au nom de ma requête du point 12)
  1. Rajouter un “Text” dans la zone de l’item 1, puis configurer le texte de la façon suivante : (Modele correspond à la première colonne récupérer de ma requête)
  1. Vous pouvez cliquer ensuite sur le bouton “Preview” pour voir le résultat et voir le contenu de votre table s’afficher dans votre application.
🕺🏻
Amusez-vous avec l’outil pour modifier le look, afficher d’autres colonnes, essayer d’afficher une autre requête. Dès que vous avez réussi à faire quelques choses de sympa, vous pouvez copier l’url de Preview app dans votre RP et mettre également une copie d’écran. Bravo pour votre travail !!!!