Vous êtes sur la page 1sur 47

B ⵜⴰⴳⵍⴷⵉⵜ ⵏ⵩ⵍⵎⴰⵖⵔⵉⴱ

ⵜⴰⵎⴰⵡⴰⵙⵜ⵩ⵏ⵩ⵓⵙⴳⵎⵉ⵩ⴰⵏⴰⵎⵓⵔ
ⴷ⵩ⵓⵙⵉⵍⵖ⵩ⴰⵣⵣⵓⵍⴰⵏ
‫المملكة المغربية‬
‫وزارة التربية الوطنية‬

T
‫والتكوين المهني‬

S
RAPPORT DE JURY
EXAMEN NATIONAL D’OBTENTION DU
BREVET DE TECHNICIEN SUPÉRIEUR (BTS)

D SESSION : MAI 2015

S
I
Signatures

LAJOUAD Rachid BAALA Youssef


Président de jury Inspecteur national
Chargé du BTS
1. Sommaire

2. Introduction générale : .........................................................................................................................................3


3. Composition de jury :............................................................................................................................................4
4. Rapport de jury pour la préparation de l’examen : ..............................................................................................5
5. Informations et statistiques :................................................................................................................................7
a. Nombre de candidats : .....................................................................................................................................7
b. Nombre de candidats par sexe : .....................................................................................................................8
c. Statistiques sur l’épreuve de CAI : ....................................................................................................................8
d. Statistiques sur l’épreuve DAI :.......................................................................................................................10
e. Statistiques des admis : ..................................................................................................................................11
f. Moyenne de classe des centres par sexe : .....................................................................................................13
g. Moyenne des unités d’évaluation par centre :...............................................................................................13
6. Rapport relatif à l’épreuve écrite (CAI et DAI) ....................................................................................................14
7. Suggestions du jury : ...........................................................................................................................................18
8. Énoncées avec éléments de corrections ............................................................................................................19

BTS-DSI Rapport de jury BTS – Session mai 2015 2


2. Introduction générale :

Le bulletin officiel N° : 6116 publié le 27 Safar 1434 H (eq. 10 janvier 2013) fixe les
modalités d’obtention du diplôme de technicien supérieur en développement des systèmes
d’information DSI.
L’examen national portera sur trois unités distinctes :

Unité Examen Durée Coef Forme


Arabe 2h 10 Épreuve écrite

Langues et Français 2h 10 Épreuve écrite


communication Anglais 2h 10 Épreuve écrite
TEC 2h 10 Épreuve écrite

Scientifique et Mathématique 2h 15 Épreuve écrite


technique Développement des applications informatique (DAI) 4h 45 Épreuve écrite
Conception des applications informatique (CAI) 4h 50 Épreuve écrite
Professionnel Stage de fin de formation (Stage) 30 mn 20 Épreuve orale
Projet de fin de formation (PFE) 45 mn 30 Épreuve orale

Dans ce rapport on présentera :


 Une Vision générale sur les candidats, les centres et les résultats.
 Des remarques et des suggestions concernant les deux épreuves écrites (Développement
des systèmes d’informations : DAI) et (Conception des systèmes d’information : CAI).
 L’énoncé des deux sujets ainsi que les éléments de correction.
 Des recommandations pour les candidats de l’année prochaine.

BTS-DSI Rapport de jury BTS – Session mai 2015 3


3. Composition de jury :

1 LAJOUAD Rachid Président Lycée technique Ibn Sina – Kenitra

2 BOUAABID Mourad Membre Lycée technique Ibn Sina – Kenitra

3 HARRANE Mohamed Membre Lycée Technique-Fès

4 KHABOUCH Rachid Membre Lycée technique d’excellence - Guelmim

5 SAKOUT ANDALOUSSI Fatima Membre Lycée Hassan II-Marrakech

6 MAHHA Elkebir Membre Lycée Moulay Ismail – Meknès

7 BAATAOUI Aziz Membre Lycée Moulay Ismail – Meknès

8 Mouttaqui Hicham Membre Lycée Ibn Alhaitham – Ouerzazate


Chargé de la
9 Es-sadik Bakki Membre Lycée Lalla Khadija – Dakhla
correction/Délibération
Chargé de la
10 Amine Otmani Membre Lycée Lissan Eddine Ibn Alkhatib – Laayoune
correction/Délibération

BTS-DSI Rapport de jury BTS – Session mai 2015 4


4. Rapport de jury pour la préparation de l’examen :

Le comité de sélection de l’examen national d’obtention du brevet de technicien


supérieur pour la filière : Développement des systèmes d’informations (DSI), a eu sa réunion
pour l’élaboration des sujets de l’examen national.

Le travail s’est déroulé au Centre National de l'Évaluation, des Examens et de


l'Orientation en deux périodes. La première période entre 05 et 07 Mars 2015, la deuxième
entre 06 et 07 Avril 2015.

La sélection a abouti à la réalisation des compositions suivantes :

Nombre
Sujet Désignation Unité
exemplaire

Principale 13
Développement des Applications
U5 : DAI
Principale Informatiques
02
(Corrigé)

Principale 13
Conception des Applications Informatiques U4 : CAI
Principale
02
(Corrigé)

Reserve 01
Développement des Applications
U5 : DAI
Reserve Informatiques
01
(Corrigé)

Reserve 01
Conception des Applications Informatiques U4 : CAI
Reserve
01
(Corrigé)
Avant de commencer la réalisation des sujets, une analyse détaillée des propositions des différents centres de formation en BTS-DSI, est
nécessaire. Le tableau suivant résume les propositions reçues de la part des centres :

Sujet CAI Sujet DAI

Indice
G. Projet UML SQL Server JAVA Dot.Net PHP C/S

Synthèse

Synthèse
N Académie Centre C C C C
S CD C S CD C S CD C S C S C S C S C
D D D D

1 Chaouia Ouardigha Settat 0


2 Fès Boulemane Fès 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 23
3 Gharb Chrarda Bni Hsen Kenitra 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 23
4 Guelmim Essmara Guelmim 1 1 1 1 1 1 1 1 1 1 10
5 Laayoune Boujdour Sakia Elhamra Laayoune 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 20
6 Marrakech Tansift Elhaouz Marrakech 1 1 1 1 1 1 1 7
7 Meknès Tafilalt Meknès 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19
8 Oriental Oujda 1 1 1 3
9 Oued Eddahab Lagouira Dakhla 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 15
10 Souss Massa Draa Ouarzazate 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 22
11 Taza Alhoceima Taounate Taounate 0
12 Taza Alhoceima Taounate Alhoceima 0
Total des compositions reçues 7 7 7 8 8 8 6 6 6 5 6 6 6 6 6 6 5 5 5 6 6 6 5 11.8

Clés :
<Col> Synthèse : est ce que le sujet envoyé est sujet de synthèse ou non.
<Col> CD : est ce que le CD est envoyé ou non. ; <Col> S : Sujet ; <Col> C : Corrigé
Les membres du jury ont soulevé les remarques suivantes :

 Une légère amélioration de la qualité des sujets et de leurs présentations relativement à


la session Mai 2014.
 Le nombre de sujets envoyés est nettement supérieur aux nombres de sujets envoyés
l’année passée.
 8 propositions sur 18 sont des exercices assemblés dans le même sujet sans qu’elles
traitent un thème unique.
 Les centres : Settat, Taounate et Alhoceima, n’ont envoyés aucune proposition.
 Une même étude de cas a été proposée par deux centres différents, ce qui donne
l’intuition que les deux propositions ont été « copiées » de la même source (Internet).

5. Informations et statistiques :
a. NOMBRE DE CANDIDATS :
Le nombre total des candidats qui ont passés l’examen est : 293 dont 74 sont libres,
répartis sur le territoire national selon le tableau suivant :

N° Centre de Formation Libres Scolarisés Total

01 L. QUALIFIANT ABI YAAKOUB AL BADISSI - AL HOCIEMA 04 15 19

02 L. QUALIFIANT HASSAN II - MARRAKECH 03 17 20

03 L. QUALIFIANT IBN AL HAITAM - OUARZAZATE 25 21 46

04 L. QUALIFIANT IBN SINA - KENITRA 01 19 20

05 L. QUALIFIANT IBN SINA - TAOUNATE 00 13 13

06 L. QUALIFIANT TECHNIQUE LALLA KHADIJA - DAKHLA 05 22 27

07 L. QUALIFIANT MAGHRIBE ARABIE - OUJDA 14 18 32

08 L. QUALIFIANT MOULAY ISMAIL - MEKNÈS 02 21 23

09 L. QUALIFIANT TECHNIQUE - FÈS 07 19 26

10 L. QUALIFIANT TECHNIQUE - GUELMIM 10 15 25

11 L. QUALIFIANT TECHNIQUE - SETTAT 00 22 22

12 L. QUALIFIANT LISSANE EDDINE BEN EL KHATIB - LAAYOUNE 03 17 20

Total 74 219 293

BTS-DSI Rapport de jury BTS – Session mai 2015 7


b. NOMBRE DE CANDIDATS PAR SEXE :
Le nombre total des candidats, par sexe, qui ont passé l’examen est :
 Pour les féminins 120 : 27 libres et 93 scolarisées
 Pour les masculins 173 : 47 libres et 126 scolarisés.
La répartition sur le territoire national est illustrée sur le tableau suivant :
Féminin Masculin
Centre Total
Libre Scolarisé Total Libre Scolarisé Total général
L. Q.Abi Yaakoub Al Badissi - Al Hociema 01 11 12 03 04 07 19
L. Q Hassan Ii - Marrakech 01 06 07 02 11 13 20
L. Q Ibn Al Haitam - Ouarzazate 02 06 08 23 15 38 46
L. Q Ibn Sina - Kenitra 01 06 07 00 13 13 20
L. Q Ibn Sina - Taounate 00 08 08 00 05 05 13
L. Q Lalla Khadija - Dakhla 04 10 14 01 12 13 27
L. Q Maghribe Arabie - Oujda 04 08 12 10 10 20 32
L. Q Moulay Ismail - Meknès 00 06 06 02 15 17 23
L. Q Technique - Fès 04 09 13 03 10 13 26
L. Q Technique - Guelmim 08 11 19 02 04 06 25
L. Q Technique - Settat 00 03 03 00 19 19 22
L. Q Lissane Eddine Ben El Khatib-Laayoune 02 09 11 01 08 09 20
Total général 27 93 120 47 126 173 293

