Vous êtes sur la page 1sur 8

Ministre de l'Enseignement Suprieur, de la Recherche Scientifique et de la Technologie

CONCOURS DE RECRUTEMENT DES TECHNOLOGUES EN INFORMATIQUE


SESSION 2008

Admissibilit
Epreuve d'application : option Informatique des Systmes de Gestion
Dure : 8 heures Documents
non autoriss

.....................................................................IMPORTANT...............................................................................

La prsente preuve est compose de cinq parties. Il est recommand de traiter les trois dernires
parties dans l'ordre.
Le sujet de l'preuve est sur un total de 7 pages.
Il est demand de traiter chaque partie sur une copie distincte et de numroter les feuilles de chaque
copie dans l'ordre rgulier 1,2,3, ... en mentionnait, Sous chaque numro, le nombre total des feuilles
qui composent la copie (de la forme : nombre de la page/nombre total des pages). Ce mode de
numrotation permet au correcteur de s'assurer qu'aucune feuille de copie n'est gare.
Aucun dessin, graphique, rdaction..., au crayon n'est accept. Les ratures sont viter.
Les candidats sont galement invits remplir de la faon la plus complte et la plus claire possible
l'en-tte des feuilles de leurs copies. Le numro du dossier d'inscription ainsi que le numro de la
carte d'identit nationale doivent tre ports sur l'en-tte de chacune des feuilles constituant la copie.
Il est interdit aux candidats de signer leurs copies (en dehors de l'en-tte) ou d'y mettre un signe
particulier pouvant renseigner sur la provenance de la copie.
Les candidats doivent marger au moment o ils remettent leurs copies, mme en cas de copie
blanche.
Les rponses sur des feuilles de brouillon ne sont pas acceptes.
----------------------------------------------------------------------------------------------------------------------------------Bon Travail

CONCOURS DE RECRUTEMENT DES TECHNOLOGUES EN INFORMATIQUE


SESSION 2008

Admissibilit
Epreuve d'application : option Informatique des Systmes de Gestion
(Dure : 8 heures)

PARTIE 1 (30 points) - ALGORITHMIQUE ET STRUCTURE DE DONNEES -

1. Proposez une fonction qui reoit un nombre N positif exprim dans une base B (2 B 10),
retourne sa conversion dans la base 10 et retourne -1 si ce nombre n'est pas correctement exprim
dans la base B. (4points)
2. Proposez un algorithme qui lit un nombre binaire positif N et le convertit dans la base 10.
(2 points)
3. partir de cette question, le nombre N sera exprim dans la base 10. On cherche dterminer si
un entier N saisi (N >9) est divisible par 9 ou non en appliquant la mthode suivante :
(i) On fait la somme du premier et du second chiffre de N.
(ii) Si la somme obtenue est suprieure eu gale 9, on lui soustrait 9.
(iii) On ajoute ensuite cette somme le chiffre suivant et on lui applique la rgle (ii) et ainsi
de suite jusqu'au dernier chiffre de N.
(iv) Si le rsultat final est nul alors le nombre N est divisible par 9.
Exemple : Pour N=65493, l'algorithme effectuera les oprations suivantes :
6 + 5 = 11 (11 > 9, on lui soustrait 9, on obtient 2)
2 + 4 =6 (6 < 9)
6 + 9 = 15 (15 > 9, on lui soustrait 9, on obtient 6)
6 + 3 = 9 (9 = 9, on lui soustrait 9, on obtient 0)
Le rsultat est nul et tous les chiffres de N ont t traits; donc le nombre 65493 est divisible
par 9.
3.1. Proposez une fonction qui reoit un nombre N et retourne 1 si N est divisible par 9, 0
sinon, en n'utilisant que le type entier pour les diffrentes variables utilises (variables simples ou
variables de type tableau). (2 points)
3.2. Proposez une fonction qui reoit un nombre N et retourne 1 si N est divisible par 9, 0
sinon, en utilisant entre autres le type chane de caractres. On pourra utiliser les fonctions et les
procdures prdfinies suivantes : (2 points)
Fonction Longueur (ch : chane) : entier
Fonction Concat (chl: chane, ch2 : chane) : chane
Fonction Sous-chane (ch: chane, position : entier, nbcar : entier) : chane
Fonction Position (chl: chane, chl : chane) : entier
Procdure Effacer (donres ch: chane, don position : entier, don nbcar : entier)
Procdure Insrer (don chl: chane, donres chl : chane, don position : entier)
Procdure ConvChane (don d : entier, res ch: chane)
Procdure Valeur (don ch : chane, res d : entier, res erreur : entier)
1/7

