17 juin 2010

Examen de Passage - Théorie 2010 - TDI



Examen de Passage - Théorie 2010 - TDI


I – CONNAISSANCES GÉNÉRALES ET LOGIQUE :

1. Donner une définition aux termes suivants :
        BIOS     (0,25 Pt)
        SDRAM PC133  (0,25 Pt)
        PCI    (0,25 Pt)
        AGP     (0,25 Pt)
2. Votre ordinateur affiche le message suivant : No CPU installed
        - Que signifie le message ?     (0,25 Pt)
        - Comment vous allez remédier à ce problème ? (0,25 Pt)
3. Votre ordinateur affiche le message suivant : System failed memory test
- Que signifie le message et comment vous allez remédier à ce problème ? (0,5 Pt)  
4. Convertir en binaire  le nombre  décimal  37                             (0,25 Pt)
5. Convertir le nombre hexadécimal  B12  en un nombre décimal (0,25 Pt)
6. Effectuer les opérations suivantes :
        a. Multiplication :   (0,25 Pts)
                11111111 * 110001
        b. Division :   (0,25 Pts)
                111101100111  /  111111
7. Soit la fonction F définie par la table de vérité ci-contre :


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI


        a) Proposer une expression de F à partir de la table de vérité. (1 Pt)
        b) Donner l'expression simplifiée de la fonction F en utilisant la méthode de Karnaugh. (1 Pt)

II – ALGORITHMES ET PROGRAMMATION STRUCTURÉE  EN C OU C++

IMPORTANT : Les programmes doivent être écrits en ou C++, aucun autre langage de programmation ne sera accepté pour la programmation structurée
1) On souhaite écrire un algorithme qui permet de convertir un nombre entier naturel entré par l’utilisateur en binaire.
        a) Ecrire une fonction  qui retourne le nombre de bits nécessaires pour représenter un entier naturel n en binaire. (1pt)
        b) Ecrire un algorithme qui permet d’afficher la représentation binaire d’un entier naturel n entré par l’utilisateur. (0.5pt)
2) Ecrire un algorithme qui permet de chercher toutes les occurrences d'une valeur donnée dans un tableau de N éléments. (1pt)
Exemple :


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI


3) On donne en entrée un tableau de N éléments de type entier. Donner le programme qui affiche les éléments du tableau qui possèdent leur carrés (t(i)*t(i)) dans le même tableau. Les éléments sont rangés dans un ordre aléatoire à l’intérieur du tableau. (1pt)
Exemple :


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI


les éléments dont les carrés sont présents : 1,2,4,5

4) Pour un entier n strictement positif on associe n/2 si n est pair et 3n+1 si n est impair. En réappliquant cette transformation à l'entier obtenu, on définit un algorithme dit de Syracuse. On admettra que pour tout entier strictement positif de départ on finisse toujours par arriver à 1.
On demande d'écrire un programme qui, pour une valeur de départ proposée par l'utilisateur, affiche la liste des entiers obtenus jusqu'à 1, ainsi que le nombre de fois qu'il est nécessaire d'appliquer la transformation pour y arriver. (1.5pts)
Voici un exemple de déroulement de cet algorithme :
Valeur de départ (entier strictement positif) ?  12
        6   3   10   5   16   8   4   2   1
On doit appliquer 9 fois la transformation avant d'arriver à 1
5) Quelle est la valeur de s après exécution des instructions suivantes (0.5 Pt)
int i;
int S = 0;
for (i=1; i < 6; i=i+2)
    S = S + i;

        a. 7
        b. 9
        c. 11
        d. Erreur
6) Écrire un programme qui transfère une matrice M à deux dimensions L et C dans un tableau V à une seule dimension. (1.5pts)

III – PROGRAMMATION ORIENTÉE OBJET EN VB.NET, C # OU JAVA

On veut construire un programme capable d’afficher et de déplacer des figures géométriques colorées dans un repère en deux dimensions.
Un graphique est un ensemble de figures affichables et déplaçables par translation. On veut pouvoir afficher des segments, des triangles, et des rectangles. Ces trois éléments graphiques sont définis à l’aide de points.
Après une première analyse, on décide de modéliser l’application de la manière suivante :
        – une classe Point représentera les coordonnées d’un point qui serviront à créer des figures.
        – une classe Segment sera définie par deux points et une couleur, codée par un entier positif.
        – une classe Triangle sera définie par trois points et une couleur, codée par un entier positif.
        – une classe Rectangle sera définie par quatre points et une couleur, codée par un entier positif.
        – la classe Graphique est la classe principale et permettra d’afficher un ensemble d’objets graphiques.