c. STATISTIQUES SUR L’ÉPREUVE DE CAI :


Une étude statistique des compositions des étudiants dans les différentes parties a
permis de soulever les valeurs suivantes :

 Moyenne des différentes parties selon les centres d’examens :


Moyenne de : Moyenne
Centre de Formation Partie 1 Partie 2 Partie 3 Générale
(12pts) (12pts) (16pts) (40pts)
L. Q.Abi Yaakoub Al Badissi - Al Hociema 10,98 04,83 07,40 23,21
L. Q Hassan Ii - Marrakech 09,25 06,52 07,53 23,30
L. Q Ibn Al Haitam - Ouarzazate 08,79 04,10 07,34 20,22
L. Q Ibn Sina - Kenitra 09,79 06,95 08,76 25,50
L. Q Ibn Sina - Taounate 10,78 07,29 10,41 28,49
L. Q Lalla Khadija - Dakhla 08,69 03,53 05,82 18,05
L. Q Maghribe Arabie - Oujda 07,42 04,37 06,70 18,49
L. Q Moulay Ismail - Meknès 09,87 04,74 08,79 23,40
L. Q Technique - Fès 10,55 06,60 09,55 26,70
L. Q Technique - Guelmim 08,64 06,11 08,48 23,23
L. Q Technique - Settat 07,96 04,60 08,09 20,64
L. Q Lissane Eddine Ben El Khatib - Laayoune 10,51 06,19 09,90 26,60
Moyenne Générale 09,44 05,49 08,23 23,15

BTS-DSI Rapport de jury BTS – Session mai 2015 8


 Nombres des étudiants ayant validé les différentes parties :
Moyenne de : Moyenne
Centre de Formation Partie 1 Partie 2 Partie 3 Générale
(12pts) (12pts) (16pts) (40pts)
L. Q.Abi Yaakoub Al Badissi - Al Hociema 12 4 5 9
L. Q Hassan Ii - Marrakech 14 13 7 13
L. Q Ibn Al Haitam - Ouarzazate 31 5 15 20
L. Q Ibn Sina - Kenitra 19 14 9 15
L. Q Ibn Sina - Taounate 16 13 14 15
L. Q Lalla Khadija - Dakhla 20 2 6 10
L. Q Maghribe Arabie - Oujda 16 6 6 10
L. Q Moulay Ismail - Meknès 22 4 13 18
L. Q Technique - Fès 20 13 15 19
L. Q Technique - Guelmim 17 10 13 14
L. Q Technique - Settat 21 5 15 17
L. Q Lissane Eddine Ben El Khatib - Laayoune 17 10 12 17
Moyenne Générale 225 99 130 177

 Pourcentage des étudiants ayant validé les différentes parties :


Moyenne de : Moyenne
Centre de Formation Partie 1 Partie 2 Partie 3 Générale
(12pts) (12pts) (16pts) (40pts)
L. Q.Abi Yaakoub Al Badissi - Al Hociema 92% 31% 38% 69%
L. Q Hassan Ii - Marrakech 88% 81% 44% 81%
L. Q Ibn Al Haitam - Ouarzazate 89% 14% 43% 57%
L. Q Ibn Sina - Kenitra 100% 74% 47% 79%
L. Q Ibn Sina - Taounate 53% 43% 47% 50%
L. Q Lalla Khadija - Dakhla 87% 9% 26% 43%
L. Q Maghribe Arabie - Oujda 84% 32% 32% 53%
L. Q Moulay Ismail - Meknès 96% 17% 57% 78%
L. Q Technique - Fès 100% 65% 75% 95%
L. Q Technique - Guelmim 85% 50% 65% 70%
L. Q Technique - Settat 81% 19% 58% 65%
L. Q Lissane Eddine Ben El Khatib - Laayoune 100% 59% 71% 100%
Moyenne Générale 86% 38% 50% 68%

L’écart type général concernant l’épreuve du CAI est de : 6,28 /40


La moyenne générale concernant l’épreuve du CAI est de : 22,76/40

BTS-DSI Rapport de jury BTS – Session mai 2015 9


d. STATISTIQUES SUR L’ÉPREUVE DAI :

Une étude statistique des compositions des étudiants dans les différentes parties a
permis de soulever les valeurs suivantes :

 Moyenne des différentes parties selon les centres d’examens :


Moyenne de : Moyenne
Centre de Formation Partie A Partie B Partie C Partie D Générale
(10pts) (8pts) (14pts) (8pts) (40pts)
L. Q.Abi Yaakoub Al Badissi - Al Hociema 03,85 03,77 07,71 04,06 19,38
L. Q Hassan Ii - Marrakech 03,93 04,00 09,24 03,22 20,39
L. Q Ibn Al Haitam - Ouarzazate 04,14 03,05 05,41 01,89 14,49
L. Q Ibn Sina - Kenitra 08,05 05,40 10,24 05,16 28,85
L. Q Ibn Sina - Taounate 06,44 06,22 09,20 03,28 25,14
L. Q Lalla Khadija - Dakhla 03,24 02,79 05,65 02,21 13,89
L. Q Maghribe Arabie - Oujda 04,36 02,13 07,02 02,64 16,15
L. Q Moulay Ismail - Meknès 04,22 04,32 08,28 03,08 19,90
L. Q Technique - Fès 05,38 04,58 07,35 04,09 21,38
L. Q Technique - Guelmim 04,61 03,84 07,75 05,17 21,38
L. Q Technique - Settat 03,92 03,20 06,05 03,44 16,61
L. Q Lissane Eddine Ben El Khatib - Laayoune 05,50 04,74 09,71 04,06 24,00
Moyenne Générale 04,80 04,00 07,80 03,53 20,13

 Nombres des étudiants ayant validé les différentes parties :


Moyenne de : Moyenne
Centre de Formation Partie A Partie B Partie C Partie D Générale
(10pts) (8pts) (14pts) (8pts) (40pts)
L. Q.Abi Yaakoub Al Badissi - Al Hociema 4 6 9 5 6
L. Q Hassan Ii - Marrakech 8 8 14 6 7
L. Q Ibn Al Haitam - Ouarzazate 13 14 14 2 10
L. Q Ibn Sina - Kenitra 18 17 18 17 18
L. Q Ibn Sina - Taounate 15 16 16 2 16
L. Q Lalla Khadija - Dakhla 6 9 11 1 7
L. Q Maghribe Arabie - Oujda 12 2 14 1 7
L. Q Moulay Ismail - Meknès 10 12 16 7 10
L. Q Technique - Fès 18 19 17 15 16
L. Q Technique - Guelmim 9 8 11 16 11
L. Q Technique - Settat 15 14 17 15 14
L. Q Lissane Eddine Ben El Khatib - Laayoune 11 14 15 8 13
Moyenne Générale 139 139 172 95 135

BTS-DSI Rapport de jury BTS – Session mai 2015 10


 Pourcentage des étudiants ayant validé les différentes parties :
Moyenne de : Moyenne
Centre de Formation Partie A Partie B Partie C Partie D Générale
(10pts) (8pts) (14pts) (8pts) (40pts)
L. Q.Abi Yaakoub Al Badissi - Al Hociema 31% 46% 69% 38% 46%
L. Q Hassan Ii - Marrakech 44% 44% 78% 33% 39%
L. Q Ibn Al Haitam - Ouarzazate 32% 34% 34% 5% 24%
L. Q Ibn Sina - Kenitra 90% 85% 90% 85% 90%
L. Q Ibn Sina - Taounate 94% 100% 100% 13% 100%
L. Q Lalla Khadija - Dakhla 25% 38% 46% 4% 29%
L. Q Maghribe Arabie - Oujda 44% 7% 52% 4% 26%
L. Q Moulay Ismail - Meknès 45% 55% 73% 32% 45%
L. Q Technique - Fès 69% 73% 65% 58% 62%
L. Q Technique - Guelmim 41% 36% 50% 73% 50%
L. Q Technique - Settat 45% 42% 52% 45% 42%
L. Q Lissane Eddine Ben El Khatib - Laayoune 65% 82% 88% 47% 76%
Moyenne Générale 50% 50% 62% 34% 48%

L’écart type général concernant l’épreuve du DAI est de : 8,55 / 40

La moyenne générale concernant l’épreuve du DAI est de : 19,29/ 40

e. STATISTIQUES DES ADMIS :


 Nombre de candidats par centre:
Admis Ajourné
Centre de Formation Total
Scolarisé Libre Total Scolarisé Libre Total
L. Q.Abi Yaakoub Al Badissi - Al Hociema 15 02 17 00 02 02 19
L. Q Hassan Ii - Marrakech 11 00 11 06 03 09 20
L. Q Ibn Al Haitam - Ouarzazate 11 07 18 10 18 28 46
L. Q Ibn Sina - Kenitra 16 00 16 03 01 04 20
L. Q Ibn Sina - Taounate 6 00 06 07 00 07 13
L. Q Lalla Khadija - Dakhla 9 02 11 13 03 16 27
L. Q Maghribe Arabie - Oujda 10 05 15 08 09 17 32
L. Q Moulay Ismail - Meknès 14 01 15 07 01 08 23
L. Q Technique - Fès 13 04 17 06 03 09 26
L. Q Technique - Guelmim 11 03 14 04 07 11 25
L. Q Technique - Settat 16 00 16 06 00 06 22
L. Q Lissane Eddine Ben El Khatib - Laayoune 16 01 17 01 02 03 20
Total général 148 25 173 71 49 120 293

BTS-DSI Rapport de jury BTS – Session mai 2015 11


 Pourcentage des candidats par centre:

