موضوع امتحان كتابي · Université Moulay Ismaïl, Meknès — Techniciens 3e grade, informatique · 2023
موضوع حقيقي منقول حرفياً من النسخة المنشورة؛ بدون تصحيح رسمي.
Copie publiée par wadifa-info.com (modèle n°938). Sujet transcrit mot pour mot ; aucun corrigé officiel publié. Épreuve générale en arabe et pages publiées de l'épreuve de spécialité (exercices 1, 2, 5 et 6).
Université Moulay Ismaïl — Présidence, MeknèsConcours de recrutement de techniciens (deux postes) du 3ème grade, spécialité informatique — dimanche 8 octobre 2023 (Centre d'innovation et de transfert de technologie)Deux épreuves : épreuve générale (en arabe, 3 heures, coefficient 4) et épreuve de spécialité (3 heures). Seules certaines pages de l'épreuve de spécialité sont publiées (exercices 1, 2, 5 et 6 ; les exercices 3 et 4 et les figures de l'exercice 2 et de l'exercice 6 manquent).
أجب عن السؤال التالي:
انصرفت جهود المغرب، تحت القيادة الرشيدة لجلالة الملك محمد السادس، نحو ترسيخ ثقافة التحول الرقمي على جميع المستويات واستثمار الفرص التي تتيحها لفتح آفاق جديدة للدفع قدما بعجلة التنمية ببلادنا، وقد أشار جلالته في عدة مناسبات إلى الدور الذي تلعبه التكنولوجيا الرقمية في تعزيز النجاعة، والارتقاء بجودة الخدمات العمومية وتيسير الولوج إليها، وكذا زيادة الإنتاجية والقدرة التنافسية للاقتصاد.
كما أكد على ضرورة تعميم الإدارة الرقمية بطريقة مندمجة تمكن مختلف القطاعات والمرافق من الولوج المشترك للمعلومات.
حلل وناقش.
Schéma (lecture de la copie) : le Routeur 1 (IP 196.200.144.13 côté Internet ; 192.168.1.1 côté LAN ; 172.16.1.2 vers le Routeur 2) dessert un commutateur auquel sont reliés le serveur DNS (192.168.1.2) et le serveur Web (192.168.1.3) ; le Routeur 2 (172.16.1.3/16 vers le Routeur 1 ; 192.168.3.1 côté LAN) dessert un commutateur avec les machines 1 et 2.
1. Donner (en trois lignes maximum) les fonctionnalités principales de la couche réseau du modèle OSI.
2. Donner les tables de routage des deux routeurs du schéma ci-dessus.
3. Sachant que le réseau du schéma ci-dessus ne dispose pas d'un serveur DHCP, décrire la configuration à faire sur la machine Windows « machine 1 » pour la connecter au réseau Internet.
Créer un formulaire comprenant un groupe de champs. Le formulaire doit permettre la saisie du nom, du prénom, de l'adresse, de la ville et du code postal. Les données sont ensuite traitées par un fichier PHP séparé récupérant les données et les affichant dans un tableau HTML.
Le formulaire est défini dans le fichier address_form.html qui ne contient que du code HTML (image : cadre « Saisissez vos coordonnées » avec les champs Nom, Prénom, Adresse, Ville, Code postal et un bouton « CONFIRMER ENVOI »).
Le traitement et l'affichage du résultat doit se faire dans le fichier result.php (l'image du résultat attendu n'est pas publiée).
Écrire le programme en langage C qui calcule le n-ième terme de la suite de Fibonacci : u0 = u1 = 1 ; un = un−2 + un−1 pour n > 1, en utilisant une fonction récursive.
En tirant profit de la Programmation Orientée Objet (POO), nous souhaitons modéliser les différents membres de la famille INSA (que nous appellerons les INSAliens), en particulier 3 sous-catégories : les étudiants, les enseignants et les agents en CDI (contrat à durée indéterminée).
Tous les INSAliens sont caractérisés par un nom et un prénom. Parmi les INSAliens, nous distinguons :- Les enseignants caractérisés par leur indice (un entier qui définit leur grille de salaire) et la matière qu'ils enseignent. Par défaut cet indice vaut 463 pour un enseignant en début de carrière. Les agents en CDI caractérisés par leur salaire brut.- Les étudiants caractérisés par un numéro d'étudiant (une chaîne de caractères) et un département (la classe Département est définie ci-dessous).- Les enseignants et les agents en CDI sont des employés de l'INSA : ils touchent un salaire mensuel net calculé comme explicité ci-dessous (les chiffres sont fantaisistes) : pour les enseignants : salaire net = indice * 3.79 ; pour les agents en CDI : salaire net = salaire brut * 0.78.
Le programme principal ci-dessous illustre un exemple d'utilisation de ces différents objets. Proposez une hiérarchie de classes qui permet à la classe TestInsa de fonctionner correctement et d'obtenir le résultat attendu illustré dans la figure 1. Vous donnerez l'implémentation complète des classes (attributs et méthodes). Attention, vous prendrez soin de tirer profit au maximum des mécanismes de la POO en factorisant et en réutilisant au maximum le code. Aucune interface (au sens des interfaces Java) n'est nécessaire ici. Avant d'écrire le code, faites le diagramme représentant la hiérarchie des classes avec UML.
(La classe Département, le programme TestInsa et la figure 1 ne sont pas publiés.)
ليس تصحيحاً رسمياً: حرره مشرفو KounKour.
Corrigé proposé par l'équipe KounKour (aucun corrigé officiel n'est publié). D'autres solutions correctes sont acceptées si elles sont justifiées.
- مقدمة: التحول الرقمي اختيار استراتيجي للمغرب (استراتيجية المغرب الرقمي، إدارة إلكترونية، إصلاح الإدارة).- المحور الأول: إسهامات الرقمنة في النجاعة وجودة الخدمات العمومية (الخدمات عن بعد، تبسيط المساطر، الشفافية، ربح الوقت) وفي الإنتاجية والتنافسية.- المحور الثاني: شروط تعميم الإدارة الرقمية المندمجة: البنية التحتية، تبادل المعطيات بين الإدارات، حماية المعطيات الشخصية (القانون 09-08) والأمن السيبراني (القانون 05-20)، تكوين الموارد البشرية، سد الفجوة الرقمية.- خاتمة: دور التقني في المعلوميات داخل الجامعة (رقمنة الخدمات للطلبة والأساتذة، صيانة الشبكة، الأمن).
1. Couche réseau (couche 3) : adressage logique (IP), choix du chemin (routage) et acheminement des paquets entre réseaux différents, avec fragmentation si nécessaire.
2. Tables de routage (d'après les adresses lisibles sur la copie) :
| Routeur 1 : réseau | Masque | Passerelle / interface ||---|---|---|| 192.168.1.0 | 255.255.255.0 | directement connecté (192.168.1.1) || 172.16.0.0 | 255.255.0.0 | directement connecté (172.16.1.2) || 192.168.3.0 | 255.255.255.0 | 172.16.1.3 (Routeur 2) || 0.0.0.0 (défaut) | 0.0.0.0 | interface Internet 196.200.144.13 (vers le fournisseur d'accès) |
| Routeur 2 : réseau | Masque | Passerelle / interface ||---|---|---|| 192.168.3.0 | 255.255.255.0 | directement connecté (192.168.3.1) || 172.16.0.0 | 255.255.0.0 | directement connecté (172.16.1.3) || 0.0.0.0 (défaut) | 0.0.0.0 | 172.16.1.2 (Routeur 1) |
3. Configuration manuelle de la machine 1 (Panneau de configuration → Réseau → propriétés IPv4) : adresse IP fixe libre du réseau 192.168.3.0/24, par exemple 192.168.3.10 ; masque 255.255.255.0 ; passerelle par défaut 192.168.3.1 ; serveur DNS 192.168.1.2. Vérifier avec ipconfig et ping.
Fichier address_form.html :<form action="result.php" method="post"><fieldset><legend>Saisissez vos coordonnées</legend>Nom : <input type="text" name="nom" required><br>Prénom : <input type="text" name="prenom" required><br>Adresse : <input type="text" name="adresse"><br>Ville : <input type="text" name="ville"><br>Code postal : <input type="text" name="cp"><br><input type="submit" value="CONFIRMER ENVOI"></fieldset></form>
Fichier result.php :<?php $champs = ['nom' => 'Nom', 'prenom' => 'Prénom', 'adresse' => 'Adresse', 'ville' => 'Ville', 'cp' => 'Code postal']; ?><table border="1"><?php foreach ($champs as $cle => $libelle): ?><tr><th><?= $libelle ?></th><td><?= htmlspecialchars($_POST[$cle] ?? '') ?></td></tr><?php endforeach; ?></table>
htmlspecialchars empêche l'injection de code (XSS) dans la page de résultat.
#include <stdio.h>long fibo(int n) { if (n <= 1) return 1; return fibo(n - 2) + fibo(n - 1); }int main(void) { int n; printf("n = "); scanf("%d", &n); printf("u(%d) = %ld\n", n, fibo(n)); return 0; }
Hiérarchie UML : Insalien (abstraite : nom, prénom) ← Etudiant (numéro, département) ; Insalien ← Employe (abstraite : salaireNet()) ← Enseignant (indice = 463 par défaut, matière) et AgentCDI (salaireBrut).
abstract class Insalien { protected String nom, prenom; Insalien(String n, String p) { nom = n; prenom = p; } public String toString() { return prenom + " " + nom; } }class Etudiant extends Insalien { private String numero; private Departement dep; Etudiant(String n, String p, String num, Departement d) { super(n, p); numero = num; dep = d; } }abstract class Employe extends Insalien { Employe(String n, String p) { super(n, p); } abstract double salaireNet(); }class Enseignant extends Employe { private int indice = 463; private String matiere; Enseignant(String n, String p, String m) { super(n, p); matiere = m; } Enseignant(String n, String p, String m, int i) { this(n, p, m); indice = i; } double salaireNet() { return indice * 3.79; } }class AgentCDI extends Employe { private double salaireBrut; AgentCDI(String n, String p, double b) { super(n, p); salaireBrut = b; } double salaireNet() { return salaireBrut * 0.78; } }
Le programme TestInsa n'étant pas publié, adaptez les signatures des constructeurs à celui fourni le jour de l'épreuve.