Instruction conditionnelle

En tant qu'élément central de la programmation informatique, les instructions conditionnelles sont essentielles à comprendre pour tout programmeur en herbe. Une bonne compréhension des instructions conditionnelles permet une prise de décision efficace au sein du code, servant de base à divers langages de programmation. Dans ce guide complet, le concept des instructions conditionnelles sera exploré en profondeur, depuis leur définition, leur importance et leurs différents types jusqu'à leur mise en œuvre dans des langages de programmation populaires tels que Python et JavaScript. En outre, divers exemples de programmation réels et les meilleures pratiques seront abordés afin de fournir une compréhension pratique de la façon dont les instructions conditionnelles peuvent être utilisées efficacement dans la programmation informatique. À la fin de cet article, tu auras acquis une connaissance précieuse du monde puissant des instructions conditionnelles, ce qui te permettra de relever des défis de programmation complexes avec facilité et confiance.

C'est parti

Des millions de fiches spécialement conçues pour étudier facilement

Inscris-toi gratuitement

Review generated flashcards

Inscris-toi gratuitement
Tu as atteint la limite quotidienne de l'IA

Commence à apprendre ou crée tes propres flashcards d'IA

Équipe éditoriale StudySmarter

Équipe enseignants Instruction conditionnelle

  • Temps de lecture: 19 minutes
  • Vérifié par l'équipe éditoriale StudySmarter
Sauvegarder l'explication Sauvegarder l'explication
Tables des matières
Tables des matières