Admis Ajourné
Centre de Formation
Scolarisé Libre Scolarisé Libre
L. Q.Abi Yaakoub Al Badissi - Al Hociema 100 % 50 % 0% 50 %
L. Q Hassan Ii - Marrakech 65 % 0% 35 % 100 %
L. Q Ibn Al Haitam - Ouarzazate 52 % 28 % 48 % 72 %
L. Q Ibn Sina - Kenitra 84 % 0% 16 % 100 %
L. Q Ibn Sina - Taounate 46 % 0% 54 % 100 %
L. Q Lalla Khadija - Dakhla 41 % 40 % 59 % 60 %
L. Q Maghribe Arabie - Oujda 56 % 36 % 44 % 64 %
L. Q Moulay Ismail - Meknès 67 % 50 % 33 % 50 %
L. Q Technique - Fès 68 % 57 % 32 % 43 %
L. Q Technique - Guelmim 73 % 30 % 27 % 70 %
L. Q Technique - Settat 73 % 0% 27 % 100 %
L. Q Lissane Eddine Ben El Khatib - Laayoune 94 % 33 % 6% 67 %

 Nombre des candidats des centres par sexe:


Masculin Féminin
Centre de Formation
Admis Ajourné Total Admis Ajourné Total Total
L. Q.Abi Yaakoub Al Badissi - Al Hociema 12 00 12 05 02 07 19
L. Q Hassan Ii - Marrakech 04 03 07 07 06 13 20
L. Q Ibn Al Haitam - Ouarzazate 04 04 08 14 24 38 46
L. Q Ibn Sina - Kenitra 05 02 07 11 02 13 20
L. Q Ibn Sina - Taounate 04 04 08 02 03 05 13
L. Q Lalla Khadija - Dakhla 06 08 14 05 08 13 27
L. Q Maghribe Arabie - Oujda 08 04 12 07 13 20 32
L. Q Moulay Ismail - Meknès 03 03 06 12 05 17 23
L. Q Technique - Fès 08 05 13 09 04 13 26
L. Q Technique - Guelmim 10 09 19 04 02 06 25
L. Q Technique - Settat 03 00 03 13 06 19 22
L. Q Lissane Eddine Ben El Khatib - Laayoune 09 02 11 08 01 09 20
Total général 76 44 120 97 76 173 293

 Pourcentage des candidats des centres par sexe:


Masculin Féminin
Centre de Formation
Admis Ajourné Admis Ajourné
L. Q.Abi Yaakoub Al Badissi - Al Hociema 100 % 0% 71 % 29 %
L. Q Hassan Ii - Marrakech 57 % 43 % 54 % 46 %
L. Q Ibn Al Haitam - Ouarzazate 50 % 50 % 37 % 63 %
L. Q Ibn Sina - Kenitra 71 % 29 % 85 % 15 %
L. Q Ibn Sina - Taounate 50 % 50 % 40 % 60 %
L. Q Lalla Khadija - Dakhla 43 % 57 % 38 % 62 %
L. Q Maghribe Arabie - Oujda 67 % 33 % 35 % 65 %
L. Q Moulay Ismail - Meknès 50 % 50 % 71 % 29 %
L. Q Technique - Fès 62 % 38 % 69 % 31 %
L. Q Technique - Guelmim 53 % 47 % 67 % 33 %
L. Q Technique - Settat 100 % 0% 68 % 32 %
L. Q Lissane Eddine Ben El Khatib - Laayoune 82 % 18 % 89 % 11 %
Total général 76 44 97 76

BTS-DSI Rapport de jury BTS – Session mai 2015 12


f. MOYENNE DE CLASSE DES CENTRES PAR SEXE :
Moyenne
Centre de Formation
F M Moyenne
L. Q.Abi Yaakoub Al Badissi - Al Hociema 13,77 12,83 13,42
L. Q Hassan Ii - Marrakech 10,08 12,08 11,38
L. Q Ibn Al Haitam - Ouarzazate 11,46 10,45 10,65
L. Q Ibn Sina - Kenitra 13,00 13,17 13,11
L. Q Ibn Sina - Taounate 11,98 11,72 11,88
L. Q Lalla Khadija - Dakhla 11,05 10,49 10,78
L. Q Maghribe Arabie - Oujda 12,63 10,91 11,56
L. Q Moulay Ismail - Meknès 11,94 12,23 12,15
L. Q Technique - Fès 12,24 13,21 12,73
L. Q Technique - Guelmim 12,15 13,03 12,36
L. Q Technique - Settat 9,99 12,25 11,43
L. Q Lissane Eddine Ben El Khatib - Laayoune 13,01 13,54 13,25
Total général 11,97 11,79 11,86

g. MOYENNE DES UNITÉS D’ÉVALUATION PAR CENTRE :

Moyenne
Centre de Formation Langue Scientifique Professionnel
Général
L. Q.Abi Yaakoub Al Badissi - Al Hociema 12,60 12,04 14,58 13,42
L. Q Hassan Ii - Marrakech 11,82 09,81 12,15 11,38
L. Q Ibn Al Haitam - Ouarzazate 11,53 08,46 11,61 10,65
L. Q Ibn Sina - Kenitra 12,62 13,20 13,25 13,11
L. Q Ibn Sina - Taounate 10,62 10,22 13,38 11,88
L. Q Lalla Khadija - Dakhla 10,90 08,29 12,23 10,78
L. Q Maghribe Arabie - Oujda 11,57 09,07 13,04 11,56
L. Q Moulay Ismail - Meknès 12,99 10,21 12,98 12,15
L. Q Technique - Fès 12,30 10,99 13,94 12,73
L. Q Technique - Guelmim 12,35 10,99 13,18 12,36
L. Q Technique - Settat 11,94 08,94 12,72 11,43
L. Q Lissane Eddine Ben El Khatib - Laayoune 13,28 11,59 14,23 13,25
Total général 11,99 10,00 12,93 11,86

BTS-DSI Rapport de jury BTS – Session mai 2015 13


6. Rapport relatif à l’épreuve écrite (CAI et DAI)
1. Introduction :
Le tableau suivant, rappelle les modules constituants les différentes épreuves écrites
ainsi que les différentes compétences attendues :

Sujet Compétences Parties traités dans l’épreuve


C18 Concevoir et modéliser les données Partie 1 : Gestion de projet
C19 Concevoir et modéliser les traitements Partie 2 : Analyse et
CAI modélisation (UML)
C20 Concevoir une application client-serveur Partie 3 : Modélisation physique
C21 Mettre en œuvre des outils de modélisation des données

Développer à l’aide d’un langage de programmation


C25
procédural et orienté objet/évènement
Coder les modules et les composants à l’aide d’un langage Partie 1 : POO – JAVA.
C26
de programmation Partie 2 : Environnement de
développement intégrés
C27 Implémenter une base de données locale ou répartie
(VB.NET).
DAI Partie 3 : Développement WEB
C28 Maîtriser la plate forme et la machine virtuelle (PHP).
Partie 4 : Programmation client
C29 Réutiliser les modules et les composants existants serveur (JAVA).
Intégrer les modules et les composants de toute ou une
C30
partie d’une application
Mise au point des modules, des composants et de
C31
l’application

On notera que pour effectuer les tâches demandées, certaines autres compétences
peuvent être mobilisées.
La répartition de la charge de l’épreuve a pris en compte le volume horaire alloué pour
chaque partie, ainsi que les compétences spécifiées dans le référentiel de formation.
Nous rappelons ici la philosophie de l’épreuve qui est, bien entendu, d’appliquer les
différentes notions vues dans le cours sur un cas d’étude pratique. Certaines questions
demandent une réflexion alors que d’autres sont des questions directes.
Tous les items du sujet ont été abordés mais le nombre global de bonnes réponses reste
faible, sans que les questions proposées soient d’une difficulté élevée.

BTS-DSI Rapport de jury BTS – Session mai 2015 14


Comme chaque année, quelques excellents candidats ont cependant abordé avec brio
l’ensemble du sujet et ainsi pu démontrer leur aisance pour poursuivre des études supérieures
de haut niveau.
2. Remarques d’ordre général :
- Divers formats de feuilles, indiquant que l’étudiant libre a validé le module ou absent,
ont été adoptés par les centres de BTS. On propose de normaliser ces feuilles (étudiant
absent, module validé).
- Beaucoup de candidats, malgré les consignes de soin, ont une présentation de copie
lamentable et une écriture à la limite de la lisibilité, notamment lors de la présentation
des diagrammes ou l’écriture des scripts.
- L'orthographe est souvent désastreuse : une copie doit être rédigée en français et non pas
dans un langage plus ou moins phonétique.
- Beaucoup de candidats se contentent de répondre aux questions faciles, donnant
l’impression qu’ils n’entrent pas vraiment dans le sujet.
- Nombre de candidats font une lecture non rigoureuse des questions posées, et se
contentent d’une lecture diagonale du sujet (et surtout les parties descriptives).
- Quelques parties sont ignorées par les candidats malgré qu’elles figurent dans le cadre
référentiel.

3. Épreuve de CAI :
Une lecture diagonale des statistiques présentées dans la section précédente permet de
tirer les remarques suivantes :
L’écart type est typique ainsi que la moyenne générale de l’épreuve. Mais après analyse
des différentes parties, on remarque :

 Partie 1 : Gestion de projet :


- Sachant que la majorité des étudiants ont bien répondu à cette partie, on peut dire que
le niveau général des étudiants dans cette partie est acceptable.
- Malgré que les questions concernant la partie « calcul de la charge d’un projet »
n’étaient pas polysémiques et n’admettent qu’une réponse unique, un grand nombre
d’étudiant ne traitaient pas cette partie ou présentaient des résultats bizarres, ce qui
prouve que le niveau d’acquisition générale ne dépassait pas le niveau application.

BTS-DSI Rapport de jury BTS – Session mai 2015 15


 Partie 2 UML :
