IUT
Cours Info
IUT Paris 8 — BUT Informatique
Moodle
Accueil
R5c4
Seance 2
Quiz
Avancé
Quiz de validation — Séance 2
Testez vos connaissances sur les sujets de cette séance.
Que se passe-t-il quand un utilisateur interagit avec un widget Streamlit ?
Seul le widget modifié est mis à jour
L'intégralité du script Python est réexécutée de haut en bas
Streamlit met à jour le DOM côté navigateur
Le serveur envoie uniquement les données modifiées
Les variables locales persistent-elles entre deux re-runs Streamlit ?
Oui, elles sont conservées automatiquement
Oui, si on utilise le mot-clé global
Non, elles sont réinitialisées à chaque re-run
Oui, si elles sont déclarées en dehors d'une fonction
Quel décorateur utiliser pour mettre en cache un DataFrame retourné par une requête SQL ?
@st.cache_resource
@st.cache_data
@functools.cache
@st.memo
Quel décorateur utiliser pour initialiser une connexion à la base de données une seule fois ?
@st.cache_data
@st.cache_resource
@st.cache_connection
@st.singleton
Que signifie le paramètre ttl=300 dans @st.cache_data(ttl=300) ?
Le cache stocke au maximum 300 entrées
Le cache est valide pendant 300 millisecondes
Le cache est valide pendant 300 secondes (5 minutes)
La fonction est réexécutée toutes les 300 itérations
Que retourne st.button('Valider') lors du re-run suivant le clic ?
True — le bouton reste actif
False — le bouton revient à son état initial
None — le bouton n'a pas de valeur de retour
'Valider' — le label du bouton
Quelles sont les valeurs possibles du paramètre delta_color de st.metric() ?
'red', 'green', 'blue'
'positive', 'negative', 'neutral'
'normal', 'inverse', 'off'
'auto', 'manual', 'none'
Quelle est la différence entre st.dataframe() et st.table() ?
st.dataframe() n'accepte que des DataFrames pandas
st.table() est plus performant pour les grands datasets
st.dataframe() est interactif (tri, scroll), st.table() est statique
st.table() supporte column_config, pas st.dataframe()
Où doit se trouver st.set_page_config() dans un script Streamlit ?
N'importe où dans le script
Dans la fonction main()
C'est le premier appel st.* du script, avant tout autre composant
Dans le fichier .streamlit/config.toml
Quelles sont les deux valeurs possibles du paramètre layout de st.set_page_config() ?
'full' et 'compact'
'wide' et 'centered'
'responsive' et 'fixed'
'desktop' et 'mobile'
Comment Streamlit détermine-t-il l'ordre des pages dans la sidebar d'une application multi-pages ?
Par ordre de création des fichiers
Par le préfixe numérique du nom de fichier (1_, 2_, etc.)
Par ordre alphabétique strict
Par un fichier manifest.json
Que produit st.columns([3, 1, 1]) ?
3 colonnes de largeur égale
5 colonnes dont 3 larges et 2 étroites
3 colonnes avec des ratios de largeur 3:1:1
Une erreur — st.columns() n'accepte pas de liste
Quel est le comportement par défaut de st.expander() ?
La section est déployée (visible)
La section est repliée (masquée)
La section est invisible
Le comportement dépend du navigateur
Pourquoi le VentesRepository de la séance 1 est-il directement importable dans Streamlit ?
Parce que Streamlit inclut Flask comme dépendance
Parce que le repository est du Python pur, sans dépendance à Flask
Parce que Streamlit émule le contexte Flask automatiquement
Ce n'est pas possible — il faut modifier le repository
Pourquoi préférer les composants explicites (st.dataframe, st.markdown) plutôt que st.write() en production ?
st.write() est déprécié
st.write() est plus lent
Les composants explicites offrent plus de contrôle sur le rendu
st.write() ne supporte pas les DataFrames
Précédent
Exercices
Suivant
Conclusion