Sauter à un chapitre clé

    Définition et application des instructions conditionnelles

    Une instruction conditionnelle, également connue sous le nom de structure de décision ou d'instruction if-then-else, est une construction de programmation qui te permet d'exécuter une séquence de code selon qu'un ensemble de conditions données sont remplies ou non.

    Dans la plupart des langages de programmation, une structure conditionnelle se compose de trois parties différentes :
    • L'instruction "if" avec une condition de test.
    • Le bloc de code à exécuter si la condition est remplie ("vrai" ou "1").
    • Optionnellement, une instruction "else" avec un bloc de code optionnel à exécuter si la condition n'est pas remplie ("false" ou "0").
    Un exemple simple d'instruction conditionnelle en Python serait
    :if x > 0 : print("x is positive") else : print("x is not positive")
    Ici, le programme vérifie si la variable "x" est supérieure à 0. Si la condition est remplie, le message "x is positive" sera imprimé. Dans le cas contraire, le message "x n'est pas positif" sera affiché. Les instructions conditionnelles jouent un rôle crucial dans la direction du flux des programmes ; elles déterminent les actions entreprises en fonction des entrées et des conditions rencontrées par le programme.

    Importance des instructions conditionnelles dans la programmation informatique

    Les instructions conditionnelles sont essentielles dans la programmation informatique car elles permettent à tes programmes de réagir de manière adaptative à différentes situations, ce qui augmente la convivialité, la robustesse et l'efficacité globale du programme. L'importance des instructions conditionnelles dans la programmation informatique peut être résumée par les aspects clés suivants :
    • Prise de décision : Sans instructions conditionnelles, un programme suivrait une séquence linéaire de commandes, indépendamment des entrées ou de l'état du système. Les instructions conditionnelles permettent aux programmes de prendre des décisions et de réagir de manière appropriée aux différentes situations.
    • Contrôle des flux : Les instructions conditionnelles, associées à des boucles et à d'autres structures de contrôle, permettent de manipuler facilement le flux de contrôle d'un programme, ce qui lui permet de suivre une série spécifique de commandes en fonction d'un large éventail de facteurs et d'entrées.
    • Traitement des erreurs : Les instructions conditionnelles permettent aux programmes de vérifier les entrées erronées ou les conditions inattendues et peuvent aider à empêcher ton programme de se planter ou de produire des résultats incorrects en raison d'une exception non gérée.
    • Réutilisation du code et modularité : En utilisant des instructions conditionnelles, tu peux créer un code réutilisable et modulaire qui peut être appliqué dans différents scénarios et contextes, ce qui réduit potentiellement la quantité de code redondant et facilite la maintenance et la mise à jour.
    En conclusion, la maîtrise des instructions conditionnelles est fondamentale pour devenir un programmeur compétent. Comprendre comment utiliser efficacement les instructions conditionnelles te permettra non seulement d'écrire des programmes plus efficaces, mais aussi de rendre ton code plus adaptable et plus robuste pour faire face à une variété de situations.

    Types d'instructions conditionnelles

    Il existe différents types d'instructions conditionnelles dans la programmation informatique.

    Les instructions "Si" (If)

    La forme la plus simple d'une instruction conditionnelle est l'instruction "if". Elle évalue une condition et, si la condition est vraie, exécute le code dans son bloc. Si la condition est fausse, le bloc de code est ignoré. Voici un exemple d'instruction "if" en Python
    :if cours == "Informatique" : print("Vous étudiez l'informatique")
    Les instructions "if" sont utilisées dans divers langages de programmation avec de légères différences de syntaxe. Par exemple, Java, C et Python utilisent une syntaxe similaire mais différente pour les instructions "if" :
    LangueSyntaxe de l'énoncé If
    Java
    if (condition) { // Bloc de code à exécuter }
    C
    if (condition) { // Bloc de code à exécuter }
    Python
    if condition : # Bloc de code à exécuter

    Instructions If-Else

    Les instructions If-else te permettent de spécifier deux blocs de code différents - l'un devant être exécuté lorsque la condition est vraie, et l'autre lorsque la condition est fausse. Le bloc "else" n'est exécuté que lorsque la condition "if" n'est pas remplie. Voici un exemple d'instruction "if-else" en Python
    :if score >= 50 : print("You passed !") else : print("You failed !")
    Ce code vérifie si la variable "score" est supérieure ou égale à 50. Si la condition est vraie, le message "Tu as réussi !" sera imprimé ; sinon, le message "Tu as échoué !" sera imprimé. Tout comme les instructions if, les instructions if-else ont également une syntaxe différente dans les différents langages de programmation :
    LangageSyntaxe de l'instruction If-Else
    Java
    if (condition) { // Bloc de code à exécuter si la condition est vraie } else { // Bloc de code à exécuter si la condition est fausse }
    C
    if (condition) { // Bloc de code à exécuter si la condition est vraie } else { // Bloc de code à exécuter si la condition est fausse }
    Python
    if condition : # Bloc de code à exécuter si la condition est vraie else : # Bloc de code à exécuter si la condition est fausse

    Les instructions Switch-Case

    Les instructions Switch-case te permettent d'évaluer une seule expression et d'exécuter différents blocs de code en fonction de la valeur de l'expression. Elles s'apparentent à une série d'instructions "if-else" mais offrent une alternative plus efficace et plus lisible pour les conditions multiples. On trouve des instructions switch-case dans divers langages de programmation, bien que Python ne dispose pas d'une instruction switch-case native. Il utilise des dictionnaires et des fonctions comme alternative. Voici un exemple d'instruction switch-case en Java :
    switch (grade) { case 'A' : System.out.println("Excellent !") ; break ; case 'B' : System.out.println("Bon !") ; break ; case 'C' : System.out.println("Moyen !") ; break ; default : System.out.println("Moyen !
    ") ; break.
    ") ; break ; default : System.out.println("Note inconnue") ; }
    Dans cet exemple, la variable 'grade' est évaluée, et si elle correspond à l'un des cas spécifiés ('A', 'B', ou 'C'), le message correspondant est imprimé. Si la variable ne correspond à aucun cas, le bloc par défaut est exécuté et le message "Note inconnue" est imprimé. Voici une comparaison de la syntaxe des instructions switch-case dans différentes langues :
    LangueSyntaxe de l'instruction Switch-Case
    Java
    switch (variable) { case value1 : // Bloc de code à exécuter si la variable est égale à la valeur1 break ; case value2 : // Bloc de code à exécuter si la variable est égale à la valeur2 break ; // ... default : // Bloc de code à exécuter si aucun des cas ne correspond }
    C
    switch (variable) { case value1 : // Bloc de code à exécuter si la variable est égale à la valeur1 break ; case value2 : // Bloc de code à exécuter si la variable est égale à la valeur2 break ; // ... default : // Bloc de code à exécuter si aucun des cas ne correspond }
    Chaque type d'instruction conditionnelle offre des avantages spécifiques en fonction du problème ou du scénario en question. Il est essentiel de comprendre les différences et les applications pratiques de ces structures conditionnelles pour développer un code efficace et efficient.

    Les instructions conditionnelles de base de Python

    En Python, les instructions conditionnelles sont essentielles lorsqu'il s'agit de contrôler le déroulement du programme, de prendre des décisions basées sur des conditions spécifiques et de gérer les exceptions. Python propose plusieurs formes d'instructions conditionnelles, qui offrent aux programmeurs une certaine souplesse pour résoudre divers problèmes. La syntaxe de base des instructions conditionnelles Python est décrite ci-dessous :
    • Déclaration If : L'instruction conditionnelle fondamentale, qui comprend un mot-clé "if", une condition (expression) et deux points, suivis d'un bloc de code indenté.
    • Instruction If-Else : Une extension de l'instruction "if" qui comprend un mot-clé "else", deux points et un bloc de code indenté à exécuter lorsque la condition "if" n'est pas remplie (c.-à-d. fausse).
    • Instruction If-Elif-Else : Une structure plus complexe qui s'adapte à plusieurs conditions qui doivent être vérifiées dans une séquence. Elle se compose de l'instruction "if", suivie d'une ou plusieurs instructions "elif" (abréviation de "else if") et d'une instruction "else" facultative à la fin.
    if condition1 : # Bloc de code à exécuter si la condition1 est vraie elif condition2 : # Bloc de code à exécuter si la condition1 est fausse et la condition2 est vraie else : # Bloc de code à exécuter si la condition1 et la condition2 sont toutes deux fausses.

    Exemples d'instructions conditionnelles Python

    Dans cette section, nous fournissons des exemples illustratifs d'instructions conditionnelles Python, illustrant divers cas d'utilisation et applications :
    # Exemple 1 : simple instruction If age = 18 if age >= 18 : print("Tu as le droit de voter.") Exemple 2 : instruction If-Else temperature = 35 if temperature >= 30 : print("Il fait chaud dehors.") else : print("Il ne fait pas chaud.") # Exemple 3 : instruction If-Else temperature = 35 if temperature >= 30 : print("Il fait chaud dehors.") else : print("Il ne fait pas chaud."Exemple 3 : instruction If-Elif-Else grade = 75 if grade >= 90 : print("A") elif grade >= 80 : print("B") elif grade >= 70 : print("C") elif grade >= 60 : print("D") else : print("F")  
    Ces exemples traitent de divers scénarios, démontrant l'utilité des instructions conditionnelles Python dans différents contextes. En outre, ces exemples peuvent être étendus et modifiés pour répondre à des besoins ou des applications spécifiques.

    L'instruction Python If-Elif-Else

    L'instruction Python If-Elif-Else est un outil puissant qui permet de traiter plusieurs conditions de manière séquentielle. Cette instruction permet au programme de vérifier successivement de nombreuses conditions, en exécutant le premier bloc de code pour lequel la condition est remplie (vraie). À la fin de la séquence, une instruction "else" facultative peut également être incluse pour traiter les cas où aucune des conditions n'est remplie. Pour construire une instruction If-Elif-Else, il est essentiel de respecter la syntaxe et l'indentation correctes, qui sont cruciales pour le bon fonctionnement et la lisibilité du code :
    if condition1 : # Bloc de code à exécuter si la condition1 est vraie elif condition2 : # Bloc de code à exécuter si la condition1 est fausse et la condition2 est vraie elif condition3 : # Bloc de code à exécuter si la condition1 et la condition2 sont toutes les deux fausses, et la condition3 est vraie else :
        # Bloc de code à exécuter si toutes les conditions sont fausses
    Par exemple, disons que tu veux classer l'âge d'une personne en groupes
    :age = 25 if age < 13 : print("Child") elif age < 18 :
    print(
    "Adolescent") elif age < 30 : print("Jeune adulte") elif age < 60 : print("Adulte") else : print("Senior")
    Cet extrait de code classe la variable âge en Enfant, Adolescent, Jeune adulte, Adulte ou Senior. En employant une structure If-Elif-Else, il vérifie les conditions basées sur l'âge dans l'ordre. Cette configuration permet au programme d'évaluer moins de conditions pour obtenir le résultat souhaité, ce qui améliore l'efficacité du code.

    Déclarations conditionnelles en JavaScript

    JavaScript, un langage de programmation largement utilisé pour le développement Web, utilise également des instructions conditionnelles pour la prise de décision et le flux de contrôle. JavaScript prend en charge plusieurs instructions conditionnelles, telles que If, If-Else et Switch-Case. Ces instructions suivent une syntaxe spécifique, décrite ci-dessous :
    • Instruction If : Elle comprend le mot-clé "if" suivi d'une condition entre parenthèses et d'un bloc de code entre accolades.
    • Instruction If-Else : Cette instruction complète l'instruction "if" avec un mot-clé "else" suivi d'un bloc de code entre accolades. Le bloc "else" est exécuté si la condition "if" est évaluée comme étant fausse.
    • Instruction Switch-Case : Elle permet l'évaluation d'une expression et l'exécution de différents blocs de code en fonction de la valeur de l'expression. L'instruction Switch-Case se compose du mot-clé "switch", de l'expression entre parenthèses et d'un ensemble de cas entre accolades.
    Les extraits de code suivants illustrent la syntaxe de chacune des instructions conditionnelles en JavaScript :
    // Déclaration If if (condition) { // Bloc de code à exécuter si la condition est vraie } // Déclaration If-Else if (condition) { // Bloc de code à exécuter si la condition est vraie } else { // Bloc de code à exécuter si la condition est fausse } // Déclaration Switch-Case switch (expression) { case value1 : // Bloc de code à exécuter si l'expression est égale à la valeur1 break ; case value2 : // Bloc de code à exécuter si l'expression est égale à la valeur2 break ; //... default : // Bloc de code à exécuter si aucun des cas ne correspond }

    Exemples d'énoncés conditionnels en JavaScript

    Pour mieux comprendre la fonctionnalité des instructions conditionnelles JavaScript, voici quelques exemples pratiques illustrant divers cas d'utilisation :
    // Exemple 1 : Simple If Statement let age = 18 ; if (age >= 18) { console.log("You are eligible to vote.") ; } // Exemple 2 : If-Else Statement let temperature = 35 ; if (temperature >= 30) { console.log("It's hot outside.") ; } else { console.log("It's not hot outside.") ; } // Exemple 3 : Déclaration Switch-Case let grade = 'B' ; switch (grade) { case 'A' : console.log("Excellent !") ; break ; case 'B' : console.log("Bon !") ; break ; case 'C' : console.log("Moyen !") ; break ; default : console.log("Note inconnue") ; } 
    Ces exemples montrent comment les instructions conditionnelles JavaScript peuvent être appliquées dans différents contextes et peuvent être développées ou adaptées pour répondre à des besoins particuliers.

    Opérateur ternaire JavaScript

    L'opérateur ternaire, également connu sous le nom d'opérateur conditionnel, est une autre façon de représenter de simples instructions if-else en JavaScript. L'opérateur ternaire est plus concis que l'instruction traditionnelle if-else, et il attribue une valeur à une variable en fonction d'une condition. La syntaxe de l'opérateur ternaire est la suivante
    :variable = condition ? value_if_true : value_if_false ;
    L'opérateur ternaire se compose d'une condition suivie d'un point d'interrogation ( ?), de la valeur à attribuer si la condition est vraie, de deux points ( :) et de la valeur à attribuer si la condition est fausse. Prends l'exemple suivant
    :let temperature = 25 ; let isHot = temperature >= 30 ? "Yes" : "No" ; console.log("Is it hot outside ? " + isHot) ;
    Dans cet exemple, la condition "temperature >= 30" est évaluée, et si elle est vraie, la variable "isHot" se voit attribuer la valeur "Yes" ; dans le cas contraire, elle se voit attribuer la valeur "No". L'instruction console.log() imprime alors le message "Il fait chaud dehors ? Non", car la valeur de la variable température est 25, ce qui est inférieur à 30. L'opérateur ternaire de JavaScript offre une façon plus compacte et plus élégante de représenter de simples instructions if-else, ce qui rend ton code plus propre et plus lisible. Cependant, il est essentiel d'utiliser l'opérateur ternaire de façon judicieuse, car une utilisation excessive ou une application dans des scénarios complexes peut compromettre la lisibilité et la maintenabilité du code.

    Utilisations courantes et exemples d'instructions conditionnelles

    Les énoncés conditionnels sont des éléments fondamentaux de la programmation, car ils fournissent des capacités de prise de décision cruciales. On les trouve dans presque toutes les bases de code, quel que soit le langage ou l'application.

    Exemples d'instructions conditionnelles dans la programmation réelle

    Dans la programmation réelle, les instructions conditionnelles sont largement utilisées à diverses fins, notamment pour valider les entrées de l'utilisateur, diriger le déroulement du programme, gérer les erreurs et rendre le contenu des pages Web de façon dynamique. Voici quelques exemples pratiques d'instructions conditionnelles dans des scénarios de programmation réels :
    • Validation des formulaires : Les instructions conditionnelles sont souvent utilisées pour valider les données saisies par l'utilisateur dans les formulaires d'inscription, les formulaires de connexion ou tout autre formulaire de saisie de données. Par exemple, elles peuvent être utilisées pour vérifier si les champs obligatoires sont remplis, si les mots de passe répondent à des critères spécifiques ou si les adresses électroniques respectent un format spécifique.
    • Contenu Web dynamique : Dans le développement Web, les instructions conditionnelles peuvent être utilisées pour afficher un contenu personnalisé ou des éléments visuels sur la page Web en fonction des préférences de l'utilisateur, des propriétés de l'appareil ou d'autres facteurs variables. Un exemple courant consiste à ajuster le contenu et la mise en page d'une page Web selon qu'elle est consultée sur un ordinateur de bureau ou sur un appareil mobile.
    • Contrôle d'accès : Les instructions conditionnelles sont utilisées dans la mise en œuvre de mécanismes de contrôle d'accès, par exemple pour vérifier si un utilisateur est connecté ou s'il dispose des autorisations requises pour accéder à certains contenus ou fonctionnalités d'une application.
    • Gestion des erreurs : Dans le développement de logiciels, les instructions conditionnelles jouent un rôle important dans la gestion des erreurs. Elles permettent au programme de vérifier les erreurs possibles, telles qu'une entrée invalide ou des conditions inattendues, et de réagir de manière appropriée - soit en affichant un message d'erreur, soit en enregistrant l'erreur pour examen, soit en gérant l'exception en toute sécurité.
    • Développement de jeux : Dans le développement de jeux vidéo, les instructions conditionnelles sont utilisées pour maintenir les règles du jeu, déclencher des événements et contrôler le comportement du personnage ou l'interaction de l'utilisateur, en fonction de l'état du jeu ou des variables de l'environnement.
    Ces exemples donnent un aperçu de la polyvalence et de l'importance des instructions conditionnelles dans les scénarios de programmation de la vie réelle.

    Meilleures pratiques lors de l'utilisation d'instructions conditionnelles

    Lorsque tu utilises des instructions conditionnelles dans ton code, le respect des meilleures pratiques peut contribuer à améliorer la lisibilité du code, sa maintenabilité et ses performances. Voici quelques-unes des meilleures pratiques à suivre lors de l'utilisation d'instructions conditionnelles :
    • Garder les conditions simples : Évite d'utiliser des conditions trop complexes qui sont difficiles à comprendre ou à maintenir. Si nécessaire, décompose les conditions complexes en expressions plus petites et plus simples ou utilise des variables intermédiaires.
    • Utilise des noms de variables et de fonctions significatifs : Lorsque tu construis des conditions, l'utilisation de noms de variables et de fonctions clairs et descriptifs peut rendre ton code plus accessible et plus facile à comprendre pour les autres personnes qui travaillent sur le code ou qui le révisent.
    • Préfère les retours anticipés ou les clauses de garde : Au lieu d'imbriquer plusieurs instructions if, pense à utiliser des retours anticipés ou des clauses de garde, qui peuvent rendre ton code plus lisible et moins sujet aux erreurs. Cela est particulièrement utile pour tester les conditions d'erreur ou valider les entrées.
    • Limite la profondeur des instructions conditionnelles imbriquées : Les instructions conditionnelles imbriquées en profondeur peuvent rendre ton code plus difficile à lire et à maintenir. Cherche à limiter la profondeur de l'imbrication et, si possible, remanie ton code en extrayant les blocs imbriqués dans des fonctions distinctes.
    • Évite l'utilisation excessive d'opérateurs ternaires : Bien que les opérateurs ternaires offrent une façon plus compacte et élégante de représenter de simples instructions if-else, leur utilisation excessive peut rendre ton code difficile à comprendre et à maintenir.
    • Indentation et formatage du code cohérents : L'utilisation de pratiques cohérentes d'indentation et de formatage du code peut contribuer à améliorer la lisibilité de ton code, en facilitant l'identification de la structure et du flux de tes instructions conditionnelles.
    L'utilisation de ces meilleures pratiques lorsque tu travailles avec des instructions conditionnelles peut considérablement améliorer la qualité de ton code, en garantissant qu'il est plus lisible, plus facile à maintenir et plus efficace.

    Déclaration conditionnelle - Principaux points à retenir

    • Déclaration conditionnelle : Construction de programmation qui exécute un code selon que des conditions données sont remplies ou non.

    • Types d'énoncés conditionnels : If, If-Else et Switch-Case.

    • Les instructions conditionnelles de Python : La syntaxe de base comprend les instructions If, If-Else et If-Elif-Else.

    • Instructions conditionnelles JavaScript : La syntaxe de base comprend les instructions If, If-Else et Switch-Case, ainsi que l'opérateur ternaire.

    • Meilleures pratiques : Les conditions doivent rester simples, utiliser des noms significatifs, limiter les instructions imbriquées et maintenir une indentation et une mise en forme cohérentes.

    Apprends plus vite avec les 40 fiches sur Instruction conditionnelle

    Inscris-toi gratuitement pour accéder à toutes nos fiches.

    Instruction conditionnelle
    Questions fréquemment posées en Instruction conditionnelle
    Qu'est-ce qu'une instruction conditionnelle?
    Une instruction conditionnelle permet d'exécuter du code seulement si une certaine condition est vraie.
    Comment écrire une instruction conditionnelle en Python?
    En Python, on utilise 'if', 'elif' et 'else' pour écrire des instructions conditionnelles.
    Quelle est la différence entre 'if' et 'else'?
    'if' teste une condition tandis que 'else' exécute du code uniquement si la condition est fausse.
    Peut-on imbriquer des instructions conditionnelles?
    Oui, on peut imbriquer des instructions conditionnelles pour tester plusieurs conditions complexes.
    Sauvegarder l'explication

    Teste tes connaissances avec des questions à choix multiples

    Qu'est-ce qu'une instruction conditionnelle dans la programmation informatique ?

    Quelles sont les formes les plus courantes de déclarations conditionnelles ?

    Comment fonctionne une instruction If-else ?

    Suivant

    Découvre des matériels d'apprentissage avec l'application gratuite StudySmarter

    Lance-toi dans tes études
    1
    À propos de StudySmarter

    StudySmarter est une entreprise de technologie éducative mondialement reconnue, offrant une plateforme d'apprentissage holistique conçue pour les étudiants de tous âges et de tous niveaux éducatifs. Notre plateforme fournit un soutien à l'apprentissage pour une large gamme de sujets, y compris les STEM, les sciences sociales et les langues, et aide également les étudiants à réussir divers tests et examens dans le monde entier, tels que le GCSE, le A Level, le SAT, l'ACT, l'Abitur, et plus encore. Nous proposons une bibliothèque étendue de matériels d'apprentissage, y compris des flashcards interactives, des solutions de manuels scolaires complètes et des explications détaillées. La technologie de pointe et les outils que nous fournissons aident les étudiants à créer leurs propres matériels d'apprentissage. Le contenu de StudySmarter est non seulement vérifié par des experts, mais également régulièrement mis à jour pour garantir l'exactitude et la pertinence.

    En savoir plus
    Équipe éditoriale StudySmarter

    Équipe enseignants Informatique

    • Temps de lecture: 19 minutes
    • Vérifié par l'équipe éditoriale StudySmarter
    Sauvegarder l'explication Sauvegarder l'explication

    Sauvegarder l'explication

    Inscris-toi gratuitement

    Inscris-toi gratuitement et commence à réviser !

    Rejoins plus de 22 millions d'étudiants qui apprennent avec notre appli StudySmarter !

    La première appli d'apprentissage qui a réunit vraiment tout ce dont tu as besoin pour réussir tes examens.

    • Fiches & Quiz
    • Assistant virtuel basé sur l’IA
    • Planificateur d'étude
    • Examens blancs
    • Prise de notes intelligente
    Rejoins plus de 22 millions d'étudiants qui apprennent avec notre appli StudySmarter !