- Malgré que cette partie a été traitée par la majorité des étudiants, on remarque que les
réponses sont largement diversifiées ce qui prouve que les notions de modélisation
orienté objet sont de la terra-incognita.
- La majorité des étudiants n’ont pas bien traités cette partie. Cette faiblesse peut être
due aux problèmes suivants :
o Contrainte linguistique : un nombre important d’étudiants trouvent des
problèmes à comprendre le sens d’un texte descriptif du système d’information
écrit en français.
o Contraintes techniques : des étudiants trouvent des problèmes à identifier les
acteurs du système d’information, ainsi que les différents attributs de classes.
o La notion de généralisation (Héritage) dans le diagramme de classes a été
méconnue par un grand nombre de candidats.
o Le volume horaire alloué dans le référentiel pour le module « Modélisation
orientée objet » reste insuffisant pour maîtriser les différents concepts de l’UML,
et traiter suffisamment des études de cas.
 Partie 3 : SQL-Server :
o Un bon nombre de candidats ont des problèmes à rédiger une procédure ou un
trigger avec une bonne syntaxe ce qui prouve la non maîtrise du langage utilisé.

4. Épreuve de DAI :
L’écart type est grand (8.25 points/40 d’écart).
 Partie 1 : EDI (VB.Net)
o Les réponses à cette partie étaient en général satisfaisantes plus de 60% ont donné
de bonnes réponses.
o Malgré que le sujet laisse la liberté à l’étudiant de choisir le mode d’accès à la base de
données, on remarque que quelques centres ont mal traité cette partie.
 Partie 2 : Développement WEB
o On remarque une légère amélioration par rapport à l’année précédente.
o Les étudiants de quelques centres ont répondu uniquement à la première question.
 Partie 3 : POO
o Cette partie a été traitée par la majorité des candidats, ce qui donne l’intuition que les
étudiants réservent plus de temps à cette partie.

BTS-DSI Rapport de jury BTS – Session mai 2015 16


o Les concepts de base sont bel et bien maitrisés, par contre quelques concepts
présentent de grandes difficultés tel que : les collections, les fichiers, la sérialisation.

 Partie 4 : Client serveur


o On constate une négligence considérable de cette partie par la majorité des candidats.
Pourtant, la partie ne portait que sur les concepts de base de la programmation
client-serveur (Socket en mode connecté, JDBC).

BTS-DSI Rapport de jury BTS – Session mai 2015 17


7. Suggestions du jury :
Suite aux remarques présentées dans la section précédente le jury suggère :
 La préparation à l’examen de sortie doit porter sur la totalité du programme cité dans
le référentiel.
 Quelques concepts, en développement et en conception, sont des concepts de base,
l’ignorance de ces concepts est inacceptable, on cite à titre d’exemple :
o Diagramme de classes, diagramme des cas d’utilisation, diagramme de
séquence.
o Requêtes SQL : Définition et manipulation de données.
o Les procédures stockées et les déclencheurs dans SQL-SERVER.
o La connexion à une base de données :
 PHP : Méthodes natives, PDO ;
 JAVA : JDBC (avec IHM : Swing et AWT) ;
 VB.NET : DataReader, DataSet.
o Les notions de base de la POO (encapsulation, héritage, polymorphisme,
surcharge, Collections, Threads, Exceptions, Les flux d’entrées/sorties).
o Les sockets pour la programmation client-serveur, les RMI.
 Les candidats sont amenés à bien présenter leurs copies, et à respecter les normes de
présentation du sujet.
 Les candidats sont invités à bien lire le sujet avant de commencer la réponse.
 On rappelle l’utilisation des outils suivants pour les différentes parties :

POO et programmation client serveur JAVA

Environnement de développement intégré (EDI) VB.NET

Gestion de projet MS PROJECT

SGBDR SQL SERVER

AGL WINDEV

BTS-DSI Rapport de jury BTS – Session mai 2015 18


8. Énoncées avec éléments de corrections
I. Sujet de conception des applications informatiques (CAI) :

ÉTUDE DE CAS : Société ISA-Dev


ISA-DEV est une société de services en ingénierie informatique qui emploie 20 personnes. Son
activité est axée sur deux grands pôles : l’infogérance et la distribution de matériel informatique.
L’essentiel de son chiffre d’affaires est réalisé par son activité d’infogérance. La gestion du personnel
est une préoccupation majeure de la société.
L’infogérance consiste à gérer partiellement ou totalement l’informatique d’un site client. En
général, un site est affecté à une équipe d’ISA-DEV qui assure la maintenance du parc informatique.
Le matériel appartient au client, mais la plupart du temps, ce dernier confi à ISA-DEV la gestion de
ses achats afin de maintenir la cohérence du parc informatique.

DOSSIER I : SERVICE DE DISTRIBUTION DU MATÉRIEL INFORMATIQUE (12 pts)

Un client s’approvisionne en équipement informatique auprès de la société ISA-DEV qui se


comporte comme distributeur informatique.
Le tableau suivant, présente les tâches de la livraison du matériel informatique :
N° Tâches Durée en jour Prédécesseurs
A Traitement de la commande client 1 -
B Achat du matériel manquant 2 A
C Préparation des composants nécessaires à la maintenance 1 A
D Préparation de la livraison 1 B
E Installation du nouveau matériel chez le client 2 D
F Maintenance et réparation du matériel du client 5 C
G Facturation 1 E, F
Dans le cadre d’étude et planification de la distribution du matériel informatique, on vous a
confié la réalisation des travaux suivants :

 PLANIFICATION DU PROJET
I - 1. Établir le diagramme de GANTT. (à réaliser sur le document réponse DR1, Figure 1) (2 pts)
I - 2. Élaborer le diagramme de PERT. (à réaliser sur le document réponse DR1, Figure 2) (2 pts)
I - 3. Calculer les marges totales. (1,5 pt)
I - 4. Déterminer le chemin critique. (à tracer avec une couleur différente sur le diagramme de PERT).
(1 pt)
I - 5. Si la tâche « F » subit un retard d’une journée, quel impact aurait-il sur la réalisation et
l’avancement du projet. (1 pt)
I - 6. Quels sont les trois facteurs qui influencent, d’une façon générale, le déroulement du projet.
(0,5 pt)

BTS-DSI Rapport de jury BTS – Session mai 2015 19


 ESTIMATION DE CHARGE
La société désire réaliser un logiciel pour gérer la distribution du matériel informatique. La
partie de programmation comporte 20 000 lignes de code.
On rappelle ci-après la table d’estimation de charge selon la méthode COCOMO :
CHARGE DURÉE
TYPE DE PROJET
(mois homme) (mois)
Simple (<50 000 lignes) C= 3,2 (Kisl)1,05 D= 2 ,5( C )0,38
Moyen (<300 000 lignes) C= 3 (Kisl)1,12 D= 2 ,5( C )0,35
Complexe (>=300 000 lignes) C= 2,8 (Kisl)1,2 D= 2 ,5( C )0,32
Kisl : nombre de lignes de code divisé par 1000 (kilo ligne de codes).

I - 7. Calculer la charge (en jours homme) de réalisation du projet. (1,5 pt)


I - 8. Déterminer la durée de réalisation du projet. (1,5 pt)
I - 9. En déduire la taille moyenne de l’équipe qui doit réaliser le projet. (1 pt)

DOSSIER II : SUIVI DE LA CARRIÈRE DES SALARIÉS (12 pts)


L’application (logiciel) actuelle utilisée par le service des ressources humaines ne donne plus
satisfaction. Le développement d’une nouvelle application est envisagé, avec la nécessité de
concevoir une nouvelle base de données.
II - 1. Citer quatre facteurs qui influencent la qualité d’un logiciel. (0,75 pt)
II - 2. Donner une comparaison entre le test fonctionnel (boite noire) et le test structurel (boite
blanche).
(1,25 pt)
LA GESTION DES CLIENTS :
La société ISA-DEV est découpée en divisions sectorielles. Chaque division gère un secteur
d’activité d’un point de vue financier, contractuel et opérationnel. Les clients sont répartis dans les
divisions suivantes :
 Finance : les banques et les assurances
 Négoce : la grande distribution
 Services
 Industrie (hors automobile)
 Automobile : historiquement la première clientèle d’ISA-DEV.
Le client peut posséder plusieurs sites industriels répartis sur le territoire marocain. Un site
géographique est appelé compte. Le client a le droit de consulter ses informations administratives et
celles relatives à son propre compte. La fiche relation client (voir annexe 1) donne les principales
informations sur le client :
- la division qui le gère ;
- les informations administratives (avec notamment le nom du contact chez le client)
- les informations relatives à ses différents comptes.
II - 3. Citer les acteurs qui agissent sur cette partie du système. (1 pt)
II - 4. Élaborer le diagramme de cas d’utilisation correspondant. (2 pts)
LA GESTION DES POSTES :
La gestion des comptes est assurée par le personnel productif de la société ISA-DEV. Chaque
salarié est affecté à un seul compte et occupe un type de poste (voir annexe 2).
Les changements des postes et des comptes sont gérés par le service des ressources humaines
qui dispose des informations nécessaires des salariés selon les étapes suivantes :
- Le système vérifie la demande d’ajout d’un nouveau compte ;
- Le personnel productif rempli un formulaire qui sera enregistré ;

BTS-DSI Rapport de jury BTS – Session mai 2015 20


- Le système affecte un salarié à un compte suite à la demande du personnel productif.
Ce dernier saisi les informations du salarié concerné ;
- Après validation, le système informe le personnel productif des modifications effectuées.
II - 5. Modéliser ce scénario par un diagramme de séquence. (Niveau Système) (2 pts)

LE SUIVI DES QUALIFICATIONS :


