Vous êtes sur la page 1sur 34

FEDERATION EUROPEENNE DES ECOLES

EUROPEAN FEDERATION OF SCHOOLS


Organisation non gouvernementale dote du statut participatif auprs du Conseil de lEurope
NGO enjoying participatory status with the Council of Europe

UE D - TECHNIQUES PROFESSIONNELLES

UC D31 DEESINF
Informatique et Rseaux

Corrig

Type dpreuve : Etude de cas


Dure : 6 heures
Session : Janvier 2012

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

Partie 1 - Administration des rseaux

Sous-dossier 1 : Questions diverses

Question 1
Quest-ce que le 802.11 et 802.3 ?
2 points
La norme IEEE 802.11 (ISO/IEC 8802-11) est un standard international dcrivant les caractristiques d'un
rseau local sans fil (WLAN). Le nom Wi-Fi (contraction de Wireless Fidelity, parfois note tort WiFi)
correspond initialement au nom donne la certification dlivre par la Wi-Fi Alliance, anciennement WECA
(Wireless Ethernet Compatibility Alliance), l'organisme charg de maintenir l'interoprabilit entre les
matriels rpondant la norme 802.11. Par abus de langage (et pour des raisons de marketing) le nom de la
norme se confond aujourd'hui avec le nom de la certification. Ainsi un rseau Wifi est en ralit un rseau
rpondant la norme 802.11.
Grce au Wi-Fi, il est possible de crer des rseaux locaux sans fils haut dbit pour peu que l'ordinateur
connecter ne soit pas trop distante par rapport au point d'accs
IEEE 802.3 est une norme pour les rseaux informatiques dicte par l'Institute of Electrical and Electronics
Engineers (IEEE). Cette norme est gnralement connue sous le nom d'Ethernet. C'est aussi un sous-comit du
comit IEEE 802 comprenant plusieurs groupes de travail distincts ayant chacun la responsabilit du
dveloppement et de la spcification d'un standard d'interconnexion entre quipements bass sur les liaisons
filaires.

Question 2
Quels sont les moyens de scuriser un rseau cbl et Wifi qui autorise laccs uniquement les
ordinateurs ou utilisateurs authentifis ?
2 points
Le seul moyen qui permet de scuriser un rseau avec la contrainte dautoriser uniquement les ordinateurs et
utilisateurs authentifis est le serveur radius (protocole 802.1x). Nous pouvons ainsi utiliser EAP-TLS et
coupler PKI + Radius.

Question 3
Quels sont les couches du modle OSI ?
2 points
Le modle OSI est compos de plusieurs couches :
- application,
- prsentation,
- session,
- transport,
- rseau,
- liaison,
- physique.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

2/34

Question 4
Donnez le nom des couches o lon trouve les protocoles IP, TCP et ARP.
2 points
Le protocole IP sera prsent dans la couche 3 (rseau), TCP sera lui dans la couche 4 (transport).
Pour ARP, la couche concerne est la 2 (liaison).

Question 5
Donnez le nom des protocoles qui permettent de faire cohabiter de lIPv6 et IPv4.
2 points
Nous avons plusieurs protocoles qui permettent de faire cohabiter IPv4 et IPv6 :
- 6/4,
- Trdo,
- Isatap.

Question 6
Quel est la catgorie de cble qui me faut pour un rseau en 10 Gbits/s ?
2 points
Pour avoir un rseau en 10Gbits/s un cble de catgorie 6 au minimum est ncessaire, de plus il faudra que le
matriel dinterconnexion le gre.

Question 7
Quelles sont les diffrentes classes dadresses IP ?
Donnez leur valeur minimale et maximale.
2 points
Nous avons 3 classes dadresses
- classe A : 1 127,
- classe B : 128 191,
- classe C : 192 223.

Question 8
A quoi correspond cette adresse ?
2 points
Microsoft a implment dans ses systmes les adresses APIPA qui permet de faire des mini-rseaux non
routables sans avoir de grosses connaissances en rseau. Si une interface rseau possde une adresse APIPA,
cela signifie quaucun serveur DHCP na attribu de bail DHCP linterface rseau configur pour un
adressage automatique.
En IPv4 ladressage est de la forme 169.254.x.x, en ipv6 nous aurons des adresses commenant par FE80.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

3/34

Question 9
Quel type dadressage a t normalis sur le numro RFC 1918 ?
2 points
La RFC 1918 correspond ladressage priv, utilis dans les rseaux locaux.

Question 10
Donnez, pour chaque classe, les valeurs minimales et maximales de la RFC 1918.
2 points
Chaque classe possde une valeur minimale et maximale :
- classe A : 10.0.0.0 - 10.255.255.255
- classe B : 172.16.0.0 - 172.31.255.255
- classe C : 192.168.0.0 - 192.168.255.255

Sous-dossier 2 : Etude de cas - La socit ABC Conseil

Question 1
Quest-ce quun VLAN et que permet-il de faire ?
2 points
Un VLAN permet de segmenter le rseau. Les utilisateurs dun mme service ou ayant accs aux mmes
informations seront regroupes par VLAN. En fonction du type de VLAN choisi, aucune manipulation
complexe na besoin dtre effectue, la configuration se faisant sur les Switchs.
Ce dcoupage aura pour impact une meilleure bande passante pour chaque utilisateur. La scurit sera de plus
amliore puisquil est impossible pour un utilisateur daccder un autre VLAN.

Question 2
Quels sont les principaux intrts dun VLAN ?
2 points
Un VLAN prsente plusieurs intrts.
Segmentation : rduit la taille d'un domaine de broadcast
Flexibilit : possibilit de travailler au niveau 2 (couche liaison) ou au niveau 3 (rseau). Les VLAN
fonctionnent au niveau de la couche 2 du modle OSI. Toutefois, un VLAN est souvent configur pour se
connecter directement un rseau IP, ce qui donne l'impression de travailler plutt au niveau de la couche 3.
Les VLAN peuvent aussi se baser sur les ports physiques des commutateurs (attention ne pas confondre les
ports physiques avec les ports logiques du protocole) (en anglais : port-based ), ce qui correspond
au niveau 1 du modle OSI et non au numro de port du niveau 4 (par exemple : le port 80 en TCP qui
"pointe" vers le service HTTP).
Scurit : permet de crer un ensemble logique isol pour amliorer la scurit. Le seul moyen pour
communiquer entre des machines appartenant des VLAN diffrents est alors de passer par un routeur.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

4/34

Question 3
Quels sont les types de VLANS possibles?
Dcrivez leurs avantages et inconvnients. Pour chaque type, donnez le nom de la couche du
modle OSI sur laquelle on se trouve.
2 points
Nous avons 3 types de VLAN.
VLAN de niveau 1 ou par port
Son avantage est la simplicit de mise en place malheureusement, il suffit de se brancher une prise pour
pouvoir faire partie de ce VLAN. Cet quipement est prsent sur la couche 1 du modle OSI.
VLAN de niveau 2 ou par adresse MAC
Ce VLAN apporte une grande facilit de dplacement dans lentreprise, le passage dun bureau un autre ne
causera aucun changement car ladresse physique (adresse MAC) du poste est le critre pour lentre dans un
VLAN. Les principaux inconvnients vont tre la complexit de gestion des adresses MAC et la
reconfiguration du switch en cas de changement de la carte rseau. Cet quipement est prsent sur la couche 2
du modle OSI.
VLAN de niveau 3 ou VLAN par adresse IP ou protocole
Beaucoup plus facile au niveau de la gestion, nous allons pouvoir grer les sous-rseaux et faire passer une
machine dun VLAN un autre en fonction de sa configuration IP. Malheureusement cela va ncessiter un
quipement de niveau 3 (beaucoup plus cher). Une analyse des trames va causer un temps ncessaire pour la
commutation du paquet. Cet quipement est prsent sur la couche 3 du modle OSI.

