Please enable JavaScript to access this page. Recherche :: Sql server :: - Techniques de Développement Informatique
Showing posts with label Sql server. Show all posts
Showing posts with label Sql server. Show all posts

Correction Complet d'Examen Théorique De Fin De Formation 2012

 

 Voir l'énoncé d'EFF Théorique 2012 sur le lien suivant : Examen de Fin de Formation - Théorique Session Juillet 2012 - TDI  

 

  Correction Complet d'Examen Théorique De Fin De Formation 2012 - UML - Merise - SQL Server - POO - HTML - JavaScript - Réseaux

Dossier 1 : UML - Merise :

Voir le lien suivant : Correction EFF Théorie 2012 Partie UML et Merise

Dossier 2 : SQL Server :

Q 1 : Écrire une requête qui affiche le nombre de matchs joués dans la journée n°12.
     SELECT count(*)
     from Match
     Where numJournee=12
Q 2 : Écrire une requête qui affiche le nombre de matchs joués par journée.
     SELECT numJournee, Count(numMatch)
     From Match
     Group By numJournee
Q 3 : Écrire une requête qui affiche le match qui a compté le plus grand nombre de spectateurs..
     Select numMatch, dateMatch, numJournee
     From Match
     Where nombreSpectateur = (Select Max(nombreSpectateur) From Match)
Q 4 : Écrire une requête qui affiche le nombre de points de l’équipe de code 112 ; le nombre de
points se calcule de la façon suivante : une victoire donne 3 points, une égalité donne 1 point
et une défaite donne 0 point.

Solution 1 :
     Declare @nbVictoirs int , @nbEgalite int , @totalPoints int
     Select @nbVictoirs = Count(numMatch)
     From Match
     Where (nombreButLocaux > nombreButVisiteurs and codeEquipeLocaux=112) OR (nombreButLocaux < nombreButVisiteurs and codeEquipeVisiteurs=112)
     Select @nbEgalite = Count(numMatch)
     From Match
     Where (nombreButLocaux = nombreButVisiteurs) and (codeEquipeLocaux=112 OR codeEquipeVisiteurs=112)
     Set @totalPoints = @nbVictoirs * 3 + @nbEgalite
     Select @totalPoints
Solution 2 :
     SELECT SUM(MyTable.resultat) FROM
     (SELECT resultat=COUNT(numMatch)*3 FROM Match
     WHERE (nombreButLocaux > nombreButVisiteurs and codeEquipeLocaux=112)
     OR (nombreButLocaux < nombreButVisiteurs and codeEquipeVisiteurs=112)
     UNION
     SELECT Count(numMatch)  FROM Match
     WHERE (nombreButLocaux = nombreButVisiteurs)
     and (codeEquipeLocaux=112 OR codeEquipeVisiteurs=112)) MyTable

Q 5 : Écrire une procédure stockée qui affiche les équipes qui ont gagné leur match dans une
journée dont le numéro est donné comme paramètre.

     CREATE PROC Q5 @nbrjour int
     AS
     BEGIN
          SELECT codeEquipeLocaux AS 'Code Equipe' FROM Match
          WHERE nombreButLocaux > nombreButVisiteurs AND numJournee = @nbrjour
          UNION
          SELECT codeEquipeVisiteurs AS 'Code Equipe' FROM Match
          WHERE nombreButLocaux < nombreButVisiteurs AND numJournee = @nbrjour
     END
     EXEC Q5 1;
Q 6 : Écrire un trigger qui refuse l’ajout d’une ligne à la table Match pour laquelle la colonne
codeEquipeLocaux est égale à la colonne codeEquipeVisiteurs..

     CREATE TRIGGER question6 ON Match2 AFTER INSERT
     AS
     DECLARE @loc int , @vis int
     SELECT @loc= codeEquipeLocaux, @vis= codeEquipeVisiteurs FROM Inserted
     IF (@loc=@vis)
     BEGIN
          RAISERROR ('ATTENTION: codeEquipeLocaux == codeEquipeVisiteurs :p', 16, 1);
          Rollback
     END

Voir aussi » : Examen de Fin de Formation - Théorique 2012

Dossier 3 : POO - Programmation Orientée Objet :

Solution 1 : en Java Par : AJDI Yassin:
 Q 1 & Q 2 :
public class Camera {
     protected int code;
     protected String type;
     protected int orientation;
     public Camera() {
     super();
     }
     public Camera(int code, String type) {
     super();
     this.code = code;
     this.type = type;
     }
     public int getCode() {
     return code;
     }
     public void setCode(int code) {
     this.code = code;
     }
     public String getType() {
     return type;
     }
     public void setType(String type) {
     this.type = type;
     }
     public int getOrientation() {
     return orientation;
     }
     public void setOrientation(int orientation) {
     this.orientation = orientation;
     }
     public void tourner(int sens) {
     this.orientation = sens;
     }
     public void afficher() {
     System.out.println("-Code: " + this.code + " Orientation:"
     + this.orientation);
     }
}

Q3 - Q4 - Q5 :
public class CameraMobile extends Camera {
     private int abs;
     private int ord;
     public CameraMobile(String type, int code, int abs, int ord) {
     super(code, type);
     this.abs = abs;
     this.ord = ord;
     }
     public CameraMobile() {
     super();
     }
}
public int getAbs() {
     return abs;
}
public void setAbs(int abs) {
     this.abs = abs;
}
public int getOrd() {
     return ord;
}
public void setOrd(int ord) {
     this.ord = ord;
}
public void avancer(int d) {
     switch (this.orientation) {
     case 1:
     this.ord += d;break;
     case 2:
     this.abs += d;break;
     case 3:
     this.ord -= d;break;
     case 4:
     this.abs -= d;break;
     }
}
public void afficherPosition() {
     System.out.println("-position: abs=" + this.abs + " ord=" + this.ord);
}
public void afficher() {
     super.afficher();
     this.afficherPosition();
     }
}

Q 6 :
public class classTest {
     public static void main(String[] args) {
     // TODO Auto-generated method stub
     CameraMobile cm1 = new CameraMobile("SUMSUNG", 213, 0, 0);
     cm1.afficher();
     // a
     cm1.setOrientation(2);
     cm1.afficher();
     // b
     cm1.setOrientation(4);
     cm1.avancer(10);
     cm1.afficher();
     // c
     cm1.setOrientation(1);
     cm1.avancer(16);
     cm1.afficher();
     // d
     cm1.setOrientation(2);
     cm1.avancer(5);
     cm1.afficher();
     // e
     cm1.setOrientation(3);
     cm1.avancer(12);
     cm1.afficher();
     }
}


