Vous êtes sur la page 1sur 18

Examen National du Brevet de Technicien Supérieur Page

Session de Mai 2021 1


- Sujet - 18
Centre National de l'Évaluation, des Examens

Filière : Multimédia et Conception Web Durée : 5 heures


Épreuve : Etude de cas informatique Coefficient : 60

PRESENTATION

La pandémie du COVID-19, partie de la province de Wuhan en Chine, s’est propagée


très rapidement au reste du monde n’épargnant aucun état. Cette pandémie qui a causé des
millions de décès et de cas confirmés avait aussi des effets néfastes sur l’économie mondiale.
En effet cette dernière a tourné au ralenti durant cette période caractérisée par des épisodes
de confinement total et une batterie de restrictions causant la récession même dans les pays
ayant des systèmes économiques les plus solides. Dans ce contexte la seule issue permettant
de retrouver une vie normale est la vaccination.
Le Maroc est parmi les pays modèles qui ont fait une gestion exemplaire de cette crise
sanitaire depuis son début jusqu’au lancement de la vaste compagne de vaccination.
La gestion de cette compagne de vaccination n’est pas une mince affaire et nécessite des
moyens logistiques colossaux, des centres de vaccination de proximité et des moyens humains
considérables.
Cette gestion est automatisée via une plateforme permettant entre autre :
✓ La gestion logistique de la compagne et sa préparation ;
✓ L’inscription des citoyens visés par cette compagne ;
✓ Le suivi de l’administration des deux doses ;
✓ Le suivi d’éventuels effets indésirables ;
✓ L’évaluation de la performance du personnel vaccinateur.
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
2
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Dossier 1 Analyse & Programmation

Partie 1 : Analyse Merise


On désire mettre en place une base de données permettant la gestion "partielle" de la
livraison des dotations en vaccin.
Pour ce faire on se base sur les règles de gestion et le dictionnaire de données suivants:
Règles de gestion :
- Une dotation est répartie en plusieurs livraisons ;
- Une livraison provient d'une dotation ;
- Une région reçoit plusieurs livraisons ;
- Une livraison concerne une et une seule région ;
- Une livraison est transportée par un et un seul véhicule ;
- Le véhicule peut transporter plusieurs livraisons ;
- Une livraison est traitée par une ou plusieurs équipes ;
- Une équipe traite une ou plusieurs livraisons ;
- On note la date où une équipe réceptionne une livraison ;
- Un membre fait partie d’une et d’une seule équipe ;
- Une équipe est composée d'un ou plusieurs membres ;
- Un membre exerce une et une seule fonction ;
- Une fonction est exercée par plusieurs membres.
Dictionnaire de données :
Propriété Désignation
idDotation Identifiant de la dotation
designation Désignation de la dotation
dateReception Date de réception de la dotation
matriculeV Matricule de véhicule
marqueV Marque de véhicule
modeleV Modèle de véhicule
codeLiv Code de livraison
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
3
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

descriptionLiv Description de livraison


qteLiv Nombre de doses dans une livraison
dateLiv Date de livraison
numRegion Numéro de la région
nomRegion Nom de la région
idEquipe Identifiant de l'équipe
libEquipe Libellé de l'équipe
nbreMembre Nombre maximal de membres dans l'équipe
cnie Carte National d'Identité Electronique d'un membre
nomMembre Nom d'un membre
prenomMembre Prénom d'un membre
idFonction Identifiant d'une fonction
fonctionExercee Fonction exercée

TRAVAIL A FAIRE
1.1 A partir des règles de gestion et du dictionnaire de données, construire le
modèle conceptuel de données. (10 pts)
Soit le modèle conceptuel suivant :

TRAVAIL A FAIRE
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
4
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

1.2 A partir du modèle conceptuel de données ci-dessus établir le modèle


logique de données correspondant. (4pts)

Partie 2 : Programmation Orientée Objet Java


Nous nous intéressons dans cette partie à la gestion des indémnités relatives aux
heures supplémentaires des médecins et infirmiers durant la compagne.

L’analyse partielle a permis de dégager les classes Java suivantes : Personnel, Infirmier,
Medecin et Service.