Comme nous pensons devoir ajouter ultérieurement de nouveaux types de figures géométriques, nous décidons d’utiliser des interfaces pour décrire leurs comportements communs.
1. Après avoir étudié les différences et les points communs entre les quatre premières classes que nous avons distinguées, décrivez la ou les interfaces utiles et précisez les classes qui les implémenteront. (1Pt)
2. Décrire la méthode static de la classe Graphique qui permet d’afficher un tableau de figures géométriques. (0.5 Pt)
3. Ecrire la  classe Point en précisant ses constructeurs qui seront utilisés dans le reste du programme et la méthode toString (0.5 Pt)
4. Donnez le constructeur de la classe Segment, et la méthode qui effectuera une translation.
(Attention : le constructeur doit recopier le point en utilisant le constructeur par copie de la classe Point. En effet, un point est modifiable par translation et peut servir à la création d’autres figures elles mêmes translatables.) (1Pt)
5. Ecrire le code de la classe Triangle. (1Pt)
6. Ecrire le code de la classe Rectangle (1Pt)

IV – ANALYSE DE SI :

Le document ci-dessous représente un bon de commande établit par la société NTIC Company pour la fourniture des articles.
Les adresses de livraison et de facturation présentent respectivement  le lieu de livraison des articles et l’adresse de règlement de la facture


Examen de Passage - Théorie 2010 - TDI
Examen de Passage - Théorie 2010 - TDI

15 juin 2010

Examens de Passage - 2010 - Pratique - Variante 8

Examens de Passage - 2010 - Pratique - Variante 8


PARTIE I :  PROGRAMMATION STRUCTUREE EN C OU C++

1. Écrire un programme permettant de calculer le Poids Idéal (PI) obtenue par la formule de Lorentz (1 Pt)
     Pour les femmes : PI = t - 100 - [ ( t - 150 ) / 2 ]
     Pour les hommes : PI = t - 100 - [ ( t - 150 ) / 4 ]
     t = taille en centimètre
2. Ecrire  un programme qui permet d’insérer une valeur X dans un tableau T, supposé trié, de façon à respecter l’ordre des éléments de T. le tableau T contient N éléments et sera dimensionné à N+1 (pour permettre de ranger X). (1 Pt)
    Si N=10 et T =  17 17 21 23 24 26 27 30 30 38
    Si X =25  on doit obtenir : 17 17 21 23 24 25 26 27 30 30 38
3. Écrire un programme de recherche de la valeur maximale d'une matrice de réels de taille n x m. (1 Pt)
4. Faire un programme pour le calcul et l’affichage suivant : (2 Pts)



Examens de Passage - 2010 - Pratique - V7 - V8 - V9
Examens de Passage - 2010 - Pratique  V8 

PARTIE II :  LOGICIELS D’APPLICATION

On vous demande de développer une application sous MS Access  pour gérer  les  réservations des clients :
    Client (numCli, nomCli, AdresseCli, VilleCli)
    Chambre (numChambre, prixChambre, typeChambre)
    Réservation (numRes, dateDébut, dateFin, numCli#, NumChambre #)

NB : numCli# et NumChambre # sont deux clés étrangères
1.  Créez la base de données sous MS Access  (1 Pt) 
     - Définir la clé primaire pour chaque table
     - Définir les clés étrangères 
     - Définir les relations entre les tables
     - Saisir un jeu  d’enregistrements significatif pour chaque table.  
2. Créer les requêtes suivantes :   (1 Pt)
     - Afficher la liste des clients de Rabats 
     - Afficher le prix moyen de toutes les chambres
     - Afficher le prix moyen par type Chambre 
     - Afficher les réservations de l’année 2009   
3. Créer un formulaire pour mettre à jour la table Réservation (1 Pt)

PARTIE III :  PROGRAMMATION ORIENTEE OBJET EN VB.NET, C# OU JAVA

La faculté des sciences et techniques de Settat souhaitent mettre en place système de gestion de parrainage des étudiants.
Soit la class Enseignant qui comporte les attributs suivants :
    codeIdentifiant int
    nom   String
    prenom  String
    sexe   char (‘m’,’f’)
    age   int
    affectation  String 

1) Codage de la class Enseignant : (1.5 Pts)
     - Ecrire la class Enseignant.
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Enseignant.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeIdentifiant de la class Enseignant ; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Enseignant.
     - Ajouter une méthode afficher () qui afficher toutes les informations d’un Enseignant.