Solution 2 : en C# :

Q 1 - Q 2 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Public class Camera
{
     private int code;
     private string type;
     private int orientation;
     public Camera()
     { }
     public Camera(int code, string type, int orientation) {
          this.code = code;
          this.type = type;
           if (orientation >= 1 && orientation <= 4)
               this.orientation = orientation;
          else throw new Exception("valeur incorrecte");
     }
     public int Code {
          get { return code; }
          set { code = value; }
     }
     public string Type {
          get { return type; }
          set { type = value; }
     }
     public int Orientation {
          get { return orientation; }
          set {
          if (value >= 1 && value <= 4)
          orientation = value;
          else throw new Exception("valeur incorrecte");
          }
     }
     public void tourner(int sens){
          if (sens >= 1 && sens <= 4)
          orientation = sens;
          else throw new Exception("valeur incorrecte");
     }
     public virtual void afficher(){
          Console.WriteLine("La caméra {0} a l'orientation {1}",code,orientation);
     }
}

Q 3 - Q 4 - Q 5 :
Public class CameraMobile:Camera
{
     private int abs;
     private int ord;
     public CameraMobile():base()
     { }
     public CameraMobile(int code, string type, int orientation,int abs,int ord) :base(code,type,orientation){
          this.abs = abs;
          this.ord = ord;
     }
     public void afficherPosition(){
          Console.WriteLine("Abscisse={0}-Ordonnée={1}",abs,ord);
     }
     public override void afficher()
     {
          base.afficher();
          afficherPosition();
     }
     public void avancer(int d){
          switch (this.Orientation){
          case 1: ord += d; break;
          case 2: abs += d; break;
          case 3: ord -= d; break;
          case 4: abs -= d; break;
          }
     }
}

Q 6 :
Public class Test
{
     static void Main(string[] args){
          CameraMobile cm = new CameraMobile(125, "Sony FX30", 1, 0, 0);
          cm.afficher();
          cm.tourner(2); cm.afficher();
          cm.tourner(4); cm.avancer(10); cm.afficher();
          cm.tourner(1); cm.avancer(16); cm.afficher();
          cm.tourner(2); cm.avancer(5); cm.afficher();
          cm.tourner(3); cm.avancer(12); cm.afficher();
          Console.ReadLine();
     }
}

Dossier 3 : HTML - JavaScript - Réseaux:


Exercice 1 : HTML - JavaScript :
Q 1 - Q 2 :
    <html >
        <head>
            <script type="text/javascript">
                function ChangeEtat(f) {
                    if(f.accepter.checked == true) {f.validation.disabled = false }
                    if(f.accepter.checked == false) {f.validation.disabled = true }
                }
                function valForm (f) {
                    if(f.nom.value == "" || f.prenom.value == "" || f.jour.value == "" || f.mois.value == "" || f.an.value == "" || f.pass.value == "" || f.confpass.value == "")
                        alert('Remplir tous les champs!!');
                    else
                        if(f.jour.value <=0 || f.jour.value >31|| f.mois.value <=0 || f.mois.value <=0 || f.mois.value>12 || f.an.value<1900)
                            alert('Date incorrecte!!');
                        else
                            if (f.pass.value != f.confpass.value)
                                alert('Le mot de passe et sa confirmation ne coïncident pas !! ');
                            else
                                f.submit();
                }
            </script>
        </head>
        <body >
            Pour s’inscrire, remplir le formulaire :< br >
            <form Action=" inscr.html" Method="Post" name="f1">
            Nom:<br>
            <input name="nom" size="30" ><br /><br />
            Prénom:<br>
            <input name="prenom" size="30" ><br /><br />
            Date de naissance:<br>
            <input name="jour" size="6" > <input name="mois" size="6" > <input name="an" size="6" ><br /><br />
            Mot de passe : <br />
            <input type="password" name="pass" size="30" >
            <br /><br />
            Confirmer mot de passe :<br>
            <input type="password" name="confpass" size="30" /><br /><br />
            <p><input type="checkbox" name="accepter" onClick=" ChangeEtat (this.form)" >J'accepte les conditions</p>
            <p>
            <input type="button" name="validation" value="Valider" disabled onClick="valForm(this.form)" >
            <input type="reset" value="Annuler" ></p>
            </form>
        </body>
    </html>


Voir aussi » : Examens fin module : HTML - CSS - JavaScript

Q 3 :
On ajoute aux scripts, la fonction :
    function start() {
        setTimeout(window.close, 8000);
    }

La function start s’éxécute au chargement de la page par :
    <body onload="start()">

 Exercice 2 : Réseaux :
 De Q1 à Q4 voir cours.
 Q5 :
   a - Donner les adresses IP et les masques de chaque machine.
        - les adresses autorisées sont (192.168.79.2 jusqu'à 192.168.79.254) sous un masque 255.255.255.0

   b - Donner le type de câble utilisé pour connecter les équipements entre eux.

       
   c - Donner la commande MSDOS pour tester si la machine 1 est connectée à Internet.
        - La commande MSDOS : ping 42.42.6.6
   d - On souhaite que la machine 1 joue le rôle d’un serveur Web (IIS ou Apache), donner les
étapes d’installation et de configuration de ce serveur.

        - Voir cours.

Pour télécharger - Correction Complet d'Examen Théorique De Fin De Formation 2012 - Cliquez sur le lien suivant :
Soon ...
Lire la suite

EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


EFF - Examens Fin Formation  - TDI - Pratique 2011 SQL Server - Oracle - Vb.Net - C# - Asp.Net Variante 7

Dossier 1  BASE DE DONNEES

Un groupe de stagiaires de l’OFPPT s’est fixé comme objectif de développer un site web permettant l’échange de documents de différents types : supports de cours, exercices, examens et autres.
Le site permettra également l’envoi de commentaires autour des documents publiés.
Pour déposer un document ou un commentaire, il faut s’inscrire et devenir membre de la communauté du site.
Le groupe a désigné des administrateurs et des modérateurs du site. Le rôle de ces derniers est de bloquer les documents ou les messages indésirables. Le blocage se fait en changeant la valeur des propriétés etat_document et etat_commentaire de 1 à 2. Un document ou un commentaire bloqué n’est tout simplement pas publié sur le site web.
Les concepteurs de la base de données ont construit le modèle logique des 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.
     Theme( code_theme, nom_theme, description_theme)
     Document( code_document, description_document, chemin_document, date_envoi, etat_document, #code_theme, #login)
     Commentaire( code_commentaire, date_commentaire, texte_commentaire, etat_commentaire, #code_document, #login)
     Membre( login, nom, prenom, email, passe)
     Role( nom_role )
     Role_utilisateur( login, nom_role )


EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net



EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


Travail à faire : enregistrer sur un fichier texte qui porte le nom « dossier1.txt » les requêtes SQL qui répondent aux questions suivantes :
1) Créer  la base de données et remplir les tables par un jeu d’essai. (4 pts)
2) Créer un déclencheur (trigger) lié à l’ajout dans la table Membre et qui insère une ligne dans la table Role_utilisateur en utilisant le nouveau login et le rôle « Utilisateur » ; car tous les membres appartiennent à ce rôle. (2 pts)
3) Créer un déclencheur qui refuse la suppression d’une ligne de la table Role_utilisateur pour le rôle « Utilisateur ». (4 pts)
4) Créer la fonction qui reçoit en paramètre le code d’un thème et renvoie le nombre de commentaires correspondants. (2 pts)
5) Créer la procédure stockée qui renvoie le nombre de documents par thème. (4pts)
6) Développer la procédure stockée permettant de trouver le membre qui a publié le plus grand nombre de documents. (4 pts)