Question 4
Quelle mthodologie adopteriez-vous dans le cadre de laudit rseau et du choix final des
VLAN :
- rfrentiel, Norme ?
- outils rseaux utiliser pouvant aider au diagnostic du rseau et au choix final de la
solution des VLAN ?
4 points
Nous pouvons nous appuyer sur certain outil pour analyser le rseau. Les audits avec des outils comme
Mehari vont nous aider identifier les failles possibles de notre rseau, ou plus gnralement linfrastructure
rseau.
Nous pouvons galement nous appuyer sur des scanners de vulnrabilits qui vont identifier les failles et sur
des sondes afin danalyser les trames circulant sur le rseau. Ce dernier nous permettra didentifier des goulots
dtranglements.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

5/34

Question 5
Ainsi, vous devriez vous baser sur les points suivants pour rpondre cette question :
- dcrivez votre manire d'oprer.
- quelle commande permet la cration d'un VLAN, (une fois le mode configuration
activ) ?
4 points
La configuration dun VLAN de niveau 1, 2 ou 3 sopre obligatoirement sur un switch, quipement
dinterconnexion de niveau 2 ou 3. Nous aurons deux possibilits pour effectuer cette opration linterface
graphique dadministration de lquipement ou ladministration en ligne de commande.
Nanmoins en amont de cette tche, il me semble opportun deffectuer le choix du type de VLAN. En
fonction de ce dernier, il nous suffira de faire le plan de branchement ou linventaire des adresses IP ou MAC.
Pour crer un Vlan, il faudra saisir les commandes :
Switch#vlan database
Switch(vlan)#vlan {numro} [name{nom}]
Switch(vlan)#exit

Question 6
Pour le Vlan par ports, proposez un plan de branchement sur le switch.
1 point
Si nous choisissons la solution du VLAN par port, alors je recommande le branchement suivant.
VLAN pour la direction
VLAN pour la comptabilit
VLAN pour les IT
VLAN pour les autres employs

Question 7
Indiquez, pour chaque VLAN, sil est ncessaire de changer notre switch.
1 point
Nous avons un switch de niveau 2, nous avons donc pas besoin de changer notre quipement pour les VLANs
de niveau 1 et 2. Il sera ncessaire de le faire pour un VLAN de niveau 3 et dacqurir un switch de niveau 3
qui est capable danalyser des adresses IP.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

6/34

Question 8
Existe-t-il une diffrence de prix entre un switch qui permet de faire du VLAN de niveau 2 et
un switch de niveau 3 ?
Expliquez votre rponse.
2 points
Il existe une diffrence de prix entre un switch de niveau 2 et 3, cela est caus par la possibilit danalyse
dune trame IP sur quipement de niveau 3 et donc de fonctionnalits plus avances.

Question 9
Sur un VLAN de niveaux 3, comment peut-on filtrer la communication entre VLAN ?
2 points
Nous allons pouvoir filtrer la communication dun VLAN un autre laide des ACL sur le routeur.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

7/34

Partie 2 - Administration des systmes dexploitation

Sous-dossier 1 : Administration Windows Serveur

Question 1
Expliquez le(s) problme(s) que l'on risque de rencontrer si l'on s'en tient aux lments de
configuration DHCP prsents.
Donnez vos prconisations et spcifiez les diffrentes options du serveur DHCP utiliser pour
rpondre l'nonc.
3 points (1 point pour le problme, 2 points pour les solutions)
Le problme est ltendue DHCP. En effet, la plage dadresses IP commence 172.16.0.10 et finit
172.16.1.255. Cependant, notre serveur (172.16.0.252) et la passerelle par dfaut (172.16.0.254) font partie de
cette plage.
Pour rpondre cette problmatique, la solution est de soit faire une exclusion dadresse IP, soit faire une
rservation MAC afin de rserver des adresses IP des adresses MAC particulires.
Refaire ltendue DHCP nest pas une solution, car le nombre dordinateurs possibles dans le rseau serait
certainement diffrent.
Le second problme concerne les options de serveurs. Il ne faut pas oublier de remplir ces options concernant
le serveur DNS (option 006) avec lIP 172.16.0.252 et le routeur utiliser comme passerelle par dfaut
(option 003) avec lIP 172.16.0.254.
Enfin, un paramtre utile est de donner directement le suffixe du nom de domaine DNS (option 015) avec la
valeur scce.eu .

Question 2
Comme vous pouvez le constater, les mises jour dynamiques ne sont pas autorises.
Votre choix se tourne plutt vers une configuration dun DNS dynamique.

Expliquez la diffrence et les avantages de votre choix.


3 points (1.5 point pour la diffrence, 1.5 point pour lavantage)
Le service DNS permet aux ordinateurs clients de mettre jour leurs enregistrements de ressource, en mode
dynamique, dans DNS. Cette fonctionnalit permet d'optimiser l'administration DNS en rduisant les dlais
associs la gestion manuelle des enregistrements de zone. La fonctionnalit de mise jour dynamique du
DNS peut tre utilise avec le protocole DHCP (option 81 : nom de domaine) pour mettre jour les
enregistrements de ressources lors de la modification de l'adresse IP d'un ordinateur.
Lavantage est donc de mettre jour les enregistrements DNS dynamiquement partir des adresses IP que les
clients ont rcupr partir du DHCP du serveur.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

8/34

Question 3
Expliquez ce que signifie Crer un pointeur denregistrement PTR associ et quelle est la
configuration pralable raliser ?
Quel sera le problme rencontr si le pointeur PTR nest pas associ ?
Enfin, quelle est la commande DOS pour tester les enregistrements du DNS partir des postes
clients ?
3 points (1 point pour lexplication, 1 point pour le problme, 1 point pour la commande DOS)
Un pointeur denregistrement PTR permet de crer automatiquement, lors de lajout dun enregistrement dun
hte ( A ) dans la zone de recherche directe, son inverse dans la zone de recherche inverse.
Par exemple, si lors dun nouvel enregistrement dun hte dans la zone de recherche directe, jassocie lhte
PC1.scce.eu ladresse IP 172.16.0.50. Le fait de crer un PTR associ, va permettre de crer son inverse
dans la zone de recherche inverse, soit ladresse IP 172.16.0.50 associ lhte PC1.scce.eu.
Le problme lorsquun PTR nest pas associ est quil marqu manquant ou mal configur lors de son appel.
La consquence directe est que la rsolution entre le nom de domaine et ladresse IP fonctionne, mais pas
linverse : le serveur DNS nest pas entirement paramtr.
La dclaration inverse est importante sur les adresses IP publiques Internet puisque l'absence d'une rsolution
inverse est considre comme une erreur oprationnelle (RFC 1912) qui peut entrainer le refus d'accs un
service.
La commande DOS pour tester les enregistrements du serveur DNS est la commande nslookup .
Lors de lappel cette commande, celle-ci retourne le serveur DNS faisant autorit (ladresse IP devrait tre
172.16.0.252).
Ensuite, il faut tester les diffrentes zones DNS.
Pour tester la zone directe, nous allons essayer de contacter par exemple : SCCE01.scce.eu
Le serveur doit nous rpondre 172.16.0.252
Pour tester la zone inverse, nous allons essayer de faire linverse (grce au PTR associ automatiquement),
cest--dire contacter le : 172.16.0.252
Le serveur doit nous rpondre SCEE01.scce.eu