On souhaite garder une trace des qualifications obtenues par les salariés. Chaque salarié est
caractérisé par les informations suivantes : matricule, adresse, date d’embauche, nature du contrat
(CDD : contrat à durée déterminée ou CDI : contrat à durée indéterminée).
La qualification concerne d’une part les diplômes nationaux de l’enseignement supérieur (BTS,
DUT, licence, etc.) et d’autre part les certifications obtenues auprès de constructeurs ou d’éditeurs de
logiciels.
Toute qualification est caractérisée par un code propre à ISA-DEV, un titre et une date
d’obtention par le salarié. En outre, il est nécessaire pour un diplôme national de connaître son
niveau de formation, tandis que pour une certification, il faut connaître la société (code, raison sociale)
qui la délivre. Le suivi des qualifications est géré par le service des ressources humaines.
Le document réponse DR2 (page 8/8), illustre un diagramme de classes incomplet dans lequel
la partie concernant le suivi des qualifications n’est pas représentée.

II - 6. Quel est le type d’association qui relie les classes « COMPTE » et « CLIENT ». Justifier son
utilisation. (1 pt)
II - 7. Expliquer les cardinalités utilisées entre les classes « DIVISION » et « CLIENT ». (1 pt)
II - 8. Compléter le diagramme de classes répondant aux exigences du système. (à réaliser sur le
document réponse DR2, Figure 3) (3 pts)

DOSSIER III : GESTION DES RÉMUNÉRATIONS (16 pts)

La rémunération de salarié est déterminée lors de son embauche par une base fixée en fonction
du poste occupé. Le salaire peut ensuite évoluer. Pour chaque salarié, on conserve l’historique de ses
rémunérations.
Chaque année, tous les employés sont évalués par leur supérieur hiérarchique lors d’un
entretien individuel. Cette évaluation fait l’objet d’un rapport écrit proposant pour chaque salarié un
niveau d’évaluation (inacceptable, faible, passable, assez bon, bon, élevé ou exceptionnel), ainsi qu’une
éventuelle augmentation mensuelle (sous la forme d’un pourcentage) ayant pour motif : « mérite ».
Cependant, pour l’année 2014, l’augmentation mensuelle maximale est fixée à 5 % par employé.
Par exemple, le salarié Marouane Slimani est classé au niveau « exceptionnel» et a obtenu une
augmentation de 4,2 %. D’autres évolutions peuvent intervenir à la suite de modifications de la
législation fiscale ou de la convention collective. Dans ce cas, le motif peut être « augmentation
générale », « convention », etc.
Suite à l’entretien annuel individuel, la direction valide ou non les propositions
d’augmentations mensuelles faites par les supérieurs hiérarchiques en fonction du rapport écrit et de
la rentabilité du compte pour lequel travaille le salarié. Elle peut en outre décider d’accorder une
prime annuelle complémentaire pour les salariés les plus méritants. Les données sociales concernant
les employés de l’entreprise ISA-DEV et leurs évaluations, sont rassemblées dans une base de
données relationnelle.
Un extrait du schéma relationnel de cette base est fourni ci-dessous :

BTS-DSI Rapport de jury BTS – Session mai 2015 21


T_SALARIE T_EVOLUTION
Nom de la colonne Type condensé Nom de la colonne Type condensé
FK_Sal
Matricule int Matricule int
Nom varchar(50) Date_Mise_A_Jour date
Prenom varchar(50) Ancien_Salaire_Ann real
Date_Naissance date Pourc_Augm real
Date_Embauche date Prime real
Salaire_Annuel real Motif varchar(100)
Type_Poste varchar(40)

T_EVALUATION
FK_S Nom de la colonne Type condensé
Matricule int
Date_Evaluation date
Niveau varchar(50)
Augm_Prop real
Prime_Prop real

Remarque :
 (Matricule,Date_Evaluation) : clé primaire de la table « T_EVALUATION ».
 (Matricule,Date_Mise_A_Jour) : clé primaire de la table « T_EVOLUTION ».
 Le champ « Niveau » correspond au niveau d’évaluation obtenu (faible, passable, ...).
 Le champ « Augm_Prop » correspond au pourcentage d’augmentation proposé.
 Le champ « Prime_Prop » correspond à la prime proposée.
 Le champ « Ancien_Salaire_Ann » correspond au salaire annuel précédent.
 Le champ « Pourc_Augm » correspond au pourcentage d’augmentation retenu.
 Le champ « Prime » correspond à la prime retenue.

Le SGBD dispose des fonctions SQL suivantes :


 Une fonction YEAR(date) qui renvoie le millésime de la date passée en paramètre. Ainsi
YEAR(’06/05/2015’) renvoie le nombre entier 2015.
 Une fonction GetDATE() qui renvoie la date du jour.

III - 1. Donner le code en SQL permettant de :


1.1 Créer la base de données BD_SALARIÉS . (avec valeurs par défauts) (1 pt)
1.2 Créer les 3 tables de cette base (respecter toutes les contraintes). (3 pts)
III - 2. Formuler en SQL la requête permettant d'obtenir les informations suivantes : salaire annuel
maximal, salaire annuel minimal et moyenne des salaires annuels par type de poste. (2 pts)
III - 3. Expliquer le rôle de la requête suivante : (1 pt)
SELECT Type_Poste, Count(*)
FROM T_SALARIE GROUP BY Type_Poste
HAVING Count(*)=(SELECT Max(Count(*))
FROM T_SALARIE GROUP BY Type_Poste);
III - 4. Créer en SQL la fonction « F_Nbe_Salariés » qui prend en paramètre le nombre d’années
(@annee) et qui retourne le nombre de salariés ayant le nombre d’années d’ancienneté
supérieur à (@annee) et dont l’évaluation lors de l’année en cours est « faible ». (2,5 pts)

BTS-DSI Rapport de jury BTS – Session mai 2015 22


CREATE FUNCTION F_Nbe_Salariés(@annee int)
RETURNS int AS
BEGIN
…………………

END
GO
III - 5. Écrire en SQL le code de la procédure « Proc_Liste » permettant d'obtenir la liste des
salariés ayant eu au moins trois augmentations supérieures à 2,5% et ayant pour motif :
« mérite ». Cette procédure affichera la matricule de chaque salarié et le nombre
d’augmentations supérieures à 2,5 %. (3 pts)
Create Procedure Proc_Liste AS
BEGIN
……
End
III - 6. Donner le code permettant la création du trigger « Trig_Supp » qui, à la suppression d’un
salarié, supprime aussi ses évolutions et ses évaluations. (2,5 pts)
Proposer une autre solution qui fera le même comportement que ce trigger. (Le code n’est
demandé). (1 pt)

ANNEXE 1 : FICHE RELATION CLIENT

M2N SA N° client : 453145 ISA-DEV


92, rue des FAR Contact : Alami Rachid Division 5
Meknès Tel : ************** Automobile

Comptes :
01 6, rue taounate, Q.I
Kenitra
Directeur: Slimane Ragueb
Tel : **************
02 45, rue Tadhia, Quartier Nahda
Oujda
Directeur : Abdellah Raissi
Tel : **************
03 12, avenue Manama,
Taza
Directeur : Layla Bennani
Tel : **************

ANNEXE 2 : TYPES DE POSTE DU PERSONNEL PRODUCTIF

Code Poste Libellé du Poste

20010 Responsable de compte

30520 Responsable opérationnel

42020 Analyste-programmeur

43040 Administrateur réseau

45530 Assistant bureautique

BTS-DSI Rapport de jury BTS – Session mai 2015 23


DOCUMENT RÉPONSE : DR1
Tâche

F
Figure1  : Diagramme de GANTT
G

Temps
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
en jour

Figure 2  : Diagramme de PERT

BTS-DSI Rapport de jury BTS – Session mai 2015 24


DOCUMENT RÉPONSE : DR2

CLIENT COMPTE
DIVISION
1 Appartenir numClient : long 1 Posséder numCompte : int
Num : long
0..* rue : String 1..* rueCompte : String
Designation : String
ville : String villeCompte : String
1
tel : String directeur : String

contact : String Concerner Tel : String


AFFECTATION
TYPEPOSTE 0..*
Avoir
0..* Rang : int
codePoste : int
1 dateDebut : Date
Libelle : String
dateFin : Date

Figure 3  : Diagramme de classes

BTS-DSI Rapport de jury BTS – Session mai 2015 25


II. Éléments de corrections (CAI) :

DOSSIER I : SERVICE DE DISTRIBUTION DU MATÉRIEL INFORMATIQUE

 PLANIFICATION DU PROJET
I - 10. Diagramme de GANTT. (voir document réponse DR1, Figure 1) (2 pts)
I - 11. Diagramme de PERT. (voir document réponse DR1, Figure 2) (2 pts)
I - 12. Calcule des marges totales. (1,5 pt)
MT(A)=1-0-1=0 MT(B)=4-1-2=1 MT(C)=2-1-1=0
MT(D)=5-3-1=1 MT(E)=7-4-2=1 MT(F)=7-2-5=0 MT(G)=8-7-1=0

I - 13. Déterminer le chemin critique. (voir diagramme de PERT). (1 pt)


A-C-F-G.
I - 14. Si la tâche F subit un retard de 1 journée, quel impact aurait-il sur la réalisation et
l’avancement du projet. (1 pt)
On a MT(F)=0. Donc si la tâche F subit un retard de 1 journée alors le projet sera retardé aussi, et ne se
terminera pas dans le délai prévu.
I - 15. les trois facteurs sont : Qualité, temps et le budget. (0,5 pt)

 ESTIMATION DE CHARGE
I - 16. Déterminer la charge de réalisation du projet. (1,5 pt)
Le projet comporte 20000 lignes de code. Donc c’est un projet simple.
C=3,2(20)1,05=74,34≈74 mois/homme
I - 17. Déterminer la durée de réalisation du projet. (1,5 pt)
D=2,5(74)0,38=12,83≈13 mois
I - 18. Déduire la taille moyenne de l’équipe qui doit travailler le projet. (1 pt)
Taille de l’équipe=74/13=5,69≈6 hommes

DOSSIER II : SUIVI DE LA CARRIÈRE DES SALARIÉS

II - 1. Trois facteurs qui influencent la qualité d’un logicielle. (0,75 pt)


Portabilité Testabilité
Réutilisabilité Correctude
Interopérabilité Fiabilité
Maintenabilité Efficacité
Flexibilité Utilisabilité

