Corrigés : Examen de Fin de Formation Théorique 2014 et 2015, TDM
....
....
....
Dossier 1 : 10pts
....
....
Examen de Fin de Formation - Session Juin 2014
Eléments de Correction
Filière :
Techniques
de Développement Multimédia
Niveau :
Technicien
Spécialisé
|
Epreuve : Théorique
Barème : 40 pts
Durée : 4 H
|
Dossier 1 :
1.
Voir cours
2.
3 textures 3D disponible dans 3ds Max :
Cellulaire, Entaille, Atténuation,
Marbre, Bruit ...
3.
Voir cours
4.
Avantages d’Ajax :
-
Interactivité : les interfaces
utilisant AJAX offrent une interactivité et une réactivité bien plus
importantes que les pages habituelles, où l'utilisateur doit attendre le
rechargement complet de sa page.
-
Portabilité : tous les navigateurs
actuels proposent l'ensemble des outils nécessaires à la mise en place d'un
moteur AJAX.
5.
Les états de readyState sont les
suivants :
0: non initialisé.
1: connexion
établie.
2: requête reçue.
3: réponse en
cours.
4: terminé.
....
6.
Voir cours
7.
{
"annuaire": {
"personne": [
{
"nom": "SAFI",
"prenom":
"Amal",
"telephone":
"0676587845",
"email":
"safi@gmail.com"
},
{
"nom": "ALAOUI",
"prenom": "Amine",
"telephone": "0666985845",
"email": "alaoui@yahoo.fr"
}
]
}
}
8.
JSON.stringify et JSON.Parse
9.
La propriété de feuille de
style css text-shadow permet de créer une ombre sous le
texte…
Dossier 2 :
create database Tournoi
1.
use Tournoi
CREATE TABLE EQUIPE (Code INT primary key, Nom varchar(10),
Groupe varchar(2))
CREATE TABLE STADE (Code INT primary key, Nom varchar(10),
Capacité int, Ville varchar(20))
CREATE TABLE MATCHE
(Code INT primary key, #Code_stade int foreign key references STADE(code), Date
DATETIME, Journée int)
CREATE TABLE ARBITRE
(Code int primary key, Nom varchar(10), Prénom varchar(10), Nationalité varchar(10), Age int)
CREATE TABLE JOUER
(#CodeMatch int foreign key references MATCHE(Code) , #CodeEquipe int foreign
key references EQUIPE(Code), #CodeArbitre int foreign key references
ARBITRE(Code), Localité VARCHAR(10), NbreSet int ,primary
key(#CodeMatch,#CodeEquipe,#CodeArbitre))
2.
A déduire du MLD.
3.
ALTER TABLE JOUER ADD Constraint Ck_Localité check(localité in
('Dimicile','Visiteur'))
4.
ALTER TABLE EQUIPE
ADD Constraint Ck_Groupe check(Groupe LIKE '[A-H]')
5.
INSERT INTO STADE(Code,Nom,Capacité,Ville)
VALUES (1,'La victoire',10000,'Toulouse'),
(2,'La liberté',9500,'Montpelier'),
(3,'La
défense',10000,'Paris')
6.
UPDATE MATCHE
SET
Date=DATEADD(DAY,3,Date)
WHERE #Code_stade
IN(SELECT Code FROM Stade Where Nom='La Liberté')
7.
CREATE FUNCTION
NombreSet(@CodeEquipe INT,@CodeMatche INT)
RETURNS INT
AS
BEGIN
DECLARE @Nb INT
SELECT @Nb=NbreSet FROM JOUER WHERE
#CodeEquipe=@CodeEquipe AND #CodeMatch=@CodeMatche
RETURN @Nb
END
8.
CREATE FUNCTION
NombrePoint(@CodeEquipe INT,@CodeMatche INT)
RETURNS INT
AS
BEGIN
DECLARE @Nb INT,
@NbPoint INT
SELECT @Nb=NbreSet FROM JOUER WHERE
#CodeEquipe<>@CodeEquipe AND #CodeMatch=@CodeMatche
If @Nb>(SELECT
dbo.NombreSet(@CodeEquipe,@CodeMatche))
SET @NbPoint=0
ELSE
SET @NbPoint=3
RETURN @NbPoint
END
9.
CREATE PROC
SupprimerEquipe(@Code INT)
AS
IF(@Code IN (SELECT
#CodeEquipe FROM JOUER))
Return -1
DELETE EQUIPE
WHERE Code=@Code
Return 0
10.
CREATE TRIGGER
InsertEquipe
ON EQUIPE
FOR INSERT
AS
DECLARE @NB INT
DECLARE @Grp
VARCHAR(2)
SELECT @Grp=Groupe
FROM INSERTED
SELECT @NB=COUNT(*)
FROM EQUIPE WHERE Groupe=@Grp
IF @NB>4
ROLLBACK TRAN
Dossier
3 :
Voir Cours
-
Balises
HTML 5 (Les contrôles de validation peuvent être réalisés avec HTML 5 ou
JavaScript)
-
Feuilles
de style
-
JavaScript
-
Langage
Serveur (PHP, ASP.net)
....
Examen de Fin de Formation - Session Juin 2015
Eléments de Correction
Filière :Techniques de
Développement Multimédia
Niveau :Technicien
Spécialisé
|
Epreuve :Théorique
Barème : 40 pts
Durée : 4H
|
Dossier 1 : 10pts
Voir Cours
Dossier 2 : 14,5pts
1.
create database base;
use base;
create Table service (
numService int primary key,
nomService
varchar(50),
lieu varchar(50)
);
create table projet (
codeProjet varchar(10)
primary key,
nomProjet varchar(50),
dateDebut Datetime,
dateFin Datetime
);
create table salarie(
matricule varchar(50)
primary key,
nom varchar(50),
poste varchar(50),
dateEmb Date,
salaire Double,
numService int,
foreign key (numService) references service(numService)
);
create table participation (
matricule varchar(50),
codeProjet varchar(50),
fonction varchar(50),
nbrJours int,
primary key (matricule,
codeProjet),
foreign key (matricule) references salarie(matricule),
foreign key (codeProjet) references projet (codeProjet)
);
alter table salarie add email varchar(50);
alter table salarie add constraint unique (email);
alter table salarie add constraint check (email like
"#^[a-z0-9._-]+@[a-z0-9._-]{2,}$#");
alter table projet add constraint check (dateFin > dateDebut);
alter table participation add constraint
check (nbrJours > 2);
2.
....
insert into projet values ('1','Gestion de
projet','2014-02-02','2014-08-02'),('2','Gestion de
pharmacie','1014-05-02','2014-07-020'),('3','Gestion de
stock','2014-03-03','2014-09-02');
3.
select s.nom, count(p.codeProjet),
sum(p.nbrJours) from salarie s, participation p where s.matricule = p.matricule
group by s.nom;
4.
select s.nomService, sum(ss.salaire) from
service s, salarie ss where ss.numService = s.numService group by s.nomService;
5.
select s.nomService, count(ss.matricule)
from service s, salarie ss
where ss.numService = s.numService and ss.prime = 0 and ss.salaire >
(select avg (salaire) from salarie)
group by s.nomService;
6.
update salarie set salaire = case
when year(now()) - year(dateEmb) <= 5 then salaire + 500
when year(now()) - year(dateEmb) > 5 and year(now()) - year(dateEmb) <= 15 then salaire + 900
else salaire + 1000
end;
when year(now()) - year(dateEmb) <= 5 then salaire + 500
when year(now()) - year(dateEmb) > 5 and year(now()) - year(dateEmb) <= 15 then salaire + 900
else salaire + 1000
end;
7.
create table ProjetEnRealisation as
select * from projet
where now() -
dateFin < 0;
8.
delete from salarie
where matricule not in (select matricule from participation);
9.
UPDATE Salarie
SET Prime=Prime*(1.15)
WHERE Matricule in (
SELECT Matricule From Participation
GROUP BY Matricule
HAVING Count(CodeProjet)>=10);
10.
CREATE FUNCTION ListeSalarie() RETURNS
TABLE AS
RETURN (SELECT * FROM SALARIE WHERE Matricule NOT IN
(SELECT #matricule FROM Participation) )
11.
CREATE PROC listeSalarie(@nomPrj
VARCHAR(30)) AS
SELECT * FROM Salarie WHERE matricule IN (select
#matricule from participation p inner join projet pr on
p.#codeProjet=Pr.codePrj Where Pr.nomPrj=@nom)
12.
CREATE
TABLE HistoriqueAugmentation(matricule INT primary key, dateAugmentation
DATETIME, ancienSalaire Double, nouveauSalaire Double)
CREATE
TRIGGER enregistrerAugmentation ON Salarie FOR UPDATE AS DE
declare @matricule INT,
declare @ancienSalaire Double
declare @nouveauSalaire Double
declare cur CURSOR
FOR SELECT I.matricule,D.salaire,I.salaire
FROM INSERTED I INNER JOIN DELETED D ON I.matricule=D.matricule
open cur
FETCH cur INTO
@matricule,@ancienSalaire,@nouveauSalaire
WHILE(@@FETCH_STATUS=0)
BEGIN
INSERT into historiqueAugmentation VALUES (@matricule,getdate(),@ancienSalaire,@nouveauSalaire)
FETCH cur INTO @matricule,@ancienSalaire,@nouveauSalaire
END
CLOSE cur
DEALLOCATE
CUR
Dossier 3 : 15,5pts
Voir Cours :
-
Balises
HTML 5 (Les contrôles de validation peuvent être réalisés avec HTML 5 ou
JavaScript)
-
Feuilles
de style
-
JavaScript,
JQuery
- Langage Serveur (PHP, ASP.net)
- Langage Serveur (PHP, ASP.net)
Enregistrer un commentaire