Question 4
Quelles diffrences faites-vous entre un domaine et une fort ?
De plus, quelles diffrences faites-vous entre un schma et un annuaire ?
3 points (1 point diffrence domaine/fort, 2 points diffrence schma/annuaire)
Une arborescence (drive de la norme X.500) Active Directory est compose de :
- La fort : structure hirarchique d'un ou plusieurs domaines INDEPENDANTS (ensemble de tous les
sous domaines Active Directory).
- L'arbre ou l'arborescence : domaine et toutes ramifications. Par exemple, dans l'arbre domaine.tld,
sous1.domaine.tld, sous2.domaine.tld et photo.sous1.domaine.tld sont des sous-domaines de
domaine.tld.
- Le domaine : constitue les feuilles de l'arborescence. photo.sous1.domaine.tld peut-tre un domaine
au mme titre que domaine.tld.
Annuaire : lieu de stockage rparti de toutes les informations qui caractrisent l'ensemble des objets pouvant
exister dans le rseau de l'entreprise. L'administration centralise de l'annuaire offre les moyens de disposer
des services capables de rendre ces informations utilisables par les utilisateurs en fonction de leurs droits et
privilges.
Schma : contient toutes les dfinitions de tous les objets de l'annuaire. Chaque nouvel objet cr est valid en
fonction des contraintes imposes sur les diffrents attributs manipuls avant d'tre crit dans l'annuaire. Le
schma contient une description de toutes les classes et attributs des objets utilisables.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

9/34

Question 5
Expliquez les diffrences entre ces deux types de conteneurs.
3 points (1 point par raison)
Un conteneur standard (Computers, Users, ) permet seulement de stocker des objets de l'annuaire des fins
d'organisation, les UO galement mais permettent en plus de grer plus finement les objets contenus.
3 raisons principales de crer des UO :
- organiser les objets d'un domaine dans l'annuaire d'une faon plus ordonne,
- permettre la dlgation de tches d'administration certains membres d'une UO,
- mettre en place des stratgies de groupe (GPO) qui s'appliqueront tous les membres d'une UO.

Question 6
Quelle dmarche de mise en uvre proposez-vous ?
Quelles sont les tapes de cette configuration ?
4 points (1 point pour le terme profil itinrant , 1 point pour le ntuser.dat, 2 points pour les tapes)
La personnalisation du bureau d'un utilisateur se trouve dans son profil (NTUSER.DAT) qui est cr la
premire connexion de l'utilisateur sur la machine dans le dossier Documents and settings. Le profil porte le
nom de l'utilisateur. Afin que l'utilisateur puisse retrouver son profil sur une autre machine, il faut le stocker
sur un serveur de profils et spcifier que l'utilisateur a un profil itinrant. A chaque connexion de l'utilisateur
sur une machine, son profil itinrant sera tlcharg localement. Sur le serveur de profil, il faudra crer
pralablement un dossier partag sur une partition NTFS et configurer les proprits du compte d'utilisateur
pour spcifier le chemin du profil itinrant sur le serveur
Voici un exemple de configuration de profils itinrants avec longlet Profil afin de donner le chemin du
profil sur un autre serveur par exemple (avec un mappage dun lecteur rseau Z :)

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

10/34

Question 7
Pouvez-vous expliquer dans quels cas utilise-t-on l'une ou l'autre des options ?
3 points (1 point pour chaque cas)
Global
Pour organiser les comptes d'utilisateurs afin de regrouper ceux qui ont des caractres communs (groupes
prdfinis Utilisateurs du domaine, administrateurs du domaine )
Domaine local
Pour appliquer des permissions ses membres. De plus les groupes prdfinis permettent de donner des droits
sur la gestion du systme (administrateurs...)
Universelle
Pour regrouper des utilisateurs de n'importe quel domaine et leur assigner des permissions dans n'importe quel
domaine. Utiles que si la fort est compose de plusieurs domaines.

Question 8
Quel est le moyen utilis pour centraliser certains droits et de les appliquer directement sur
tous les postes dun domaine ?
Quelle est la dure de rafrachissement entre chaque intervalle de mise jour pour les
contrleurs de domaine ?
Si vous ne voulez pas attendre, quelle est la commande DOS utiliser pour appliquer
immdiatement ces nouveaux droits ?
3 points (1 point pour lexplication du terme GPO, 1 point pour lintervalle, 1 point pour la commande DOS)
Les stratgies de groupe (GPO) sont apparues avec lActive Directory de Windows 2000 pour contrler de
manire centralise et efficace les droits de lutilisateur. Une stratgie de groupe est un ensemble de
paramtres formant une rgle qui sapplique automatiquement des utilisateurs ou des groupes placs
lintrieur dun objet conteneur (units dorganisation,)
Par dfaut, lintervalle de rafrachissement est de 5 minutes pour les contrleurs de domaine et de 90 minutes
plus un intervalle alatoire allant jusqu 30 minutes pour les autres ordinateurs. Seule les stratgies de
scurit sont rafrachies toutes les 16 heures, soit 960 minutes plus un intervalle alatoire allant jusqu 30
minutes.
La commande DOS pour forcer la mise jour est : gpupdate /force

Question 9
Comment allez-vous procder en suivant les prconisations Microsoft ?
4 points (1 point pour les comptes, 1 point pour les groupes, 1 point pour droits de partage, 1 point pour
droits NTFS)
Cration de tous les comptes.
Cration de 2 groupes globaux admin et prod.
Affectation des comptes dans les diffrents groupes.
Cration d'un groupe de domaine local gestadmin.
Affectation des 2 groupes globaux dans le groupe de domaine local.
Partager le dossier avec comme permission de partage contrle total tout le monde.
Ajouter dans la liste ACL NTFS le groupe gestadmin avec comme permission lecture et criture.
(Prconisations AGLP).
Le groupe crateur propritaire est dans la liste ACL avec tous les droits sur son document.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

11/34

Question 10
Quelles sont les rgles dapplication des permissions sur un partage, sur un objet NTFS et sur
les deux ?
2 points (1 point pour chaque cas)
Sur un partage et sur NTFS indpendamment, on cumule les permissions accords l'utilisateur et tous les
groupes auxquels il appartient, sauf si l'option est refuser.
Sur une combinaison partage + NTFS, on prend les permissions les plus restrictives entre les deux.

Question 11
Expliquez le processus mis en uvre entre le client et le contrleur de domaine afin quune
session puisse tre ouverte.
Prcisez quelles sont les diffrentes causes de ce problme, aussi bien matrielles que logicielles.
Quels sont les outils / commandes ncessaires pour rsoudre cette difficult afin que votre poste
client puisse joindre votre domaine ?
7 points (2 points pour le processus de connexion, 1 point par problme)
Lors de l'ouverture de session, le service charg de la connexion cherche l'adresse IP du contrleur de
domaine l'aide des enregistrements SRV du serveur DNS configur sur la machine. Une fois l'adresse IP du
contrleur trouve, il vrifie que la machine un compte avec le bon mot de passe dans l'annuaire AD. Il
vrifie ensuite que l'utilisateur existe bien et que son mot de passe est valable. Le service Kerberos du
contrleur de domaine attribuera alors l'utilisateur un ticket d'entre dans le rseau qui lui permettra
d'accder toutes les ressources auxquelles il a droit
Les causes de problme peuvent tre diverses :
- La communication ne se fait pas entre les 2 postes. La vrification faire est lutilisation de la
commande ping pour tester la bonne communication. Ce problme provient en gnral lorsque
vous installez AD aprs le service DHCP. Il faut autoriser ltendue DHCP aprs avoir install AD.
- La mauvaise configuration TCP/IP du client. En effet, mme si le client arrive bien communiquer
avec le serveur, il faut tout de mme vrifier si la configuration TCP/IP du client contient comme
serveur DNS primaire, le serveur DNS de notre domaine (pour lenregistrement et la connexion au
domaine). Il faut alors rentrer dans les paramtres pour la vrification, ou faire un ipconfig /all .
- La mauvaise configuration du serveur DNS. En effet, un mauvais paramtrage du serveur DNS peut
empcher la connexion. Tests raliser nslookup et vrifier les enregistrements dans la zone de
recherche directe et inverse. On peut aussi pinger le serveur DNS avec ladresse IP et avec son
nom FQDN (Fully Qualified Domain Name).
- Mauvaise configuration du domaine AD, comme par exemple la promotion de notre contrleur de
domaine en tant que PDC (primary domain controller avec la commande dcpromo). Lancer la
commande dcpromo dans ce cas sur le serveur.
- Mauvaise paire didentifiant / mot de passe pour se connecter sur le serveur de domaine la premire
fois. Vrification faire : vrifier si lidentifiant de connexion fait partie du groupe Administrateurs
du domaine .
Dautres causes peuvent existes, mais les principales ont t cites.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

