Lenylvt commited on
Commit
e4f1e17
·
verified ·
1 Parent(s): e951a2d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -64
app.py CHANGED
@@ -105,73 +105,39 @@ 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
- # 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.container()
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 params_placeholder:
124
- with col1:
125
  classe = st.selectbox("Classe", ["CP", "CE1", "CE2", "CM1", "CM2", "6ème", "5ème", "4ème", "3ème", "Seconde", "Premiere", "Terminale"], index=2)
126
- with col2:
127
  longueur = st.slider("Longueur de la dictée (nombre de mots)", 50, 500, 200)
128
-
129
- bouton_generer = st.button('Générer la Dictée')
130
-
131
- if bouton_generer:
132
- # Masquer les paramètres
133
- params_placeholder.empty()
134
-
135
  with st.spinner("Génération de la dictée en cours..."):
136
  dictee = generer_dictee(classe, longueur)
137
- st.session_state.dictée = dictee
138
-
139
- if st.session_state.dictée:
140
- # Afficher la dictée ou les audios en fonction du mode
141
- if mode == "S'entrainer":
142
- audio_urls = dictee_to_audio_segmented(st.session_state.dictée)
143
- concatenated_audio_path = concatenate_audio(audio_urls)
144
-
145
- col1, col2 = st.columns(2)
146
-
147
- with col1:
148
- with st.expander("Écouter la dictée complète"):
149
  st.audio(concatenated_audio_path, format='audio/wav', start_time=0)
150
- with st.expander("Phrases de la Dictée"):
151
- for idx, url in enumerate(audio_urls, start=1):
152
- st.markdown(f"**Phrase {idx}:**")
153
- st.audio(url, format='audio/wav')
154
-
155
- with col2:
156
- dictee_utilisateur = st.text_input("Écrivez la dictée ici:")
157
- if st.button('Correction'):
158
- with st.spinner("Génération de la correction en cours..."):
159
- correction = correction_dictee(dictee_utilisateur)
160
- st.markdown("Voici la correction :")
161
- st.markdown(correction)
162
-
163
- elif mode == "Entrainer":
164
- st.text_area("Voici votre dictée :", st.session_state.dictée, height=300)
165
-
166
- # Ajouter un bouton "Retour" pour réinitialiser la session
167
- col1, col2 = st.columns(2)
168
- with col2:
169
- if st.button('Retour'):
170
- st.session_state.dictée = None
171
- # Réafficher les paramètres
172
- with params_placeholder:
173
- with col1:
174
- classe = st.selectbox("Classe", ["CP", "CE1", "CE2", "CM1", "CM2", "6ème", "5ème", "4ème", "3ème", "Seconde", "Premiere", "Terminale"], index=2)
175
- with col2:
176
- longueur = st.slider("Longueur de la dictée (nombre de mots)", 50, 500, 200)
177
- bouton_generer = st.button('Générer la Dictée')
 
105
  st.set_page_config(layout="wide")
106
  st.title('Générateur de Dictée')
107
 
108
+ if 'dictéegenerated' not in st.session_state:
109
+ st.session_state.dictéegenerated = "Hobby"
 
110
 
111
+ if dictéegenerated is "Hobby":
112
+ with st.expander("Paramètres de la dictée", expanded=True):
113
+ mode = st.radio("Mode:", ["S'entrainer: Vous aurez uniquement les audios suivi d'une correction par IA (Pour 1 seul personne)", "Entrainer: Vous aurez uniquement le texte de la dictée pour entrainer quelqu'un d'autre (Pour 2 ou + personnes)"])
 
 
 
 
 
 
 
 
 
 
114
  classe = st.selectbox("Classe", ["CP", "CE1", "CE2", "CM1", "CM2", "6ème", "5ème", "4ème", "3ème", "Seconde", "Premiere", "Terminale"], index=2)
 
115
  longueur = st.slider("Longueur de la dictée (nombre de mots)", 50, 500, 200)
116
+
117
+ if st.button('Générer la Dictée'):
118
+ st.session_state.dictéegenerated = "Generated"
 
 
 
 
119
  with st.spinner("Génération de la dictée en cours..."):
120
  dictee = generer_dictee(classe, longueur)
121
+ if mode == "S'entrainer: Vous aurez uniquement les audios suivi d'une correction par IA (Pour 1 seul personne)":
122
+ audio_urls = dictee_to_audio_segmented(dictee)
123
+ concatenated_audio_path = concatenate_audio(audio_urls)
124
+
125
+ col1, col2 = st.columns(2)
126
+
127
+ with col1:
 
 
 
 
 
128
  st.audio(concatenated_audio_path, format='audio/wav', start_time=0)
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}:**")
132
+ st.audio(url, format='audio/wav')
133
+
134
+ with col2:
135
+ dictee_utilisateur = st.text_input("Écrivez la dictée ici:")
136
+ if st.button('Correction'):
137
+ with st.spinner("Génération de la dictée en cours..."):
138
+ correction = correction_dictee(dictee_utilisateur)
139
+ st.markdown("Voici la correction :")
140
+ st.markdown(correction)
141
+
142
+ elif mode == "Entrainer: Vous aurez uniquement le texte de la dictée pour entrainer quelqu'un d'autre (Pour 2 ou + personnes)":
143
+ st.text_area("Voici votre dictée :", dictee, height=300)