Enoder commited on
Commit
12f0387
·
verified ·
1 Parent(s): 1a32857

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +91 -0
app.py ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 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 :", ["Câbles", "Ordinateurs", "Tablette", "Imprimante", "Batterie", "Box", "Serveur", "Routeurs", "Switch", "Transmetteurs"])
18
+ if st.button("Vérifier la réponse", key="q1"):
19
+ correct_answer = {"Câbles", "Ordinateurs", "Serveur", "Routeurs", "Switch", "Transmetteurs"}
20
+ if set(answer1) == correct_answer:
21
+ st.success("Bravo! Tu as sélectionné tous les éléments nécessaires pour créer un réseau.")
22
+ score += 1
23
+ else:
24
+ st.error("Non, ce n'est pas correct. Revois les éléments nécessaires à la création d'un réseau local.")
25
+
26
+ # Investigation : Noms et fonctions
27
+ st.subheader("Investigation : Noms et fonctions")
28
+ st.write("Après avoir visionné la vidéo 'Les réseaux informatiques', associe chaque illustration avec son nom et sa fonction.")
29
+
30
+ # Question 2: Identification des éléments
31
+ answers2 = {
32
+ "PC ordinateurs": "Pour communiquer",
33
+ "Serveurs": "Permet de faire circuler des informations d'un ordinateur à un autre",
34
+ "Routeur": "Pour le wifi pour tout le monde",
35
+ "Transmetteurs": "Pour que tout le wifi aille dans toute la maison"
36
+ }
37
+
38
+ for item, correct_answer in answers2.items():
39
+ answer = st.text_input(f"Fonction de {item} :", key=item)
40
+ if st.button(f"Vérifier {item}", key=f"verify_{item}"):
41
+ if answer == correct_answer:
42
+ st.success(f"Correct ! {item} : {correct_answer}.")
43
+ score += 1
44
+ else:
45
+ st.error("Non, essaie encore.")
46
+
47
+ # Résultat du test de communication
48
+ st.subheader("Résultat du test de communication")
49
+ 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 :")
50
+ st.code("""
51
+ 192.168.1.1 4 paquets envoyés, 4 paquets reçus
52
+ 0% packets perdus, délai de 5ms
53
+ """)
54
+ st.code("""
55
+ C:\>ping
56
+ """)
57
+ st.code("""
58
+ 192.168.1.254 4 paquets envoyés, 0 paquets reçus
59
+ 100% packets perdus
60
+ """)
61
+ conclusion = st.text_input("Quelle conclusion peux-tu en tirer ?", "")
62
+ if st.button("Vérifier la conclusion", key="conclusion"):
63
+ if "câblage" in conclusion.lower() and "résoudre" in conclusion.lower():
64
+ st.success("Bonne réponse ! Un câblage correct est indispensable pour assurer la communication entre les stations.")
65
+ score += 1
66
+ else:
67
+ st.error("Non, n'oublie pas de mentionner l'importance du câblage pour résoudre ce problème.")
68
+
69
+ # Investigation 2 : Résolution de panne
70
+ st.subheader("Investigation 2 : Résolution de panne")
71
+ 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.")
72
+ st.write("Que vérifier en priorité si une station ne peut pas communiquer avec le réseau?")
73
+ answer3 = st.text_input("Entrez votre réponse ici :", "")
74
+ if st.button("Vérifier la résolution de panne", key="q3"):
75
+ if "connexion" in answer3.lower() or "câblage" in answer3.lower():
76
+ st.success("Bonne réponse ! Vérifier la connexion et le câblage est essentiel en cas de panne.")
77
+ score += 1
78
+ else:
79
+ st.error("Essaie encore ! Réfléchis aux vérifications de base comme la connexion et le câblage.")
80
+
81
+ # Score final
82
+ st.subheader("Résultat")
83
+ st.write(f"Ton score final est : {score} / 7")
84
+ if score == 7:
85
+ st.balloons()
86
+ st.write("Félicitations! Tu as maîtrisé les bases de l'installation et du fonctionnement d'un réseau local.")
87
+ else:
88
+ st.write("Bon travail! N'hésite pas à réessayer pour améliorer ton score et ta compréhension.")
89
+
90
+ st.write("---")
91
+ st.write("Merci d'avoir joué ! Les concepts de réseau local sont essentiels pour comprendre le fonctionnement de nos appareils connectés.")