Wadifa InfoEmploi public au Maroc ع

Modèle de concours : Technicien de 3e grade — Office National de Sécurité Sanitaire des Produits Alimentaires (ONSSA) — Développement informatique — 23 novembre 2019

🏢 Office National de Sécurité Sanitaire des Produits Alimentaires (ONSSA) 👤 Technicien de 3e grade 🎯 Développement informatique 📅 Session 23 novembre 2019 👁️ 3 vues

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
Épreuve de 3 heures : exercice 1 en QCM (10 pts) sur Java, SQL, web et UML, puis deux exercices (4 et 6 pts) d'algorithmique et de MCD/diagramme de classes. 2 pages (1/2 et 2/2). Copie cochée par un candidat. Attention : la copie porte les marques d'un candidat sur certaines réponses.
📝 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)

  1. 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.
  2. a — Le compilateur javac transforme le source .java en bytecode .class, exécuté par la JVM.
  3. 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.
  4. b (faux) — Une classe abstraite ne peut pas être instanciée directement ; on instancie ses sous-classes concrètes.
  5. b (faux) — En Java, extends n'autorise qu'une seule classe mère. La multiplicité passe par les interfaces (implements).
  6. a (vrai) (réponse probable) — final interdit 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 ».
  7. 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.
  8. b — SQL Server est le système de gestion de bases de données relationnelles de Microsoft.
  9. b — DROP DATABASE nom_base; supprime la base. DELETE supprime des lignes d'une table.
  10. a — La clause WHERE filtre les lignes selon une condition.
  11. a — MCD signifie Modèle Conceptuel de Données (Merise).
  12. c — <br/> insère un saut de ligne. <p> crée un paragraphe, <h1>…<h6> des titres.
  13. a — document.getElementById() est une méthode JavaScript du DOM.
  14. a — Entity Framework est l'ORM (mapping objet-relationnel) de .NET.
  15. 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.
  16. a — CSS sert à la mise en forme (présentation) des pages web.
  17. b — Il n'existe pas de « diagramme modèles » en UML. Les diagrammes de classes et de cas d'utilisation en font partie.
  18. 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 Int avec une majuscule ; en Java c'est int, sinon le code ne compile pas. On répond donc selon l'intention de l'auteur.)
  19. c (rien) — i = 5 et la condition i < 0 est fausse dès le départ : on n'entre jamais dans la boucle.
  20. 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 utiliser s1.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) et add(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 classe Enfant.

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

ClasseAttributs
EnfantmatriculeEnfant, nomEnfant, …
MedecincodeMedecin, nomMedecin, …
CentreSantecodeCentre, …
EcolecodeEcole, nomEcole, …
VaccincodeVaccin, …
Vaccination (classe-association)dateVaccination, heureVaccination, resultat, dateFinContreIndication, dateAuPlusTotProchainActe, conditionsParticulieres, codeConseil
Association UMLMultiplicité côté 1Multiplicité côté 2
Enfant — suivre — MedecinEnfant : 1..*Medecin : 1
Medecin — appartenir — CentreSanteMedecin : 1..*CentreSante : 1
Enfant — fréquenter — EcoleEnfant : 1..*Ecole : 1
Enfant — Vaccin, avec la classe-association Vaccination en pointillés sur le lienEnfant : 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.
Un nouveau sujet de concours chaque jour sur WhatsApp

Questions fréquentes sur ce sujet

Ce sujet est-il téléchargeable gratuitement ?
Oui. La totalité du sujet (2 pages) est consultable et téléchargeable gratuitement, sans inscription ni compte.
Le corrigé est-il inclus ?
Oui. Un corrigé proposé figure sur cette page, sous les pages du sujet : méthode de réponse et éléments attendus, rédigés par l'équipe Wadifa Info.
Quel organisme et quel grade concerne ce sujet ?
Ce sujet provient d'un concours organisé par Office National de Sécurité Sanitaire des Produits Alimentaires (ONSSA). Il concerne le grade : Technicien de 3e grade.
De quelle session s'agit-il et dans quelle langue ?
Session : دورة 23 نونبر 2019. Les questions sont en français.
Où trouver d'autres sujets du même concours ?
Tous nos sujets de la même famille sont regroupés sur la page Techniciens : /fr/modeles-concours/techniciens. Les sujets y sont classés par session, du plus récent au plus ancien.

Source : page d'archives des modèles de concours (Facebook) — document archivé tel que reçu ; l'avis officiel du concours fait foi.

}
Utile ? Envoyez-le à quelqu'un qui cherche
WhatsApp Facebook Telegram
📲
Installez Wadifa Info sur votre iPhone : appuyez sur le bouton Partager en bas de Safari, puis sur Sur l'écran d'accueil. Les nouveaux concours, sans passer par le navigateur.