Dossier 2  PROGRAMMATION CLIENT/SERVEUR

Dans ce dossier, on utilisera la base de données du dossier 1.
Les administrateurs et les modérateurs du site décident de développer une application « client/serveur ».
1) Développer un formulaire permettant aux modérateurs de consulter et de bloquer un commentaire à l’aide d’un bouton de commande. Ce formulaire offrira la possibilité de naviguer entre les commentaires qui doivent être classés dans l’ordre décroissant de leur date de dépôt. Le blocage consiste à affecter  la valeur 2 à la propriété etat_commentaire. (4 pts)
2) Développer un formulaire permettant aux administrateurs de mettre à jour la table « Membre » et de modifier les rôles des utilisateurs. Le formulaire doit comporter : (4 pts)
     • des boutons de navigation.
     • Les boutons ajouter, supprimer et enregistrer.
3) Ajouter un formulaire permettant aux administrateurs d’initialiser le mot de passe d’un membre. Le formulaire doit permettre d’effectuer la recherche par login. Deux zones de texte permettront de saisir le mot de passe et sa confirmation. (4 pts)
4) Développer un formulaire permettant de sélectionner un thème et d’enregistrer sur un fichier texte l’ensemble des commentaires correspondants aux documents en rapport avec le thème sélectionné. (4 pts)
5) Créer un menu et une barre d’outils pour votre application. (4 pts)

Dossier 3  DEVELOPPEMENT WEB

     Exercice 1 : (12 pts)
Dans cet exercice, on utilisera la base de données du dossier 1.
L’application web permettra aux internautes de chercher des documents, de consulter les commentaires et de télécharger des fichiers. Elle permet aussi aux membres de poster des documents ou des commentaires.
1) Développer une page qui permet de chercher des documents par thème :
     a. L’internaute commence par sélectionner un thème sur une liste déroulante. (1 pt)
     b. L’application doit afficher la liste des documents correspondants au thème choisi. (2 pts)
     c. L’utilisateur doit pouvoir télécharger le fichier correspondant à un document. (2 pts)
2) Développer une page Web qui permet à l’administrateur suite à une  sélection du nom d’un membre dans une liste déroulante d’afficher dans la même page tous les commentaires postés par le membre sélectionné. Les codes des commentaires doivent être marqués comme des liens hypertexte. Quand on clique sur e lien on doit afficher le texte du commentaire (son détail). Les commentaires doivent être affichés dans l’ordre décroissant des dates de postage. (2 pts)
3) Modifier la page de la question 2 pour ajouter à gauche de chaque commentaire une case à cocher pour pouvoir sélectionner un ou plusieurs commentaires et un bouton de suppression qui sur click doit supprimer tous les commentaires sélectionnés. (2 pts)
4) Développer un état permettant d’imprimer tous les commentaires relatifs à un document donné. L’utilisateur commence par chercher le document par sa référence (code_document). (3 pts)
     Exercice 2 : (8 pts)
Le formulaire de la page web ci-dessous permet de calculer le détail monétaire correspondant à un montant saisi par l’utilisateur. Le bouton « Calculer le détail monétaire » exécute une fonction Javascript qui détermine le nombre de billets et/ou de pièces de monnaies qui correspondent au montant indiqué.


EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


a) Développer la page HTML. (2 pts)
b) Développer la fonction Javascript de calcul du détail monétaire. (6 pts)

EFF - Examens Fin Formation  - TDI - Pratique 2011 SQL Server - Oracle - Vb.Net - C# - Asp.Net Variante 8

Dossier 1  BASE DE DONNEES

Un groupe de stagiaires de l’OFPPT s’est fixé comme objectif de développer un site web permettant l’échange de documents de différents types : supports de cours, exercices, examens et autres.
Le site permettra également l’envoi de commentaires autour des documents publiés.
Pour déposer un document ou un commentaire, il faut s’inscrire et devenir membre de la communauté du site.
Le groupe a désigné des administrateurs et des modérateurs du site. Le rôle de ces derniers est de bloquer les documents ou les messages indésirables. Le blocage se fait en changeant la valeur des propriétés etat_document et etat_commentaire de 1 à 2. Un document ou un commentaire bloqué n’est tout simplement pas publié sur le site web.
Les concepteurs de la base de données ont construit le modèle logique des 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.
     Theme(code_theme, nom_theme, description_theme)
     Document(code_document, description_document, chemin_document, date_envoi, etat_document, #code_theme, #login)
     Commentaire(code_commentaire, date_commentaire, texte_commentaire, etat_commentaire, #code_document, #login)
     Membre( login, nom, prenom, email, passe)
     Role( nom_role )
     Role_utilisateur( login, nom_role )


EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net



EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


Travail à faire : enregistrer sur un fichier texte qui porte le nom « dossier1.txt » les requêtes SQL qui répondent aux questions suivantes :
1) Créer  la base de données et remplir les tables par un jeu d’essai. (4 pts)
2) Créer un déclencheur (trigger) lié à l’ajout dans la table membre et qui insère une ligne dans la table Role_utilisateur en utilisant le nouveau login et le rôle « Utilisateur » ; car tous les membres appartiennent à ce rôle. (2 pts)
3) Créer un déclencheur qui refuse la suppression du membre qui porte le login « admin ». (4 pts)
4) Créer la fonction qui reçoit en paramètre le code d’un thème et renvoie le nombre de documents correspondants. (2 pts)
5) Créer la procédure stockée qui renvoie le nombre de commentaires par thème. (4 pts)
6) Développer la procédure stockée permettant de trouver les membres qui ont publié plus de cinq documents. (4 pts)

