Update app.py
Browse files
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
|
| 6 |
|
| 7 |
# Scoring
|
| 8 |
score = 0
|
| 9 |
|
| 10 |
-
#
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
"
|
| 36 |
-
"
|
| 37 |
-
"
|
| 38 |
-
"
|
| 39 |
-
}
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|