II - 9. Comparaison entre le test fonctionnel (boite noire) et le test structurel (boite blanche). (1,25 pt)
Le test est l’exécution ou l’évaluation d’un système ou d’un composant par des moyens
automatiques ou manuels, pour vérifier qu’il répond à ses spécifications ou identifier les différences
entre les résultats attendus et les résultats obtenus.
Le test fonctionnel est basé sur les spécifications du programme, par contre le test structurel est
basé sur l'analyse du programme et cela nécessite le code source du programme.

BTS-DSI Rapport de jury BTS – Session mai 2015 26


LA GESTION DES CLIENTS :
II - 10. Les acteurs qui agissent sur cette partie du système. (1 pt)
Client et la division.
II - 11. Le diagramme de cas d’utilisation correspondant. (2 pts)

Gestion secteur d'activité

Division

Financier Opérationnel Client


Contractuel

Gestion des informations


administratives

Gestion des informations


des comptes

BTS-DSI Rapport de jury BTS – Session mai 2015 27


LA GESTION DES POSTES :
II - 12. Diagramme de séquence. (Niveau Système) (2 pts)

: Système
: Personnel
Productif
1: demande d'ajout d'un compte( )

2: verfier( )

3: autorisation+fourmulaire( )

4: saisie des informations sur le compte et ses postes( )

5: enregistrement( )

6: demande d'affectation d'un salarié à un compte( )

7: autorisation( )

8: saisie des informations du salarié( )

9: enregistrement( )

10: information( )

11: activation changement de classifi

12: verfier( )
LE SUIVI DES QUALIFICATIONS :
II - 13. Le type d’association qui relie les classes « COMPTE » et « CLIENT » est une composition.
Car la classe « COMPTE » n’a aucun rôle sans l’instance de la classe « CLIENT ». (1 pt) 13: autoris

II - 14. Les cardinalités utilisées entre les classes « DIVISION » et « CLIENT ». (1 pt)
14: changer et saisir les info
Un client appartient à une et 1 seule division alors qu’une division peut comporter plusieurs clients.
II - 15. Compléter le diagramme de classes répondant aux exigences du système. (3 pts)
15: enregistrement( )

16: inform

BTS-DSI Rapport de jury BTS – Session mai 2015 28


Client Compte
Division numClient : long numCompte : int
Appartenir rue : String Posséder ruecompte : String
num : long
designation : String ville : String villeCompte : String
1 0..* tel : String 1 1..* directeur : String
contact : String tel : String
Concerner 1

Affectation
TypePoste 0..*
avoir rang : int
type : String
dateDebut : Date
libelle : String 1 0.* dateFin : Date

1..* Obtenir
dateObtention : Date

affecter

1
Salarie
matricule : String Qualification
adresse : String 0..* code : String
dateEmbauche : Date
1..* titre : String
natureContrat : String

Societe proposer Diplome


code Certificat niveau : String
nomSociete 1 1..*

DOSSIER III : GESTION DES RÉMUNÉRATIONS (16 pts)


1. Donner le code en SQL permettant de :
1.1 Créer la base de données BD_SALARIÉS . (avec valeurs par défauts) (1 pt)
Create database BD_SALARIÉS;

1.2 Créer les 3 tables de cette base (respecter toutes les contraintes). (3 pts)
Create table T_SALARIE(Matricule Int Primary Key,Nom varchar(50),
Prenom varchar(50), Date_Naissance Date,Date_Embauche Date,
Salaire_Annuel real,Type_Poste varchar(40));

Create table T_EVALUATION(Matricule int,Date_Evaluation Date,


Niveau Varchar(50),Augm_Prop real,Prime_Prop real,
Constraint PK_Eval PrimaryKey (Matricule,Date_Evaluation),
Constraint FK_S ForeignKey (Matricule)References T_SALARIE(Matricule));

Create Table T_EVOLUTION(Matricule Int,Date_Mise_A_Jour Date,


Ancien_Salaire_Ann real,Pourc_Augm Real,Prime real,Motif varchar(100),
Constraint PK_Evo PrimaryKey (Matricule,Date_Mise_A_Jour),
Constraint FK_SalForeignKey (Matricule)References T_SALARIE(Matricule));

BTS-DSI Rapport de jury BTS – Session mai 2015 29


2. Formuler en SQL la requête permettant d'obtenir les informations suivantes :salaire annuel maximal,
salaire annuel minimal et moyenne des salaires annuels par type de poste. (2 pts)
SELECT Type_Poste,Max(Salaire_Annuel),Min(Salaire_Annuel),
Avg(Salaire_Annuel)
FROM T_SALARIE
GROUPBY Type_Poste;

3. Expliquer le rôle de la requête suivante : (1 pt)


SELECT Type_Poste, Count(*)
FROM T_SALARIE
GROUP BY Type_Poste
HAVING Count(*)=(SELECT Max(Count(*))
FROM T_SALARIE
GROUP BY Type_Poste);
La requête affiche le (ou les) type du poste et le (ou les) nombre de salarié du (ou des) poste qui compte le
plus grand nombre de salariés.

4. Créer en SQL la fonction « F_Nbe_Salariés » permettant d'obtenir le nombre de salariés ayant plus
d’un nombre d’ans, donné en paramètre, dans l’année et dont l’évaluation en 2014 est « faible ».
(2,5 pts)

CREATE FUNCTION F_Nbe_Salariés(@annee int)


RETURNSintAS
BEGIN
DECLARE @Nombre int
SELECT @Nombre=Count(Matricule) FROM T_SALARIE
WHERE (YEAR(GetDATE())-YEAR(Date_Naissance))> @annee
AND Matricule IN(SELECT Matricule FROM T_EVALUATION
WHERE YEAR(Date_Evaluation)=YEAR(GETDATE())AND Niveau='faible')
Return @Nombre
END
GO

BTS-DSI Rapport de jury BTS – Session mai 2015 30


III. Sujet de Développement des applications informatiques (DAI) :

THÈME : GESTION DES ÉMISSIONS D’UNE CHAÎNE TV


Une chaîne de télévision gère ses émissions via une application informatique et un système
d’information. L’organisation du service informatique de cette chaîne est représentée par la figure ci-
dessous :

Figure 1 : Organisation de l’entreprise

Cette organisation est constituée principalement par :

 Un serveur de base de données sous Microsoft SQL Server

 Un service d’accueil dans lequel, on trouve une application Desktop sous VB.NET qui permet
de consulter les émissions programmées et d’ajouter d’autres.

 Un service de programmation qui valide les émissions proposées par le service d’accueil.

 Une application Web facilite, aux internautes, la consultation en ligne des émissions
programmées et de donner leurs avis.

BTS-DSI Rapport de jury BTS – Session mai 2015 31


DOSSIER I : SERVICE D’ACCUEIL (10 pts)
Dans le serveur de base de données, nommé « dbServer », on a implanté une base de données
nommée « dbGEm » dont le modèle physique est le suivant :

Figure 2 : Modèle physique de données(MPD)

Une description des champs de MPD est donnée dans les tableaux suivants :
Champ Type Détail
Champ Type Détail CodeEm int Clé primaire auto incrémenté
codeType nchar(10) Clé primaire titreEm nchar(40)
nomType nchar(40) DateHeureEm Datetime
Votes int Valeur par défaut est zéro
codeType nchar(10) Clé étrangère
Durée nchar(20)

L’application, sous VB.Net, permet la consultation des émissions proposées selon leur titre et
permet aussi la création, la modification et la suppression d’une émission. L’IHM de cette application
est la suivante :

Figure 3 : IHM de l’application de service d’accueil

BTS-DSI Rapport de jury BTS – Session mai 2015 32


Les contrôles de notre IHM sont listés ci-après :

Objet Name Text Objet Name


TxtTitre ComboBox CmbType
Zone de texte TxtDuree DataGridView DGV
TxtRech DateTimePicker DateEm
CmdAjouter Ajouter
Boutons de
CmdModifier Modifier
Commande
CmdFin Fin

N.B : Vous pouvez utiliser soit le mode connecté soit le mode non connecté

Travail à Faire :
I-1. Selon le mode utilisé, citer les objets nécessaires pour accéder et manipuler cette base de
données. (0,5 pt)
I-2. Donner le code d’une procédure nommée « Connexion » permettant la connexion à la base de
données. Une gestion d’exception est obligatoire. (1,5 pt)
I-3. Donner le code de la procédure « charger_Types » permettant de remplir l’objet ComboBox
nommé « CmbType » par les noms de différents types d’émissions. (1,5 pt)
I-4. Donner le code de la procédure « Lister_Emissions » permettant de remplir l’objet
DataGridView nommé « DGV » par toutes les émissions (Code, Titre, Date et le nom de type).
(1,5 pt)
I-5. Écrire le code des procédures évènementielles associées aux boutons :
– CmdAjouter : pour enregistrer une nouvelle émission dans la base de données. Tous les
champs doivent êtres remplis. (1,5 pt)
– CmdModifier : permet d’enregistrer les modifications apportées aux données du
formulaire d’insertion et actualiser, par la suite, l’affichage de l’objet DataGridView.
(1,5 pt)
– CmdFin : permet de mettre fin à l’application après confirmation de l’utilisateur. (0,5 pt)
I-6. Donner le code de la procédure évènementielle de la zone texte « TxtRech ». (1,5 pt)
Private Sub txtRech_TextChanged(ByVal sender …., ByVal e As …) Handles txtRech.TextChanged
…………
End Sub

Cette procédure permet de rechercher une émission dont le titre commence par les caractères
saisis dans la zone de texte « TxtRech ». Le résultat de recherche s’affichera dans l’objet
DataGridView (DGV).

BTS-DSI Rapport de jury BTS – Session mai 2015 33


DOSSIER II : SERVICE WEB (8 pts)
Le service Web dispose d’une copie de la base de données de Microsoft SQL Server. Cette
copie est implantée dans un serveur MySQL dont les caractéristiques sont les suivantes :

– Nom de serveur : localhost


– Login : user
– Password : 12345

On veut créer une page Web dynamique permettant de :