2) Créer une exception nommée erreurAge qui se déclenche lors de la saisie d’un âge négatif d’un Enseignant.  (0.5 Pt)
Soit la classe Etudiantqui modélise un Etudiant et qui comporte les attributs suivants :
    codeÉtudiant  int
    nom    String
    prenom  String
    niveau   int

3) Codage de la class Etudiant: (1 Pt)
     - Ecrire la class Etudiant
     - Ajouter un compteur qui permet de compter le nombre des objets créés de la class Étudiant.
     - Ajouter un constructeur sans argument qui initialise l’attribut codeEtudiant de la class Etudiant; le code doit avoir la valeur du compteur.
     - Ajouter un constructeur qui initialise tous les attributs de la classe Étudiant.
Soit la classe Parrain qui reprend tous les attributs de la classe Enseignant et qui y ajoute une collection d’objets Etudiant(liste des étudiants parrainés par l’Enseignant identifiés par leurs codeEtudiant).
4) Codage de la class Parrain : (1 Pt)
     - Ecrire la classe Parrain.
     - Ajouter une méthode afficher() qui affiche toutes les informations sur un parrain.
5) Ajouter une méthode ajouterÉtudiant() qui ajoute un Etudiant à la collection des étudiants parrainés par un enseignant. (1 Pt)
6) Ajouter une méthode supprimerÉtudiant() qui supprime un Etudiant de la collection des Etudiants parrainés par un enseignant. (1 Pt)

PARTIE IV :  PROGRAMMATION EVENEMENTIELLE EN VB.NET, C# OU JAVA

Pour plus de convivialité, On souhaite développer quelques fonctionnalités de l’application de gestion de parrainage des étudiants.
1) Créer un formulaire permettant de mettre à jour les informations relatives à un Enseignant (1 Pt)
2) Créer un formulaire permettant de mettre à jour les informations relatives à un Etudiant (1 Pt)
3) Créer un formulaire qui permet :
    a. Ajouter un Etudiant à la collection des étudiants parrainés par un enseignant. (0.5 Pt)
    b. Supprimer un Etudiant de la collection des étudiants parrainés par un Enseignant. (0.5 Pt)
    c. Afficher la collection des étudiants parrainés par un Enseignant donné. (0.5 Pt)
    d. Afficher le nombre d’ étudiants parrainés par un Enseignant donné. (0.5 Pt)
4) Nous souhaitons enregistrer l’ensemble des étudiants parrainés par un Enseignant dans un ficher texte. Ecrire le programme permettant de réaliser cette fonctionnalité. (1 Pt)
5) Proposer une animation de démarrage de votre application avec votre nom de famille (0.5 Pt)
6) Protéger l’accès à cette application par : (0.5 Pt)
    Nom d’utilisateur : ADMIN
    Mot de passe : t-d-info

8 juin 2010

Examen de Fin de Formation Théorie 2010 - TDI

Examen de Fin de Formation Théorie 2010 - TDI 



I – MODELISATION DE SI :

SupTIC est une école supérieure délocalisée au Maroc, spécialisée dans  la formation pointue dans le secteur des IT.
Les inscriptions fonctionnent de la façon suivante. : 
Au début de chaque semestre, un catalogue des cours proposés est fourni par la Direction aux étudiants. Chaque cours est décrit par un certain nombre d'informations, en particulier : l'enseignant, le cursus et les prérequis.
Ce catalogue ne peut être créé avant que tous les cours ne soient affectés à des enseignants. Pour cela, chaque enseignant accède au système d'inscription pour indiquer les cours qu'il prévoit d'enseigner.
Les étudiants doivent remplir des fiches d'enregistrement qui indiquent leurs choix de cours. L'étudiant standard doit suivre 4 enseignements choisis dans le catalogue. Il devra indiquer aussi deux cours supplémentaires. En effet, il se peut que, parmi les 4 cours choisis, l'un des cours soit trop plein ou abandonné par manque d'étudiants. Chaque cours doit en effet être dispensé à au moins 5 étudiants et au plus 30 étudiants. Si un cours est choisi par moins de 5 étudiants, il est supprimé.
Ces fiches sont gérées par la scolarité. Une fois la période d’inscription terminée, un programme est exécuté pour affecter les étudiants aux cours. Dans la plupart des cas, les étudiants obtiennent ce qu’ils ont choisi. Après que tous les étudiants aient été correctement affectés aux différents cours, un listing est imprimé pour chaque étudiant pour vérification.
Une fois la sélection de cours d'un étudiant validée, l'information est transmise au système de facturation qui facturera l'étudiant pour son semestre.

