Enoder commited on
Commit
d2a58f1
·
verified ·
1 Parent(s): ba7049d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -43
app.py CHANGED
@@ -1,112 +1,117 @@
1
  import streamlit as st
2
  import random
3
 
4
- # Titre du jeu
5
- st.title("Apprendre le Réseau Informatique en s'amusant !")
 
 
 
 
 
6
 
7
- # Instructions pour les joueurs
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
- "choices": ["Pour améliorer la décoration", "Parce que le matériel devient rapidement obsolète", "Pour faire des économies d'énergie"],
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
- "choices": ["Envoyer des emails", "Permettre de faire circuler les informations entre les ordinateurs", "Jouer de la musique"],
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
- "choices": ["Fournir une connexion Wi-Fi à tous les utilisateurs", "Stocker des données", "Imprimer des documents"],
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
- "choices": ["Un serveur", "Un routeur", "Un transmetteur"],
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
- "choices": [
35
- "Un ordinateur est utilisé par les utilisateurs, tandis qu'un serveur fournit des services aux autres appareils du réseau",
36
- "Un serveur est plus lent qu'un ordinateur",
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
- "choices": ["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
- "choices": ["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
- "choices": ["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
- "choices": [
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
- "choices": ["Le matériel est ancien et moins performant", "Le matériel est rapide", "Le matériel est en parfait état"],
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
- "choices": ["Un problème de câble ou de configuration réseau", "L'appareil est trop proche du routeur", "L'appareil est trop neuf"],
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
- "choices": ["Pour relier plusieurs appareils en réseau", "Pour connecter une imprimante", "Pour améliorer la qualité du Wi-Fi"],
78
  "answer": "Pour relier plusieurs appareils en réseau"
79
  },
80
  {
81
  "question": "Quel est le but d'un test de ping ?",
82
- "choices": ["Vérifier la présence d’un virus", "Tester la communication entre deux appareils du réseau", "Configurer le Wi-Fi"],
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
- "choices": ["Transmetteurs et câbles", "Imprimantes et tablettes", "Claviers et souris"],
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
- "choices": ["Ignorer le problème", "Vérifier les câbles et la configuration réseau", "Éteindre le routeur"],
93
  "answer": "Vérifier les câbles et la configuration réseau"
94
- }
95
  ]
96
 
97
- # Fonction pour afficher une question
98
- def display_question(question_data):
99
- st.write(question_data["question"])
100
- choices = question_data["choices"]
101
- random.shuffle(choices)
102
- answer = st.radio("", choices)
103
- if st.button("Valider"):
104
- if answer == question_data["answer"]:
105
  st.success("Bonne réponse !")
 
106
  else:
107
- st.error(f"Mauvaise réponse. La bonne réponse était : {question_data['answer']}")
 
 
 
 
 
 
 
 
 
 
 
 
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