– Lister toutes les émissions avec une case à cocher au niveau de chacune ;
– Valider le vote via le bouton « Voter ».

La page Web est donnée ci-dessous :

Figure 4 : Page Web de consultation des émissions

II-1. Donner le code PHP de la fonction « connecter » permettant d’établir une connexion avec la
base de données dont le prototype est le suivant : (2 pts)

<?php

function connecter () {

…………………………

?>

BTS-DSI Rapport de jury BTS – Session mai 2015 34


II-2. Le code HTML de notre page web est le suivant : (3 pts)

<html>
<head>
<?php
function connecter () {………………………}
?>
</head>
<body>
<h1 align=”center”>Listing des émissions</h1>
<form method="POST" action="voter.php">
<table align=”center” border=”2” width=”60%”>
<caption>Liste de toutes les émissions</caption>
<tr>
<th>Code</th>
<th>Titre</th>
<th>Date</th>
<th>Type</th>
<th>Sélectionner</th>
</tr>
<?php
connecter();
………………………………
?>
</table>
</form>
</body></html>

Compléter le script PHP de la balise <Body> permettant de lister « Code, Titre, Date et
Type » de toutes les émissions avec une case à cocher au niveau de chacune. (Voir figure 4)

II-3. Donner le code de fichier « voter.php » qui permet de :


– Récupérer les codes des émissions sélectionnées via les cases à cocher ; (1 pt)

– Incrémenter par 1 le champ « votes » de chaque émission sélectionnée ; (1 pt)

– Retourner à la page d’accueil « index.php ». (1 pt)

BTS-DSI Rapport de jury BTS – Session mai 2015 35


DOSSIER III : SERVICE DE PROGRAMMATION DES ÉMISSIONS (14 pts)
Le modèle abstrait des données est le suivant : (14 pts : 1pt par question)

Figure 5 : Diagramme de classe

III-1. Le détail de la classe « Emission » est le suivant :


public abstract class Emission implements Serializable {
private String TitreEm;
private String duréeEm;
private Date dateEm;
//--------------------------------------------------------------
public Emission(String TitreEm, String duréeEm, Date dateEm) {
……………………………
}
//--------------------------------------------------------------
public Emission(String TitreEm, String duréeEm) {
……………………………
}
//--------------------------------------------------------------
@Override
public boolean equals(Object ob) {
……………………………
}
//--------------------------------------------------------------
@Override
public String toString() {
……………………………
}
//--------------------------------------------------------------
public abstract String getInfos();
}

a) Définir les deux constructeurs pour initialiser les attributs de cette classe. Le constructeur
avec deux arguments initialise la date d’émission par celle du système.

BTS-DSI Rapport de jury BTS – Session mai 2015 36


b) Définir la méthode « equals » qui compare deux émissions selon leurs titres.
c) Donner la définition de la méthode « toString », afin de retourner une chaine porteuse
d’informations sur une émission, la chaine aura la forme suivante :
Titre : xxxx , la durée : xxxxx , Date d’émission : jour/mois/année.

III-2. Le détail de la classe « Documentaire » est le suivant :


public class Documentaire extends Emission {
private String theme;
public Documentatire(……) {
……………………………
}
//--------------------------------------------------------------
public String getInfos(){
……………………………
}
}

a) Proposer un constructeur adéquat permettant d’initialiser tous les attributs ;


b) Donner le code de la méthode getInfos( ) permettant de retourner une chaine sous la forme
suivante :
Titre : xxxx , la durée : xxxxx , Date d’émission : jour/mois/année.

Thème : xxxxxxxx

III-3. Le détail de la classe « Fiction » est le suivant :


public class Fiction extends Emission {
private String réalisateur, producteur;
public Fiction(……………………) {
……………………………
}
//-------------------------------------------------------
public String getInfos() {
……………………………
}
}

a) Proposer un constructeur adéquat permettant d’initialiser tous les attributs ;


b) Donner le code de la méthode getInfos( ) permettant de retourner une chaine sous la forme
suivante :
Titre : xxxx , la durée : xxxxx , Date d’émission : jour/mois/année.

Réalisateur : xxxxxxxx

Producteur : xxxxxxxx

BTS-DSI Rapport de jury BTS – Session mai 2015 37


III-4. Le détail de la classe « Programme » est le suivant :
public class Programme {
private ArrayList<Emission> Liste=new ArrayList<Emission>() ;
//---------------------------------------------------------------
public boolean addEmission(Emission x) {
……………………………
}
//---------------------------------------------------------------
public Emission delEmission(int index){
……………………………
}
//---------------------------------------------------------------
public boolean delEmission(Emission p){
……………………………
}
//---------------------------------------------------------------
public Emission setEmission(int index,Emission x){
……………………………
}
//---------------------------------------------------------------
public void affiche( ){
……………………………
}
//---------------------------------------------------------------
public boolean saveAll(String f){
……………………………
}
//---------------------------------------------------------------
public boolean loadAll(String f) {
……………………………
}
}

Donner le code des méthodes suivantes :


a- addEmission(…) : permet d’ajouter à la collection une nouvelle émission et retourne
l’état de l’opération ;
b- delEmission(int) : permet de supprimer une émission de la collection en se basant sur
un index et retourne l’émission qui vient d’être supprimée. La vérification de la validité de
l’index est indispensable ;
c- delEmission(Emission ..) : permet de supprimer une émission de la collection en se
basant sur un objet « Emission » et retourne l’état de la suppression ;
d- setEmission(…) : permet de modifier une émission déjà existante, La vérification de la
validité de l’index est indispensable ;
e- afficher ( ) : affiche toutes les émissions de la collection ;

BTS-DSI Rapport de jury BTS – Session mai 2015 38


f- saveAll (String ): permet de sauvegarder toutes les émissions de la collection dans un
fichier d’objet ;
g- loadAll(String ): permet de charger toutes les émissions depuis un fichier d’objet dans
notre collection.

DOSSIER IV : ADMINISTRATION DISTANTE DE L’APPLICATION (8 pts)


 SERVEUR D’APPLICATION
Dans un serveur d’application, on veut créer une classe permettant la connexion à la base de
données en utilisant l’API JDBC. La structure de cette classe est la suivante :

Connexion
- cn : Connection
- URL : String
- User : String
- Password : String
+ …()
Figure 6 : Classe « Connexion »
public class Connexion{
private String URL,User, Password ;
private Connection cn;
//---------------------------------------------------------------
public Connexion(String URL, String User, String Password) {
this.URL=URL;
this.User=User;
this.Password=Password; }
//---------------------------------------------------------------
public boolean connecter( ){
……………………………
}
//---------------------------------------------------------------
public ResulatSet lire(String requete){
…………………………… }
//---------------------------------------------------------------
public Vector<Object[]> toVector(String requete, int n)
{
…………………………… }
//---------------------------------------------------------------
public boolean miseAjour(String requete){
……………………………
}
//---------------------------------------------------------------
public boolean fermer( ){
try{
cn.close();
return true;
}Catch(SQLException ex){
return false;
} }

BTS-DSI Rapport de jury BTS – Session mai 2015 39


Travail à Faire :
Définir les méthodes suivantes de la classe « Connexion » :

IV-1. Une méthode « connecter » pour se connecter à la base de données en se basant sur les
attributs déjà initialisés par le constructeur. Cette méthode retourne « true » en cas de succès
ou « false » en cas d’échec. (1 pt)
IV-2. Une méthode « lire » permet d’exécuter une requête de sélection et retourner le résultat dans
un objet « ResultSet ». En cas d’échec, elle retournera « null ». (1 pt)
IV-3. Une méthode « miseAjour » permettant d’exécuter une requête de mise à jour. Cette
méthode retourne « true » en cas de succès ou « false » en cas d’échec. (1 pt)
IV-4. Une méthode « toVector » qui reçoit une requête et un nombre de champs puis retourne un
Vector de tableaux d’objets. Chaque tableau contient les n champs d’un enregistrement.
(1 pt)

