Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tdi 2018 FF TH Corrigé

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 9

Direction de la

OF
Recherche et
PPT
Ingénierie de la
Formation
Office de la Formation Professionnelle
et de la Promotion du Travail
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)

Juge Film
1 ,1
1 ,N 1 ,N
codeJuge CodeF
nom Voter Titre
prenom Description
nationalité .......
Appartient

1 ,N

Catégorie

codeCat
libelle

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)

Filière Epreuve Session 1/ 9


DI Théorique Fin de Formation Juillet 2018
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/ 9


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) une feuille de style XSLT permettant de transformer le fichier XML en un tableau HTML
listant toutes les plantes du catalogue. (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/ 9


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, les champs marqués avec une étoile
sont obligatoire à remplir. (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 &nbsp;&nbsp;

<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&eacute;l&eacute;phone<span >*</span>: <small style="color:grey;"
>Confidentiel</small></label>
<div >
<input type="text" name="mobile" id="mobile" value="" />
</div>

Filière Epreuve Session 4/ 9


DI Théorique Fin de Formation Juillet 2018
</div>
</fieldset>
</div>

2) Ecrire le code JavaScript permettant d’ajouter la compétence choisie de la liste déroulante


ainsi que le niveau de maitrise dans la liste des compétences suite au clic sur le bouton
Ajouter (3 pts)
3) Ecrire le code JavaScript permettant suite au clic sur le bouton Valider d’afficher dans un
message dialogue toutes les informations du formulaire. (3pts)

Dossier 4: (7pts)

Soit l’interface suivante d’une application mobile :

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"
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"

Filière Epreuve Session 5/ 9


DI Théorique Fin de Formation Juillet 2018
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) Ecrire le code permettant lors du clic sur le bouton Commander et après avoir choisie une
quantité d’afficher dans une boite de dialogue l’article choisi ainsi la quantité commandée. (2 pt)

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);

Filière Epreuve Session 6/ 9


DI Théorique Fin de Formation Juillet 2018
String msg="";
msg+=liste.getSelectedItem().toString()
+"/"+np.getValue();
alertDialogBuilder.setTitle("form inscription");
alertDialogBuilder.setMessage(msg);
AlertDialog alertDialog =
alertDialogBuilder.create();
alertDialog.show();
}
});
}

=========================================================================

Diffusé par :

Mr. RACHID ETTARFI
Ingénieur d'État
Formateur en Techniques de Développement Informatique (TDI)

ISTA Hay Salam - Salé

E-mail : ettarfiprof@gmail.com

Je vous invite à consulter tous les liens Internet ci-dessous :

https://www.facebook.com/monprof2016
https://www.facebook.com/ettarfi.rachid
Nouveau :

http://anouar.e-monsite.com/
https://www.facebook.com/anouar.lumieres.33

Google Drive (2 liens Internet pour des centaines/milliers de documents : cours,


exercices, examens, vidéos, ....) :

https://drive.google.com/folderview?id=0B5zCbY-
seJT7RnczZEozZ29DcWs&usp=drive_web

Filière Epreuve Session 7/ 9


DI Théorique Fin de Formation Juillet 2018
 

https://drive.google.com/open?id=0B5zCbY-seJT7c2ZjQWI5UnNxMGM 

Les énoncés & les corrigés d'anciens examens NTIC :

https://drive.google.com/drive/folders/0B5zCbY-seJT7NVVGcGxDTzZhM2s

https://drive.google.com/drive/folders/0B5zCbY-seJT7Wkd4X04yVHkxMmM

https://drive.google.com/drive/folders/0B5zCbY-seJT7VTZBeVZsMjM4WG8

N.B. : les corrigés fournis ne sont pas tous corrects.

Ma Chaîne YouTube :

https://www.youtube.com/channel/UCcO4C2_snwDwXgrtNx-L68Q

https://www.youtube.com/channel/UCcO4C2_snwDwXgrtNx-L68Q/playlists

Un plus :

http://ettarfi.e-monsite.com/

http://ettarfi.e-monsite.com/pages/qr/vos-questions-et-reponses.html

__________________________

https://www.phonandroid.com/wifi-comment-securiser-le-reseau-de-la-
maison.html
Trois sites très intéressants pour télécharger de vrais livres de différents
domaines/langues :
http://libgen.io/  (cliquez sur l'image d'un livre pour pouvoir le télécharger)
https://www.pdfdrive.net

Filière Epreuve Session 8/ 9


DI Théorique Fin de Formation Juillet 2018
http://meslivres.site
http://meslivres.site/pf5.html

Filière Epreuve Session 9/ 9


DI Théorique Fin de Formation Juillet 2018

Vous aimerez peut-être aussi