9 juil. 2011

Examens de Fin de Formation Pratique 2011 - TDI - Variante 3

Examens de Fin de Formation Pratique 2011 - TDI - Variante 3


Dossier 1  BASE DE DONNEES

Une compagnie de transport national de voyageurs entreprend l’informatisation de ses activités. Les travaux de l’équipe chargée de l’analyse et de la conception de la base de données ont aboutit au modèle conceptuel de données suivant :
N.     b. les champs marqués en gras et souligné représentent les clés primaires des tables et les champs marqué par # représentent les clés étrangères.
Voyage( code_voyage, dh_depart_voyage, dh_arrive_voyage, places, compteur_depart, compteur_arrivee, #matricule, #code_car, #code_calendrier)
Personnel(Matricule, nom, prenom, telephone, passe, #nom_role)
Autocar(code_car, capacite, date_achat, consommation)
Calendrier(code_calendrier, jour_voyage, heure_depart, heur_arrivee, #code_ligne)
Ligne(code_ligne, distance, #code_ville_depart, #code_ville_arrivee)
Ville( code_ville, nom_ville )
Role( nom_role )


EFF - Examens de Fin de Formation Pratique 2011 - TDI - V1-V2-V3
EFF - Examens de Fin de Formation Pratique 2011 - TDI - -V3



EFF - Examens de Fin de Formation Pratique 2011 - TDI - V1-V2-V3
EFF - Examens de Fin de Formation Pratique 2011 - TDI - V3


La compagnie assure le transport de passagers sur plusieurs lignes nationales. Chaque ligne est définie par un code, une distance kilométrique, une ville de départ et une ville d’arrivée.
Le calendrier des voyages comprend les horaires des transports assurés pour tous les jours de la semaine. La colonne jour_voyage contient le numéro d’ordre du jour dans la semaine (1 pour lundi et 7 pour dimanche).
La base de données permet d’enregistrer pour chaque voyage, les dates et compteurs kilométriques de départ et d’arrivée, le nombre de passagers transportés, l’autocar utilisé et son chauffeur.
Chaque employé appartient à un rôle qui lui permet d’accéder à certaines fonctions des applications à développer.
Travail à faire : enregistrer sur un fichier texte qui porte le nom « dossier1.txt » les requêtes SQL qui répondent aux questions suivantes (1 à 7) :
1) Créer la base de données et remplir les tables par un jeu d’essai. Le code voyage est un numéro automatique. (4 pts)
2) Ajouter les contraintes suivantes : (2 pts)
     a. Les villes de départ et d’arrivée doivent être différentes pour une même ligne.
     b. La distance (de la table ligne) doit être comprise entre 50 et 500.
3) Ajouter à la table « Voyage » une colonne calculée DUREE de type numérique. (2 pts)
4) Ajouter un déclencheur (trigger) lié à la mise à jour de la table « Voyage » et qui vérifie que le compteur_arrivee est supérieur au compteur_depart. (2 pts)
5) Créer la fonction qui renvoie les noms des villes de départ et d’arrivée, concaténés, d’une ligne dont le code est passé en paramètre. (2 pts)
6) Créer une fonction qui renvoie une table de tous les chauffeurs ayant assuré des voyages sur une ligne dont le code est transmis en paramètre. (4 pts)
7) Créer une fonction qui utilise un curseur pour renvoyer tous les horaires concaténés d’une ligne dont le code est passé en paramètre. (4 pts)

Dossier 2  PROGRAMMATION CLIENT/SERVEUR

Dans ce dossier, on utilisera la base de données du dossier 1.
Développer une application « client/serveur » qui offre les fonctionnalités demandées par les questions suivantes :
1) Créer un menu pour votre application en y incluant une option pour chacune des opérations demandées dans les questions qui suivent. (2 pts)
2) Créer un formulaire d’ouverture de session. Le login étant le matricule du personnel (pris de la base de données du dossier 1). Afficher un message d’erreur dans le cas où le login et/ou le mot de passe sont incorrects. (4 pts)
3) Créer un formulaire permettant à un chauffeur de saisir le compteur de l’autocar à la fin d’un voyage. Le chauffeur se connecte et l’application doit lui afficher uniquement le dernier voyage qu’il a assuré. Il doit avoir la possibilité de modifier uniquement le compteur d’arrivée. (4 pts)
4) Ajouter le formulaire de mise à jour de la table « Personnel » qui doit comporter : (4 pts)
     • des boutons de navigation pour parcourir les données de la table Personnel.
     • Des boutons de mise à jour permettant d’ajouter, de supprimer et d’enregistrer les données.
5) Ajouter un formulaire qui affiche, dans une grille, pour chaque ligne, le nombre total des passagers transportés. (4 pts)
6) Développer un état de sortie de type histogramme qui comprend pour chaque ligne, le nombre total des passagers transportés. (2 pts)

Dossier 3  DEVELOPPEMENT WEB

Dans ce dossier, on utilisera la base de données du dossier 1.
La compagnie souhaite développer un site web dynamique permettant aux internautes de consulter les horaires des voyages et aux utilisateurs de mettre à jour certaines informations de la base de données.
1) Développer la page d’accueil et le menu du site web qui inclue les opérations demandées par les questions qui suivent. (2 pts)
2) Créer la page de connexion au site. Le login étant le matricule de l’utilisateur (pris de la base de données du dossier 1). Afficher un message d’erreur dans le cas où le login et/ou le mot de passe (celui-ci est pris de la table Personnel) sont incorrects. Si l’utilisateur est correctement authentifié, le site doit le rediriger vers la page crée à la question précédente (page d’accueil). (4 pts)
3) Développer une page de mise à jour des lignes en prévoyant les éléments suivants : (4 pts)
     a. des boutons de navigation pour parcourir les données de la table Autocar.
     b. Des boutons de mise à jour permettant d’ajouter, supprimer et enregistrer les données.
4) Créer une page web qui permet d’imprimer l’état du personnel qui n’a jamais participé à aucun voyage. (4 pts)
5) Ajouter une option qui permet d’enregistrer la liste des lignes sur un fichier XML. (2 pts)
6) Développer le fichier XSLT qui permet de transformer le fichier XML que vous avez obtenu avec la question précédente en un fichier HTML. Le résultat à produire doit comporter un titre (Liste des lignes de transport) et un tableau comportant toutes les colonnes de la table Ligne. (4 pts)

Aucun commentaire:

Enregistrer un commentaire