 CLIENT
Dans cette partie, on veut implémenter un client qui envoie des requêtes au serveur d’application
en utilisant les sockets en mode connecté. Client
Le modèle Orienté Objet du client est donné dans la - IP : String
- Port : int
figure ci-contre : +Client(…)
+demande(requete : String) : Object

Figure 7 : Classe Client

public class Client {


private String IP;
private int Port;
public Client (String IP, int Port){
……………………………
}
public Object demande(String requete){
……………………………
} }

Travail à Faire :
IV-5. Définir un Socket (0,5 pt);
IV-6. Comparer les deux modes TCP et UDP (0,5 pt);
IV-7. Définir le constructeur de la classe « Client » (0,5 pt);
IV-8. Définir la méthode « demande » qui permet de :
– Créer un Socket client (0,5 pt);
– Créer les objets de communication (0,5 pt);
– Envoyer une requête au serveur (0,5 pt) ;
– Lire la réponse provenant du serveur (0,5 pt);
– Retourner cette réponse (0,5 pt).

BTS-DSI Rapport de jury BTS – Session mai 2015 40


IV. Éléments de correction de DAI :

DOSSIER I : Service d’accueil


1- Les objets nécessaires (1pt)
 3 objets sqlDataAdapter : 1 pour TypeEm, 1 pour Emission et 1 pour la jointure
 Un objet DataSet
 Un objet sqlConnection
2- Initialisation de ces objets (1pt) :
Private cn As SqlConnection
Private adptType, adptEm, adptem1 As SqlDataAdapter
Private dset As New DataSet
Sub connecter()
Try
cn = New SqlConnection("initial catalog=dbGEm;data
source=dbServer;integrated security=true;")
cn.Open()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

Sub charger()
adptType = New SqlDataAdapter("select * from typeem", cn)
adptEm = New SqlDataAdapter("select * from emission", cn)
adptem1 = New SqlDataAdapter("select codeem as Code,TitreEm as
Titre,datehem as Date,nomtype as Type from emission e inner join typeem t on
e.codetype=t.codetype", cn)
adptType.Fill(dset, "typeem")
adptEm.Fill(dset, "emission")
adptem1.Fill(dset, "emission1")
EndSub

Sub chargerTypes( ) (1,5 pt)


cbType.valueMember= ″codeType″
cbType.DisplayMember= ″nomType″
cbType.datasource=dset.tables(″TypeEm″)
end sub
Sub Lister( ) (1,5 pt)
Table.datasource= dset.tables(″Emission1″)
End sub
cmdAjouter : permet d’ajouter une nouvelle émission, avec vérification de la validité du
formulaire ( vérification : 0,5 pt ajout : 1pt)

Private Sub cmdAjouter_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles cmdAjouter.Click (1 pt)
If isValide() = False Then
MessageBox.Show("Formulaire incomplet")
Exit Sub
End If
Dim L As DataRow
L = dset.Tables("emission").NewRow
L(1) = Me.txtTitre.Text
L(2) = Me.dateEm.Value
L(3) = Me.txtDuree.Text
L(4) = Me.cbType.SelectedValue

BTS-DSI Rapport de jury BTS – Session mai 2015 41


dset.Tables("emission").Rows.Add(L)
Dim b As New SqlCommandBuilder(Me.adptEm)
adptEm.Update(dset, "emission")
dset.Clear()
charger()
listerTypes()
listerem()
End Sub
‘---------------------------------------------------------------------
Function isValide() As Boolean (0,5 pt)
If txtTitre.Text.Trim.Equals("") Or txtDuree.Text.Trim.Equals("") Or
cbType.SelectedIndex = -1 Then
Return False
End If
Return True
End Function
cmdModifier : il permet de modifier une émission déjà inscrite (récupérer : 0,5 pt modifier : 1pt)

Private Sub cmdModifier_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles cmdAjouter.Click
Dim c, p As Integer
p = Me.table.CurrentRow.Index
If p = -1 Then Exit Sub
c = Integer.Parse(Me.table.Rows(p).Cells(0).Value.ToString())
If isValide() = False Then
MessageBox.Show("Formulaire incomplet")
Exit Sub
End If
Dim L As DataRow
L = dset.Tables("emission").Rows(p)
L(1) = Me.txtTitre.Text
L(2) = Me.dateEm.Value
L(3) = Me.txtDuree.Text
L(4) = Me.cbType.SelectedValue
Dim b As New SqlCommandBuilder(Me.adptEm)
adptEm.Update(dset, "emission")
dset.Clear()
charger()
listerTypes()
listerem()
End Sub
cmdFin : end. (0,5 pt)

Donner le code de la procédure évènementielle de la zone texte txtRech (1,5 pt) :

Private Sub txtRech_TextChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles txtRech.TextChanged
Dim dv As New DataView(dset.Tables("emission1"))
dv.RowFilter = "titre like '" + txtRech.Text + "%'"
table.DataSource = dv
End Sub

BTS-DSI Rapport de jury BTS – Session mai 2015 42


DOSSIER II : Service Web

1- La function connecter() (2 pts) :


<?php
function connecter(){
mysql_connect("localhost","user","12345") or die("err de serveur");
mysql_select_db("dbgem") or die("err de bd");
}
?>
2- le code HTML de notre page web est le suivant (3 pts):

<html>
<head>
< ?php
function connecter () {…} ?> </head>
<body>
<h1 align=”center”>Listing des émissions</h1>
<form method="POST" action="voter.php">
<table align=”center” border=”2” width=”60%”>
<caption>Liste de toutes les émissions</caption>
<tr>
<th>Code</th>
<th>Titre</th>
<th>Date</th>
<th>Type</th>
<th>Selectionner</th> </tr>
<?php
connecter();
$r=mysql_query("select codeem as Code, TitreEm as Titre, dateHeureEm as
Date, nomtype as Type from emission e inner join typeem t on
e.codetype=t.codetype");
while($L=mysql_fetch_row($r))
echo
"<tr><td>$L[0]</td><td>$L[1]</td><td>$L[2]</td><td>$L[3]</td><td><input
type='checkbox' value=$L[0] name=T[]></td></tr>";
?>
</table>
<input type="submit" value=" Voter ">
</form>
</body></html>

3- Le code du fichier « voter.php » (3 pts):


<?php
$a=$_POST["T"];
connecter();
foreach($a as $v)
$r=mysql_query("update emission set votes=votes+1 where codeem=$v");
header(“location:index.php”);
?>

BTS-DSI Rapport de jury BTS – Session mai 2015 43


DOSSIER III : Service de programmation des émissions

1) Le détail de la classe Emission est le suivant (14 pts : 1pt par question):

public abstract class Emission implements Serializable{


private String TitreEm;
private String duréeEm;
private Date dateEm;
//-----------------------------------------------------------------
-----
public Emission(String TitreEm, String duréeEm, Date dateEm) {
this.TitreEm=TitreEm;
this.duréeEm=duréeEm;
this.dateEm=dateEm;
}
//-----------------------------------------------------------------
------
public Emission(String TitreEm, String duréeEm) {
this.TitreEm=TitreEm;
this.duréeEm=duréeEm;
this.dateEm=new Date();
}
//-----------------------------------------------------------------
------
@Override
public boolean equals(Object ob)
{
Emission a=(Emission) ob;
return TitreEm.equals(a.TitreEm);
}
//-----------------------------------------------------------------
------
@Override
public String toString() {
SimpleDateFormat sdf = new SimpleDateFormat("jj/MM/yy");
return ″Titre :″ + TitreEm+″, la durée :″+duréeEm+″, Date
d’émission :″+sdf.format(dateEm);
}
//-----------------------------------------------------------------
public abstract String getInfos();
}

2) Le détail de la classe Documentaire le suivant :

public class Documentaire extends Emission{


private String theme;
public Documentaire(String TitreEm, String duréeEm, Date
dateEm,String t) {
super(TitreEm, duréeEm, dateEm);
theme=t;
}
public String getInfos(){
return super.toString()+”\n”+”Theme:”+theme;
}
}

BTS-DSI Rapport de jury BTS – Session mai 2015 44


3) Le détail de la classe Fiction le suivant :

public class Fiction extendsEmission{


private String réalisateur, producteur;
public Fiction(String TitreEm, String duréeEm, Date
dateEm,Stringr,String p) {
super(TitreEm, duréeEm, dateEm);
réalisateur=r;
producteur=p; }
public String getInfos(){
return
super.toString()+”\nRéalisateur:”+réalisateur+”\nProducteur :”
+producteur;
} }
4) Le détail de la classe Programme le suivant :

public class Programme{


private ArrayList<Emission>Liste=new ArrayList<Emission>() ;
//------------------------------------------------------
public boolean addEmission(Emission x) {
return Liste.add(x); }
//------------------------------------------------------
public Emission delEmission(int index) {
if((index<0)||(index>=Liste.size())) return null;
return Liste.remove(index);
}
//------------------------------------------------------
public boolean delEmission(Emission p){
return Liste.remove(p);
}
//------------------------------------------------------
public Emission setEmission(int index,Emission x){
if((index<0)||(index>=Liste.size())) return null;
return Liste.set(index,x) ;
}

//---------------------------------------------------------
public void affiche( ){
String r=””
for(Emission e:Liste) r+=e+”\n”;
System.out.println(r) ;
}
//-----------------------------------------------------
public Boolean saveAll(String f) {
Try{ObjectOutputStream ob=new ObjectOutputStream(FileOutputStream(f));
for(Emission e:Liste)
{ob.writeObject(e) ;
ob.flush(); }
ob.close();
return true;
}catch(Exception ex)
{
ex.printStackTrace();
return false; } }

//-------------------------------------------------------

BTS-DSI Rapport de jury BTS – Session mai 2015 45


public boolean loadAll(String f) {
Liste.clear();
try{ObjectInputStream ob=new ObjectInputStream(FileInputStream(f));
while(true)
{Emission em;
try{
em=(Emission)ob.readObject();
Liste.add(em);
}
Catch(Exception ex1){break;}
}
ob.close();
return true;
}catch(Exception ex)
{
ex.printStackTrace();
return false;
}

}
}

DOSSIER IV : Administration distante de l’application


public class Connexion{
private String URL,User, Password ;
private Connection cn;
//------------------------------------------------------
public Connexion(String URL, String User, String Password) {
this.URL= URL;
this.User= User;
this.Password= Password;}
//------------------------------------------------------
public boolean connecter( ){
try{
Cn=DriverManager.getConnection(URL,User,Password);
}catch(Exception ex)
{ Ex.printStackTrace(); }}
//------------------------------------------------------
public ResulatSet lire(String requete){
try{
Statement st=cn.createStatement();
ResultSet rs=st.executeQuery(requete);
return rs;
}catch(Exception ex)
{ return null; } }
//----------------------------------------------------
public Vector<Object[]> toVector(String requete, int n) {
try{
Vector v=new Vector();
ResultSet r= lire(requete);

BTS-DSI Rapport de jury BTS – Session mai 2015 46


while(r.next())
{
Object[] t = new Object[n];
for(int i=0;i<n;i++)
t[i]= r.getObject(i+1);
v.add(t);
}
return v;
}catch(Exception ex){return null;}
}
//------------------------------------------------------
public Boolean miseAjour(String requete){
try{
Statement st=cn.createStatement();
st.executeUpdate(requete);
return true;
}catch(Exception ex)
{ return false; }
}
//---------------------------------------------------------
public boolean fermer( ){
try{
cn.close( );
return true;
}catch(Exception ex)
{ Ex.printStackTrace();
return false; }}

public class Client {


private String IP;
private int Port;
public Client (String IP, int Port)
{………………}
public Object demande(String requete)
{Try
{ Socket C = new Socket (IP,Port);
ObjectInputStream in = new ObjectInputStream(C.getinputStream());
PrintStream out = new PrintStream(new
BufferedOutputStream(C.getoutputStream()));
Out.println(requete);
return in.readObject();
}
catch (Exception e) {return null;}
}
}}

BTS-DSI Rapport de jury BTS – Session mai 2015 47

Vous aimerez peut-être aussi