Showing posts with label JavaScript. Show all posts
Showing posts with label JavaScript. 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

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>


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.

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)

Télécharger L'Examen de Fin de Formation Théorie 2010 - TSDI :
en format .pdf sur le lien suivant :

Examen de Fin de Formation Théorie 2010 - TSDI


Examens de fin de module : Développement et déploiement de sites Web dynamiques Asp.net (Vb.net, Csharp), (Sql server, Oracle), XML, DTD, XSD, XPATH, XSLT


Développement et déploiement de sites Web dynamiques Asp.net (Vb.net, Csharp), (Sql server, Oracle), XML, DTD, XSD, XPATH, XSLT

Examen Fin Module 1 :


Sujet : Gestion des reservation en ligne des chambres d'hotel
Soit la base de données présentée par le modèle relationnel suivant :
          CHAMBRE(NUM_CHAMBRE,TYPE_CHAMBRE, PRIX)
          CLIENT(ID_CLIENT, NOM_CLIENT, LOGIN, PASSWORD)
          RESERVATION(#NUM_CHAMBRE, #ID_CLIENT, DATE_RESERVATION, NOMBRE_JOUR)
1) Créer la base de données « GESTION DES RESERVATIONS D’HOTEL », en implémentant les différentes contraintes d’intégrité possibles.
2) Créer une page d’authentification des clients avec gestion des erreurs d’authentification.
3) Créer une page qui affiche la liste des chambres d’hôtel par catégorie (type de chambre);
Explication : sur la même page et à partir d’une liste déroulant contenant les différentes type de catégorie de chambre ; afficher la liste des chambres par catégorie.
4) Modifier la page précédente afin qu’elle puisse nous renvoyer vers une autre page contenant le détail sur la chambre sélectionnée ; avec la possibilité d’effectuer une réservation en ligne (ajouter la page de réservation).
5) Créer la page qui permet à un client, une fois authentifie, de consulter l’historique de ses réservations ainsi que leur montant total.
6) Ajouter à la dernière page le nombre d’utilisateur authentifie, qui ont visité notre site de réservation en ligne.
7) Ajouter un web service permettant d’offrir au programmeur d’application dynamique la possibilité d’intégrer le catalogue des chambres dans n’importe quel site web dynamique.
8) Ajouter dans la page de la question 5 une option qui permet de générer un fichier XML contenant les réservations du Client connecté.
9) Créer un document XSL qui permet de transformer le document XML de la question précédant en un document HTML. Le résultat à produire doit contenir un titre ainsi qu’un tableau contenant les informations des réservations.

Développement et déploiement de sites Web dynamiques Asp.net (Vb.net, Csharp), (Sql server, Oracle), XML, DTD, XSD, XPATH, XSLT

Examen Fin Module 2 :


Exercice 1 :
On souhaite gérer le parc automobile d’une entreprise.
La base de données se présente ainsi :
          Marque(code_marque, nom_marque)
          Vehicule(numero_serie, immatriculation, date_sortie, #code_marque)
          Employe(matricule, nom, prenom, login, passe)
          Mission(Numero_mission, date_mission, #matricule, #numero_serie)
1) Créer la base de données.
2) Ajouter des déclencheurs qui empêchent la modification ou la suppression dans les tables « Marque ».
3) Créer un style pour votre site ainsi que la page master.
4) Ajouter un menu avec les options suivantes :
          • Chercher un véhicule par marque (page publique)
          • Chercher un employé (page publique)
          • Chercher une mission (page accessible uniquement aux utilisateurs inscrits)
          • Ajouter une mission (page accessible uniquement aux utilisateurs inscrits)
5) Développer la page de mise à jour des véhicules.
6) Développer les deux pages de recherche.
7) Ajouter la page d’inscription des utilisateurs.
8) Ajouter un fournisseur de sécurité et développer le code de la fonction « ValidateUser ».
9) Ajouter la page de connexion des utilisateurs.
10) Dans la page master, ajouter un loginStatus et un loginView.
11) Configurer la sécurité sur le fichier web.config.
12) Créer la page permettant d’ajouter une mission.

Exercice 2 :
Créer la DTD correspondant au fichier XML suivant :

efm-Développement-et-déploiement-de-sites-Web-dynamiques-Asp.net-Vb.net-Csharp-Sql server-Oracle-XML-DTD-XSD-XPATH-XSLT-1



Développement et déploiement de sites Web dynamiques Asp.net (Vb.net, Csharp), (Sql server, Oracle), XML, DTD, XSD, XPATH, XSLT

Examen Fin Module 3 :