Dossier 2  PROGRAMMATION CLIENT/SERVEUR

Dans ce dossier, on utilisera la base de données du dossier 1.
Les administrateurs et les modérateurs du site souhaitent développer une application « client/serveur ».
1) Développer un formulaire permettant aux modérateurs de consulter et de bloquer un document à l’aide d’un bouton de commande. Ce formulaire offrira la possibilité de naviguer entre les documents qui doivent être classés dans l’ordre décroissant de leur date de dépôt. Le blocage consiste à affecter  la valeur 2 à la propriété etat_document. (4 pts)
2) Développer un formulaire permettant aux administrateurs de mettre à jour la table « Theme ». Le formulaire doit comporter : (4 pts)
     • des boutons de navigation.
     • Les boutons ajouter, supprimer et enregistrer.
     • le nombre de documents associés à chaque thème.
3) Ajouter un formulaire permettant aux administrateurs de consulter et de supprimer les documents indésirables. Le formulaire permettra de naviguer sur la liste des documents « bloqués » ( etat_document = 2). Un bouton de commande permettra à l’administrateur de supprimer un document indésirable. (4 pts)
4) Développer un formulaire permettant de sélectionner un thème et d’enregistrer sur un fichier texte, à l’aide d’un boutons de commande, l’ensemble des informations de description des documents, en rapport avec ce thème, enregistrés sur la base de données. (4 pts)
5) Créer un menu et une barre d’outils pour votre application comprenant toutes les options développées avec les questions précédentes. (4 pts)

Dossier 3  DEVELOPPEMENT WEB

     Exercice 1 : (12 pts)
Dans cet exercice, on utilisera la base de données du dossier 1.
L’application web permettra aux internautes de chercher des documents, de consulter les commentaires et de télécharger des fichiers. Elle permet aussi aux membres de poster des documents ou des commentaires.
1) Ajouter une page de connexion et une page permettant à un membre de modifier son mot de passe (prévoir 2 zones de texte pour saisir le mot de passe et sa confirmation).  (2 pts)
2) Développer une page Web qui permet d’afficher une liste de documents envoyés entre deux dates. Les dates de début et de fin doivent être saisies dans des zones de textes dans la même page avant d’appliquer la recherche. Le résultat de la recherche doit être affiché dans la même page aussi. (2 pts)
3) Développer une page qui permet à un membre d’ajouter un document :
     a. L’internaute commence par sélectionner un thème sur une liste déroulante. (1 pt)
     b. Il saisit ensuite toutes les informations relatives au document.  (2 pts)
     c. L’utilisateur doit avoir la possibilité d’envoyer le fichier correspondant au document vers le serveur. (2 pts)
4) Développer un état permettant d’imprimer toutes les descriptions des documents relatifs à un thème donné. L’utilisateur commence par sélectionner le thème sur une liste déroulante. (3 pts)
     Exercice 2 : (8 pts)
Réaliser en Javascript une calculatrice simplifiée selon le design ci-dessous, permettant à l’utilisateur d’effectuer l’une des 4 opérations arithmétiques (+, -, *, /) sur 2 ou plusieurs chiffres saisis directement dans la zone de texte, ou à l’aide des clicks de la souris sur les boutons correspondants.
     - Un click sur le bouton ‘=’ permet d’afficher le résultat.
     - Un click sur le bouton ‘C’ permet d’effacer un chiffre saisi par erreur.


EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


EFF - Examens Fin Formation  - TDI - Pratique 2011 SQL Server - Oracle - Vb.Net - C# - Asp.Net Variante 9

Dossier 1  BASE DE DONNEES

Un groupe de stagiaires de l’OFPPT s’est fixé comme objectif de développer un site web permettant l’échange de documents de différents types : supports de cours, exercices, examens et autres.
Le site permettra également l’envoi de commentaires autour des documents publiés.
Pour déposer un document ou un commentaire, il faut s’inscrire et devenir membre de la communauté du site.
Le groupe a désigné des administrateurs et des modérateurs du site. Le rôle de ces derniers est de bloquer les documents ou les messages indésirables. Le blocage se fait en changeant la valeur des propriétés etat_document et etat_commentaire de 1 à 2. Un document ou un commentaire bloqué n’est tout simplement pas publié sur le site web.
Les concepteurs de la base de données ont construit le modèle logique des 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.
     Theme(code_theme, nom_theme, description_theme)
     Document(code_document, description_document, chemin_document, date_envoi, etat_document, #code_theme, #login)
     Commentaire(code_commentaire, date_commentaire, texte_commentaire, etat_commentaire, #code_document, #login)
     Membre( login, nom, prenom, email, passe)
     Role( nom_role )
     Role_utilisateur( login, nom_role )


EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


Travail à faire : enregistrer sur un fichier texte qui porte le nom « dossier1.txt » les requêtes SQL qui répondent aux questions suivantes :
1) Créer  la base de données et remplir les tables par un jeu d’essai. (4 pts)
2) Créer un déclencheur (trigger) lié à l’ajout dans la table membre et qui insère une ligne dans la table Role_utilisateur en utilisant le nouveau login et le rôle « Utilisateur » ; car tous les membres appartiennent à ce rôle. (2 pts)
3) Créer un déclencheur qui refuse la suppression d’un document posté il y a plus de trois mois. (4 pts)
4) Créer la fonction qui reçoit en paramètre le code d’un thème et renvoie le nombre de commentaires correspondants. (2 pts)
5) Créer la procédure stockée qui renvoie le nombre d’utilisateurs par rôle. (4pts)
6) Développer la procédure stockée permettant de trouver le thème qui comprend le plus grand nombre de documents. (4 pts)

Dossier 2  PROGRAMMATION CLIENT/SERVEUR

Dans ce dossier, on utilisera la base de données du dossier 1.
Les administrateurs et les modérateurs du site souhaitent développer une application « client/serveur ».
1) Développer un formulaire permettant aux modérateurs de consulter et de bloquer un commentaire à l’aide d’un bouton de commande. Ce formulaire offrira la possibilité de naviguer entre les commentaires qui doivent être classés dans l’ordre décroissant de leur date de dépôt. Le blocage consiste à affecter  la valeur 2 à la propriété etat_commentaire. (4 pts)
2) Développer un état qui comprend la liste des documents d’un thème donné. L’utilisateur commence par sélectionner un thème sur une liste déroulante. L’état comprend la date du jour, un titre et un tableau de toutes les informations des documents correspondants au thème sélectionné. (4 pts)
3) Ajouter un formulaire permettant aux administrateurs de consulter et de supprimer les commentaires indésirables. Ce formulaire offrira la possibilité de naviguer entre les commentaires bloqués (etat_commentaire = 2). Un bouton de commande permettra à l’administrateur de supprimer un commentaire indésirable. (4 pts)
4) Développer un formulaire permettant de sélectionner un document et d’enregistrer sur un fichier texte l’ensemble des textes des commentaires, en rapport avec ce document, enregistrés sur la base de données. (4 pts)
5) Créer un menu et une barre d’outils pour votre application. (4 pts)

