peuple la banque de quiz avec du vrai contenu, rangé par thème

Un quiz.gift par séquence (01 à 07, le 08 existait déjà), lu par un
nouveau service LecteurGift et synchronisé par quiz:synchroniser-banque
(même esprit que labs:synchroniser) vers un propriétaire technique
jamais archivé (BanqueOfficielle), pour ne pas reproduire la dette du
quiz partagé qui disparaît à la purge RGPD. /banque-quiz regroupe
maintenant par thème comme /bibliotheque.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Adam Belkacemi 2026-10-13 16:14:36 +02:00
parent 33531de44d
commit a41951d4e6
21 changed files with 628 additions and 32 deletions

View file

@ -0,0 +1,29 @@
// Quiz séquence 01 : premiers pas dans le shell et droits (format GIFT)
::Q1 Créer un dossier::Quelle commande crée le dossier /home/eleve/projet ?{
=mkdir /home/eleve/projet
~touch /home/eleve/projet
~cd /home/eleve/projet
~rmdir /home/eleve/projet}
::Q2 chmod 640::Avec les droits 640 sur un fichier, le groupe propriétaire peut :{
=le lire, mais pas l'écrire ni l'exécuter
~le lire et l'écrire
~l'exécuter seulement
~tout faire}
::Q3 Appartenance à un groupe::Quelle commande ajoute l'utilisatrice alice au groupe equipe déjà existant ?{
=usermod -aG equipe alice
~groupadd equipe alice
~chown equipe alice
~adduser equipe alice}
::Q4 Rendre exécutable::chmod +x sur un script le rend exécutable pour tout le monde, y compris les autres utilisateurs.{T}
::Q5 chgrp::chgrp change le propriétaire d'un fichier.{F}
::Q6 Lire un rapport::Quelle commande affiche si le fichier rapport.txt contient le mot « paillasse » ?{
=grep paillasse rapport.txt
~cat paillasse rapport.txt
~find paillasse rapport.txt
~echo paillasse rapport.txt}

View file

@ -0,0 +1,29 @@
// Quiz séquence 02 : configurer le réseau et installer un paquet (format GIFT)
::Q1 Adresse et masque::Sur un réseau 10.10.0.0/24, l'adresse 10.10.0.11/24 est-elle valide pour un poste ?{T}
::Q2 Installer un paquet local::Sans accès Internet, quelle commande installe un paquet .deb déjà présent sur la machine ?{
=dpkg -i paquet.deb
~apt install paquet.deb
~wget paquet.deb
~dpkg -r paquet.deb}
::Q3 Vérifier qu'un paquet est installé::Quelle commande confirme qu'un paquet Debian est bien installé ?{
=dpkg -s paquet
~ls /opt/paquets/
~ping paquet
~ip link show paquet}
::Q4 Joindre un voisin::Quelle commande teste si deux postes se joignent sur le réseau ?{
=ping
~dpkg
~ip addr
~tree}
::Q5 ip addr add::La commande `ip addr add` est permanente après un redémarrage.{F}
::Q6 Nom d'hôte::Quelle commande affiche le nom d'hôte de la machine locale ?{
=hostname
~ping
~whoami
~ip route}

View file

@ -0,0 +1,29 @@
// Quiz séquence 03 : un serveur web et son client (format GIFT)
::Q1 Démarrer et activer::Quelle commande démarre nginx immédiatement et l'active au démarrage, en une seule fois ?{
=systemctl enable --now nginx
~systemctl start nginx
~systemctl enable nginx
~systemctl status nginx}
::Q2 Page par défaut::Où se trouve la page d'accueil par défaut d'nginx sur Debian ?{
=/var/www/html/
~/etc/nginx/
~/home/eleve/
~/var/log/nginx/}
::Q3 Voir uniquement les en-têtes::Quelle option de curl affiche seulement les en-têtes HTTP de la réponse ?{
=-I
~-v
~-o
~-s}
::Q4 Code de statut::Un serveur web qui répond correctement à une requête renvoie le code HTTP :{
=200
~404
~500
~301}
::Q5 Client et serveur::Dans ce lab, le client et le serveur sont la même machine virtuelle.{F}
::Q6 Redémarrer après une modification::Après avoir changé la page d'accueil d'nginx, il faut redémarrer le service pour que la page soit prise en compte.{F}

View file

