Modèle de concours : Technicien de 3e grade — Office National de Sécurité Sanitaire des Produits Alimentaires (ONSSA) — Développement informatique — 23 novembre 2019
En bref
Ce document est une ancienne épreuve écrite du concours de Technicien de 3e grade organisé par Office National de Sécurité Sanitaire des Produits Alimentaires (ONSSA) (2019), publiée sur Wadifa Info en consultation et téléchargement PDF gratuits, avec une correction proposée.
- Organisme
- Office National de Sécurité Sanitaire des Produits Alimentaires (ONSSA)
- Grade
- Technicien de 3e grade
- Spécialité
- Développement informatique
- Année
- 2019
- Pages
- 2
- Langue des questions
- français
- Correction
- correction proposée disponible sur cette page
📝 Texte des questions (extrait automatiquement des pages scannées)
Ce texte est extrait automatiquement des images de l'épreuve et peut contenir des erreurs de lecture — les images ci-dessus font foi.
- شم Alimentaires ---- 7 ض الت اه لخ
ا Concoursderecrutement 0
2° Technicien troisième grade TRES
7 Option : Développement informatique RC" T1
1 Organisé le 23 novembre 2019, Durée : 3h FR
NB : Documents non autorisés et le document est imprimé en recto verso. … 1
7 Exercice 1 : (10 pts) "14
ل Pour chaque réponse noté le numéro de la question et le(s) symbole(s) de(s) réponse(s) Me
: (Exemple : Question 0 réponse: (ثية 90-0 RE ص 0 ا 7 الإ ا
| V 1- AJAX permet : | صا 13-document.getElementByld() est écrit Fe
1 a- Sécuriser une page web | en ;
| b- Actualiser قا page web sans | a- javascript
procéder au rechargement total | b- html |
de la page | c- css
C- Appliquer du styie à la page web | 14- Entity Framework est un :
‘ 2- Un fichier java compilé aura comme | a- ORM
extension | b- ODBC
a- .class C-_ JDBC
b- .java | ل 15-Un logiciel open-source est :
7 c- .exe | a- Logiciel dont on peut obtenir le
3- Merise est un : | code source
a- Langage de programmation | b- Logiciel gratuit
| b- Méthode d’analyseetde - | c- Logiciel propriétaire
conception des bases de | ل 16- CSS est utilisé pour
données | a- Mettre en forme une page web
c- Un langage de modélisation | b- Pour envoyer un formulaire au
4- Une classe abstraite peut être - | serveur
| instanciée : | 6- Pour sécuriser une page web
ض a- vrai | V 17- Quelle est le digramme qui ne fait
b- faux | Pas partie des diagrammes uml
| مدي ل> mot clé » extends » permet | a- Diagramme de classes
l'héritage multiple en java | b- Diagrammes modèles
ض a-vrai 5 | C- Diagramme des cas d’utilisation
| b-faux | 18- Considérons le code Suivant
| 6- Peut-on surcharger une méthode | String s = "l’âge de smith est : د
déclarée avec l’attribut « final » | Inti=21; 0
a- Vrai | System.out.printin (s+i) ; 3
b- Faux | La console affichera 34
ض v 7- Sqlest: | a- L'âge de smith est : 21
a- Un langage de programmation b- Génèrera une exception
b- Langage de manipulation de 2 19- Considérons le code suivant
données | Inti=5;
Ÿ 8- Sql server est : | While (i<O) 0
a- Un serveur web | { system.out.printin(i) ;
b- Un serveur de bases de données | زرا
| Après exécution, la console affichera
a ا أ ا
wadifa-info.com ج المباريات من موقع وظيفة إنفو
0 ٍ 5 538 0 Maroc bia En | 4 ١ : : - XX 6 اج ال | Tv
Office National de Sécurité Sanitaire V ONSSA كتب الوطني للسلامة الصحية
_ des Produits Alimentaires _ لمنتبات الغذانية
و Pour supprimer une base de | a) 54231 Cr
ولت données b) 543210 الال |
ا a- Delete database c) Rien 4
ل b- Drop database | 20- Qu’affichera le code suivant "4
7 10-Pour préciser une condition au | String s1 = new String("xyz''); 1
niveau d’une requête sql on utilise: | String 52 = new String("xyz"); 3
a- Where | 1)512352( 0
b- When | System.out.printin("s1==52 est 4
c- If | vrai"); |
اي 11- Le terme « MCD » signifie | else il
a- Modèle conceptuel de données | System.out.printin("s1==52 est |
b- Moyen de communication de | faux"); 3
données | a- s1==s2 est vrai
V 12-La balise <br/> en html: | b- s1==s2estfaux 4 |
a- Crée un paragraphe |
b- Crée un entête |
c- Crée un saut de ligne | |
Exercice 2 :(4 pts)
1- C’est quoi la surcharge et la redéfinition d’une méthode
y 2- Ecrire un algorithme qui reçoit le nombre n et retourne la valeur de n!
_3- C’est quoi l’héritage multiple, donner un exemple de langage qui supporte l'héritage
multiple
NJ 4- Quand est ce que on utilise la clause « having » en sql
1, 5- Donner deux exemples de Framework « javascript »
Exercice 3 : (6 pts)
Soit le MCD suivant :
l'ENFANT Es Dre | MEDECN | ve a acier | AU
| iréquenter
سس 21061
> | ECOLE
in ‘code école, 2 + 7
nom école, . 1 |
| code vaccin. É vaccination,heure vaccination,résultal. TE
p-vaccination = | date fin contre-indication,dale au plus tôt 0
_ {prochain acte. conditions particullères, code conseil. ا
.: : ifier votre réponse? |
Donner le diagramme de classe corresponde 2:68 1: Justifier votre TéP .
Bonne chance D
wadifa-info.com نماذج المباريات من موقع وظيفة إنفو
✅ Correction proposée
Il s'agit d'une correction proposée, rédigée par l'équipe wadifa-info pour vous aider à comprendre la méthode — ce n'est pas un corrigé officiel de l'administration organisatrice.
Ce modèle est l'épreuve écrite du concours de recrutement des techniciens de 3e grade de l'ONSSA, option Développement informatique, organisé le 23 novembre 2019. Durée : 3 heures, documents non autorisés. L'épreuve comprend un QCM de 20 questions (10 points), 5 questions de cours (4 points) et la transformation d'un MCD en diagramme de classes UML (6 points). Voici une correction proposée.
Conseil : au QCM, notez le numéro de la question et la ou les lettres, comme l'exige la consigne. Les pièges portent surtout sur Java (== entre objets, final, héritage multiple).
Exercice 1 — QCM (10 pts)
- b — AJAX (JavaScript asynchrone) échange des données avec le serveur en arrière-plan et met à jour une partie de la page sans la recharger entièrement.
- a — Le compilateur
javactransforme le source.javaen bytecode.class, exécuté par la JVM. - b — Merise est une méthode d'analyse et de conception des systèmes d'information et des bases de données (MCD, MLD, MPD…). Ce n'est pas un langage.
- b (faux) — Une classe abstraite ne peut pas être instanciée directement ; on instancie ses sous-classes concrètes.
- b (faux) — En Java,
extendsn'autorise qu'une seule classe mère. La multiplicité passe par les interfaces (implements). - a (vrai) (réponse probable) —
finalinterdit la redéfinition (override) d'une méthode dans une sous-classe, pas sa surcharge (overload) : on peut écrire une autre méthode du même nom avec des paramètres différents. Si l'auteur visait la redéfinition, la réponse attendue serait « faux ». - b — SQL est un langage de requêtes qui sert à définir, manipuler et interroger les données ; ce n'est pas un langage de programmation généraliste.
- b — SQL Server est le système de gestion de bases de données relationnelles de Microsoft.
- b —
DROP DATABASE nom_base;supprime la base.DELETEsupprime des lignes d'une table. - a — La clause
WHEREfiltre les lignes selon une condition. - a — MCD signifie Modèle Conceptuel de Données (Merise).
- c —
<br/>insère un saut de ligne.<p>crée un paragraphe,<h1>…<h6>des titres. - a —
document.getElementById()est une méthode JavaScript du DOM. - a — Entity Framework est l'ORM (mapping objet-relationnel) de .NET.
- a — Un logiciel open source est un logiciel dont le code source est accessible, modifiable et redistribuable selon sa licence. Il n'est pas forcément gratuit.
- a — CSS sert à la mise en forme (présentation) des pages web.
- b — Il n'existe pas de « diagramme modèles » en UML. Les diagrammes de classes et de cas d'utilisation en font partie.
- a — La concaténation d'une chaîne et d'un entier donne une chaîne : « L'âge de smith est : 21 ». (Le sujet écrit
Intavec une majuscule ; en Java c'estint, sinon le code ne compile pas. On répond donc selon l'intention de l'auteur.) - c (rien) —
i = 5et la conditioni < 0est fausse dès le départ : on n'entre jamais dans la boucle. - b —
new String("xyz")crée deux objets distincts.==compare les références, qui sont différentes, donc le code affiche « s1==s2 est faux ». Pour comparer le contenu, il faut utilisers1.equals(s2).
Exercice 2 — Questions de cours (4 pts)
1. Surcharge et redéfinition d'une méthode
- Surcharge (overloading) : plusieurs méthodes portent le même nom dans une même classe (ou une classe et sa sous-classe) mais avec des signatures différentes (nombre ou types de paramètres). Le choix se fait à la compilation. Exemple :
add(int a, int b)etadd(double a, double b). - Redéfinition (overriding) : une sous-classe réécrit une méthode héritée avec la même signature pour en changer le comportement. Le choix se fait à l'exécution (polymorphisme, annotation
@Override). Exemple :toString()redéfinie dans une classeEnfant.
2. Algorithme de calcul de n!
Fonction factorielle(n : entier) : entier
Si n < 0 alors
retourner -1 // n! non défini pour n négatif
FinSi
f ← 1
Pour i de 2 à n faire
f ← f * i
FinPour
retourner f // 0! = 1! = 1
FinFonction
Version récursive : fact(n) = 1 si n ≤ 1, sinon n × fact(n − 1). Exemple : fact(5) = 5 × 4 × 3 × 2 × 1 = 120.
3. Héritage multiple
Une classe hérite directement de plusieurs classes mères et reçoit leurs attributs et méthodes. Exemple : class Amphibie : public Voiture, public Bateau. Langages qui le supportent : C++ et Python (Eiffel aussi). Java et C# ne l'autorisent pas entre classes, pour éviter le « problème du diamant », mais permettent d'implémenter plusieurs interfaces.
4. Clause HAVING en SQL
HAVING filtre les groupes produits par GROUP BY, en général sur une fonction d'agrégation. WHERE filtre les lignes avant le regroupement et ne peut pas contenir d'agrégat.
SELECT code_centre, COUNT(*) AS nb_medecins FROM MEDECIN GROUP BY code_centre HAVING COUNT(*) > 5;
5. Deux frameworks JavaScript
Au choix : Angular, Vue.js, React (souvent appelé bibliothèque), Ember.js ; côté serveur, Express (Node.js). jQuery est une bibliothèque.
Exercice 3 — Du MCD au diagramme de classes (6 pts)
Lecture du MCD
- ENFANT (1,1) — suivre — (1,n) MÉDECIN : un enfant est suivi par un seul médecin ; un médecin suit un ou plusieurs enfants.
- MÉDECIN (1,1) — appartenir — (1,n) CENTRE SANTÉ : un médecin appartient à un seul centre ; un centre compte un ou plusieurs médecins.
- ENFANT (1,1) — fréquenter — (1,n) ÉCOLE : un enfant fréquente une seule école ; une école accueille un ou plusieurs enfants.
- ENFANT (1,n) — vacciner — (1,n) VACCIN, association porteuse de la propriété P-vaccination (date et heure de vaccination, résultat, date de fin de contre-indication, date au plus tôt du prochain acte, conditions particulières, code conseil). Un enfant reçoit un ou plusieurs vaccins, et un vaccin est administré à un ou plusieurs enfants.
Diagramme de classes correspondant
| Classe | Attributs |
|---|---|
| Enfant | matriculeEnfant, nomEnfant, … |
| Medecin | codeMedecin, nomMedecin, … |
| CentreSante | codeCentre, … |
| Ecole | codeEcole, nomEcole, … |
| Vaccin | codeVaccin, … |
| Vaccination (classe-association) | dateVaccination, heureVaccination, resultat, dateFinContreIndication, dateAuPlusTotProchainActe, conditionsParticulieres, codeConseil |
| Association UML | Multiplicité côté 1 | Multiplicité côté 2 |
|---|---|---|
| Enfant — suivre — Medecin | Enfant : 1..* | Medecin : 1 |
| Medecin — appartenir — CentreSante | Medecin : 1..* | CentreSante : 1 |
| Enfant — fréquenter — Ecole | Enfant : 1..* | Ecole : 1 |
| Enfant — Vaccin, avec la classe-association Vaccination en pointillés sur le lien | Enfant : 1..* | Vaccin : 1..* |
Justification
- Chaque entité du MCD devient une classe ; ses propriétés deviennent des attributs. En UML, l'identifiant n'est pas obligatoire : chaque objet a sa propre identité.
- Chaque association binaire sans propriété devient une association UML. Les cardinalités Merise sont inversées : Merise note la cardinalité à côté de l'entité qu'elle décrit, alors qu'UML note la multiplicité à l'autre extrémité. Ainsi « ENFANT 1,1 — suivre » (un enfant a un seul médecin) devient la multiplicité 1 placée du côté de Medecin.
- L'association vacciner est de type plusieurs-à-plusieurs et porte des propriétés (P-vaccination). Elle devient une classe-association Vaccination rattachée au lien Enfant — Vaccin. Ses attributs dépendent du couple (enfant, vaccin), pas de l'un ou de l'autre seul.
- Les cardinalités minimales 1 deviennent des bornes inférieures 1 (1 ou 1..*). Aucune cardinalité minimale 0 n'apparaît dans ce MCD.
Questions fréquentes sur ce sujet
Ce sujet est-il téléchargeable gratuitement ?
Le corrigé est-il inclus ?
Quel organisme et quel grade concerne ce sujet ?
De quelle session s'agit-il et dans quelle langue ?
Où trouver d'autres sujets du même concours ?
Vous préparez ce concours ?
Modèles similaires
Source : page d'archives des modèles de concours (Facebook) — document archivé tel que reçu ; l'avis officiel du concours fait foi.
}