Dossier 3  DEVELOPPEMENT WEB
     Exercice 1 : (12 pts)
Dans cet exercice, on utilisera la base de données du dossier 1.
L’application web permettra aux internautes de chercher des documents, de consulter les commentaires et de télécharger des fichiers. Elle permet aussi aux membres de poster des documents ou des commentaires.
1) Développer une page d’accueil qui affiche des statistiques sur le nombre de documents, le nombre de commentaires et le nombre de membres. (2 pts)
2) Ajouter une page de connexion et une page permettant à un membre de modifier son mot de passe (prévoir 2 zones de texte pour saisir le mot de passe et sa confirmation). (2 pts)
3) Développer une page qui permet à un membre d’ajouter un commentaire :
     a. L’internaute commence par chercher un document. (1 pt)
     b. Il saisit ensuite le texte de son commentaire et valide son message.  (2pts)
4) Développer une page qui permet à un membre de modifier ses commentaires. En premier lieu, on doit afficher la liste des commentaires avec le code du commentaire sous forme de lien hypertexte. Une fois on clique sur le lien on doit accéder à la page de modification du commentaire. (2 pts)
5) Développer un état permettant d’imprimer toutes les descriptions des documents relatifs à un thème donné. L’utilisateur commence par sélectionner le thème sur une liste déroulante. (3 pts)
     Exercice 2 : (8 pts)
Réaliser en Javascript Le formulaire de la page web ci-dessous permettant de convertir un nombre de la base décimale vers la base binaire ou inversement suite au click de l’utilisateur sur le bouton ‘Convertir’.


EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net
EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


Télécharger Les EFF - Examens Fin Formation - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net :
en format .pdf sur le lien suivant :

EFF - Examens Fin Formation  - TDI - Pratique 2011 - V7-V8-V9 - SQL Server - Oracle - Vb.Net - C# - Asp.Net


Lire la suite

Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - Variante 7

On souhaite développer une application qui  s'adresse aux agriculteurs pour la gestion de leurs parcelles. L’application doit assurer le suivi de différentes opérations réalisées sur les parcelles de l'exploitation au cours d'une campagne, jusqu'à la récolte.
Les interventions culturales sont : travail du sol, semis, apport des engrais, des produits phytosanitaires …
(Un produit phytosanitaire est un produit utilisé pour soigner ou prévenir les maladies des cultures)
1. Pour cela créer la base de données correspondante au modèle suivant : 2 pts


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9

Partie Windows : (25 Pts)

2. Gestion des cultures
         a. Ajouter une nouvelle culture, supprimer ou modifier les données d’une culture existante à partir d’une liste.


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


La case à cocher pour indiquer l’applicabilité des produits phytosanitaires. 2 pts
         b. Une culture peut avoir plusieurs variétés (exemples de variétés de blé tendre sont : Mehdia, Arrihane, Marchouch…) Saisir dans une autre fenêtre toutes les variétés d’une culture donnée.  2 pts
3. Créer une interface pour enregistrer les données d’une nouvelle parcelle. 1 pt
4. Mettre à jour la table « Engrais », Prévoir les boutons : Ajouter, Modifier, Enregistrer, Supprimer, Quitter et des boutons de déplacement  entre les enregistrements. 2 pts
5. Enregistrer une opération d’achat d’engrais, mettre à jour automatiquement la quantité en stock à l’aide de déclencheur. 2 pts
6. Créer une interface qui permet d’attribuer une culture à une parcelle pour une saison donnée (le 1er juillet 2009 constitue le début de la saison 2010). La culture et la parcelle sont sélectionnées dans des zones de liste. 2 pts
7. Enregistrer un plan de fertilisation prévisionnel selon le modèle suivant : 5 pts


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


Après avoir  sélectionné l’engrais, la quantité totale, le coût total, la teneur totale en N, P, K et S sont calculés et affichés automatiquement :
         Coût total = Coût /ha * superficie de la parcelle concernée
         Qté totale = Qté/ha * superficie de la parcelle concernée
         Teneur Total en N = Teneur N * Qté totale
         Calculer les totaux de tous les apports en engrais.
8. Au démarrage de l’application, afficher un message d’alerte rappelant les opérations à effectuer dans les sept jours qui suivent. (date, engrais, quantité totale) 2 pts
9. Permettre à l’utilisateur de marquer une opération comme réalisée en entrant la date d’épandage et la quantité utilisée (mettre à jour automatiquement la quantité en stock à l’aide de déclencheur)  ou de l’annuler (supprimer donc l’opération du planning après une demande de confirmation). 3 pts
10. Créer un état pour imprimer l’historique de l’ensemble des opérations enregistrées pour une saison 2 pts
11. Imprimer la liste des cultures pour les trois dernières saisons pour une parcelle donnée. 2 pts

Partie Web (13 Pts)

12. Dans une page afficher toutes  les parcelles et leurs cultures correspondantes de la saison en cours 2pts
(La saison 2010 débute le 1er juillet 2009 et se termine le 30 juin 2010)
13. Au clic sur le nom d’une parcelle, afficher les trois prochaines  opérations à effectuer. 2 pts
14. Permettre à l’utilisateur de reporter une opération en modifiant sa date prévue de réalisation, de la supprimer ou de la marquer réalisée en entrant les données manquantes (date épandage, quantité). 3 pts
15. Dans la même page afficher le journal détaillé de fertilisation (date, engrais, parcelle, quantité épandue) dans un premier tableau,   le total des apports en N, P, K et S par parcelle (Parcelle, total N, total P, total K, total S) dans un deuxième tableau. Dans un troisième tableau, calculer et afficher le coût total par parcelle (Parcelle, Coût total)  3 pts
16. Pour accéder au site, un utilisateur doit être authentifié, créer un système de sécurité du site. 2 pts
17. Créer un menu pour la navigation 1 pts

Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - Variante 8

