Enoder commited on
Commit
1124b92
·
verified ·
1 Parent(s): 0f526ca

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -86
app.py CHANGED
@@ -2,93 +2,48 @@ import streamlit as st
2
 
3
  # Titre et Introduction
4
  st.title("Installation et Fonctionnement d'un Réseau Local")
5
- st.write("Bienvenue dans ce jeu éducatif! Dans ce module, tu vas apprendre comment installer et configurer un réseau informatique en répondant à des questions et en résolvant des situations pratiques. Bonne chance!")
6
 
7
  # Scoring
8
  score = 0
9
 
10
- # Mise en situation
11
- st.subheader("Mise en situation")
12
- st.write("Les technologies de communication évoluent vite et le matériel informatique devient rapidement obsolète. Le collège vient de recevoir une nouvelle dotation en matériel informatique. Il faut installer le matériel et lui permettre de communiquer sur le réseau.")
13
-
14
- # Question 1: Matériel nécessaire
15
- st.subheader("Question 1 : Matériel nécessaire")
16
- st.write("D'après toi, quel matériel est nécessaire pour créer un réseau ?")
17
- answer1 = st.multiselect("Sélectionne tout le matériel nécessaire :",
18
- ["Câbles", "Ordinateurs", "Tablette", "Imprimante", "Batterie", "Box",
19
- "Serveur", "Routeurs", "Switch", "Transmetteurs"])
20
-
21
- if st.button("Vérifier la réponse", key="q1"):
22
- correct_answer = {"Câbles", "Ordinateurs", "Serveur", "Routeurs", "Switch", "Transmetteurs"}
23
- if set(answer1) == correct_answer:
24
- st.success("Bravo! Tu as sélectionné tous les éléments nécessaires pour créer un réseau.")
25
- score += 1
26
- else:
27
- st.error("Non, ce n'est pas correct. Revois les éléments nécessaires à la création d'un réseau local.")
28
-
29
- # Investigation : Noms et fonctions
30
- st.subheader("Investigation : Noms et fonctions")
31
- st.write("Après avoir visionné la vidéo 'Les réseaux informatiques', associe chaque illustration avec son nom et sa fonction.")
32
-
33
- # Question 2: Identification des éléments
34
- answers2 = {
35
- "PC ordinateurs": "Pour communiquer",
36
- "Serveurs": "Permet de faire circuler des informations d'un ordinateur à un autre",
37
- "Routeur": "Pour le wifi pour tout le monde",
38
- "Transmetteurs": "Pour que tout le wifi aille dans toute la maison"
39
- }
40
-
41
- for item, correct_answer in answers2.items():
42
- answer = st.text_input(f"Fonction de {item} :", key=item)
43
- if st.button(f"Vérifier {item}", key=f"verify_{item}"):
44
- if answer == correct_answer:
45
- st.success(f"Correct ! {item} : {correct_answer}.")
46
- score += 1
47
- else:
48
- st.error("Non, essaie encore.")
49
-
50
- # Résultat du test de communication
51
- st.subheader("Résultat du test de communication")
52
- st.write("Après avoir déballé et câblé les stations de travail, un test de communication avec le serveur a été effectué. Voici les résultats :")
53
- st.code("""
54
- 192.168.1.1 4 paquets envoyés, 4 paquets reçus
55
- 0% packets perdus, délai de 5ms
56
- """)
57
- st.code("""
58
- C:\>ping
59
- """)
60
- st.code("""
61
- 192.168.1.254 4 paquets envoyés, 0 paquets reçus
62
- 100% packets perdus
63
- """)
64
- conclusion = st.text_input("Quelle conclusion peux-tu en tirer ?", "")
65
- if st.button("Vérifier la conclusion", key="conclusion"):
66
- if "câblage" in conclusion.lower() and "résoudre" in conclusion.lower():
67
- st.success("Bonne réponse ! Un câblage correct est indispensable pour assurer la communication entre les stations.")
68
- score += 1
69
- else:
70
- st.error("Non, n'oublie pas de mentionner l'importance du câblage pour résoudre ce problème.")
71
-
72
- # Investigation 2 : Résolution de panne
73
- st.subheader("Investigation 2 : Résolution de panne")
74
- st.write("Le réseau est désormais câblé et configuré par l'administrateur réseau. Il faut vérifier la bonne communication des stations de travail.")
75
- st.write("Que vérifier en priorité si une station ne peut pas communiquer avec le réseau ?")
76
- answer3 = st.text_input("Entrez votre réponse ici :", "")
77
- if st.button("Vérifier la résolution de panne", key="q3"):
78
- if "connexion" in answer3.lower() or "câblage" in answer3.lower():
79
- st.success("Bonne réponse ! Vérifier la connexion et le câblage est essentiel en cas de panne.")
80
- score += 1
81
- else:
82
- st.error("Essaie encore ! Réfléchis aux vérifications de base comme la connexion et le câblage.")
83
-
84
- # Score final
85
- st.subheader("Résultat")
86
- st.write(f"Ton score final est : {score} / 7")
87
- if score == 7:
88
- st.balloons()
89
- st.write("Félicitations! Tu as maîtrisé les bases de l'installation et du fonctionnement d'un réseau local.")
90
- else:
91
- st.write("Bon travail! N'hésite pas à réessayer pour améliorer ton score et ta compréhension.")
92
-
93
- st.write("---")
94
- st.write("Merci d'avoir joué ! Les concepts de réseau local sont essentiels pour comprendre le fonctionnement de nos appareils connectés.")
 