Les valeurs numériques utilisées dans ce qui suit sont données à titre indicatif.
TRAVAIL A FAIRE
1.3 Définir la classe Personnel ayant la structure suivante :
✓ Les attributs cnie et nom (Chaînes) et l’attribut nbreHeureSuppl
(nombres d'heures supplémentaires de type réel initialisé à -1) ; (1pt)
✓ Le constructeur avec paramètres (cnie, nom) ; (0.5pt)
✓ Le getter et le setter de l’attribut nbreHeureSuppl ; (1pt)
✓ La méthode abstraite indemnite() renvoyant un réel ; (0.5pt)
✓ La méthode toString() renvoyant une chaîne constituée de cnie, nom
et prenom séparés par des sauts de lignes. (0.5pt)

1.4
Définir la classe Infirmier qui hérite de la classe Personnel et ayant la
structure suivante :
✓ L’attribut comptInf : compteur des infirmiers qui sera visible dans
d’autres classes du même package; (0.5pt)
✓ Les attributs diplome (chaîne) et anciennete (entier) (0.5pt)
✓ Le constructeur adéquat; (1pt)
✓ La méthode indemnite() renvoyant nbreHeureSuppl*45 si
l’ancienneté est inférieur à 10 sinon nbreHeureSuppl*75 ; (0.5pt)
✓ La méthode toString() renvoyant une chaîne constituée de toutes les
informations d’un infirmier séparées par des sauts de lignes. (0.5pt)
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
5
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

1.5 Définir la classe Medecin qui hérite de la classe Personnel et ayant la


structure suivante :
✓ L’attribut comptMed : compteur des médecins qui sera visible dans
d’autres classes du même package ; (0.5pt)
✓ La constante tauxHorraire qui vaut 220; (0.5pt)
✓ Les attributs specialite (chaine) ; (0.5pt)
✓ Le constructeur adéquat; (0.5pt)
✓ La méthode indemnite() renvoyant nbreHeureSuppl*tauxHoraire;
(0.5pt)
✓ La méthode toString() renvoyant une chaîne constituée de toutes les
informations d’un médecin séparées par des sauts de lignes. (0.5pt)

1.6 Définir la classe Service ayant la structure suivante :


✓ Les attributs :
intitule (chaîne ) , nbreMaxInfirmier ( Constante qui vaut 12 et
représente le nombre maximal d’infirmiers par service),
nbreMaxMedecin ( Constante qui vaut 4 et représente le nombre
maximal de médecins par service) et srv ( liste dynamique de
personnels d’un service) ; (1pt)
✓ Le constructeur avec le paramètre intitule ; (0.5pt)
✓ La méthode ajouterUnMedecin() permettant de réaliser ce qui suit :
(1.5pt)
- Lit les informations d’un médecin et l’ajoute à srv si le
nombre maximal de médecins n’est pas atteint sinon la
méthode affiche le message "Nombre max de medecins
atteint! "
- Lit et met à jour le nombre d'heures du médecin créé.
✓ La méthode ajouterUnInfirmier() permettant d’ajouter un infirmier
de la même manière que la méthode ajouterUnMedecin(). (le codage
de cette méthode n’est pas demandé, vous pouvez la considérer prête
et l’utiliser dans ce qui suit) ;
✓ La méthode ajouterPersonnel() permet de réaliser ce qui suit : (1.5pt)
- Fait appel aux méthodes ajouterUnMedecin() et
ajouterUnInfirmier() pour avoir l'effectif nécessaires dans un
service donné tant que l'utilisateur tape ('O' ou 'o') comme
réponse au message " Ajoute un personnnel Oui/Non ?;
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
6
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

- L'ajout d'un médecin ou d'un infirmier dépend d'un choix lu au


clavier ('M' pour Medecin et 'I' Pour Infirmier) ;
- La saturation de la liste srv provoque la sortie de la boucle.
✓ La méthode afficherSrv() permettant d'afficher la liste du personnel
d'un service. (1pt)
✓ La méthode totalIndemnites() renvoyant le total des indémnités
relatives aux heures supplémentaires du personnel d'un service. (1pt)
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
7
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Dossier 2 Développement Web

La gestion en ligne de l’inscription et le suivi de vaccination de la population ciblée


par cette compagne est basée sur le MLD réalisé par les analystes. On se limitera aux tables
suivantes impliquées dans cette gestion :
citoyens (cnieCitoyen, nomCit, prenomCit, adresseCit, villeCit, activiteCit,
dateNaissanceCit, exCovid, #idCentre)
vaccination (idVaccination, dateVaccin, dose, #cnieCitoyen, #cnieVaccinateur, #idCentre,
#idVaccin)
centres (idCentre, intituleCent, adresseCent, villeCent)
vaccins (idVaccin, type, datePeremption)
vaccinateurs (cnieVaccinateur, nomVacc, prenomVacc, #idCentre)
agentAdmins (idAdmin, nomAdm, prenomAdm, emailAdm, login, motPass)
Le contenu de la table vaccins est comme suit :
idVaccin type datePeremption
1 Sinopharm 01-01-2022
2 AstraZeneca 01-01-2022

Champs Valeurs possibles


activiteCit Enseignement
Santé
Agent autorité
Sécurité nationale
Forces armées royales
Autre
dose 1 (première dose)
2 (deuxième dose)

Les informations de connexion au serveur de bases de données sont enregistrées dans


le fichier texte infosConnexion.txt qui a la sémantique suivante :
covidServ | admin | adminPass | compagneVaccination

Où covidServ représente le serveur, admin l’utilisateur, adminPass le mot de passe et


compagneVaccination la base de données.
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
8
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Le fichier connexion.php permet d’extraire les informations de connexion du fichier


texte infosConnexion.txt, et de se connecter au serveur de données MySql.

TRAVAIL A FAIRE
2.1 Ecrire le code du fichier connexion.php qui permet d’établir la connexion
à la base de données. (4pts)

Dans chaque centre de vaccination les citoyens sont accueillis par une équipe d’agents
administratifs chargés de leur inscription via des tablettes connectées à l’application.
Chaque agent doit s’authentifier pour avoir accès à l’application en donnant son login
et son mot de passe (voir Annexe 2-A).

2.2 Ecrire le script de la page authentification.php permettant de vérifier


l’existence du login et mot de passe fournis par l’agent dans la table
agentAdmins. En cas de succès le nom de l’agent est enregistré dans une
variable de session avec redirection vers la page index.php (6pts)

2.3 a. Ecrire la page formAjout.html permettant d’afficher le formulaire


de saisie des informations d’un citoyen. Ce formulaire renvoie vers
le fichier ajoutCitoyen.php. (4pts)
b. Ecrire le code de la page ajoutCitoyen.php permettant d’insérer
ces données dans la base de données. (4pts)

Le citoyen à la possibilité de consulter ses informations personnelles ainsi que le centre


de vaccination auquel il est affecté, il peut aussi demander le changement du centre de
vaccination en cas de changement d’adresse.
2.4 Ecrire le code de la page centreVaccination.php permettant d’afficher
les informations du citoyen accompagnées des informations du centre de
vaccination. Pour se faire, le citoyen doit saisir son numéro de carte
nationale d’identité électronique (CNIE).
Voir Annexe 2-B (7pts)

A la fin de la compagne de vaccination, le ministère de la santé publique a décidé


d’attribuer des primes de rendement récompensant les infirmiers vaccinateurs ayant fait plus
de 10000 injections. Voir Annexe 2-C
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
9
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

2.5 Ecrire le code de la page performanceVaccinateur.php permettant


d’afficher la liste des infirmiers vaccinateurs à récompenser (8pts)

Le ministère de la santé publique a développé une application pour l’édition de


rapports statistiques concernant la compagne nationale de vaccination. Cette application est
dotée d’un Parser XML permettant le traitement de données XML importées des autres
applications du ministère.
2.6 Ecrire le code de la page exprterListeXml.php permettant de générer le
fichier XML listeVaccines.xml donné dans l’Annexe 2-D qui sera traité
par l’application citée ci-dessus et qui renferme la totalité des citoyens
vaccinés au niveau national (9pts)

Tout citoyen ayant pris les deux doses du vaccin a droit à un certificat sous format PDF
pour impression et format JPG destinée à l’affichage sur Smartphones.
2.7 Ecrire le code de la page attestationVaccin.php permettant à un citoyen
d’éditer son attestation de vaccination au format PDF, la date de
vaccination correspond à la date de la deuxième dose. Voir Annexe 2-E
(8pts)
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
10
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Dossier 3 Etude du réseau informatique (20 points)

Avant le lancement de la compagne de vaccination, un des piliers qui va contribuer à la


réussite de cette opération c’est la mise en place d’un système de gestion d’informations et de
communication fiable, efficace et rapide. La mise en place d’une infrastructure réseau qui
interconnecte un centre national aux centres régionaux s’avère nécessaire.
Dans ce cadre on prévoit d’installer un réseau informatique au niveau de chaque centre
régional et un autre au niveau du Siège (centre national). Les réseaux locaux sont reliés au
siège par des lignes spécialisées.
La topologie globale du réseau est composée des réseaux suivants :
Réseau local Nombre de machines
Le Siège 60 dont trois serveurs (WEB, DHCP et DNS)
La Région A 40
La Région B 24
La Région C 12

TRAVAIL A FAIRE
3.1 Dans le tableau suivant pour chaque type de signal, indiquer un nom de
support de transmission: (1.5Pt)
Nature du signal physique Nom du support de
supporté transmission de données
Électrique
Lumineux
Ondes radiofréquence
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
11
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

3.2 Le modèle OSI est constitué de couches, chaque couche possède une unité
de données de protocole PDU. Compléter le tableau suivant : (1Pt)
Nom de la couche Nom de l’unité de données de protocole
APPLICATION Donnée
Transport SEGMENTS
RESEAUX Paquet
Liaison TRAMMES

3.3 Dans le domaine des réseaux locaux que représente une topologie physique ?
Citer quelques exemples ? Quelle est la topologie la plus utilisée ? (1.5Pt)
3.4 Qu’appelle-t-on le type de réseau permettant de relier les réseaux locaux des
régions au réseau du Siège? (1Pt)
3.5 Quel est l’intérêt de découper un réseau informatique en sous réseaux ? (1Pt)
3.6 Compléter le tableau suivant en calculant le nombre d’adresses IP de chaque
réseau. (1Pt)

Adresse réseau Nombre d’adresse IP du


réseau
210.20.168.0 /24
172.18.56. 32/27
199 .78.25.0/25
160.230.128.0/22

On souhaite adresser les quatre réseaux à partir d’une même adresse IP initiale
192.168.20.0/24. Les besoins en adresses IP des réseaux sont comme suit :
Nom du sous réseau Besoin en adresses IP
machine
Siège 60
Région A 40
Région B 24
Région C 12

TRAVAIL A FAIRE
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
12
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

3.7 En utilisant le découpage VLSM, donner un schéma d’adressage répondant aux


besoins en indiquant la méthode utilisée pour découper (4.5Pts)
NB : le premier et le dernier sous réseau du découpage sont utilisables.
Adresses IP Masque en Adresse IP de
Sous réseau
réseau décimal diffusion
Siège
Région A
Région B
Région C

Pour gérer l’Intranet du Siège et faciliter la configuration de ses différentes machines on


prévoit l’installation et la configuration d’un serveur DHCP au niveau du réseau local Siège.
TRAVAIL A FAIRE
3.8 Quelle est l’utilité de ce serveur ? (0.5Pt)
3.9 Que signifie l’acronyme DHCP (0.5Pt)
3.10 Le serveur et le client DHCP échangent des paquets d’informations. Complétez le
tableau suivant :(1Pt)
Type de paquet Emis par (client ou serveur)
DHCPDISCOVER
DHCPACK
DHCPOFFER
DHCPREQUEST

3.11 Devez-vous attribuer au serveur DHCP une adresse IP statique ou dynamique ?


Justifier. (1Pt)

On admet que la configuration du serveur DHCP du réseau local du Siège est


comme suit :

Adresse début Adresse Fin


Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
13
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Etendu 192.168.1.1 192.168.1.254


Exclusion 192.168.1.251 192.168.1.254

Masque 255.255.255.0
@IP DNS 192.168.1.253
@IP Passerelle 192.168.1.254

TRAVAIL A FAIRE
3.12 Définir les paramètres de cette configuration (étendu, exclusion …) (2Pts)

Pour héberger l’application web de gestion de la compagne de vaccination, un serveur


web local devra être installé et configurer au niveau du Siège.
Les utilisateurs du réseau pourront accéder à l’application via l’adresse
« https://www.vaccin-covid.ma ».
TRAVAIL A FAIRE
3.13 Pour que notre serveur Web soit fonctionnel on doit installer et configurer
les outils suivants : Apache, MySQL et PHP
Quel est la fonction de chacun de ces outils ? (1.5Pt)
3.14 Qu’appelle-t-on la structure d’adresse : https://www.vaccin-covid.ma ?
(1.5Pt)
3.15 Cette adresse doit subir une résolution en adresse IP, quel le nom du serveur
responsable de cette résolution ? (0.5Pt)
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
14
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Les annexes

Annexe 2-A

Annexe 2-B
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
15
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Annexe 2-C
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
16
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Annexe 2-D

<?xml version='1.0' encoding='ISO-8859-1'?>


<vaccines>
<vaccine cnie='E123455'>
<identite>
<nom> ALAOUI</nom>
<prenom> KAMAL</prenom>
<dateNaissance> 1950-03-18</dateNaissance>
<ville> Marrakech</ville>
</identite>
<dateDose2> 2021-02-26</dateDose2>
<centre>
<intitule> Zerktouni</intitule>
<adresse> MASSIRA 1</adresse>
<ville> Marrakech</ville>
</centre>
</vaccine>
<vaccine cnie='E654276'>
<identite>
<nom> JAMALI</nom>
<prenom> AHMED</prenom>
<dateNaissance> 1960-06-15</dateNaissance>
<ville> Marrakech</ville>
</identite>
<dateDose2> 2021-02-26</dateDose2>
<centre>
<intitule> Zerktouni</intitule>
<adresse> MASSIRA 1</adresse>
<ville> Marrakech</ville>
</centre>
...
<vaccine cnie='E633376'>
<identite>
<nom> AOUNI</nom>
<prenom> AZIZ</prenom>
<dateNaissance> 1958-12-10</dateNaissance>
<ville> Rabat</ville>
</identite>
<dateDose2> 2021-02-26</dateDose2>
<centre>
<intitule> Zerktouni</intitule>
<adresse> MASSIRA 1</adresse>
<ville> Marrakech</ville>
</centre>
</vaccine>
</vaccines>
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
17
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Annexe 2-E
Sujet de l’Examen National du Brevet de Technicien Supérieur - Session de Mai 2021 Page
-
18
Filière : Multimédia et Conception Web Épreuve : Etude de cas
18
informatique

Annexe 2-F: Méthodes usuelles de la classe FPDF.

AddPage([string orientation [, mixed size [, int rotation]]])


Ajoute une nouvelle page au document.
Cell
Cell(float w [, float h [, string txt [, mixed border [, int ln
[, string align [, int fill [, mixed link]]]]]]])
Imprime une cellule (zone rectangulaire) avec éventuellement des
bords, SetFont
SetFont(string family [, string style [, float size]]): Fixe la police
utilisée pour imprimer les chaînes de caractères. Il est obligatoire
d'appeler cette méthode au moins une fois avant d'imprimer du texte,
sinon. Si vous souhaitez juste changer la taille courante, il est
plus simple d'appeler SetFontSize().
Ln
Ln([float h]) : Effectue un saut de ligne. L'abscisse courante est
ramenée à la valeur de la marge gauche et l'ordonnée augmente de la
valeur indiquée en paramètre.

Output
string Output([string name [, string dest]]): Envoie le document vers
une destination donnée :, fichier local ou navigateur. Dans ce dernier
cas,. La méthode commence par appeler Close() si nécessaire pour
terminer le document.
SetFontSize
SetFontSize(float size): Fixe la taille de la police courante.

SetXY
SetXY(float x, float y): Fixe l'abscisse et l'ordonnée de la position
courante. Si les valeurs transmises sont négatives, elles sont
relatives respectivement aux extrémités droite et basse de la page.

FPDF
FPDF([string orientation [, string unit [, mixed format]]]): Il s'agit
du constructeur de la classe. Il permet de fixer le format des pages,
leur orientation par défaut ainsi que l'unité de mesure utilisée dans
toutes les méthodes).

Close
Close() : Cette méthode termine le document PDF. Il n'est pas
nécessaire de l'appeler explicitement car

Vous aimerez peut-être aussi