On souhaite développer une application qui  s'adresse aux agriculteurs pour la gestion de leurs parcelles. L’application doit assurer le suivi de différentes opérations réalisées sur les parcelles de l'exploitation au cours d'une campagne, jusqu'à la récolte.
Les interventions culturales sont : travail du sol, semis, apport des engrais, des produits phytosanitaires …
(Un produit phytosanitaire est un produit utilisé pour soigner ou prévenir les maladies des cultures)
1. Pour cela créer la base de données correspondante au modèle suivant : 2 pts


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9

Partie Windows : (25 Pts)

2. Gestion des cultures
         a. Ajouter une nouvelle culture, supprimer ou modifier les données d’une culture existante à partir d’une liste.


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


La case à cocher pour indiquer l’applicabilité des produits phytosanitaires. 2 pts
         b. Une culture peut avoir plusieurs variétés (exemples de variétés de blé tendre sont : Mehdia, Arrihane, Marchouch…) Saisir dans une autre fenêtre toutes les variétés d’une culture donnée.                                   2 pts

3. Créer une interface pour enregistrer les données d’une nouvelle parcelle. 1 pt
4. Enregistrer une opération d’achat de semence, mettre à jour automatiquement la quantité en stock à l’aide de déclencheur. 2 pts
5. Mettre à jour la table « Travail du sol », Prévoir les boutons : Ajouter, Modifier, Enregistrer, Supprimer, Quitter et des boutons de déplacement  entre les enregistrements.  2 pts
6. Créer une interface qui permet d’attribuer une culture à une parcelle pour une saison donnée (le 1er juillet 2009 constitue le début de la saison 2010). La culture et la parcelle sont sélectionnées dans des zones de liste. 1 pt
7. Dans la même fenêtre, enregistrer une opération de semis (la variété de semence est  sélectionnée dans une liste), mettre à jour le stock de semence à l’aide d’un déclencheur 2 pts
8. Planifier les travaux du sol (pour chaque travail sélectionné l’utilisateur saisi la date prévue de l’opération). 4 pts


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


Après avoir  sélectionné l'intervention, le coût par hectare s'affiche automatiquement. Le coût total est calculé après la sélection de la parcelle (le coût total = coût/ha  multiplié par la superficie de la parcelle concernée).
Calculer et afficher le coût total des interventions.
9. Au démarrage de l’application, afficher un message d’alerte rappelant les opérations à effectuer dans les sept jours qui suivent. (date, travail sol, parcelle) 2 pts
10. Permettre à l’utilisateur de marquer une opération comme réalisée en entrant la date de réalisation et le coût réel ou de l’annuler (supprimer donc l’opération du planning après une demande de confirmation). 3 pts
11. Créer un état pour imprimer l’historique de l’ensemble des opérations enregistrées pour une saison. 2 pts
12. Imprimer la liste des cultures pour les trois dernières saisons pour une parcelle donnée. 2 pts

Partie Web : (13 Pts)

13. Dans une page afficher toutes  les parcelles et leurs cultures correspondantes de la saison en cours 2 pts
(La saison 2010 débute le 1er juillet 2009 et se termine le 30 juin 2010)
14. Au clic sur le nom d’une parcelle, afficher les trois prochaines  opérations à effectuer. 2 pts
15. Permettre à l’utilisateur de reporter une opération en modifiant sa date prévue de réalisation, de la supprimer ou de la marquer réalisée en entrant les données manquantes (date réalisation et coût réel). 3 pts
16. Dans une même page afficher le journal détaillé des travaux réalisés  (date, travail sol, parcelle, prix) dans un premier tableau. Dans un deuxième  tableau, calculer et afficher le coût total par parcelle (Parcelle, Coût total) 3 pts
17. Pour accéder au site, un utilisateur doit être authentifié, créer un système de sécurité du site. 2 pts
18. Créer un menu pour la navigation 1 pt

Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - Variante 9

On souhaite développer une application qui  s'adresse aux agriculteurs pour la gestion de leurs parcelles. L’application doit assurer le suivi de différentes opérations réalisées sur les parcelles de l'exploitation au cours d'une saison, jusqu'à la récolte.
Les interventions culturales sont : travail du sol, semis, apport des engrais, des produits phytosanitaires …
(Un produit phytosanitaire est un produit utilisé pour soigner ou prévenir les maladies des cultures)
1. Pour cela créer la base de données correspondante au modèle suivant : 2 pts


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9

Partie Windows : (25 Pts)

2. Gestion des cultures
         a. Ajouter une nouvelle culture, supprimer ou modifier les données d’une culture existante à partir d’une liste.


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


La case à cocher pour indiquer l’applicabilité des produits phytosanitaires. 2 pts
         b. Une culture peut avoir plusieurs variétés (exemples de variétés de blé tendre sont : Mehdia, Arrihane, Marchouch…) Saisir dans une autre fenêtre toutes les variétés d’une culture donnée.         2 pts
3. Créer une interface pour enregistrer les données d’une nouvelle parcelle. 1 pt
4. Mettre à jour la table « Produits Phytosanitaires », Prévoir les boutons : Ajouter, Modifier, Enregistrer, Supprimer, Quitter et des boutons de déplacement  entre les enregistrements. 2 pts
5. Enregistrer une opération d’achat de produit phytosanitaire, mettre à jour automatiquement la quantité en stock à l’aide de déclencheur. 2 pts
6. Créer une interface qui permet d’attribuer une culture à une parcelle pour une saison donnée (le 1er juillet 2009 constitue le début de la saison 2010). La culture et la parcelle sont sélectionnées dans des zones de liste. 2 pts
7. Enregistrer un planning de traitement par produit phytosanitaire selon le modèle suivant : 5 pts


Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9
Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


Après avoir  sélectionné le produit phytosanitaire, le coût par hectare s'affiche automatiquement. Le coût total est calculé après la sélection de la parcelle (le coût total = coût/ha  multiplié par la superficie de la parcelle concernée).
Calculer et afficher le coût total des interventions.
8. Au démarrage de l’application, afficher un message d’alerte rappelant les opérations à effectuer dans les sept jours qui suivent (date, produit phytosanitaire, parcelle, dose/ha, quantité).  2 pts
9. Permettre à l’utilisateur de marquer une opération comme réalisée en entrant la date de réalisation et la quantité utilisée (mettre à jour automatiquement la quantité en stock à l’aide de déclencheur) ou de l’annuler (supprimer donc l’opération du planning après une demande de confirmation). 3 pts
10. Créer un état pour imprimer l’historique de l’ensemble des opérations enregistrées pour une saison 2 pts
11. Imprimer la liste des cultures pour les trois dernières saisons pour une parcelle donnée. 2 pts

Partie Web : (13 Pts)

