sio2:exercice_d_application

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
sio2:exercice_d_application [2024/11/28 08:51] – [D-Procédures stockées] dthevenotsio2:exercice_d_application [2025/03/25 08:49] (Version actuelle) – [Contexte] dthevenot
Ligne 4: Ligne 4:
 La société de transport de personnes TOPCHRONO souhaite mettre en place une plateforme extranet à destination des particuliers. L’application proposera des services similaires à ceux proposés par la plateforme UBER : La société de transport de personnes TOPCHRONO souhaite mettre en place une plateforme extranet à destination des particuliers. L’application proposera des services similaires à ceux proposés par la plateforme UBER :
   - La plateforme répertorie **les chauffeurs et les passagers**. Diverses informations sont conservées à leur sujet : adresse email, prénom, nom, « hash » du mot de passe, etc. Rien n’empêche a priori qu’un chauffeur en repos puisse être passager !   - La plateforme répertorie **les chauffeurs et les passagers**. Diverses informations sont conservées à leur sujet : adresse email, prénom, nom, « hash » du mot de passe, etc. Rien n’empêche a priori qu’un chauffeur en repos puisse être passager !
-  - TOPCHRONO effectue une qualification de tous les chauffeurs, à savoir qu’un chauffeur effectue **une inscription préalable**. Son inscription n’est « convertie » en un **compte chauffeur** qu’une fois **l’inscription validée**. Afin de pouvoir afficher le périmètre d’intervention d’un chauffeur, on souhaite pouvoir conserver son** adresse principale** sous la forme d’un couple longitude et latitude. Il appartient au chauffeur de choisir son **périmètre d’intervention**. On suppose que le périmètre d’intervention du chauffeur est un cercle.+  - TOPCHRONO effectue une qualification de tous les chauffeurs et veut en garder une trace, à savoir qu’un chauffeur effectue **une inscription préalable**. Son inscription n’est « convertie » en un **compte chauffeur** qu’une fois **l’inscription validée**. Afin de pouvoir afficher le périmètre d’intervention d’un chauffeur, on souhaite pouvoir conserver son** adresse principale** sous la forme d’un couple longitude et latitude. Il appartient au chauffeur de choisir son **périmètre d’intervention**. On suppose que le périmètre d’intervention du chauffeur est un cercle.
   - Un passager propose **une course en partance d’un lieu et à destination d’un autre lieu**. Pour des raisons d’affichage encore, **les lieux sont stockés sous la forme de couples longitude/latitude.** La **course** intervient à **une date et une heure donnée**. Le logiciel se charge de fournir une estimation de la date et de l’heure d’arrivée.   - Un passager propose **une course en partance d’un lieu et à destination d’un autre lieu**. Pour des raisons d’affichage encore, **les lieux sont stockés sous la forme de couples longitude/latitude.** La **course** intervient à **une date et une heure donnée**. Le logiciel se charge de fournir une estimation de la date et de l’heure d’arrivée.
   - Les chauffeurs peuvent consulter les courses qui sont dans leur périmètre d’intervention. Si la course est dans ce périmètre, ils peuvent proposer leurs services à titre de candidats. Ils peuvent alors consulter les coordonnées du passager et le contacter. Il appartient au passager de choisir le chauffeur qui réalisera sa course. Pour l’accompagner dans sa décision, grâce à la plateforme, le passager peut consulter le profil des chauffeurs et son tarif. La plateforme fournie, pour chaque chauffeur une estimation du **tarif pratiqué** ;   - Les chauffeurs peuvent consulter les courses qui sont dans leur périmètre d’intervention. Si la course est dans ce périmètre, ils peuvent proposer leurs services à titre de candidats. Ils peuvent alors consulter les coordonnées du passager et le contacter. Il appartient au passager de choisir le chauffeur qui réalisera sa course. Pour l’accompagner dans sa décision, grâce à la plateforme, le passager peut consulter le profil des chauffeurs et son tarif. La plateforme fournie, pour chaque chauffeur une estimation du **tarif pratiqué** ;
Ligne 19: Ligne 19:
 ===== B-Implanter la base de données à partir du script fourni. ===== ===== B-Implanter la base de données à partir du script fourni. =====
 ===== C-Fonctions stockées ===== ===== C-Fonctions stockées =====