12/34

Question 12
Proposez une solution pour allger les requtes et permettre une meilleure tolrance aux
pannes du service DNS.
2 points (1 point pour la dlgation, 1 point pour la rplication)
On appelle dlgation de zones dans le systme de rsolution de noms DNS, l'autorisation, par le serveur
primaire dun domaine, dun autre serveur DNS contrler les enregistrements dune zone dun domaine
secondaire.
On peut amliorer la tolrance aux pannes du service DNS dune rgion par la rplication des enregistrements
de la zone de la rgion dans un service DNS dun autre domaine dune autre rgion ou du domaine principal.

Sous-dossier 2 : Administration Linux

Question 1
Indiquez la commande qui vous permet dafficher la configuration TCP/IP des cartes rseaux,
mme si elles ne sont pas actives.
1 point (0.5 pour ifconfig, 0.5 point pour loption a)
Ifconfig est utilis pour configurer (et maintenir ensuite) les interfaces rseau rsidentes dans le noyau. Il est
utilis lors du boot pour configurer la plupart d'entre-elles et ainsi rendre le systme oprationnel. Aprs, ce
n'est quasiment plus utilis que pour le dbogage ou pour des rglages si ncessaire.
Si aucun argument n'est donn, ifconfig affiche simplement l'tat des interfaces actuellement dfinies. Si seul
le paramtre interface est donn, il affiche seulement l'tat de l'interface correspondante; si seul le paramtre a est fourni, il affiche l'tat de toutes les interfaces, mme celles qui ne sont pas actives. Autrement, il
considre qu'il faut positionner de nouvelles valeurs.

Question 2
Indiquez les diffrentes commandes vous permettant dattribuer une configuration statique
votre serveur.
Quel fichier est modifier pour prendre en compte les paramtres DNS statiques rpondant
lnonc ?
4 points (1 point pour ifconfig, 1 point pour le route add, 1 point pour le fichier resolv.conf et 1 point pour sa
configuration)
# ifconfig eth0 172.16.25.10 netmask 255.255.0.0 broadcast 172.16.255.255 (le paramtre broadcast est
optionnel)
Pour activer le routage, il faut ensuite entrer cette commande (facultatif car le routage est activ par dfaut) :
# echo "1" > /proc/sys/net/ipv4/ip_forward
Il faut entrer la passerelle par dfaut avec la commande :
# route add default gw 172.16.25.254
Pour rsoudre les noms sur le rseau, il faut stocker dans le fichier "/etc/resolv.conf" l'adresse IP de nos
serveurs DNS :
| domain scce.eu
# pour spcifier le suffixe de votre domaine
| nameserver 172.16.0.252
# pour spcifier ladresse IP du serveur DNS

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

13/34

Question 3
Quelles sont les commandes (et les ventuelles options) que vous allez maintenant utiliser pour
tester le bon fonctionnement du paramtrage DNS ?
2 points (0.5 point pour le ping, 0.75 point pour la zone directe, 0.75 point pour la zone inverse)
La premire chose faire avant de tester le bon paramtrage du DNS est de le contacter.
Donc, un premier
# ping 172.16.0.252 fera laffaire.
Si le serveur communique bien avec le serveur DNS, il faut ensuite sa bonne configuration.
La commande principale est nslookup (qui permet de tester les enregistrements de notre DNS)
Lors de lappel cette commande, celle-ci retourne le serveur DNS faisant autorit (ladresse IP devrait tre
172.16.0.252).
Ensuite, il faut tester les diffrentes zones DNS.
Pour tester la zone directe, nous allons essayer de contacter par exemple : SCCE01.scce.eu
Le serveur doit nous rpondre 172.16.0.252
Pour tester la zone inverse, nous allons essayer de faire linverse, cest--dire contacter le : 172.16.0.252
Le serveur doit nous rpondre SCEE01.scce.eu
Nous pourrions faire le test avec un autre hte enregistr.

Question 4
Comment sappelle le script qui active la rsolution de noms de domaines ?
Donnez la ligne de commande qui permet d'arrter ou redmarrer dynamiquement ce service.
2 points (1 point pour le nom, 1 point pour la commande)
Le script qui active la rsolution de noms de domaine s'appelle bind ou bind9
/etc/init.d/bind start : Active le script
/etc/init.d/bind stop : Dsactive le script

Question 5
Indiquez une autre commande qui permet de contrler le service "named" sans utiliser son
script de contrle.
1 point (0 point si loption HUP nest pas prcis)
kill -HUP PID de Named : Vous trouverez le PID de named dans /var/run

Question 6
Expliquez lutilit de lajout de ce script.
3 points (1 point pour explication du serveur maitre, 2 points pour dlgation avec adresse IP)
Le serveur matre de la zone scce.eu doit dlguer le domaine zone.scee.eu au poste 172.16.25.10 qui doit
devenir maitre de ce sous domaine. Un simple redmarrage du service permet de prendre en compte cette
nouvelle zone dlgue. Le journal systme du serveur qui a autorit sur la zone dlgue doit faire apparatre
un message de dbut et de fin de transfert. Le serveur qui a dlgu la zone devient serveur secondaire de la
zone et possde une copie des Resource Records du serveur primaire

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

14/34

Question 7
Pouvez-vous expliquez leur provenance et expliquer en dtail une de ces lignes ?
Que signifie le "x" sur chaque ligne ?
Quel fichier est associ ce symbole ?
2 points (1 point pour la ligne, 1 point pour le fichier /etc/shadow)
Exemple sur la ligne root :
Fichier /etc/passwd
Root : compte utilisateur
X : mot passe crypt dans le fichier /etc/shadow (fichier associ)
0 : uid
0 : gid
Root : commentaire
/root : dossier de lutilisateur
/bin/bash : shell de lutilisateur

Question 8
Quelle est la diffrence fondamentale entre un groupe primaire et un groupe secondaire ?
2 points
Un groupe est un ensemble dutilisateurs.
Chaque utilisateur doit faire partie au moins d'un groupe, son groupe primaire. Il est dfini au moment de la
cration du compte.
L'appartenance au groupe primaire n'est pas exclusive, tout utilisateur peut faire partie de plusieurs autres
groupes, appels ses groupes secondaires. Le groupe primaire est utilis la cration dun fichier ou dun
dossier.

Question 9
Pouvez-vous expliquer en dtail la dernire ligne de limage ci-dessus ?
4 points (1 point pour le rpertoire, 2 points pour les droits, 1 point pour les descriptions)
On peut voir les permissions sur ce rpertoire (d) xml.
Le propritaire Root a les droits R (read) Write eXecute et le groupe root a les droits de Read eXecute et les
autres ont les droits Read eXecute.
2 correspond au nombre de fichier lintrieur du dossier.
4096 sa taille.
2 Fvrier 14h16 date et heure de modification.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

15/34