12. Dans une page afficher toutes  les parcelles et leurs cultures correspondantes de la saison en cours
(La saison 2010 débute le 1er juillet 2009 et se termine le 30 juin 2010) 2 pts
13. Au clic sur le nom d’une parcelle, afficher les trois prochaines  opérations à effectuer. 2 pts
14. Permettre à l’utilisateur de reporter une opération en modifiant sa date prévue de réalisation, de la supprimer ou de la marquer réalisée en entrant les données manquantes (date de réalisation, quantité utilisé et le coût réel par ha). 3 pts
15. Dans une même page afficher le journal détaillé des apports en phytosanitaire (date, phytosanitaire, parcelle, quantité) dans un premier tableau. Dans un deuxième  tableau, calculer et afficher le coût total par parcelle (Parcelle, Coût total) 3 pts
16. Pour accéder au site, un utilisateur doit être authentifié, créer un système de sécurité du site. 2 pts
17. Créer un menu pour la navigation 1 pts

Télécharger Les Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9 :
en format .pdf sur le lien suivant :

Examens de Fin de Formation - Pratique - TDI - 2010 - Jour 3 - V7 - V8 - V9


Lire la suite

Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6


Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - Variante 4

I - BASE DE DONNEES

« MAROC BENEVOLAT » est une organisation à but non lucratif qui s’est fixé pour mission de favoriser la mise en relation entre les bénévoles en quête d’activités et les associations qui recherchent des personnes motivées et compétentes.
Pour ce faire, une base de données a été mise en place pour enregistrer les actions de bénévolat, les associations partenaires et les candidats bénévoles qui souhaitent s’investir.
Exemple d’action bénévole : « Soigner des personnes sans domicile fixe. Le bénévole médecin ou infirmier assurera une consultation pour apporter les premiers soins, orienter sur d'autres organismes des personnes sans domicile fixe du Centre d'hébergement d'urgence ».
L’équipe en charge du dossier d’analyse de l’application a construit le modèle conceptuel des données suivant :


Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6
Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6


1) Créer  la base de données et remplir les tables par un jeu d’essai. (1.5 pts)
2) Ajouter une contrainte qui vérifie que la valeur de la colonne état de l’Action est comprise entre 1 et 3. (0.5 pt)
3) Créer un déclencheur qui refuse l’ajout d’une candidature lorsque la date de fin de l’action concernée est supérieure à la date du jour. (0.5 pt)
4) Créer la procédure stockée qui reçoit en paramètre le code d’une action et renvoie le nombre de candidatures correspondantes. (0.5 pt)
5) Créer la procédure stockée qui renvoie le nombre de candidatures par catégorie d’action. (0.5 pt)
6) Développer la procédure stockée permettant de trouver l’Action qui n’a enregistré aucune candidature au cours d’une période donnée en paramètre (deux dates d1 et d2). (0.5 pt)

II - PROGRAMMATION

Pour répondre aux besoins de certains utilisateurs, on vous demande de développer une application « client/serveur ».
1) Proposer et créer le menu de l’application selon les fonctionnalités qui apparaîtront sur les questions suivantes (1pt)
2) Développer le formulaire permettant de chercher un bénévole par son nom ou son login et de changer son mot de passe. (1pt)
3) Afin de bloquer une action, suite à une réclamation, on vous demande de développer un formulaire de recherche des actions par numéro, titre ou date de début. Le résultat de la recherche doit être affiché sur une grille et un bouton doit permettre de bloquer une action sélectionnée. (2 pts)
4) Ajouter sur le formulaire de recherche d’un bénévole, les boutons qui permettent :
     a. D’afficher un état comportant les informations du bénévole ainsi que la liste de ses candidatures. (1pt)
     b. D’afficher un histogramme du nombre de candidatures par action. (2 pts)
5) Ajouter à votre menu une option qui permet d’enregistrer la liste de toutes les informations des bénévoles sur un fichier texte.  L’utilisateur sélectionne le chemin d’enregistrement, spécifie le nom du fichier et lance l’opération de création du fichier. (3 pts)

III - DEVELOPPEMENT WEB

1) Les spécifications de présentation de votre site web doivent être enregistrées sur le fichier « Style.css ». (1pt)
2) Développer une page HTML d’accueil qui affiche un message de bienvenue, le nom et la version du logiciel navigateur client. La page doit comprendre un bouton pour accéder à l’application et un autre qui ferme la fenêtre. (1pt)
3) Développer la page de recherche des associations par ville et par nom. (1pt)
4) Une association peut être ajoutée à la base de données par l’un de ses responsables. Développer les formulaires de connexion et d’inscription des responsables des associations. (1pt)
Ajouter les contrôles de validation pour les champs de saisie :
     • le mot de passe doit avoir une longueur supérieure à 6 caractères.
     • L’adresse e-mail doit avoir un format correct.
     • Tous les champs sont obligatoires.
5) Créer la page qui permet à une association de modifier ses coordonnées. (1pt)
6) Créer la page qui permet à une association de déposer une action. (1pt)

Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - Variante 5

I - BASE DE DONNEES

« MAROC BENEVOLAT » est une organisation à but non lucratif qui s’est fixé pour mission de favoriser la mise en relation entre les bénévoles en quête d’activités et les associations qui recherchent des personnes motivées et compétentes.
Pour ce faire, une base de données a été mise en place pour enregistrer les actions de bénévolat, les associations partenaires et les candidats bénévoles qui souhaitent s’investir.
Exemple d’action bénévole : « Soigner des personnes sans domicile fixe. Le bénévole médecin ou infirmier assurera une consultation pour apporter les premiers soins, orienter sur d'autres organismes des personnes sans domicile fixe du Centre d'hébergement d'urgence ».
L’équipe en charge du dossier d’analyse de l’application a construit le modèle conceptuel des données suivant :


Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6
Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6


1) Créer  la base de données et remplir les tables par un jeu d’essai. (1.5 pts)
2) La date de candidature à une action n’est pas une information à saisir. Sa valeur doit être automatiquement initialisée par la date du système. (0.5 pt)
3) La date de fin d’une action doit être supérieure à sa date de début. Ajouter un déclencheur qui permet de rejeter toutes les opérations d’ajout ou de modification qui ne respectent pas cette contrainte. (0.5 pt)
4) Créer la vue qui renvoie le nombre de candidatures par titre d’action. (0.5 pt)
5) Créer la procédure stockée qui supprime toute action dont la date de fin est inférieure à la date du jour et qui n’a eu aucune candidature. (0.5 pt)
6) Développer la procédure stockée permettant de trouver l’Action qui a enregistré le maximum de candidatures au cours d’une période donnée en paramètre (deux dates d1 et d2). (0.5 pt)

II - PROGRAMMATION