Exercice 1 :
Le système d'achat groupé, également appelé "deal" consiste à réunir plusieurs personnes souhaitant acheter un même produit ou service. Les clients fidèles du site peuvent bénéficier des bons de réductions lors des achats en lignes.
Les concepteurs de la base de données ont élaborés le modèle logique de données suivants :
          Consommateur (CIN, Prénom, Nom, Téléphone, Adresse, Ville, Date_ naissance, email)
          BonReduction (Code_Bon, montant, date_validité, #CIN)
1. Créer la base de données de l’application ajouter quelques enregistrements dans les tables.
2. Développer une page d’accueil et le menu du site qui incluse les opérations demandées par les questions suivantes (le menu doit être accessible au niveau du site).
3. Créer une page permettant d’ajouter un consommateur, tous les champs sont obligatoires et un message d’erreur doit être affiché si le format de l’adresse mail est invalide.
4. Développer une page de connexion au site, le consommateur doit spécifier son adresse mail et son mot de passe pour accéder au site. Un message d’erreur doit être affiché si ces informations ne sont pas correctes, le site doit être sécurisé.
5. Une fois l’utilisateur est connecté son nom doit être affiché au niveau de l’ensemble des pages du site ainsi que le nombre des visiteurs actuellement connectés au site.
6. Créer une page web permettant de rechercher et d’imprimer les bons de réduction supérieur à un montant saisit par un utilisateur.
7. créer un service web permettant de vérifier si un bon d’achat est valide ou pas (une valeur booléenne doit être retournée).
8. Créer une page web permettant de consommer le service web : l’utilisateur saisie le numéro de bon de réduction. Le message « bon de réduction valide » si la réponse du service web est true, sinon afficher le message « bon de réduction invalide».

Exercice 2 :
On dispose de la DTD deal.dtd :

efm-Développement-et-déploiement-de-sites-Web-dynamiques-Asp.net-Vb.net-Csharp-Sql server-Oracle-XML-DTD-XSD-XPATH-XSLT-2


Créez un document XML vérifiant cette DTD en incluant la DTD dans le document.

Autres EFM (s) sur le lien suivant :
t-d-info-Télécharger Examen de fin de module :  Développement et déploiement de sites Web dynamiques Asp.net (Vb.net, Csharp), (Sql server, Oracle), XML, DTD, XSD, XPATH, XSLT

Examens de fin de module : les applications hypermédias (HTML, CSS, JavaScript)


Application hypermédias

Examen Fin Module 1 :


Exercice 1 :
Créez un tableau de 600 pixels de large contenant cinq lignes et trois colonnes avec des bordures de 4 pixels, un espacement entre cellules de 10 pixels.

Exercice 2 :
Nous allons réaliser un mini-site. Réalisez une page index.html sur le modèle donné ci-dessous.
t-d-info-efm-Application-hypermédias-3


Exercice 3 : Nombre Mystérieux
• Il s'agit de faire trouver un nombre entier nbInconnu à l'utilisateur. Ce nombre sera obtenu au hasard, entre 0 et 100, par exemple.
• On n'accorde qu'un nombre d'essais limités maxEssai, fixé en constante au début du programme.
• A chacun des essais dans le composant Proposition, le joueur donne un nombre NbEssai et par appel d'une fonction provoquée par l'événement onChange, il obtiendra dans le composant Message, « c'est plus » ou « c'est moins ».
• Deux conditions peuvent donc arrêter la répétition des essais :
           1. Le joueur a découvert nbInconnu
           2. OU il a épuisé le nombre total d'essais permis maxEssai
• Si le nombre inconnu a été trouvé avant le nombre maximum d'essais, le programme affichera le message dans le composant Réponse "Vous avez trouvé en ... essais", sinon il affichera "Le nombre à touver était : ......".
• Prévoir la possibilité pour le joueur de recommencer une partie (bouton Nouveau jeu).
• A tout moment, le joueur peut demander la réponse (bouton Réponse).
Voici l'interface souhaitée :
t-d-info-efm-Application-hypermédias-8

Application hypermédias

Examen Fin Module 2 :


Exercice 1 :
1- Créez le tableau suivant en fusionnant les colonnes.
t-d-info-efm-Application-hypermédias-1

2- Créez le tableau suivant en fusionnant les lignes.
t-d-info-efm-Application-hypermédias-2


Exercice 2 :
Pour s'inscrire dans un forum, un utilisateur doit remplir le formulaire suivant :
t-d-info-efm-Application-hypermédias-4

1- Ecrire le code HTM de la page web du formulaire.
2- Ecrire le permettant de respecter les règles :
           a- Tous les champs sont obligatoires.
           b- La date de naissance doit être vaide : 1<= jour <=31, 1<= mois <=12, année>=1910,
           c- Le champ (Mot de passe) et e champ (Confirmer le mot de passe) doivent être égaux.
3- Ajouter le code JavaScript qui permet de fermer automatiquement la fenêtre du navigateur au bout de 20 secondes.

Exercice 3 :
• On entre une expression arithmétique dans une ligne de texte nommée calcul. (On pourra par la suite en fournir au hasard)
• L'enfant doit proposer une réponse dans le champ nommé reponse
• Prévoir un 3ème champ, nommé message, pour accueillir un message.
• Si la saisie dans reponse est vide, alors afficher dans message "Propose une réponse", sinon comparer la réponse à la valeur (avec la fonction eval () qui évalue une chaîne de caractère).
• Le message sera suivant le cas "réponse fausse .. corrige" ou bien "bonne réponse" .
• Un bouton marqué résultat devrait permettre à tout moment d'obtenir la réponse exacte dans le champ message.
• La partie d'analyse de la réponse sera programmée dans une fonction verif() Voici l'interface souhaitée :
t-d-info-efm-Application-hypermédias-9

Application hypermédias

Examen Fin Module 3 :


Exercice 1 :
Créer un menu horizontal en HTML et CSS.

Exercice 2 : Créez un formulaire divisé en trois groupes.
Le premier groupe permet d’obtenir les coordonnées du visiteur. Il contient trois zones de texte pour la saisie du nom, du prénom et de l’e-mail et une zone de mot de passe.
Ces champs sont suivis d’un groupe de boutons radio pour indiquer le sexe de la personne.
Enfin, ce groupe se termine par une liste de sélection qui contient trois groupes d’options pour le choix du pays.
Le deuxième groupe permet de saisir des informations sur les goûts du visiteur. Il comprend trois cases à cocher et une zone de texte multilignes de 50 caractères de large et de 5 lignes de haut.
Le troisième groupe contient un composant d’envoi de fichier et un champ caché indiquant la taille maximale des fichiers fixée à 10 Ko. Le formulaire se termine bien évidemment par l’insertion des boutons d’envoi et de réinitialisation.
t-d-info-efm-Application-hypermédias-10


Exercice 3 :
On se propose d'écrire une page HTML et des fonctions Javascript permettant de jouer le Sudoku. (sans en expliquer les règles ici) Pour cela :
1- Ecrire les lignes HTML permettant d'obtenir le tableau suivant : les cellules sont des zones de texte d'un formulaire. Bien sûr, les cellules qui contiennent des chiffres au départ sont non modifiables par l'utilisateur. Aucun style ne devra apparaître dans les balises mais dans une feuille de style.
- Alors répondre à cette question revient à créer deux fichiers ; html et un autre css.
Remarque : pour mettre de la bordure pour le tableau ou des cases du tableau; utilisez les propriétés :
border-bottom: pour la bordure en bas du tableau ou de la case.
border-left: pour la bordure à gauche du tableau ou de la case.
border-right: pour la bordure à droite du tableau ou de la case.
border-top: pour la bordure en haut du tableau ou de la case.
t-d-info-efm-Application-hypermédias-5

2 – L'utilisateur doit entrer un chiffre dans chaque case vide. Lorsqu'il a fini, il a deux possibilités offertes par deux boutons :
Vérifier que la grille est correctement remplie ou charger la solution sur une autre page html.l.
Ecrire les lignes html permettant d'ajouter ces deux boutons au formulaire précédent sans écrire les fonctions.
t-d-info-efm-Application-hypermédias-6

Remarque :le texte des boutons est écrit en police Times new roman, de taille 10 points. La couleur du texte est rouge pour le premier et bleue pour le second ; l'aspect des boutons est en relief, l'épaisseur de leurs bordures est de 4 pixels et la couleur de fond jaune. La largeur des boutons est de 200 pixels pour le premier et 100 pixels pour le second Aucun style ne devra apparaître dans les balises mais dans la feuille de style. N’oublier pas de mettre tout le contenu de cette page dans un formulaire !!


3– Mise en place des fonctions liées aux deux boutons :
           a –Le bouton "vérifier ma grille" permet de vérifier que la grille est complètement remplie (plus aucune cellule vide et chaque cellule est remplie par le chiffre correcte). Dans le cas favorable il faut afficher un message « vous avez réussi » sinon « c’est incorrecte réessayez encore :!!! »
           b- le premier bouton permet d'ouvrir une page HTML "grille2.html" qui contient la solution. Ecrire les lignes HTML et javascript permettant d’ afficher la page html grille2. html lors du clic sur le bouton "solution dans nouvelle page". on ne demande pas d’écrire le code de la page html grille2.html.
Proposition : vous nommez chaque cellule par C11, C12, C13…. ; avec C13 est la case de la première ligne et la troisième colonne, C34 est la case de la troisième ligne et la quatrième colonne, La figure suivante montre la réponse de cette grille, alors lors de la vérification il faut vérifier si chaque case contienne me chiffre convenable alors si C11 contient par exemple le chiffre 3 alors dans ce cas on affiche message( c’est incorrecte réessayez ) ; on ne demande pas de spécifier dans les messages alert quelle est la cellule qui contient un chiffre incorrecte le message précédent suffit. .
t-d-info-efm-Application-hypermédias-7


Autres EFM (s) sur le lien suivant :
t-d-info-Télécharger Examen de fin de module : Application hypermédias

Retrouvez-nous sur Facebook
×Facebook Les Filières Informatiques