Direction de la Recherche et Ingénierie de la Formation Examen de fin de format

Direction de la Recherche et Ingénierie de la Formation Examen de fin de formation session Juillet 2018 Corrigé Filière : Techniques de Développement Informatique Epreuve : Théorique Niveau : TS Durée : 4 heures Barème : /40 pts Dossier 1 : (16 pts) 1) Le modèle conceptuel de données (MCD) correspondant : (3pts) Filière Epreuve Session 1/7 DI Théorique Fin de Formation Juillet 2018 Juge Catégorie Film codeJuge nom prenom nationalité CodeF Titre Description ....... codeCat libelle Voter Appartient 1 ,N 1 ,N 1 ,1 1 ,N OF PPT Office de la Formation Professionnelle et de la Promotion du Travail N.B : Pour les questions qui suivent, tenir compte du SGBDR utilisé (Oracle/Sql Server/MySql) 2) Non un même juge ne peut pas voter 2 fois pour le même film du fait de la contrainte de clé primaire composée : (codeF, CodeJuge). (1pt) 3) (2 pts) Create table Film (codeF number(8) primary key, Titre varchar2(100), description varchar2(200), langue varchar2(20), anneeProduction number(4), codeCat number(4), Constraint fk_cat_categorie foriegn key (codeCat) references categorie (codeCat)) ; 4) (2 pts) Alter table Film Add constraint ck_annee_film (check anneeProduction<=to_char(sysdate,’fmyyyy’)); 5) (2 pts) Select codeF, titre, descriptin, langue, anneeProduction From Film f join categorie c using (codecat) Where libelle=’Action’ and anneeProduction>=2016; 6) (2 pts) Select nom, prenom From jury j join vote v using (codeJuge) join Film f using (codeF) Where titre=’Avatar’; 7) (2 pts) Select titre, count(*) nombredevote From film join vote using (codeF) Group by titre Order by nombredevote desc; 8) (2pts) Select nom , prenom From juge join vote using (codejuge) Where codeF in (select codef from vote join juge using(codejuge) where nom=’ADAMS’ and prenom=’Jhon’); Dossier 2 : (8pts) 1) les requêtes XPath : a) //Catlogue/Plante [zone= 3]. (1 pt) //Catlogue/Plante [QuantiteStock>0]. (1 pt) Filière Epreuve Session 2/7 DI Théorique Fin de Formation Juillet 2018 2) le schéma XSD correspondant au fichier XML. (3pts) <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/NewXMLSchema2" xmlns:tns="http://www.example.org/NewXMLSchema2" elementFormDefault="qualified"> <element name="Catalogue" > <complexType > <sequence> <element name="Plante" maxOccurs="unbounded" minOccurs="1"> <complexType > <sequence> <element name="nomCommun" type="string"></element> <element name="nomBotanique" type="string"></element> <element name="zone" type="int"></element> <element name="Eclairage" type="string"></element> <element name="prix" type="float"></element> <element name="QunatiteStock" type="int"></element> </sequence> </complexType> </element> </sequence> </complexType> </element> </schema> 3) Feuille de style XSLT permettant de transformer le fichier XML en un tableau HTML : (3pts) <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Catalogue</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Nom commun</th> <th>Nom botanique</th> <th>Zone</th> <th>prix</th> </tr> <xsl:for-each select="catalogue/Plante"> <tr> <td><xsl:value-of select="NomCommun"/></td> <td><xsl:value-of select="NonBotanique"/></td> <td><xsl:value-of select="zone"/></td> <td><xsl:value-of select="prix"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> Filière Epreuve Session 3/7 DI Théorique Fin de Formation Juillet 2018 Dossier 3 : (9 pts) 1) le code Html de la première partie en haut de la page : (3 pts) <div > <h3> INFOS DE PROFIL: </h3> <form action= "/inscription" method= "post" > <fieldset> <div class= "" > <input name="sexe" value="Femme" type="radio">Femme <input name="sexe" value="homme" checked="" type="radio">Homme    <div style="margin-top:15px;"> </div> <div style="margin-bottom:15px;"> <label > <input type="checkbox" name="iscompany" value="1" /> Oui, je suis une Société </label> </div> <div style="margin-top:5px;"> <label >Nom Société:</label> <div > <input type="text" name="scocite" id="scociete" /> </div> </div> <div > <label >Titre Profil <span >*</span>:</label> <div > <input placeholder="Ex: Développeur Senior en PHP..." type="text" name="titre" id="titre" size="60" required="required" /> </div> </div> <div > <label >Pays/Ville <span >*</span>:</label> <div style="margin-bottom:10px;"> <select id="ville" > <option value="" selected="selected">- Veuillez choisir -</option> <option value="2">Maroc</option> <option value="67">France</option> <option value="68">Belgique</option> <option value="69">Suisse</option> <option value="70">Canada</option> <option value="71">Autre pays</option> </select> </div> </div> <div > <label >Téléphone<span >*</span>: <small style="color:grey;" >Confidentiel</small></label> Filière Epreuve Session 4/7 DI Théorique Fin de Formation Juillet 2018 <div > <input type="text" name="mobile" id="mobile" value="" /> </div> </div> </fieldset> </div> Questions 2 et 3 (JavaScript) : <script> function afficher(){ var vals='sexe : '+document.getElementById("sexe").value+", nom : "+document.getElementById("nom").value+", Titre : "+document.getElementById("titre").value+ ", Pays :"+ pays.options[pays.selectedIndex]+....... alert (vals); } function ajouterCompetence(){ var option = document.createElement('option'); var i = competence.selectedIndex; if (i == 0) { return; } var j = niveau.selectedIndex; if (j == 0) { return; } option.text = option.value = competence.options[i].text+'-'+niveau.options[j].text; document.getElementById("liste").add(option, 0); } </script> Dossier 4: (7pts) 1) Le layout correspondant à l’interface sous la plateforme Android. D’autres solutions peuvent être envisagées : (3 pts) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" Filière Epreuve Session 5/7 DI Théorique Fin de Formation Juillet 2018 tools:context=".MainActivity" > <Spinner android:id="@+id/listeArts" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:entries="@array/items" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/listeArts" android:layout_centerVertical="true" android:text="Quantite" android:textAppearance="? android:attr/textAppearanceMedium" /> <NumberPicker android:id="@+id/npQte" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> <Button android:id="@+id/btnCmd" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/npQte" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:text="Commander" /> </RelativeLayout> 2) Associer au bouton commander un écouteur (Listener) pour gérer les clics. (2 pts) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnCmd).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } 3) Code du clic sur le bouton Commander : (2 pt) Filière Epreuve Session 6/7 DI Théorique Fin de Formation Juillet 2018 public class MainActivity extends Activity { NumberPicker np; Spinner liste; AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnCmd).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { np=(NumberPicker) findViewById(R.id.npQte); liste=(Spinner) findViewById(R.id.listeArts); String msg=""; msg+=liste.getSelectedItem().toString() +"/"+np.getValue(); alertDialogBuilder.setTitle("form inscription"); alertDialogBuilder.setMessage(msg); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show(); } }); } } Filière Epreuve Session 7/7 DI Théorique Fin de Formation Juillet 2018 uploads/S4/ 19-6-ntic-tdi-eff-theorie 2 .pdf

  • 24
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Apv 11, 2021
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.2134MB