Vous êtes sur la page 1sur 9

Examen National du Brevet de Technicien Supérieur Page

Session 2020 1
Centre National de l'Évaluation et des Examens
- Corrigé - 9

Filière : Multimédia et Conception Web - MCW - Durée : 5 Heures


Épreuve : Etude de Cas Informatique Coefficient : 60

DOSSIER 1 : Analyse et Programmation


Partie analyse
1.1 MCD

1.2 MLD

CHAUFFEURS ( numéro, nom, prénom, adresse, #numéro) (1 pt)


CONDUIRE(idVehicule,numéro) (1 pt)
TYPE(idType,designation) (0,5 pt)
VEHICULE(idVehicule,dateAchat, #idType) (1 pt)
Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
2
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9

Partie programmation
package cas20;

public abstract class Vehicule {


private int idVehicule;
private int dateAchat;
private static int cptVehicules=0;
private String marque;
protected int kilometrage;

public Vehicule(int dateAchat, String marque, int kilometrage) {


idVehicule =++cptVehicules;
this.dateAchat = dateAchat;
this.marque = marque;
this.kilometrage = kilometrage;
}
public String getMarque() {
return marque;
}

package cas20;

public class Voiture extends Vehicule {


private int nombrePlaces ;

public Voiture(int dateAchat, String marque, int kilometrage, int


nombrePlaces) {
super(dateAchat, marque, kilometrage);
this.nombrePlaces = nombrePlaces;
}
public void ajoutDistance(int km) {
this.kilometrage += km ;
}

@Override
public String toString() {
return "Voiture : (idVehicule " + getIdVehicule() + " , " +
nombrePlaces +" places , " + getMarque()+" , " + kilometrage + " Km)";
}

package cas20;
public class Camion extends Vehicule {
private int tonnage;
public Camion(int dateAchat, String marque, int kilometrage, int
tonnage) {
super(dateAchat, marque, kilometrage);
this.tonnage = tonnage; }
Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
3
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9

public void ajoutDistance(int klm) {


kilometrage += klm;
}
public String toString() {
return "Camion\n"
+ "\tIdVehicule = " + getIdVehicule()
+ "\n\ttonnage= " + tonnage + " Tonnes"+
"\n\tMarque = " + getMarque() +
"\n\tKilometrage = " + kilometrage + " Km";}
}

package cas20;

import java.util.ArrayList;

public class Parc {


private int numParc;
private static int compteurV = 0;
private static int compteurC = 0;
private final int maxVoitures = 10;
private final int maxCamions = 6;
ArrayList<Vehicule> prc = new ArrayList<Vehicule>();
public Parc(int numParc) {
this.numParc = numParc;
}
public void ajouterVoiture(Voiture v) {
if(prc.size() < maxVoitures) prc.add(v);
else System.out.println("Paking plein!");
}
public void ajouterCamion(Camion c) {
if(prc.size() < maxCamions) prc.add(c);
else System.out.println("Paking plein!");
}
public String listeVehicules() {
String ch="";
for (Vehicule vehicule : prc) {
ch = ch + vehicule.toString() + "\n";
System.out.println("-------------------------------\n");
}
return ch;
}
}
//============================================
package cas20;

import java.util.Scanner;

public class ParcAuto {

public static void main(String[] args) {


Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
4
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9
Scanner lire = new Scanner(System.in);
int dateAch,kilometrage ,placetonnage;
String marque, choix;
char t;
Parc p1 = new Parc(1);
do {
System.out.println("Donner la date d'achat Vehicule ");
dateAch = lire.nextInt();
System.out.println("Donner le kilometrage Vehicule ");
kilometrage = lire.nextInt();
lire.nextLine();
System.out.println("Donner la marque Vehicule ");
marque = lire.nextLine();
//lire.nextLine();
System.out.println("Donner le type Vehicule ");
choix = lire.nextLine();
t = choix.charAt(0);

if(t == 'c') {
System.out.println("Donner le tonnage ");
placetonnage = lire.nextInt();
Vehicule c = new Camion(dateAch, marque, kilometrage, placetonnage);
p1.ajouterCamion((Camion)c);
} else
if(t == 'v') {
System.out.println("Donner nombre de places ");
placetonnage = lire.nextInt();
Vehicule vv = new Voiture(dateAch, marque, kilometrage, placetonnage);
p1.ajouterVoiture((Voiture) vv);}
System.out.println("continuer ? ");
lire.nextLine();
choix = lire.nextLine();
t = choix.charAt(0);
}while(t != 'x');
System.out.println(p1.listeVehicules());
}}
Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
5
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9
DOSSIER 2 : Développement Web

2.1

<?php
$con=mysqli_connect('localhost:3308','root','','toto');
?>
2.2

formulaire
2.3
Requete Insert
2 .4

<?php $r='';
if(isset($_POST['ok']))
$id=$_POST['identifiant'];
?>
<form method=post>
<p><h1>
Identifiant préparateur :<input type=text name=identifiant value=<?php
echo $id ?>>
<button class= "bouton" name="ok" value="afficher">Afficher</button>
</h1></p></form>
<?php
if (isset($_POST['ok']))
{
include ('connexion.php');$req1=mysqli_query($con,"select * from
commandes where idPreparateur=$id");
while ($tabCommande=mysqli_fetch_assoc($req1))
{
echo"commande N°:". $tabCommande['numCommande'] .' -- date
:'.$tabCommande['dateCommande'] .' -- Adresse de
livraison:'.$tabCommande['adresseLivraison'];
$req2=mysqli_query($con,"select * from detailCommande natural join
articles where numCommande={$tabCommande['numCommande']}");
echo "<table border = 1><tr><b><td width='20%'>idArticle</td><td
width='60%'>Designation</td><td width='20%'>quantité</td></b>";
while($tabDetail=mysqli_fetch_assoc($req2))
echo "<tr><td>" .$tabDetail['idArticle'].
"</td><td>".$tabDetail['designation']."</td><td>".$tabDetail['quantite']
."</td></tr>";
echo"</table>";
}
}
Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
6
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9
2 .5

<?php
include ('connexion.php');
$reqPreparateur=mysqli_query($con,'select nom, prenom, email, tel,
count(numCommande) as totalCommandesPreparees from preparateurs natural
join commandes group by idPreparateur order by totalCommandesPreparees
DESC');
?>
<div> <h1>Liste des performances des préparateurs </h1></div>
<table><tr><td>Nom
</td><td>Prénom</td><td>email</td><td>téléphone</td><td>Total de
commandes </td></tr>
<?php
$t=[1200,800];$i=0;
while($tabPreparateur=mysqli_fetch_assoc($reqPreparateur))
{
echo
"<tr><td>".$tabPreparateur['nom']."</td><td>".$tabPreparateur['prenom']."
</td><td>".$tabPreparateur['email']."</td><td>".$tabPreparateur['tel']."<
/td><td>".$tabPreparateur['totalCommandesPreparees']."</td></tr>";
}
?>

2.6

<?php
include ('connexion.php');
$reqCommandesNonConformes=mysqli_query($con,"select * from clients
natural join commandes where etat=4");
require('fpdf.php');
$pdf = new FPDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('arial','B',14);
$pdf->SetXY(40,40);
$pdf->Cell(130,10,utf8_decode('Liste des commandes retournées pour non-
conformité'),1);
$pdf->SetXY(10,60);
$pdf->SetFont('Arial','B',12);
$pdf->Cell("35",10,utf8_decode('Num Commande'),1);
$pdf->Cell("35",10,utf8_decode('Date commande'),1);
$pdf->Cell("35",10,utf8_decode('Nom client'),1);
$pdf->Cell("35",10,utf8_decode('Prénom client'),1);
$pdf->Cell("50",10,utf8_decode('Adresse livraison'),1,1);
$pdf->SetFont('Arial','',12);
while
($tabCommandesRetournees=mysqli_fetch_assoc($reqCommandesNonConformes))
{
$pdf->Cell("35",8,utf8_decode $tabCommandesRetournees['numCommande']),1);
$pdf-
>Cell("35",8,utf8_decode($tabCommandesRetournees['dateCommande']),1);
Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
7
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9
$pdf->Cell("35",8,utf8_decode($tabCommandesRetournees['nomClient']),1);
$pdf-
>Cell("35",8,utf8_decode($tabCommandesRetournees['prenomClient']),1);
$pdf-
>Cell("50",8,utf8_decode($tabCommandesRetournees['adresseLivraison']),1,1
);
}
$pdf->Output();
?>
2 .7

<?php
include ('connexion.php');
$reqCommandesEndommages=mysqli_query($con,"select * from preparateurs
natural join commandes where etat=5");
$fichierXml=fopen('commandeEndommages.xml','a');
fputs($fichierXml,"<?xml version='1.0' encoding='UTF-8'?>\n
<commandeEndommages>\n");

while($tabCommandesEndommages=mysqli_fetch_assoc($reqCommandesEndommages)
)
{
print_r($tabCommandesEndommages);
$commande="<commande>\n";
$commande.="<numCommande>".$tabCommandesEndommages['numCommande']."</numC
ommande>\n";
$commande.="<dateCommande>".$tabCommandesEndommages['dateCommande']."</da
teCommande>\n";
$commande.="<adresseLivraison>".$tabCommandesEndommages['adresseLivraison
']."</adresseLivraison>\n";
$commande.="<preparateur>\n";
$commande.="<nomPreparateur>".$tabCommandesEndommages['nomPreparateur']."
</nomPreparateur>\n";
$commande.="<prenomPreparateur>".$tabCommandesEndommages['prenomPreparate
ur']."</prenomPreparateur>\n";
$commande.="</preparateur>\n";
$commande.="</commande>\n";
fputs($fichierXml,$commande);

}
Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
8
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9
DOSSIER 3 : Réseaux Informatiques
Le siège de l’entreprise est installé dans un bâtiment de trois étages, le réseau informatique Intranet
de l’entreprise se compose de trois sous réseaux:
1er sous réseau : Service Administration
2ième sous réseau : Service Client / Personnels
3ième sous réseau : Service Stock / Parc
Les trois sous réseaux sont interconnectés par un routeur. le sous réseau Administration abrite tous
les serveurs du siège à savoir les serveurs WEB,DNS et DHCP et d’autres postes de travail.
Figure1

1. Donner quelques avantages d’un réseau informatique ?(1,5Pt)


Le partage de documents
Le partage de ressources matérielles
La communication

2. Citer la différence entre un Switch et un Hub ? (2Pts)


Hub :reçoit le paquet de données sur un port et la retransmis à travers tous les autres port (diffusion)
Switch : reçoit le paquet de données sur un port et la retransmis à travers le port ou est connectées la
machine de destination.
3. Les adresse IP du tableau suivant, son elles des adresses ip machines valides ?(3,5Pt)
Adresse Valide Si la réponse est non justifier
(oui/non)
162.12.333.1 non 333 est supérieur à 255
/24
144.20.77.20/16 oui
233.42.55.7/29 non Adresse de diffusion
166.44.9.16/24 oui
210.24.30.2/28 oui

L’administrateur réseau utilise l’adresse privé 192 .168.20.0 / 24 pour adresser les trois sous
réseaux.
Les besoins en adresses ip sont comme suit :
Nom du sous Besoin en adresses IP machine
réseau

Administration 16

Clients / 22
Personnels
10
Stock / Parc

4. Quels sont les intérêts de découpage de cet intranet en sous réseaux ? (2Pts)

• Amélioration des performances


Page
Corrigé de l’Examen National du Brevet de Technicien Supérieur - Session 2020 -
9
Filière : Multimédia et Conception Web - MCW - Épreuve : Etude de Cas Informatique 9
• La sécurité
• Gestion des adresses
5. En respectant les besoins indiqués ci-dessus (4Pts)
NB : le premier et le dernier sous réseau du découpage sont utilisable.
Adresses IP Masque en Adresse IP de
Sous réseau
réseau / Préfixe décimal diffusion
Administration 192 .168.20. 32 / 27 255.255.255.224 192 .168.20. 63
Clients /
192 .168.20.0 / 27 255.255.255.224 192 .168.20. 31
Personnels
Stock / Parc 192 .168.20.64 / 28 255.255.255.240 192 .168.20. 79
6. Quel est le numéro de port par défaut d’un serveur Web ? (2Pt)
80.

Au niveau du sous réseau Administration (Annexe 3B) l’administrateur réseau désire installer un
serveur WEB, un serveur DHCP et un serveur DNS
7. Indiquer en bref la fonction de chaque serveur. (1,5Pt)
Serveur Web : permet le stockage et la mise à disponibilité de contenus Web
Serveur DHCP : permet d’attribuer dynamiquement une configuration IP à chacune des machines
d’un réseau.
Serveur DNS : permet de traduire un nom de domaine en une adresse IP.
8. Donner la configuration du serveur DHCP lui permet de servir uniquement le réseau
Administration en respectant l’adressage indiqué sur la: (1,5Pt)
Etendu : Adresse début :192.168.1.4
Adresse Fin : 192.169.1.253
Masque :255.255.255.0
Adresse ip DNS :192.168.1.2
Adresse ip passerelle : 192.168.1.254
9. Donner la configuration TCP/IP minimale permettant au PC1 de communiquer avec les
machines du sous réseau Clients/Personnels ? (1Pt)
Adresse ip(192.168.10.6), masque(255.255.255.0) et passerelle(192.168.10.254)
10. Donner la commande DOS permettant de tester la connectivité du PC3 au serveur WEB ?
(1Pt)
Ping 192.168.1.1

Vous aimerez peut-être aussi