Question 10
Que reprsentent ces 3 derniers chiffres (027) ?
Quelles sont les permissions la cration dun dossier et dun fichier ?
3 points (1 point pour la description, 1 point pour les permissions fichiers, 1 point pour les permissions
dossiers)
umask permet de fixer les permissions masques, autrement dit les droits non accords aux fichiers et
rpertoires lors de leur cration.
Les permissions maximales accordes : par un fichier et un rpertoire sont 666 (-rw-rw-rw-) et 777 (rwxrwxrwx).
Donc pour 027 : pour un fichier on aura 666 027 = 640 (-rw-r-----)
Pour un dossier : 777 - 027 = 750 (-rwxr-x---)

Question 11
Expliquez les rsultats obtenus par cette commande ?
3 points (0.5 point pour explication, 1 point pour la partition 1, 1 point pour la partition 6, 0.5 point pour
explications de la sauvegarde)
Df permet de voir dans le fichier /etc/mtab les systmes de fichier monts. La partition 1 du disque sata dune
taille de 8.2 Go est occupe 25% et elle est monte la racine. La partition
6 du disque sata dune taille de 773 Mo est occupe 3%. On se dplace dans le dossier /mnt puis on cre un
dossier sauvegarde. On monte la partition 6 sur le dossier sauvegarde

Question 12
Quel outil peut-on utiliser pour effectuer du filtrage des accs sur une machine Linux ?
Citez une autre solution permettant dconomiser de la bande passante et deffectuer du
filtrage au niveau applicatif.
Quels sont ses avantages ?
4 points (1 point pour Netfilter, 1 point pour Squid/Wingate et 2 points pour les avantages)
Iptables/Netfilter permet d'effectuer du filtrage sur une machine Linux.
Netfilter utilise 3 tables (filter, nat et mangle).
Le serveur proxy SQUID permet d'effectuer du filtrage de faon assez labore (ACL selon
source/destination, tranches horaires, URL, mots cls, utilisateurs, protocoles, ...) et d'conomiser de la bande
passante grce sa fonction de cache. De plus, il permet de ne sortir quavec une seule adresse IP sur
lextrieur depuis plusieurs postes, moyen de se rendre anonyme par exemple.
Squid fonctionne au niveau des couches suprieures du modle OSI. Filtrage trs sophistiqu, conomie de la
bande passante, login des connexions et requtes.
On acceptera WINGATE

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

16/34

Question 13
Pouvez-vous expliquer le rle du fichier /etc/fstab et la premire ligne du fichier ci-dessous ?
2 points (0,5 point pour lexplication, 1,5 points pour la ligne)
Le fichier fstab correspond aux partitions montes au lancement du systme. On trouve la partition
racine et le swap par exemple. La ligne indique que la partition sappelle /dev/sda1 (la premire du premier
disque sata), elle est formate avec le systme de gestion de fichier ext3 avec des droits daccs en lecture
criture. Une option est prsente : lors de la prsence dune erreur, le fichier est mont en read-only
seulement.