4. Proposez une fonction qui reoit un nombre N et retourne 1 si N est un nombre premier, 0 sinon.
Donnez la complexit en temps de calcul de cette fonction. (3 points)
5. Aprs avoir dfinie la structure de donnes d'une liste chane L, proposez une fonction qui
reoit un nombre positif (N2), et cre une liste chane L contenant les nombres premiers compris
entre 2 et N et retourne un pointeur sur le premier lment de la liste. (3 points)
6. Soient N1 et N2 deux entiers tels que 1 < N1 < N2 N. Proposez une procdure permettant de
supprimer de la liste L, les nombres premiers compris entre N1 et N2. (2 points)
7. Proposez une procdure permettant d'insrer avant le plus grand nombre premier Max_prem,
infrieur N1 de la liste L, tous les nombres infrieurs (ou gal) N et divisibles par 9. Si un tel
nombre Max _prem de la liste L n'existe pas, l'insertion se fera en dbut de liste. (4points)
8. Proposez une procdure itrative permettant d'inverser la liste L, sans avoir recours la cration
d'une autre liste (par modification du chanage entre les lments seulement). (3 points)
9. Aprs avoir dfinie la structure de donnes d'un arbre binaire de recherche A, proposez une
procdure rcursive permettant d'ajouter un lment X dans A. (3points)
10. Proposez une procdure permettant de stocker les lments de la liste L dans un arbre binaire de
recherche A. Cet arbre sera repr par un pointeur racine. (2 points)
PARTIE 2 (15 points) - RESEAUX Les rponses cette partie doivent tre concises et ne dpassent pas 5 lignes maximum par
question.
1. Comment s'appelle la communication virtuelle entre 2 couches de mme niveau du
modle de rfrence OSI (Open Systems Interconnection)? Expliquez comment elle se
droule rellement ? (3 points)
2. Le modle de rfrence OSI est construit partir d'une architecture maille o les
quipements sont relis par des liaisons point point. Quels sont les principaux concepts
devant tre rajouts au modle pour qu'il s'adapte des rseaux locaux o souvent les
quipements se partagent le mme support de transmission ? (2,5 points)
3. Pour utiliser la mthode CSMA/CD, nous savons qu'une trame doit avoir une longueur
minimale. Expliquez pourquoi? (2 points)
4. Immdiatement aprs le dmarrage d'une machine connecte un rseau local Ethernet et
possdant une configuration Internet, un message d'erreur rseau s'affiche. Quelle est la
cause la plus probable de ce problme. Justifiez votre rponse. Quelle solution proposez
vous pour viter ce genre de problme? (2,5 points)
5. La machine A d'adresse IP 193.95.6.3 doit envoyer un paquet IP la machine B 193.95.6.8
(du mme rseau). Dtaillez les oprations effectues au niveau des couches 3 et 2 de la
machine A. (3 points)
6. Quel protocole de transport de l'architecture TCP/IP est utilis par le protocole http.
Expliquez pourquoi ? (2 points)
*****************

2/7

ETUDE DE CAS Tech Web


Une socit de services en informatique TechWeb dsire proposer un service de prise de rendezvous. Le premier march vis est celui des mdecins travaillant seuls. Ceux-ci n'ont en gnral pas
de secrtariat. Les patients dsirant prendre rendez-vous tlphonent alors directement au mdecin.
Ce dernier est donc drang frquemment au cours d'une journe ce qui diminue sa disponibilit
ses patients. La socit TechWeb souhaite leur proposer un service de prise de rendez-vous
fonctionnant selon le principe suivant :
un service secrtariat assure les prises des Rendez-vous (RV) pour un grand nombre de
mdecins. Le salaire du service secrtariat est mutualis entre tous les mdecins utilisant ce
service.
le service secrtariat et tous les mdecins sont relis Internet.
les RV sont enregistrs dans une base de donnes centralise, accessible via Internet, par le
secrtariat et les mdecins.
la prise de RV est normalement faite par le secrtariat selon des crneaux o les RV sont
possibles. Chaque crneau est indiqu par un dbut et une fin spcifis en heures et minutes.
En outre, la prise de RV peut tre faite galement par les mdecins eux-mmes. C'est le cas
notamment lorsqu' la fin dune consultation, le mdecin fixe lui-mme un nouveau RV son
patient. Pour chaque patient, on souhaite garder trace de son nom, prnom, adresse, date de
naissance, sexe et un numro de tlphone.
L'architecture du service de prise de RV est la suivante :

Secrtariat
Internet
Mdecin 1

Base de donnes des RV

Mdecin 2

Les mdecins, dcrits par un nom, prnom, une spcialit, un ou plusieurs numros de tlphones, un
titre (Melle, Mme, Mr) et le cot pay pour une consultation, gagnent en efficacit s'ils n'ont plus
grer les RVs. S'ils sont suffisamment nombreux, leur contribution aux frais du fonctionnement du
secrtariat sera faible.
La socit TechWeb dcide de vous confier l'laboration d'une premire maquette du service.

Travail demand
PARTIE 3: Modlisation UML (15pts)

1. Etablir les cas d'utilisation associs aprs avoir numr les acteurs intervenant dans ce
systme. (6pts)
2. Donner le digramme de classes correspondant. (6pts)
3. Traduire le diagramme de classes en un schma relationnel. (3pts)
7/7