-Implémenter la fonction stockée **tarifCommission(distance INT) AS DECIMAL** qui retourne la commission pratiquée en fonction de la longueur d’un trajet :+**1)** Implémenter la fonction stockée **tarifCommission(distance INT) AS DECIMAL** qui retourne la commission pratiquée en fonction de la longueur d’un trajet :
 <code> <code>
 CREATE FUNCTION tarifCommission(distance INT) RETURNS DECIMAL DETERMINISTIC CREATE FUNCTION tarifCommission(distance INT) RETURNS DECIMAL DETERMINISTIC
Ligne 29: Ligne 29:
   - Quel résultat obtenez-vous ? Est-ce normal ?   - Quel résultat obtenez-vous ? Est-ce normal ?
  
- +**2)** Implémenter la fonction stockée **tarifChauffeur(numChauffeur INT, distance INT) qui retourne le tarif*** pratiqué par un chauffeur en fonction de la longueur d’un trajet.
-Implémenter la fonction stockée **tarifChauffeur(numChauffeur INT, distance INT) qui retourne le tarif*** pratiqué par un chauffeur en fonction de la longueur d’un trajet.+
   - Présenter l’algorithme avant de coder   - Présenter l’algorithme avant de coder
   - Programmer la fonction et la tester avec un jeu d'essais   - Programmer la fonction et la tester avec un jeu d'essais
-***Remarque** : partie fixe + partie variable selon la distance+***Remarque** : tarif d'un chauffeur =  partie fixe + partie variable selon la distance
  
 ===== D-Procédures stockées ===== ===== D-Procédures stockées =====
-Coder la procédure stockée **tarifChauffeurs(distance INT)**  qui affiche le tarif pratiqué par l’ensemble des chauffeurs en fonction de la longueur d’un trajet.+**1)** Coder la procédure stockée **tarifChauffeurs(distance INT)**  qui affiche le tarif pratiqué par chaque chauffeur en fonction de la longueur d’un trajet.
   * Présenter l’algorithme avant de coder   * Présenter l’algorithme avant de coder
 +  * Utiliser la fonction tarifChauffeur définie précédemment
  
-Coder la procédure stockée **validerInscription(numChauffeur INT)** permettant de valider(accepter) l’inscription d’un chauffeur.+**2)** Coder la procédure stockée **validerInscription(numChauffeur INT)** permettant de valider(accepter) l’inscription d’un chauffeur.
   * Présenter l’algorithme avant de coder   * Présenter l’algorithme avant de coder
 **Remarques :**  **Remarques :** 
Ligne 45: Ligne 45:
   - on ne valide une inscription que si l'inscription n'a pas encore été validée(refus ou acceptation)   - on ne valide une inscription que si l'inscription n'a pas encore été validée(refus ou acceptation)
   - validation en trois temps : mise à jour du type de la personne correspondante + enregistrement du chauffeur + mise à jour du champ acceptationDate    - validation en trois temps : mise à jour du type de la personne correspondante + enregistrement du chauffeur + mise à jour du champ acceptationDate 
-**Remarque sur le type d’une personne :** une personne est soit « Passager » soit « Inscription » pour une personne qui a fait une demande d’inscription pour devenir chauffeur sans être déjà passager. Elle devient « Chauffeur » si sa demande d'inscription a été acceptée. Un passager qui demande à devenir chauffeur est un « PassagerInscription ». Si sa demande d’inscription pour devenir chauffeur est acceptée elle devient « ChauffeurPassager».+**Remarque sur le type d’une personne :** une personne est soit « Passager » (par défaut) soit « Inscription » pour une personne qui a fait une demande d’inscription pour devenir chauffeur sans être déjà passager. Elle devient « Chauffeur » si sa demande d'inscription a été acceptée. Un passager qui demande à devenir chauffeur est un « PassagerInscription ». Si sa demande d’inscription pour devenir chauffeur est acceptée elle devient « ChauffeurPassager».
  
 __Exemple d’utilisation de WHILE pour parcourir un jeu d’enregistrements :__ __Exemple d’utilisation de WHILE pour parcourir un jeu d’enregistrements :__
  • sio2/exercice_d_application.1732780268.txt.gz
  • Dernière modification : 2024/11/28 08:51
  • de dthevenot