Question 14
Crez un script en shell qui effectue un "ping" vers un ensemble dadresses IP fournies en
paramtre puis gnre un fichier "log" ou journal indiquant les succs et chec des machines
que lon peut atteindre.
7 points
Procdure leping adresseIP
Procdure script adresseIP1 adresseip2 .
if [ $# = 0 ]
then
echo "paramtre adresse manquant"
exit 1
fi
if [ $# != 1 ]
then
echo "trop de paramtres, un seul attendu: adresse"
exit 1
fi
# faire un ping adr -c 2 > pingres.tmp
# -c count, fait que 2 envois (par dfaut infini)
ping $1 -c 2 > pingres.tmp
# recherche la ligne qui contient 0%, le 6ieme champ
res=`more pingres.tmp | grep packet | awk '{print $6}'`
# si ping ok, trouve 0%
if [ "$res" = "0%" ]
then
# succs du ping
return 1
else
# echec du ping
return 0
fi

Script adresseip adresseip2 .

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

17/34

#-----------------------------------------------------------------------------# ping plusieurs adresses a la suite


for i in $*
do
# fait un ping
leping $i
# recup resultat de la fct leping (dans $?)
res=$?
if [ $res = 1 ]
then
echo "ok, adr $i is reachable"
else
echo "-err, adr $i is unreachable"
fi
done

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

18/34

Parttie 3 - Dvelooppement et bases de donnnes

Sous-dossierr 1 :
I.

Etudee de cas - Gesstion d'un paarc informatiique

MODEL
LISATION CONCEPT
TUELLE DE
E LA BASE DE DONNE
EES
A. Diaggramme de classes
c

Proposez une
u modlissation concceptuelle dee la base dee donnes Gestion parc inform
matique en
n
utilisant lee diagramm
me de classees dUML, et conform
mment au dictionnairre de donnes propos
en annexe 4.
4 points

Fdration Europenne
E
Dess Ecoles - Europpean Federationn of Schools Janvier
J
2012
UC D31 DEES
SINF - Corrig

19/344

B. Schma relationnel

Construisez le modle relationnel qui correspond au diagramme de classes propos en utilisant


les rgles transition retenues.
2 points
Crer une table avec tous les attributs des classes. Ajouter un attribut pour distinguer les types des objets.
EQUIPEMENT (num_equipement, type_equipement, num_serie, date_achat, prix_achat,
etat_equipement, duree_contrat_maintenance, marque, localisation, processeur,
cadence, RAM, disque_dur, recto_verso, couleur, type_imprimante,
memoire_interne, integre_ecran, type_ecran_portable, taille_ecran_portable,
autonomie, taille_ ecran)
PRET (num_pret, date_pret, date_rendu, date_retour_prevue, #num_equipement,

#num_emprunteur)

EMPRUNTEUR (num_emprunteur, nom_emprunteur, prenom_emprunteur, tel_emprunteur)


PANNE (num_panne, date_panne, description_panne, #num_equipement)
OPERATION_MAINTENANCE
(num_operation,
type_operation,
desription_operation,
date_operation, cout_operation, #num_intervenant, #num_panne, #num_equipement)
INTERVENANT (nom_intervenant, tel_intervenant)

II.

IMPLEMENTATION DE LA BASE DE DONNEES SGBD ORACLE


A. Dfinition des donnes - Cration de la base de donnes

Rdigez les requtes SQL permettant la cration des tables de la base de donnes en se basant
sur le schma relationnel propos prcdemment.
2 points
NB. L'utilisation de NOT NULL pour les cls primaire n'est pas obligatoire car gr automatiquement par le
SGBD.
Cration de la table EQUIPEMENT
CREATE TABLE "EQUIPEMENT"
(
"NUM_EQUIPEMENT" INTEGER NOT NULL,
"TYPE_EQUIPEMENT" VARCHAR2(19) NOT NULL,
"DATE_ACHAT" DATE NOT NULL,
"PRIX_ACHAT" INTEGER NOT NULL,
"ETAT_EQUIPEMENT" VARCHAR2(7) NOT NULL,
"TDUREE_CONTRAT_MAINTENANCE" INTEGER NOT NULL,
"MARQUE" VARCHAR2(20) NOT NULL,
"LOCALISATION" VARCHAR2(20) NOT NULL,
"PROCESSEUR" VARCHAR2(20),
"CADENCE" VARCHAR2(6),
"RAM" VARCHAR2(10),

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

20/34

"DISQUE_DUR" VARCHAR2(10),
"RECTO_VERSO" VARCHAR2(3),
"TYPE_IMPRIMANTE" VARCHAR2(11),
"MEMOIRE_INTERNE" VARCHAR2(10),
"INTEGRE_ECRAN" VARCHAR2(3),
"TYPE_ECRAN_PORTABLE" VARCHAR2(10),
"TAILLE_ECRAN_PORTABLE" VARCHAR2(10),
"AUTONOMIE" INTEGER,
"TAILLE_ECRAN" INTEGER,
CONSTRAINT "EQUIPEMENT_PK" PRIMARY KEY ("NUM_EQUIPEMENT"),
CONSTRAINT "EQUIPEMENT_CK1" CHECK ( TYPE_EQUIPEMENT IN ('Imprimante',
'Ordinateur-portable', 'Ordinateur-fixe', 'Ecran')),
CONSTRAINT "EQUIPEMENT_CK2" CHECK ( ETAT_EQUIPEMENT IN ('Bon', 'Moyen',
'Mauvais')),
CONSTRAINT "EQUIPEMENT_CK3" CHECK ( RECTO_VERSO IN ('Oui', 'Non')),
CONSTRAINT "COULEUR_CK4" CHECK ( COULEUR IN ('Monochrome', 'Couleur')),
CONSTRAINT "COULEUR_CK5" CHECK ( TYPE_IMPRIMANTE IN ('laser', 'Jet-d'encre')),
CONSTRAINT "EQUIPEMENT_CK6" CHECK ( INTEGRE_ECRAN IN ('Oui', 'Non')),
);
Cration de la table PRET
CREATE TABLE "PRET"
(
"NUM_PRET" INTEGER NOT NULL,
"DATE_PRET" DATE NOT NULL,
"DATE_RENDU" DATE NOT NULL,
"DATE_RETOUR_PREVUE" DATE NOT NULL,
"NEQUIPEMENT" INTEGER NOT NULL,
"NEMPRUNTEUR" INTEGER NOT NULL,
CONSTRAINT "PRET_PK" PRIMARY KEY ("NUM_PRET")
CONSTRAINT "PRET_FK" FOREIGN KEY ("NEMPRUNTEUR")
REFERENCES "EMPRUNTEUR" ("NUM_EMPRUNTEUR"),
CONSTRAINT "PRET_FK2" FOREIGN KEY ("NEQUIPEMENT")
REFERENCES "EQUIPEMENT" ("NUM_EQUIPEMENT")
);
Cration de la table EMPRUNTEUR
CREATE TABLE "EMPRUNTEUR"
(
"NUM_EMPRUNTEUR" INTEGER NOT NULL,
"NOM_EMPRUNTEUR" VARCHAR2(20) NOT NULL,
"PRENOM_EMPRUNTEUR" VARCHAR2(20) NOT NULL,
"TEL_EMPRUNTEUR" VARCHAR2(20) NOT NULL,
CONSTRAINT "EMPRUNTEUR_PK" PRIMARY KEY ("NEMPRUNTEUR")
);
Cration de la table PANNE
CREATE TABLE "PANNE"
(
"NUM_PANNE" INTEGER NOT NULL,
"DATE_PANNE" DATE NOT NULL,
"DESCRIPTION_PANNE" VARCHAR2(50) NOT NULL,
"N_EQUIPEMENT" INTEGER NOT NULL,
CONSTRAINT "PANNE_PK" PRIMARY KEY ("NUM_PANNE"),
CONSTRAINT "PANNE_FK" FOREIGN KEY ("N_EQUIPEMENT")
REFERENCES "EQUIPEMENT" ("NUM_EQUIPEMENT"),
);

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

21/34

Cration de la table OPERATION_MAINTENANCE


CREATE TABLE "OPERATION"
(
"NUM_OPERATION" INTEGER NOT NULL,
"TYPE_OPERATION" VARCHAR2(8) NOT NULL,
"DESCRIPTION_OPERATION" VARCHAR2(50) NOT NULL,
"DATE_OPERATION" DATE NOT NULL,
"COUT_OPERATION" INTEGER NOT NULL,
"N-INTERVENANT" INTEGER NOT NULL,
"N-PANNE" INTEGER NOT NULL,
"N-EQUIPEMENT" INTEGER NOT NULL,
CONSTRAINT "OPERATION_PK" PRIMARY KEY ("NUM_OPERATION"),
CONSTRAINT "OPERATION_CK1" CHECK (TYPE_OPERATION IN ('Panne', 'Contrle')),
CONSTRAINT "OPERATION_FK1" FOREIGN KEY ("N-INTERVENANT")
REFERENCES "LIVRE" ("INTERVENANT")
CONSTRAINT "OPERATION_FK2" FOREIGN KEY ("N-PANNE")
REFERENCES "LIVRE" ("PANNE")
CONSTRAINT "OPERATION_FK3" FOREIGN KEY ("N-EQUIPEMENT")
REFERENCES "LIVRE" ("EQUIPEMENT")
);
Cration de la table INTERVENANT
CREATE TABLE "INTERVENANT"
(
"NOM_INTERVENANT" INTEGER NOT NULL,
"TEL_INTERVENANT" VARCHAR2(20) NOT NULL,
CONSTRAINT "INTERVENANT_PK" PRIMARY KEY ("NOM_INTERVENANT")
);

B. Manipulation des donnes

Question 1
En se basant sur les informations fournies dans lannexe 5, rdigez les requtes SQL
permettant dinsrer les informations adquates sur l'intervenant INFORMATIQUE REP
dans la table INTERVENANT prcdemment cre.
1 point
INSERT
INTO
INTERVENANT
(INFORMATIQUE REP, '0120457845');

(NUM_INTERVENANT,

TEL_INTERVENANT)

values

Question 2
Donnez la dfinition et lusage des vues dans le domaine de gestion des bases de donnes.
1 point
Dfinition : Une vue est le rsultat dune requte que lon peut manipuler de la mme faon dune table. On
peut considrer une vue comme une table dynamique dont le contenu est recalcul chaque utilisation.
Usage : On utilise les vues pour des raisons de commodit : il nest pas ncessaire que certains utilisateurs
voient le modle complet qui est parfois complexe, ou en raison de scurit/confidentialit en restreignant
laccs certaines donnes.

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

22/34

Question 3
Indiquez la (les) bonne(s) rponse(s).
Les vues :
a. permettent dassurer une indpendance logique des applications par rapport la
Base.
b. servent exprimer des contraintes dintgrit
c. permettent daffiner la gestion de la scurit vis vis des donnes
1,5 points
Rponse : a et c.

Question 4
Rdigez en langage SQL une requte permettant la cration dune vue
MAINTENANCE_DE_CONTROLE, partir de la table MAINTENANCE, intgrant
uniquement le numro et le cot des oprations de maintenance de contrle.
1 point
NB. L'utilisation de "AS" n'est pas obligatoire
CREATE VIEW "MAINTENANCE_DE_CONTROLE" ("NUM_OPERATION") AS
select "OPERATION_MAINTENANCE"."NUM_OPERATION" as "N_OPERATION",
"OPERATION_MAINTENANCE"."COUT" as "COUT",
from "LIVRE" "LIVRE" ;
where "OPERATION_MAINTENANCE"."TYPE" = 'Contrle';
C. Interrogation des donnes

Rdigez les requtes permettant de rpondre aux questions suivantes en utilisant le langage
SQL et le SGBD ORACLE :
1.
2.
3.
4.
5.
6.
7.
8.

Donnez la liste des numros et des dates de toutes les pannes.


Donnez la liste des quipements (numro des quipements) qui n'ont jamais t emprunts.
Donnez la liste des numros des quipements dont le nombre de pannes est infrieur 3.
Donnez la liste des ordinateurs portables de marque DELL qui ont t emprunts au moins une
fois en 2010.
Donnez la liste des ordinateurs portables dont l'cran est de type LED qui ont subi une panne
au moins une fois en 2011.
Donnez la liste des crans prsents dans la base. Ordonnez le rsultat par ordre croissant des
prix.
Donnez le nombre d'ordinateurs de bureau par marque.
Donnez la liste des intervenants (nom et tlphone) ayant intervenu dans des oprations de
rparation et de contrle d'ordinateurs portables.

4 points (0,5 points par requte)


1- Donnez la liste des numros et des dates de toutes les pannes.
SELECT num_panne, date_panne FROM PANNE;
2- Donnez la liste des quipements (numro des quipements) qui n'ont jamais t emprunts.
SELECT num_equipement
FROM EQUIPEMENT
WHERE num_equipement NOT IN
(SELECT nequipement FROM PRET );

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

23/34

3- Donnez la liste des numros des quipements dont le nombre de pannes est infrieur 3.
SELECT num_equipement, count(*)
from PANNE
GROUP BY num_equipement
HAVING COUNT (*) <3;
4- Donnez la liste des ordinateurs portables de marque DELL qui ont t emprunt au moins une fois en
2010.
SELECT *
FROM EQUIPEMENT, PRET
WHERE marque LIKE 'DELL'
AND EQUIPEMENT.type_equipement = 'Ordinateur portable'
AND EQUIPEMENT.num_equipement=PRET.nequipement
AND date_pret BETWEEN '01/01/2010' AND '31/12/2010';
5- Donnez la liste des ordinateurs portables dont l'cran est de type LED qui ont subi une panne au
moins une fois en 2011.
SELECT *
FROM EQUIPEMENT, PANNE
WHERE EQUIPEMENT.type_equipement = 'Ordinateur portable'
AND EQUIPEMENT.num_equipement=PANNE.n_equipement
AND date_panne BETWEEN '01/01/2011' AND '31/12/2011';
6- Donnez la liste des crans prsents dans la base. Ordonnez le rsultat par ordre croissant des prix.
SELECT *
FROM EQUIPEMENT
ORDER BY prix_equipement;
7Donnez le nombre d'ordinateur de bureau par marque.
SELECT marque, COUNT(num_equipement) as Nombre
FROM EQUIPEMENT
WHERE type_equipement='Ordinateur de bureau'
GROUP BY marque;
8- Donnez la liste des intervenants (nom et tlphone) ayant intervenu dans des oprations de rparation
et de contrle d'ordinateurs portables.
(SELECT nom_intervenant, tel_intervenant
FROM INTERVENANT, OPERATION_MAINTENANCE, EQUIPEMENT
WHERE EQUIPEMENT.num_equipement = OPERATION_MAINTENANCE.n-equipement
AND OPERATION_MAINTENANCE.n-intervenant = INTERVENANT.num_intervenant
AND EQUIPEMENT.type_equipement = 'Ordinateur portable'
AND OPERATION_MAINTENANCE.type_operation = 'Contrle')
INTERSECT
(SELECT nom_intervenant, tel_intervenant
FROM INTERVENANT, OPERATION_MAINTENANCE, EQUIPEMENT
WHERE EQUIPEMENT.num_equipement = OPERATION_MAINTENANCE.n-equipement
AND OPERATION_MAINTENANCE.n-intervenant = INTERVENANT.num_intervenant
AND EQUIPEMENT.type_equipement = 'Ordinateur portable'
AND OPERATION_MAINTENANCE.type_operation = 'Rparation')

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

24/34

D. PL/SQL

Question 1
Donnez les instructions SQL permettant dajouter les champs cout_maintenance_rparation et
cout_maintenance_contrle.
Donnez les instructions dune requte SQL permettant de renseigner ces champs pour chaque
quipement.
2 points (1 point par question)
ALTER TABLE EQUIPEMENT
ADD cout_maintenance_reparation INTEGER,
ADD cout_maintenance_controle INTEGER;
UPDATE EQUIPEMENT
SET cout_maintenance_reparation = (SELECT SUM (cout_operation)
FROM OPERATION_MAINTENANCE, EQUIPEMENT
WHERE type_operation = ' Rparation'
AND EQUIPEMENT.num_equipement=OPERATION_MAINTENANCE.n-equipement),
SET cout_maintenance_controle = (SELECT SUM (cout_operation)
FROM OPERATION_MAINTENANCE
WHERE type_operation = ' Contrle'
AND AND EQUIPEMENT.num_equipement=OPERATION_MAINTENANCE.n-equipement);

Question 2
Donner les instructions PL/SQL permettant dafficher lcran les informations sur
l'opration de maintenance numro 101.
1 point
SET SERVEROUTPUT ON
DECLARE
v_noperation operation_maintenance.num_operation%type;
v_cout operation_maintenance.cout_operation%type;
BEGIN
SELECT num_operation, cout_operation
INTO v_noperation, v_cout
FROM operation_maintenance
WHERE num_operation = 101
dbms_output.put_line('Numro = '||v_noperation || ' Cot de l'operation de maintenance = ' || v_cout);
END; /

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

25/34

Question 3
Donnez les instructions PL/SQL qui permettent dafficher lcran les numros et les cots des
oprations de maintenance.
1 point
DECLARE
CURSOR C_MINTENANCE IS
SELECT num_operation, cout_operation FROM OPERATION_MAINTENANCE;
BEGIN
FOR Cur IN C_MAINTENANCE LOOP
dbms_output.put_line( To_char( Cur.num_operation ) || ' - ' || Cur.cout_operation ) ;
END LOOP ;
End ;
/

Question 4
Proposez les instructions PL/SQL qui permettent de dfinir une structure, de type
enregistrement emprunteur qui inclut les informations sur les numros, les noms et les
prnoms des emprunteurs et qui ajoute l'emprunteur Guillaume Forton cet enregistrement.
1 point
DECLARE
/* cration du type enregistrement t_emprunteur */
type t_emprunteur is record
( v-numero emprunteur.num_emprunteur%type ,
v_nom emprunteur.nom_emprunteur%type
v_prenom emprunteur.prenom_emprunteur%type
);
/* affectation du type t_emprunteur v_emprunteur */
v_emprunteur t_emprunteur;
BEGIN
v_emprunteur.v_numero := 10;
v_emprunteur.v_nom := 'Forton';
v_emprunteur.v_prenom := 'Guillaume';
END;

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

26/34

E. Les dclencheurs
Question 1
Donnez la dfinition dun dclencheur (trigger).
Quelle est lutilit dun dclencheur ?
Sur quels types dobjets un dclencheur sapplique ?
A quel moment on peut choisir dexcuter un trigger ?
O sont stockes les donnes manipules par un trigger ?
2,5 points
a. Dfinition : Un trigger est un ensemble dinstructions SQL, dfinies par lutilisateur, qui seront dclenches
lors dune action dajout, de suppression ou de mise jour de donnes.
b. Utilit : Il sert excuter des contrles supplmentaires personnaliss au moment des oprations dajout, de
suppression ou de mise jour des donnes.
c. Application : Il sapplique un objet de type table.
d. On peut choisir dexcuter un trigger avant ou aprs une instruction de mise jour.
e. Dans des tables temporaires que lon dsigne dans le code du trigger par les termes :
NEW valeurs, aprs lexcution de lopration de mise jour.
OLD valeurs, avant lexcution de lopration de mise jour.

Question 2
Donnez les instructions PL/SQL permettant de dfinir un trigger qui, lors de lajout dun
nouvel quipement dans la base, initie les valeurs de cout_maintenance_rparation et
cout_maintenance_controle (pour cet quipement) 0.
1 point
CREATE OR REPLACE TRIGGER initialisation_couts_totaux BEFORE INSERT ON
EQUIPEMENT FOR EACH ROW
BEGIN
SET :NEW. cout_maintenance_rparation= 0;
SET :NEW.cout_maintenance_controle= 0;
END

Question 3
Donnez les instructions PL/SQL permettant de dfinir un trigger qui incrmente les cots
cout_maintenance_reparation et cout_maintenance_controle pour un quipement chaque
fois qu'on effectue une opration de maintenance sur ce dernier.
1 point
CREATE
OR
REPLACE
TRIGGER
cumul_couts AFTER
OPERATION_MAINTENANCE FOR EACH ROW
BEGIN
UPDATE EQUIPEMENT
IF :NEW.type_operation='Contrle'
THEN
SET
EQUIPEMENT.cout_maintenance_controle
EQUIPEMENT.cout_maintenance_controle + :NEW.cout_operation
WHERE EMPRUNTEUR.nemprunteur= :NEW.numemprunteur;

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

INSERT

ON

27/34

ELSE
SET
EQUIPEMENT.cout_maintenance_reparation
EQUIPEMENT.cout_maintenance_reparation + :NEW.cout_operation
WHERE EMPRUNTEUR.nemprunteur= :NEW.numemprunteur;
END;

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

28/34

Sous-dossier 2 : Langages de dveloppement d'applications


I.

Programmation Oriente Objet (POO) et JAVA

Question 1
Proposez des constructeurs permettant de crer des employs en entrant leurs noms ainsi que
les informations requises pour le calcul de leurs salaires.
Question 2
En utilisant les concepts de classe abstraite, d'hritage et de polymorphisme, crire un
programme comment qui permet de satisfaire les besoins de cette application.
Question 3
Proposer les valeurs des objets employs crer :
"FORTON",1000,300
"LEGRAND",650,500
"DUPOND",40,220,25
"MUNSTER",42,200,25
"LAFORET",,,
8 points
/**
* Classe Employ
*/
public class Employe {
private String nom;
protected Employe(String nom) {
this.nom = nom;
}
public String getNom() {
return nom;
}
public double calcul_salaire() {
return -1.0;
}
public String toString() {
return getClass().getName() + "; nom=" + nom
+ "; salaire=" + calcul_salaire();
}
// Inutile de dclarer setInfosSalaire ici car on ne
// peut faire de polymorphisme avec cette mthode
}
/**
* Classe Stagiaire

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

29/34

*/
public class Stagiaire extends Employe {
// prime
private double pr = -1.0,
fixe = -1.0;
public Stagiaire(String nom, double fixe, double pr) {
super(nom);
this.fixe = fixe;
this.pr = pr;
}
public Stagiaire(String nom) {
super(nom);
}
public void setInfosSalaire(double fixe, double pr) {
this.fixe = fixe;
this.pr = pr;
}
public void setPr(double pr) {
if (pr >= 0) {
this.pr = pr;
}
}
public void setFixe(double fixe) {
if (fixe >= 0) {
this.fixe = fixe;
}
}
@Override
public double calcul_salaire() {
if (pr != -1.0 && fixe != -1.0) {
return fixe + pr;
}
else {
return -1.0;
}
}
@Override
public String toString() {
return super.toString() + ";fixe=" + fixe + "pr=" + pr;
}
}
/**
* Classe Salari
*/
public class Salari extends Employe {
private double nbHeures = -1.0;

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

30/34

private double tarifHoraire = -1.0;


private double pourcentageHeuresSup = -1.0;
private static final double heuresDues = 35.0;
public Salari(String nom) {
super(nom);
}
public Salari(String nom, double nbHeures, double tarifHoraire,
double pourcentageHeuresSup) {
super(nom);
this.nbHeures = nbHeures;
this.tarifHoraire = tarifHoraire;
this.pourcentageHeuresSup = pourcentageHeuresSup;
}
public void setInfosSalaire(double nbHeures, double tarifHoraire,
double pourcentageHeuresSup) {
this.nbHeures = nbHeures;
this.tarifHoraire = tarifHoraire;
this.pourcentageHeuresSup = pourcentageHeuresSup;
}
public double getNbHeures() {
return nbHeures;
}
public double getTarifHoraire() {
return tarifHoraire;
}
public double getPourcentageHeuresSup() {
return pourcentageHeuresSup;
}
@Override
public double calcul_salaire() {
if (nbHeures != -1 && tarifHoraire != -1 && pourcentageHeuresSup != -1) {
if (nbHeures > heuresDues) {
return tarifHoraire * (heuresDues +
(nbHeures - heuresDues)
* (1 + pourcentageHeuresSup / 100));
}
else {
return tarifHoraire * nbHeures;
}
}
else {
return -1;
}
}
@Override
public String toString() {
return super.toString() + ";nbHeures=" + nbHeures
+ "; tarif horaire=" + tarifHoraire + "; % HS=" + pourcentageHeuresSup;
}
}
/**
* Classe Paie
*/
public class Paie {
public static void main(String[] args) {

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

31/34

Employe[] tableau_employes = new Employe[10];


tableau_employes[0] = new Stagiaire("Forton", 1000, 300);
tableau_employes[1] = new Stagiaire("Legrand", 650, 500);
tableau_employes[2] = new Stagiaire("Dupond", 800, 250);
tableau_employes[3] = new Salari("Lepetit", 40, 220, 25);
tableau_employes[4] = new Salari("Munster", 42, 200, 25);
// Une autre alternative est d'utiliser la mthode setInfosSalaire
Salari s5 = new Salarie("Guy");
e5.setInfosSalaire(45, 200, 25);
tableau_employes[5] = e5;
tableau_employes[6] = new Salarie("Laforet");
double salaire;
for (int i = 0; i < tableau_employes.length; i++) {
System.out.print(tableau_employes[i].getNom());
salaire = tableau_employes[i].calcul_salaire();
if (salaire == -1)
System.out.println(" n'a pas son salaire dtermin");
else
System.out.println(" gagne " + tableau_employes[i].calcul_salaire() + " euros");
}
}
}

II.

PHP et SGBD MySQL

Ecrivez une fonction PHP qui prend en argument un nom de service et affiche (au format
HTML) la liste (les noms) de ses employs (emprunteurs).
6 points
<?
// Affichage de la liste des employs du service
// dont le nom est pass en argument
function listeemp($nomservice){
//connexion la base de donnes
if(!$cid = mysql_connect("localhost","root","")){
echo "impossible d'tablir la connexion ", $host, "<br>";
exit;
}
//formulation de la requte
$query = "select e.nom_emprunteur Nom from emprunteur e, service s ";
$query.= " where e.n_service = s.num_service and s.nom_service = '$nomservice'";
// Lancement de la requte
if(!$res = mysql_db_query("EmpBD", $query)){
echo mysql_error();
}
else {
//Affichage du rsultat de la requte
if (mysql_num_rows($res)>0){
echo ("Les employs de " . $nomservice . " sont : <br>");
while ($enreg = mysql_fetch_array($res)){
echo ($enreg["Nom"] . "<br>");

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

32/34

}// fin while


}
else {
echo ($nomservice . " ne possde pas d'employs ");
}
}//fin premier else
}
?>
<?
// Test de la fonction
listeemp("Comptabilit");
?>

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

33/34

GRILLE DE NOTATION
- DEESINF NOM DU CORRECTEUR__________________________________
Prnom du correcteur___________________________________
N de candidat____________
Partie

Note attribue

Partie 1 - Administration des


rseaux

/40

Partie 2 - Administration des


systmes dexploitation

/40

Partie 3 - Dveloppement et
bases de donnes

/40

TOTAL

Observations obligatoires

/120

Apprciation gnrale :

Je soussign(e),____________________, certifie avoir corrig la copie dexamens en suivant le corrig


dexamens en ma possession et en respectant la procdure de correction des examens.

Fait _______________________________________ le ____________

Signature :

Fdration Europenne Des Ecoles - European Federation of Schools Janvier 2012


UC D31 DEESINF - Corrig

34/34