1. Donner un diagramme des cas d'utilisation du système. (1.5 Pts)
2. Décrire un scénario principal par un diagramme de séquence. (2 Pts)
3. Donner un diagramme de classes (2 Pts)
4. Déduire un MCD (1.5 Pts)


II – SGBDR :

Une compagnie aérienne désire gérer l’ensemble de ses vols qu’elle met en service ainsi que les pilotes et les avions qui effectuent ces vols.
Le schéma de la base de données vous a été fournit comme suit :
Donner le code SQL permettant de :


Examen de Fin de Formation Théorie 2010 - TDI
Examen de Fin de Formation Théorie 2010 - TDI


1. Ajouter le champs Ville à la table PILOTE.  (0,25 pt)
2. Donner le nom des pilotes planifiés pour des vols sur A320. (0,25 pt)
3. Donner le nom des pilotes planifiés pour des vols sur A320, qui habitent dans la ville de localisation d’un A320. (0,25 pt)
4. Pour chaque ville desservie, donner la moyenne, le minimum et le maximum des capacités des avions qui sont localisés dans un aéroport desservant cette ville. (0,25 pt)
5. Dans la table VOL, créer un trigger en insertion qui vérifie que la ville d’arrivée est différente de la ville de départ et que l’heure d’arrivée est postérieure à l’heure de départ. Dans le cas contraire, on annule l’insertion.  (0.5 pt)
6. Créer une procédure stockée "Planning" qui affiche pour un nom et un prénom de pilote passés en paramètres, les numéros de vol, avec les aéroports de départ et d’arrivée, classés par date et heure de départ. (0.5 pt)  

III – RESEAUX INFORMATIQUES :

1. Qu’est ce qu’une adresse IP ? Quel est son rôle ? (0.5 pt)
2. Donnez la classe IP des adresses suivantes :  (0.75 pt)


Examen de Fin de Formation Théorie 2010 - TDI
Examen de Fin de Formation Théorie 2010 - TDI


3. Définir les éléments d’interconnexions suivants : (0.75 pt)
        a. cartes réseau
        b. concentrateurs 
        c. commutateurs

IV – DEVELOPPEMENT WEB

1. Développer une fonction Javascript qui reçoit une matrice carrée de neuf lignes et neuf colonnes et vérifie que la somme des éléments de n’importe quelle ligne n est égale à la somme des éléments de la colonne n. (1 Pt)
2. Donner la DTD correspondante au document XML suivant : (2 Pts)

<liste>
<hotel code="1">
<nom>ADRAR</nom>
<adresse>Avenue Mohamed V</adresse>
<ville>AGADIR</ville>
<tel>028840437</tel>
<tel>028840717</tel>
<fax>028840545</fax>
</hotel>
<hotel code="2">
<nom>CHEMS</nom>
<adresse>1, Rue Houmane Fetouaki</adresse>
<ville>MARRAKECH</ville>
<tel>024444813</tel>
<tel>024444817</tel>
<tel>024444815</tel>
<fax>024440547</fax>
<fax>024 435400</fax>
<mail>chems@fram.fr</mail>
</hotel>
</liste>

V – PROGRAMMATION OBJET