@ -0,0 +1,29 @@
// Quiz séquence 04 : processus et services (format GIFT)
::Q1 Trouver le processus gourmand::Quelle commande trie les processus par consommation CPU décroissante ?{
=ps aux --sort=-%cpu
~ps aux --sort=+%cpu
~kill -l
~systemctl list-units}
::Q2 Signal par défaut::La commande `kill <PID>` envoie quel signal par défaut ?{
=SIGTERM
~SIGKILL
~SIGSTOP
~SIGHUP}
::Q3 Arrêt forcé::`kill -9 <PID>` envoie un signal que le processus peut ignorer pour se fermer proprement.{F}
::Q4 Service actif et activé::Quelle commande affiche à la fois si un service tourne maintenant et s'il démarrera au prochain redémarrage ?{
=systemctl status leservice
~systemctl is-enabled leservice
~ps aux leservice
~journalctl leservice}
::Q5 Recharger systemd::Après avoir créé un nouveau fichier .service dans /etc/systemd/system/, il faut lancer `systemctl daemon-reload` avant de pouvoir l'activer.{T}
::Q6 Emplacement des services::Où placer un fichier .service personnalisé ?{
=/etc/systemd/system/
~/home/eleve/
~/var/log/
~/opt/paquets/}

View file

@ -0,0 +1,27 @@
// Quiz séquence 05 : routage dynamique avec OSPF (format GIFT)
::Q1 Type de protocole::OSPF est un protocole de routage :{
=dynamique, à état de liens (link-state)
~statique, configuré route par route
~de couche application
~de résolution de noms}
::Q2 Rôle du routeur::Sans règle de routage, un routeur ne peut transmettre que vers les réseaux directement connectés à ses interfaces.{T}
::Q3 Convergence::Avec OSPF, si un lien tombe, les routeurs mettent à jour leurs tables de routage automatiquement, sans intervention manuelle.{T}
::Q4 Vérifier les voisins::Quelle commande affiche les routeurs voisins OSPF découverts ?{
=show ip ospf neighbor
~show ip route static
~ping voisin
~show interfaces}
::Q5 Aire OSPF::Dans OSPF, les routeurs d'une même aire (area) échangent leurs informations de topologie entre eux.{T}
::Q6 Table de routage::Quelle commande affiche la table de routage d'un routeur ?{
=show ip route
~show ip ospf neighbor
~ping
~traceroute}
::Q7 Route statique vs dynamique::Une route statique s'adapte automatiquement si la topologie du réseau change.{F}

View file

@ -0,0 +1,31 @@
// Quiz séquence 06 : chiffrer les échanges avec HTTPS (format GIFT)
::Q1 Rôle du certificat::Un certificat TLS sert à :{
=prouver l'identité du serveur et permettre le chiffrement de la connexion
~accélérer le chargement des pages
~compresser les données échangées
~remplacer le nom de domaine}
::Q2 Port HTTPS::Quel port utilise HTTPS par défaut ?{
=443
~80
~22
~21}
::Q3 HTTP vs HTTPS::En HTTP simple (sans TLS), le contenu échangé entre le client et le serveur peut être lu en clair par un tiers sur le réseau.{T}
::Q4 Générer une clé privée et un certificat auto-signé::Quel outil permet de générer une paire clé privée / certificat avec OpenSSL ?{
=openssl req -x509 -newkey rsa -keyout cle.pem -out cert.pem
~apt install certificat
~ping -T
~curl -X CERT}
::Q5 Certificat auto-signé::Un navigateur fait automatiquement confiance à un certificat auto-signé, sans avertissement.{F}
::Q6 Vérifier la configuration TLS::Quelle commande curl force l'utilisation de HTTPS et affiche les détails de la négociation TLS ?{
=curl -v https://exemple.test
~curl -I http://exemple.test
~ping https://exemple.test
~dpkg -s https}
::Q7 Redirection::Rediriger le port 80 vers le port 443 permet à un client qui tape l'adresse en HTTP d'être automatiquement basculé en HTTPS.{T}

View file

@ -0,0 +1,31 @@
// Quiz séquence 07 : bases de données et SQL (format GIFT)
::Q1 Sélectionner des lignes::Quelle instruction SQL renvoie toutes les colonnes de la table eleves ?{
=SELECT * FROM eleves;
~GET * FROM eleves;
~FIND eleves;
~SHOW eleves;}
::Q2 Filtrer::Quelle clause permet de ne garder que certaines lignes dans un SELECT ?{
=WHERE
~ORDER BY
~GROUP BY
~FROM}
::Q3 Clé primaire::Une clé primaire peut contenir des doublons dans une table.{F}
::Q4 Jointure::Quelle clause permet de combiner les lignes de deux tables à partir d'une colonne commune ?{
=JOIN
~UNION
~WHERE
~LIMIT}
::Q5 Suppression définitive::La commande DELETE FROM table; (sans clause WHERE) supprime toutes les lignes de la table.{T}
::Q6 Ajouter une ligne::Quelle instruction insère une nouvelle ligne dans une table ?{
=INSERT INTO table (colonne) VALUES (valeur);
~UPDATE table SET colonne = valeur;
~CREATE TABLE table (colonne);
~ADD table colonne valeur;}
::Q7 Agrégation::La fonction COUNT(*) dans une requête SQL renvoie la somme des valeurs numériques d'une colonne.{F}