Update app.py
Browse files
app.py
CHANGED
|
@@ -1,112 +1,117 @@
|
|
| 1 |
import streamlit as st
|
| 2 |
import random
|
| 3 |
|
| 4 |
-
# Titre
|
| 5 |
-
st.title("
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
| 7 |
-
#
|
| 8 |
-
st.write("Bienvenue dans ce jeu interactif ! L'objectif est d'apprendre les bases du réseau informatique en répondant à des questions. Bonne chance !")
|
| 9 |
-
|
| 10 |
-
# Liste des questions avec leurs réponses correctes
|
| 11 |
questions = [
|
| 12 |
{
|
| 13 |
"question": "Pourquoi est-il important de mettre à jour le matériel informatique dans un établissement comme le collège ?",
|
| 14 |
-
"
|
| 15 |
"answer": "Parce que le matériel devient rapidement obsolète"
|
| 16 |
},
|
| 17 |
{
|
| 18 |
"question": "Quel est le rôle principal d'un serveur dans un réseau informatique ?",
|
| 19 |
-
"
|
| 20 |
"answer": "Permettre de faire circuler les informations entre les ordinateurs"
|
| 21 |
},
|
| 22 |
{
|
| 23 |
"question": "À quoi sert un routeur dans un réseau local ?",
|
| 24 |
-
"
|
| 25 |
"answer": "Fournir une connexion Wi-Fi à tous les utilisateurs"
|
| 26 |
},
|
| 27 |
{
|
| 28 |
"question": "Quel équipement est nécessaire pour qu'une imprimante soit connectée au réseau et accessible à tous ?",
|
| 29 |
-
"
|
| 30 |
"answer": "Un routeur"
|
| 31 |
},
|
| 32 |
{
|
| 33 |
"question": "Quelle est la principale différence entre un ordinateur et un serveur dans un réseau ?",
|
| 34 |
-
"
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
"Un ordinateur est plus puissant qu'un serveur"
|
| 38 |
-
],
|
| 39 |
"answer": "Un ordinateur est utilisé par les utilisateurs, tandis qu'un serveur fournit des services aux autres appareils du réseau"
|
| 40 |
},
|
| 41 |
{
|
| 42 |
"question": "Que signifie une perte de 100% de paquets lors d'un test de ping ?",
|
| 43 |
-
"
|
| 44 |
"answer": "Aucun paquet n'a été reçu, il y a un problème de communication"
|
| 45 |
},
|
| 46 |
{
|
| 47 |
"question": "Que permet de faire un transmetteur dans un réseau ?",
|
| 48 |
-
"
|
| 49 |
"answer": "Assurer que le signal Wi-Fi est accessible dans toute la maison"
|
| 50 |
},
|
| 51 |
{
|
| 52 |
"question": "Quel type de câble est souvent utilisé pour connecter les ordinateurs dans un réseau local ?",
|
| 53 |
-
"
|
| 54 |
"answer": "Câble Ethernet"
|
| 55 |
},
|
| 56 |
{
|
| 57 |
"question": "Pourquoi le collège a-t-il besoin d'un administrateur réseau ?",
|
| 58 |
-
"
|
| 59 |
-
"Pour installer des logiciels",
|
| 60 |
-
"Pour assurer que tous les appareils communiquent bien entre eux et résoudre les pannes",
|
| 61 |
-
"Pour acheter de nouveaux ordinateurs"
|
| 62 |
-
],
|
| 63 |
"answer": "Pour assurer que tous les appareils communiquent bien entre eux et résoudre les pannes"
|
| 64 |
},
|
| 65 |
{
|
| 66 |
"question": "Que signifie 'obsolète' en parlant du matériel informatique ?",
|
| 67 |
-
"
|
| 68 |
"answer": "Le matériel est ancien et moins performant"
|
| 69 |
},
|
| 70 |
{
|
| 71 |
"question": "Lorsqu'un appareil n'arrive pas à se connecter au réseau, quelle pourrait être la cause ?",
|
| 72 |
-
"
|
| 73 |
"answer": "Un problème de câble ou de configuration réseau"
|
| 74 |
},
|
| 75 |
{
|
| 76 |
"question": "Dans quel cas faut-il utiliser un switch dans un réseau ?",
|
| 77 |
-
"
|
| 78 |
"answer": "Pour relier plusieurs appareils en réseau"
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"question": "Quel est le but d'un test de ping ?",
|
| 82 |
-
"
|
| 83 |
"answer": "Tester la communication entre deux appareils du réseau"
|
| 84 |
},
|
| 85 |
{
|
| 86 |
"question": "Quels éléments sont nécessaires pour une bonne connexion réseau dans tout un bâtiment ?",
|
| 87 |
-
"
|
| 88 |
"answer": "Transmetteurs et câbles"
|
| 89 |
},
|
| 90 |
{
|
| 91 |
"question": "Que doit-on faire si un appareil ne reçoit pas de paquets lors d’un test de ping ?",
|
| 92 |
-
"
|
| 93 |
"answer": "Vérifier les câbles et la configuration réseau"
|
| 94 |
-
}
|
| 95 |
]
|
| 96 |
|
| 97 |
-
# Fonction pour afficher
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
answer = st.radio("",
|
| 103 |
-
if st.button("Valider"):
|
| 104 |
-
if answer ==
|
| 105 |
st.success("Bonne réponse !")
|
|
|
|
| 106 |
else:
|
| 107 |
-
st.error(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
|
| 109 |
-
# Affichage des questions dans un ordre aléatoire
|
| 110 |
-
random.shuffle(questions)
|
| 111 |
-
for question_data in questions:
|
| 112 |
-
display_question(question_data)
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
import random
|
| 3 |
|
| 4 |
+
# Titre et mise en situation
|
| 5 |
+
st.title("Jeu : Installation et Fonctionnement d'un Réseau Local")
|
| 6 |
+
st.write("""
|
| 7 |
+
Les technologies de communication évoluent vite et le matériel informatique devient rapidement obsolète.
|
| 8 |
+
Le collège vient de recevoir une nouvelle dotation en matériel informatique.
|
| 9 |
+
Il faut installer le matériel et lui permettre de communiquer sur le réseau.
|
| 10 |
+
""")
|
| 11 |
|
| 12 |
+
# Questions interactives
|
|
|
|
|
|
|
|
|
|
| 13 |
questions = [
|
| 14 |
{
|
| 15 |
"question": "Pourquoi est-il important de mettre à jour le matériel informatique dans un établissement comme le collège ?",
|
| 16 |
+
"options": ["Pour améliorer la décoration", "Parce que le matériel devient rapidement obsolète", "Pour faire des économies d'énergie"],
|
| 17 |
"answer": "Parce que le matériel devient rapidement obsolète"
|
| 18 |
},
|
| 19 |
{
|
| 20 |
"question": "Quel est le rôle principal d'un serveur dans un réseau informatique ?",
|
| 21 |
+
"options": ["Envoyer des emails", "Permettre de faire circuler les informations entre les ordinateurs", "Jouer de la musique"],
|
| 22 |
"answer": "Permettre de faire circuler les informations entre les ordinateurs"
|
| 23 |
},
|
| 24 |
{
|
| 25 |
"question": "À quoi sert un routeur dans un réseau local ?",
|
| 26 |
+
"options": ["Fournir une connexion Wi-Fi à tous les utilisateurs", "Stocker des données", "Imprimer des documents"],
|
| 27 |
"answer": "Fournir une connexion Wi-Fi à tous les utilisateurs"
|
| 28 |
},
|
| 29 |
{
|
| 30 |
"question": "Quel équipement est nécessaire pour qu'une imprimante soit connectée au réseau et accessible à tous ?",
|
| 31 |
+
"options": ["Un serveur", "Un routeur", "Un transmetteur"],
|
| 32 |
"answer": "Un routeur"
|
| 33 |
},
|
| 34 |
{
|
| 35 |
"question": "Quelle est la principale différence entre un ordinateur et un serveur dans un réseau ?",
|
| 36 |
+
"options": ["Un ordinateur est utilisé par les utilisateurs, tandis qu'un serveur fournit des services aux autres appareils du réseau",
|
| 37 |
+
"Un serveur est plus lent qu'un ordinateur",
|
| 38 |
+
"Un ordinateur est plus puissant qu'un serveur"],
|
|
|
|
|
|
|
| 39 |
"answer": "Un ordinateur est utilisé par les utilisateurs, tandis qu'un serveur fournit des services aux autres appareils du réseau"
|
| 40 |
},
|
| 41 |
{
|
| 42 |
"question": "Que signifie une perte de 100% de paquets lors d'un test de ping ?",
|
| 43 |
+
"options": ["La connexion est excellente", "Aucun paquet n'a été reçu, il y a un problème de communication", "La vitesse est très rapide"],
|
| 44 |
"answer": "Aucun paquet n'a été reçu, il y a un problème de communication"
|
| 45 |
},
|
| 46 |
{
|
| 47 |
"question": "Que permet de faire un transmetteur dans un réseau ?",
|
| 48 |
+
"options": ["Stocker des informations", "Assurer que le signal Wi-Fi est accessible dans toute la maison", "Créer de nouveaux utilisateurs"],
|
| 49 |
"answer": "Assurer que le signal Wi-Fi est accessible dans toute la maison"
|
| 50 |
},
|
| 51 |
{
|
| 52 |
"question": "Quel type de câble est souvent utilisé pour connecter les ordinateurs dans un réseau local ?",
|
| 53 |
+
"options": ["Câble USB", "Câble Ethernet", "Câble HDMI"],
|
| 54 |
"answer": "Câble Ethernet"
|
| 55 |
},
|
| 56 |
{
|
| 57 |
"question": "Pourquoi le collège a-t-il besoin d'un administrateur réseau ?",
|
| 58 |
+
"options": ["Pour installer des logiciels", "Pour assurer que tous les appareils communiquent bien entre eux et résoudre les pannes", "Pour acheter de nouveaux ordinateurs"],
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
"answer": "Pour assurer que tous les appareils communiquent bien entre eux et résoudre les pannes"
|
| 60 |
},
|
| 61 |
{
|
| 62 |
"question": "Que signifie 'obsolète' en parlant du matériel informatique ?",
|
| 63 |
+
"options": ["Le matériel est ancien et moins performant", "Le matériel est rapide", "Le matériel est en parfait état"],
|
| 64 |
"answer": "Le matériel est ancien et moins performant"
|
| 65 |
},
|
| 66 |
{
|
| 67 |
"question": "Lorsqu'un appareil n'arrive pas à se connecter au réseau, quelle pourrait être la cause ?",
|
| 68 |
+
"options": ["Un problème de câble ou de configuration réseau", "L'appareil est trop proche du routeur", "L'appareil est trop neuf"],
|
| 69 |
"answer": "Un problème de câble ou de configuration réseau"
|
| 70 |
},
|
| 71 |
{
|
| 72 |
"question": "Dans quel cas faut-il utiliser un switch dans un réseau ?",
|
| 73 |
+
"options": ["Pour relier plusieurs appareils en réseau", "Pour connecter une imprimante", "Pour améliorer la qualité du Wi-Fi"],
|
| 74 |
"answer": "Pour relier plusieurs appareils en réseau"
|
| 75 |
},
|
| 76 |
{
|
| 77 |
"question": "Quel est le but d'un test de ping ?",
|
| 78 |
+
"options": ["Vérifier la présence d’un virus", "Tester la communication entre deux appareils du réseau", "Configurer le Wi-Fi"],
|
| 79 |
"answer": "Tester la communication entre deux appareils du réseau"
|
| 80 |
},
|
| 81 |
{
|
| 82 |
"question": "Quels éléments sont nécessaires pour une bonne connexion réseau dans tout un bâtiment ?",
|
| 83 |
+
"options": ["Transmetteurs et câbles", "Imprimantes et tablettes", "Claviers et souris"],
|
| 84 |
"answer": "Transmetteurs et câbles"
|
| 85 |
},
|
| 86 |
{
|
| 87 |
"question": "Que doit-on faire si un appareil ne reçoit pas de paquets lors d’un test de ping ?",
|
| 88 |
+
"options": ["Ignorer le problème", "Vérifier les câbles et la configuration réseau", "Éteindre le routeur"],
|
| 89 |
"answer": "Vérifier les câbles et la configuration réseau"
|
| 90 |
+
},
|
| 91 |
]
|
| 92 |
|
| 93 |
+
# Fonction pour afficher les questions et vérifier les réponses
|
| 94 |
+
score = 0
|
| 95 |
+
random.shuffle(questions) # Mélange les questions pour plus de variété
|
| 96 |
+
for q in questions:
|
| 97 |
+
st.subheader(q["question"])
|
| 98 |
+
answer = st.radio("", q["options"], key=q["question"])
|
| 99 |
+
if st.button("Valider", key=f"{q['question']}_btn"):
|
| 100 |
+
if answer == q["answer"]:
|
| 101 |
st.success("Bonne réponse !")
|
| 102 |
+
score += 1
|
| 103 |
else:
|
| 104 |
+
st.error("Mauvaise réponse.")
|
| 105 |
+
st.write("Réponse correcte : ", q["answer"])
|
| 106 |
+
st.write("---")
|
| 107 |
+
|
| 108 |
+
# Affichage du score final
|
| 109 |
+
st.write("## Votre score : ", score, "/", len(questions))
|
| 110 |
+
if score == len(questions):
|
| 111 |
+
st.balloons()
|
| 112 |
+
st.success("Félicitations ! Vous avez tout compris sur les réseaux locaux !")
|
| 113 |
+
elif score > len(questions) / 2:
|
| 114 |
+
st.info("Pas mal, mais vous pouvez encore vous améliorer !")
|
| 115 |
+
else:
|
| 116 |
+
st.warning("Il semble que vous ayez besoin de réviser encore un peu.")
|
| 117 |
|
|
|
|
|
|
|
|
|
|
|
|