Pour répondre aux besoins de certains utilisateurs, on vous demande une application « client/serveur ».
1) Proposer et créer le menu de l’application selon les fonctionnalités qui apparaîtront sur les questions suivantes (1 pt)
2) Développer le formulaire de mise à jour des compétences. Ajouter un bouton pour chercher les compétences dont le nom commence par une chaîne saisie sur une zone de texte (1 pt)
3) La colonne « Etat » de la table « Action » peut prendre les valeurs suivantes :
     • 1 : Action créée. Elle n’est pas publiée sur le Web
     • 2 : Action publiée sur le web. Un administrateur publie une Action après l’avoir examinée. L’action peut être modifiée par son créateur, elle passe alors à l’état 1.
     • 3 : Action bloquée. Un administrateur peut bloquer une annonce suite à une réclamation par exemple. L’action ne peut plus être modifiée par son créateur et n’apparaît plus sur le Web.
Développer le formulaire de consultation des actions  nouvellement créées et prévoir un bouton qui permet de publier une annonce. (2 pts)
4) Ajouter sur le formulaire de mise à jour des compétences, les boutons qui permettent:
     a. D’afficher un état des actions correspondantes à la compétence en cours (1 pt)
     b. D’afficher un histogramme du nombre d’actions par compétence (2pts)
5) Ajouter à votre menu une option qui permet d’enregistrer la liste de toutes les informations des bénévoles sur un fichier texte.  L’utilisateur sélectionne le chemin d’enregistrement, spécifie le nom du fichier et lance l’opération de création du fichier. (3 pts)

III - DEVELOPPEMENT WEB

1) Les spécifications de présentation de votre site web doivent être enregistrées sur le fichier « Style.css ». (1 pt)
2) Développer une page HTML d’accueil qui affiche un message de bienvenue, le nom et la version du système d’exploitation du poste client. La page doit comprendre un bouton pour accéder à l’application et un autre qui ferme la fenêtre. (1 pt)
3) Développer la page de recherche des bénévoles par ville et par nom. (1 pt)
4) Développer les formulaires de connexion et d’inscription des bénévoles (1 pt)
Ajouter les contrôles de validation pour les champs de saisie :
     • le mot de passe doit avoir une longueur supérieure à 6 caractères.
     • L’adresse e-mail doit avoir un format correct.
     • Tous les champs sont obligatoires.
5) Créer la page qui permet à un bénévole de modifier ses données. (1 pt)
6) Créer la page qui permet à un bénévole de déposer une candidature. (1 pt)

Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - Variante 6

I - BASE DE DONNEES

« MAROC BENEVOLAT » est une organisation à but non lucratif qui s’est fixé pour mission de favoriser la mise en relation entre les bénévoles en quête d’activités et les associations qui recherchent des personnes motivées et compétentes.
Pour ce faire, une base de données a été mise en place pour enregistrer les actions de bénévolat, les associations partenaires et les candidats bénévoles qui souhaitent s’investir.
Exemple d’action bénévole : « Soigner des personnes sans domicile fixe. Le bénévole médecin ou infirmier assurera une consultation pour apporter les premiers soins, orienter sur d'autres organismes des personnes sans domicile fixe du Centre d'hébergement d'urgence ».
L’équipe en charge du dossier d’analyse de l’application a construit le modèle conceptuel des données suivant :


Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6
Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6


1) Créer  la base de données et remplir les tables par un jeu d’essai. (1.5 pts)
2) Ajouter à la table bénévole, une colonne calculée nommée NP qui renvoie le nom et le prénom du bénévole, séparés par un espace. (0.5 pt)
3) Ajouter la procédure stockée qui renvoie la dernière candidature en date pour un bénévole dont le numéro est fourni comme paramètre. (0.5 pt)
4) Créer un index pour la colonne Login de la table BENEVOLE. (0.5 pt)
5) Créer la procédure stockée qui renvoie le nombre de jours pour une action dont le code est fourni comme paramètre. (0.5 pt)
6) Développer la procédure stockée permettant de trouver la ville qui a enregistré le maximum d’actions au cours d’une période donnée en paramètre (deux dates d1 et d2). (0.5 pt)

II - PROGRAMMATION

Pour répondre aux besoins de certains utilisateurs, on vous demande de  développer une application « client/serveur ».
1) Proposer et créer le menu de l’application selon les fonctionnalités qui apparaîtront sur les questions suivantes (1pt)
2) Développer le formulaire de consultation des associations par ville qui comprend une liste déroulante permettant de sélectionner une ville et une grille qui affiche les associations qui y sont implantées. (1pt)
3) Développer le formulaire de mise à jour des compétences. Ajouter un bouton pour chercher les compétences dont le nom commence par une chaîne saisie sur une zone de texte. (1 pt)
4) Développer le formulaire qui permet à un bénévole de modifier son mot de passe. Le formulaire de modification comprend l’ancien mot de passe, le nouveau mot de passe et sa confirmation. Le nouveau mot de passe doit comporter plus de 5 caractères. Ajouter tous les contrôles de validation nécessaires. (1pt)
5) Ajouter sur le formulaire de consultation des associations, les boutons qui permettent:
     a. D’afficher un état des associations par ville. Le nom de la ville sélectionnée doit apparaître sur le titre de l’état. (1pt)
     b. D’afficher un histogramme du nombre d’associations par ville.  (2pts)
6) Ajouter à votre menu une option qui permet d’enregistrer la liste de toutes les informations des bénévoles sur un fichier texte.  L’utilisateur sélectionne le chemin d’enregistrement, spécifie le nom du fichier et lance l’opération de création du fichier. (3 pts)

III - DEVELOPPEMENT WEB

1) Les spécifications de présentation de votre site web doivent être enregistrées sur le fichier « Style.css ». (1 pt)
2) Développer une page HTML d’accueil qui affiche un message de bienvenue et la langue utilisée par l’internaute. La page doit comprendre un bouton pour accéder à l’application et un autre qui ferme la fenêtre. (1 pt)
3) Développer la page de recherche des actions par ville et par compétence. (1 pt)
4) Développer les formulaires de connexion des bénévoles. (1 pt)
5) Créer la page qui permet à un bénévole de rechercher et de modifier une de ses candidatures. (1 pt)
6) Créer la page qui permet à un bénévole de modifier ses coordonnées. (1 pt)

Télécharger Les Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6 :
en format .pdf sur le lien suivant :

Examens de Fin Formation - TDI - 2010 - Pratique - Jour 2 - V4 - V5 - V6


Lire la suite
Retrouvez-nous sur Facebook
×Facebook Mouad Ouisse