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:
parent
33531de44d
commit
a41951d4e6
21 changed files with 628 additions and 32 deletions
29
paillasse-contenus/01-shell-droits/quiz.gift
Normal file
29
paillasse-contenus/01-shell-droits/quiz.gift
Normal 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}
|
||||
29
paillasse-contenus/02-reseau-paquets-ip/quiz.gift
Normal file
29
paillasse-contenus/02-reseau-paquets-ip/quiz.gift
Normal 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}
|
||||
29
paillasse-contenus/03-web-client-serveur/quiz.gift
Normal file
29
paillasse-contenus/03-web-client-serveur/quiz.gift
Normal 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}
|
||||
29
paillasse-contenus/04-processus/quiz.gift
Normal file
29
paillasse-contenus/04-processus/quiz.gift
Normal 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/}
|
||||
27
paillasse-contenus/05-routage-ospf/quiz.gift
Normal file
27
paillasse-contenus/05-routage-ospf/quiz.gift
Normal 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}
|
||||
31
paillasse-contenus/06-chiffrement-https/quiz.gift
Normal file
31
paillasse-contenus/06-chiffrement-https/quiz.gift
Normal 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}
|
||||
31
paillasse-contenus/07-sql/quiz.gift
Normal file
31
paillasse-contenus/07-sql/quiz.gift
Normal 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}
|
||||
Loading…
Add table
Add a link
Reference in a new issue