Vous allez devoir participer à la conception et à la programmation d’une application de gestion d’un agenda. Un agenda électronique permet de mémoriser des événements, ponctuels (comme un examen de P.O.O. le mercredi 22 mai de 14h `a 16h) ou chroniques (comme un cours de P.O.O. tous les lundis, mardis, mercredis à partir du 18 janvier et pendant 6 semaines). 
Un événement chronique est caractérisé  par les mêmes informations qu’un événement ponctuel, plus la périodicité (le nombre de jours auxquels un événement revient; par exemple, 7 pour un cours hebdomadaire) et le nombre de fois ou la périodicité est renouvelée.
Un agenda électronique appartient à une personne dont on mémorise le nom et le prénom.
Ensuite, il gère essentiellement la structure de données qui lui sert à mémoriser les événements.

1. Créer  les classes Evénement, EvenementChronique et EvenementPonctuel.(1.5 Pts)
        - Ecrivez tous les constructeurs nécessaires pour les événements, ainsi que les méthodes toString.  
2. Créer la classe Agenda.  (0.75 Pt)
3. Ajouter à la classe Agenda les méthodes.  
        - creerEvenementPonctuel (0.75 Pt)
        - creerEvenementChronique (0.75 Pt)
        - afficheEvenementsDuJour (0.75 Pt)
4. Ajouter une méthode de suppression d’un événement d une agenda.  (0.75 Pt)
5. Créer une classe de test   (0.75 Pt)

6 juin 2010

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

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

3 juin 2010

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

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

2 juin 2010

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

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)

1 juin 2010

Examens Fin Formation - TDI - Pratique - 2010 - Jour 1 - Variante 2

Examens Fin Formation - TDI - Pratique - 2010 - Jour 1 - Variante 2


La société LaBio est spécialisée dans les analyses de produits et matériaux industriels qui ont pour but d’en garantir la qualité et la sécurité.
Chaque jour, elle réceptionne des échantillons pour lesquels différentes analyses doivent être effectuées. Les informations liées à cette activité sont gérées à partir d’une application qui utilise la base de donnée suivante :
      Client (codeclient, nom, rue, cpclient, villeclient, tel)
      Typeanalyse (RefTypeAnalyse,designationTypeAnalyse,prixTypeAnalyse)
      Echantillon (codeEchantillon,dateEntree,codeclient)
      Realiser (codeEchantillon,refTypeAnalyse,dateRealisation)

I – SGBDR : (4 Pts)

1. Créer une base de données relative au schéma relationnel et ajouter un jeu d’enregistrements pour toutes les tables (2Pts)
2. Ajouter des procédures stockées qui permettent de:
      a. Afficher pour un client donné le nombre de échantillons qu’il a présenté à la société. (0.5 Pt)
      b. afficher la liste des échantillons analysés entre deux dates (0.5 Pt)
      c. Afficher le montant total généré par un type d’analyse (0.5 Pt)
      d. Ecrivez un trigger qui permet d’adapter le même format du téléphone lors de la modification ou l’ajout des informations d’un client  (exemple de format souhaité 05 22.20.20.20). . (0.5 Pt)

II – APPLICATION : (11 Pts)

1. Créer un formulaire qui permet de mettre à jour les clients. (1Pt)
      - Prévoir les boutons : Ajouter, Modifier, Supprimer, Quitter et des boutons de déplacement  entre les enregistrements.
2. Créer un formulaire qui permet de mettre à jour les types d’analyse. (1.5 Pts)
      - Prévoir les boutons : Ajouter, Modifier, Supprimer, Quitter et des boutons de déplacement  entre les enregistrements.
3. Créer un formulaire qui permet de mettre à jour les échantillons. (1.5 Pts)
      - Prévoir les boutons : Ajouter, Modifier, Supprimer, Quitter et des boutons de déplacement  entre les enregistrements.
4. Créer un formulaire qui permet de mettre à jour la table Realiser. Prévoir les boutons : Ajouter, Modifier et Enregistrer (1Pt)
5. Créer une feuille de recherche qui affiche :
      a. Pour un client donné (combobox), afficher tous ses échantillons (1Pt)
      b. Pour une date donnée, tous les échantillons traités ainsi que le montant total généré (1Pt)
6. Créer l’état qui affiche le chiffre d’affaire généré par an (1Pt)
7. Faites un graphe qui représente les chiffres d’affaire dans les cinq dernières années.(2 Pts)
8. Créer une feuille MDI avec un menu de navigation (0.5Pt)
9. Créer le déploiement de votre application (0.5Pt)

III  - Web : (5 Pts)

1. Développer une page web qui permet de consulter pour chaque client le nombre d’échantillons déposés ainsi que les dates de dépôt du plus ancien et du plus récent (1Pt)
2. Développer une page web qui permet de consulter les analyses en cours  (1Pt)
3. Développer un service web (ajouter_échantillon)  qui permet d’ajouter un échantillon (1Pt)
4. Développer une page web qui permet d’ajouter, modifier, supprimer un échantillon. Votre page doit consommer le service web (1Pt)
5. Développer une page qui permet de chercher les codes et les dates d’entrée des échantillons pour lesquels aucune analyse n’a été réalisée. (1Pt)