Update app.py
Browse files
app.py
CHANGED
@@ -105,27 +105,47 @@ if 'dictée' not in st.session_state:
|
|
105 |
st.set_page_config(layout="wide")
|
106 |
st.title('Générateur de Dictée')
|
107 |
|
108 |
-
|
109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
classe = st.selectbox("Classe", ["CP", "CE1", "CE2", "CM1", "CM2", "6ème", "5ème", "4ème", "3ème", "Seconde", "Premiere", "Terminale"], index=2)
|
|
|
111 |
longueur = st.slider("Longueur de la dictée (nombre de mots)", 50, 500, 200)
|
112 |
-
|
|
|
113 |
|
114 |
if bouton_generer:
|
|
|
|
|
|
|
115 |
with st.spinner("Génération de la dictée en cours..."):
|
116 |
dictee = generer_dictee(classe, longueur)
|
117 |
st.session_state.dictée = dictee
|
118 |
|
119 |
if st.session_state.dictée:
|
120 |
# Afficher la dictée ou les audios en fonction du mode
|
121 |
-
if mode == "S'entrainer
|
122 |
audio_urls = dictee_to_audio_segmented(st.session_state.dictée)
|
123 |
concatenated_audio_path = concatenate_audio(audio_urls)
|
124 |
|
125 |
col1, col2 = st.columns(2)
|
126 |
|
127 |
with col1:
|
128 |
-
st.
|
|
|
129 |
with st.expander("Phrases de la Dictée"):
|
130 |
for idx, url in enumerate(audio_urls, start=1):
|
131 |
st.markdown(f"**Phrase {idx}:**")
|
@@ -138,9 +158,16 @@ if st.session_state.dictée:
|
|
138 |
correction = correction_dictee(dictee_utilisateur)
|
139 |
st.markdown("Voici la correction :", correction, height=500)
|
140 |
|
141 |
-
elif mode == "Entrainer
|
142 |
st.text_area("Voici votre dictée :", st.session_state.dictée, height=300)
|
143 |
|
144 |
# Ajouter un bouton "Retour" pour réinitialiser la session
|
145 |
-
|
146 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
st.set_page_config(layout="wide")
|
106 |
st.title('Générateur de Dictée')
|
107 |
|
108 |
+
# Ajouter un container pour le paramètre de mode
|
109 |
+
with st.container():
|
110 |
+
mode = st.radio("Mode:", ["S'entrainer", "Entrainer"], key="mode")
|
111 |
+
|
112 |
+
# Ajouter un container pour les paramètres de la dictée
|
113 |
+
params_placeholder = st.empty()
|
114 |
+
|
115 |
+
if mode == "S'entrainer":
|
116 |
+
st.subheader("Paramètres de la dictée pour s'entrainer")
|
117 |
+
else:
|
118 |
+
st.subheader("Paramètres de la dictée pour entrainer quelqu'un d'autre")
|
119 |
+
|
120 |
+
# Utiliser des colonnes pour organiser les éléments
|
121 |
+
col1, col2 = st.columns(2)
|
122 |
+
|
123 |
+
with col1:
|
124 |
classe = st.selectbox("Classe", ["CP", "CE1", "CE2", "CM1", "CM2", "6ème", "5ème", "4ème", "3ème", "Seconde", "Premiere", "Terminale"], index=2)
|
125 |
+
with col2:
|
126 |
longueur = st.slider("Longueur de la dictée (nombre de mots)", 50, 500, 200)
|
127 |
+
|
128 |
+
bouton_generer = st.button('Générer la Dictée')
|
129 |
|
130 |
if bouton_generer:
|
131 |
+
# Masquer les paramètres
|
132 |
+
params_placeholder.empty()
|
133 |
+
|
134 |
with st.spinner("Génération de la dictée en cours..."):
|
135 |
dictee = generer_dictee(classe, longueur)
|
136 |
st.session_state.dictée = dictee
|
137 |
|
138 |
if st.session_state.dictée:
|
139 |
# Afficher la dictée ou les audios en fonction du mode
|
140 |
+
if mode == "S'entrainer":
|
141 |
audio_urls = dictee_to_audio_segmented(st.session_state.dictée)
|
142 |
concatenated_audio_path = concatenate_audio(audio_urls)
|
143 |
|
144 |
col1, col2 = st.columns(2)
|
145 |
|
146 |
with col1:
|
147 |
+
with st.expander("Écouter la dictée complète"):
|
148 |
+
st.audio(concatenated_audio_path, format='audio/wav', start_time=0)
|
149 |
with st.expander("Phrases de la Dictée"):
|
150 |
for idx, url in enumerate(audio_urls, start=1):
|
151 |
st.markdown(f"**Phrase {idx}:**")
|
|
|
158 |
correction = correction_dictee(dictee_utilisateur)
|
159 |
st.markdown("Voici la correction :", correction, height=500)
|
160 |
|
161 |
+
elif mode == "Entrainer":
|
162 |
st.text_area("Voici votre dictée :", st.session_state.dictée, height=300)
|
163 |
|
164 |
# Ajouter un bouton "Retour" pour réinitialiser la session
|
165 |
+
col1, col2 = st.columns(2)
|
166 |
+
with col2:
|
167 |
+
if st.button('Retour'):
|
168 |
+
st.session_state.dictée = None
|
169 |
+
# Réafficher les paramètres
|
170 |
+
params_placeholder.subheader("Paramètres de la dictée")
|
171 |
+
params_placeholder.selectbox("Classe", ["CP", "CE1", "CE2", "CM1", "CM2", "6ème", "5ème", "4ème", "3ème", "Seconde", "Premiere", "Terminale"], index=2)
|
172 |
+
params_placeholder.slider("Longueur de la dictée (nombre de mots)", 50, 500, 200)
|
173 |
+
params_placeholder.button('Générer la Dictée')
|