2
 
3
  # Titre et Introduction
4
  st.title("Installation et Fonctionnement d'un Réseau Local")
5
+ st.write("Bienvenue dans ce jeu éducatif! Dans ce module, tu vas apprendre comment installer et configurer un réseau informatique en répondant à des questions à choix multiples. Bonne chance!")
6
 
7
  # Scoring
8
  score = 0
9
 
10
+ # Liste des questions et des réponses correctes
11
+ questions = [
12
+ {"question": "Quel matériel est nécessaire pour créer un réseau ?", "choices": ["Câbles", "Ordinateurs", "Tablette", "Imprimante", "Batterie", "Box", "Serveur", "Routeurs", "Switch", "Transmetteurs"], "correct": ["Câbles", "Ordinateurs", "Serveur", "Routeurs", "Switch", "Transmetteurs"]},
13
+ {"question": "Quel est le rôle d'un ordinateur dans un réseau ?", "choices": ["Communiquer", "Imprimer", "Stocker des données", "Fournir l'accès au WiFi"], "correct": ["Communiquer"]},
14
+ {"question": "Quel est le rôle d'un serveur dans un réseau ?", "choices": ["Stocker des fichiers", "Faire circuler des informations d'un ordinateur à un autre", "Contrôler les connexions WiFi", "Distribuer l'énergie"], "correct": ["Faire circuler des informations d'un ordinateur à un autre"]},
15
+ {"question": "Quel est le rôle d'un routeur ?", "choices": ["Routage des paquets de données", "Connexion à Internet", "Stockage des données", "Répartition des câbles"], "correct": ["Routage des paquets de données", "Connexion à Internet"]},
16
+ {"question": "Quel est le rôle des transmetteurs ?", "choices": ["Émettre le signal WiFi", "Distribuer l'Internet à chaque appareil", "Filtrer les paquets de données", "Stocker les informations"], "correct": ["Émettre le signal WiFi", "Distribuer l'Internet à chaque appareil"]},
17
+ {"question": "Que permet un switch dans un réseau ?", "choices": ["Relier plusieurs ordinateurs", "Séparer les données des utilisateurs", "Gérer le trafic WiFi", "Contrôler les paquets de données"], "correct": ["Relier plusieurs ordinateurs"]},
18
+ {"question": "Quel type de câble est généralement utilisé pour connecter des appareils réseau ?", "choices": ["Câble RJ45", "Câble USB", "Câble HDMI", "Câble VGA"], "correct": ["Câble RJ45"]},
19
+ {"question": "Quel équipement est utilisé pour fournir l'accès à Internet à un réseau local ?", "choices": ["Routeur", "Switch", "Câble Ethernet", "Box"], "correct": ["Routeur", "Box"]},
20
+ {"question": "Qu'est-ce qu'une adresse IP ?", "choices": ["Une adresse d'un appareil sur le réseau", "Un type de câble", "Un protocole de communication", "Un type de serveur"], "correct": ["Une adresse d'un appareil sur le réseau"]},
21
+ {"question": "Que doit-on vérifier si une station ne communique pas sur le réseau ?", "choices": ["Connexion au réseau", "Problème de câble", "Problème d'adresse IP", "Problème de serveur"], "correct": ["Connexion au réseau", "Problème de câble"]},
22
+ {"question": "Quel est le rôle d'un administrateur réseau ?", "choices": ["Configurer les appareils", "Gérer les connexions", "Mettre à jour les logiciels", "Surveiller la sécurité du réseau"], "correct": ["Configurer les appareils", "Gérer les connexions", "Surveiller la sécurité du réseau"]},
23
+ {"question": "Qu'est-ce qu'un ping ?", "choices": ["Un test de connectivité", "Un type de protocole", "Un outil de stockage", "Un type de réseau"], "correct": ["Un test de connectivité"]},
24
+ {"question": "Que signifie 100% de paquets perdus dans un test de ping ?", "choices": ["Aucun paquet n'a été envoyé", "Aucun paquet n'a été reçu", "Le réseau fonctionne parfaitement", "Le serveur est hors ligne"], "correct": ["Aucun paquet n'a été reçu"]},
25
+ {"question": "Quel matériel est nécessaire pour créer un réseau sans fil ?", "choices": ["Routeur", "Câble Ethernet", "Point d'accès WiFi", "Switch"], "correct": ["Routeur", "Point d'accès WiFi"]},
26
+ {"question": "Quel type de serveur est utilisé dans un réseau local ?", "choices": ["Serveur de fichiers", "Serveur de base de données", "Serveur web", "Serveur de mail"], "correct": ["Serveur de fichiers"]},
27
+ {"question": "Quel est le rôle d'un commutateur dans un réseau ?", "choices": ["Relier les différents appareils entre eux", "Faire fonctionner le réseau WiFi", "Émettre des signaux radio", "Contrôler l'accès au réseau"], "correct": ["Relier les différents appareils entre eux"]},
28
+ {"question": "Qu'est-ce qu'un réseau local ?", "choices": ["Un réseau interne d'une entreprise ou d'une maison", "Un réseau sur Internet", "Un réseau mondial", "Un réseau de communication satellite"], "correct": ["Un réseau interne d'une entreprise ou d'une maison"]},
29
+ {"question": "Qu'est-ce qu'un câblage structuré ?", "choices": ["Un câblage organisé pour faciliter la gestion du réseau", "Un câblage sans fil", "Un câblage utilisé pour connecter des équipements uniquement", "Un câblage temporaire"], "correct": ["Un câblage organisé pour faciliter la gestion du réseau"]},
30
+ {"question": "Pourquoi un switch est-il plus efficace qu'un hub ?", "choices": ["Il filtre et envoie les données seulement aux appareils qui en ont besoin", "Il envoie les données à tous les appareils", "Il permet d'envoyer plus de paquets", "Il contrôle les accès WiFi"], "correct": ["Il filtre et envoie les données seulement aux appareils qui en ont besoin"]},
31
+ {"question": "Quel est le rôle d'un point d'accès WiFi ?", "choices": ["Fournir une connexion sans fil au réseau", "Émettre des signaux radio", "Distribuer des câbles", "Contrôler l'accès à Internet"], "correct": ["Fournir une connexion sans fil au réseau"]},
32
+ {"question": "Qu'est-ce qu'un réseau IP ?", "choices": ["Un réseau basé sur des adresses IP", "Un réseau sans fil", "Un réseau d'entreprise", "Un réseau Internet local"], "correct": ["Un réseau basé sur des adresses IP"]},
33
+ {"question": "Quels sont les composants d'un réseau informatique ?", "choices": ["Câble, routeur, serveurs, ordinateurs", "Câble, imprimante, batterie", "Ordinateurs, tablettes, imprimantes", "Serveurs, routeurs, disques durs"], "correct": ["Câble, routeur, serveurs, ordinateurs"]},
34
+ {"question": "Pourquoi la sécurité du réseau est-elle importante ?", "choices": ["Protéger les données contre les attaques", "Garantir la vitesse du réseau", "Gérer les adresses IP", "Optimiser la consommation d'énergie"], "correct": ["Protéger les données contre les attaques"]},
35
+ {"question": "Quel protocole permet de sécuriser les échanges sur Internet ?", "choices": ["HTTPS", "FTP", "HTTP", "SMTP"], "correct": ["HTTPS"]},
36
+ {"question": "Qu'est-ce qu'un réseau sans fil ?", "choices": ["Un réseau qui fonctionne sans câbles", "Un réseau avec des câbles", "Un réseau pour les jeux vidéo", "Un réseau uniquement pour les ordinateurs"], "correct": ["Un réseau qui fonctionne sans câbles"]},
37
+ {"question": "Quel est le rôle d'un DNS dans un réseau ?", "choices": ["Résoudre les noms de domaine en adresses IP", "Créer des connexions", "Chiffrer les données", "Contrôler l'accès au réseau"], "correct": ["Résoudre les noms de domaine en adresses IP"]},
38
+ {"question": "Que fait un pare-feu dans un réseau ?", "choices": ["Filtrer et bloquer certains types de trafic", "Optimiser les connexions", "Créer des réseaux locaux", "Connecter les appareils au réseau"], "correct": ["Filtrer et bloquer certains types de trafic"]},
39
+ {"question": "Comment sécuriser un réseau sans fil ?", "choices": ["Utiliser un mot de passe complexe", "Utiliser un réseau ouvert", "Ne pas utiliser de mot de passe", "Utiliser des câbles Ethernet"], "correct": ["Utiliser un mot de passe complexe"]},
40
+ ]
41
+
42
+ # Affichage des questions et gestion des réponses
43
+ for i, question in enumerate(questions):
44
+ st.subheader(f"Question {i+1}: {question['question']}")
45
+ answer = st.multiselect("Choisissez la bonne réponse :", question["choices"])
46
+
47
+ if st.button(f"Vérifier la réponse {i+1}", key=f"btn_{i+1}"):
48
+ if set(answer) == set(question["correct"]):
49
+ st.success("Bonne réponse