PARTIE 4 : Bases de Donnes (20pts)

En se basant sur le schma relationnel obtenu dans la partie 3 question 3 et en se rfrant la table
RV dcrite principalement par les cls de mdecin, patient, secrtaire, ainsi que l'horaire du RV,
laquelle on ajoute l'tat qui prend P ou R selon que le RV est Planifi ou Ralis
1. Donner la structure de la table RV. (1pt)
2.

Ecrire la commande SQL permettant de crer la table RV en tenant compte des rgles

d'intgrit structurelle et rfrentielle et en supposant que les autres tables ont t dj cres.
(2pts)
3. Crer les vues SQL ncessaires pour rpondre aux requtes suivantes :
a. Afficher le salaire par secrtaire pour le mois de Juin 2008 sachant que chaque
secrtaire touche 10% du cot pay pour une consultation mdicale qui a eu lieu et
qu'elle a planifie. (3pts)
b. Afficher les caractristiques des mdecins qui ont cumul plus que la moyenne des
RV pendant le 1er trimestre de l'anne 2008. (3pts)
c. Sachant que les salaires des secrtaires sont mutualiss part gale entre tous les
mdecins, afficher la contribution de chaque mdecin pour le mois de juin 2008.
(3pts)
4. PL-SQL
a. Elaborer une procdure catalogue permettant d'diter la liste ordonne des RV d'un
mdecin donn (nom, prnom) pour la date du jour. (4pts)
b. Elaborer une procdure catalogue permettant d'affecter un RV partir d'une date et
une plage horaire proposes par un patient donn (nom, prnom) pour consulter un
mdecin donn (nom, prnom). Le RV affect correspond la premire disponibilit
dtecte du mdecin. Remarque : on suppose que la dure de la consultation est de 30
minutes. (4pts)

6/7

PARTIE 5 : Programmation (20pts)


1. Quels sont les avantages de l'architecture 3-tiers compare l'architecture 2-tiers. (1pts)
2. On vous demande de dvelopper la classe suivante, qui vous sera utile par la suite : (3pts)
import java.sgl.* ;
public class ConnexionBDBean implements java.io.Serializable
{ Connection con = null;
ResultSet rs = null ;
Statement stmt = null ;
public ConnexionBDBean ()

{} ;

public boolean driver() {}


public boolean Open_connexion() {}
public boolean close_Connection() {}
public ResultSet select_exec(String sgl) {}
public int update_exec(String sgl) {}
public boolean close_ResultSet(){}
public boolean close_Statement() {}
>

3. En utilisant des pages JSP ainsi que des Servlets, donner le code qui permet de:
a. Authentifier un mdecin via un formulaire d'authentification html (Authentif.html). (2pts)
b. Invoquer une Servlet (Authentif.java) qui, une fois le formulaire est valid, va vrifier son
autorisation d'accs. Cette servlet doit utiliser la classe de connexion une base de
donnes (en utilisant le pont ODBC-JDBC). En outre, l'application doit toujours afficher le
nom et le prnom du mdecin dans chaque page qu'il visite tout le long de sa connexion.
(3pts)
c. Dvelopper le code ncessaire qui permet, une fois qu'un mdecin donn s'authentifie, de :
i. Afficher la liste des rendez-vous par ordre chronologique partir de la date du
jour. (3pts)
ii. Affecter un rendez-vous un patient connu par son identifiant. (3pts)
d. Authentifier l'administrateur, qui souhaite avoir la main pour pouvoir visualiser la liste des
mdecins ainsi que la possibilit d'ajouter un nouveau mdecin dans la base. Donner le code
ncessaire lui permettant de le faire. (5pts)

7/7

Annexe
public void static forName(String driver);// charger le driver
public static Connection getConnection (String url, String user, String password );
public Statement createStatement();
public Resultset executeQuery(String sql) ;

Les principales mthodes de l'objet ResultSet sont les suivantes :

getlnt(int) : rcupre sous forme d'entier le contenu d'une colonne dsigne par son numro
getlnt(String) : rcupre sous forme d'entier le contenu d'une colonne dsigne par son nom
geiFloat(int) : rcupre sous forme de flottant le contenu d'une colonne dsigne par son
numro
getFloat(String) : rcupre sous forme de flottant le contenu d'une colonne dsigne par son
nom
next() : dplace le pointeur de ligne sur la ligne suivante
close() : ferme l objet
getMetaData() : retourne les mtadonnes de l'objet (l'objet ResultSetMetaData)

6/7

Le package java.sql
Classes

Interfaces

Exceptions

Date
DriverManager
DriverPropertylnfo
Time
Timestamp
Types

Array
Blob
CallableStatement
Clob
Connection
DatabaseMetaData Driver
PreparedStatement Ref
ResultSet
ResuitSetMetaData
SQLData
SQLInput
SQLOutput
Statement
Struct

BatchUpdateException
DataTruncation
SQLException
SQLWarning

7/7

Vous aimerez peut-être aussi