Pragmatic AI Labs

L'interface graphique en rouille à partir de zéro

Pragmatic AI Labs

L'interface graphique en rouille à partir de zéro

Noah Gift

Instructeur : Noah Gift

Inclus avec Coursera Plus

Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

6 heures à compléter
Planning flexible
Apprenez à votre propre rythme
Obtenez un aperçu d'un sujet et apprenez les principes fondamentaux.
niveau Débutant

Expérience recommandée

6 heures à compléter
Planning flexible
Apprenez à votre propre rythme

Ce que vous apprendrez

  • Développer des applications de bureau natives en Rust à l'aide d'iced, de FLTK, de GTK4, de relm4 et d'egui sous Kubuntu Linux

  • Développer un compteur, une calculatrice avec des tests unitaires, une liste de tâches, un jeu de Pong, un générateur de mots de passe, un jeu « Simon Says » et une application de quiz dans le cadre de sessions enregistrées en temps réel

  • Choisissez le framework GUI Rust adapté à votre projet, enregistrez l'état sur le disque à l'aide de serde ou de rusqlite, puis déployez un binaire fonctionnel

Compétences que vous acquerrez

  • Catégorie : Déploiement des applications
  • Catégorie : Architecture des données
  • Catégorie : Ingénierie des données
  • Catégorie : Programmation événementielle
  • Catégorie : Commandes Linux
  • Catégorie : Environnement de développement
  • Catégorie : Outils de programmation informatique
  • Catégorie : Développement multiplateforme
  • Catégorie : Conception de l'interface et de l'expérience utilisateur (UI/UX)
  • Catégorie : Conception de l'interface utilisateur (UI)
  • Catégorie : Interface utilisateur (UI)
  • Catégorie : Recherche UI/UX
  • Catégorie : Développement d'applications
  • Catégorie : Gestion des paquets et des logiciels

Outils que vous découvrirez

  • Catégorie : Persistance des données
  • Catégorie : Composants de l'interface utilisateur
  • Catégorie : Linux
  • Catégorie : Rust (langage de programmation)
  • Catégorie : Cadres d'application
  • Catégorie : Interface de ligne de commande

Détails à connaître

Certificat partageable

Ajouter à votre profil LinkedIn

Récemment mis à jour !

mai 2026

Évaluations

3 devoirs

Enseigné en Anglais

Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées

 logos de Petrobras, TATA, Danone, Capgemini, P&G et L'Oreal

Élaborez votre expertise du sujet

Ce cours fait partie de la Spécialisation "Rust pour l'ingénierie des données"
Lorsque vous vous inscrivez à ce cours, vous êtes également inscrit(e) à cette Spécialisation.
  • Apprenez de nouveaux concepts auprès d'experts du secteur
  • Acquérez une compréhension de base d'un sujet ou d'un outil
  • Développez des compétences professionnelles avec des projets pratiques
  • Obtenez un certificat professionnel partageable

Il y a 10 modules dans ce cours

Expliquez pourquoi une interface graphique native en Rust est la solution idéale lorsque le navigateur ne l'est pas : ingestion « offline-first », latence de l'ordre de la microseconde et données qui ne doivent jamais quitter la machine. Lisez des fichiers CSV et interrogez SQLite depuis une application de bureau, tracez des graphiques avec egui_plot et des outils de traçage, et suivez la boucle « état-message-mise à jour-affichage » commune aux frameworks en mode « retained ».

Inclus

2 vidéos4 lectures1 devoir

Mettez en place un environnement de développement Rust sous Kubuntu en partant de zéro : installez rustup et la chaîne d'outils, passez de Bash à Zsh, puis configurez Kate avec un terminal intégré pour des cycles d'édition/compilation rapides. Implémentez ensuite le trait « Sandbox » d'iced pour écrire un « Hello World » et un bouton de compteur qui met à jour son état en réponse à des messages.

Inclus

5 vidéos4 lectures1 devoir

Créez une calculatrice Iced de 150 lignes à l'aide d'une structure d'état, d'une énumération de messages et d'une fonction de vue, puis ajoutez des tests unitaires qui vérifient la logique de mise à jour de la calculatrice sans ouvrir de fenêtre. Passez en revue les widgets Iced CORE (bouton, texte, colonne, ligne, conteneur) et modifiez chacun d'entre eux pour étendre les fonctionnalités de la calculatrice.

Inclus

4 vidéos2 lectures

Développez les modèles Iced de la semaine 3 pour en faire une application basée sur une liste. Stockez la liste des tâches dans un vecteur de valeurs `TodoItem` au sein de l'état, configurez le widget `text_input` d'Iced pour la saisie de nouveaux éléments, et acheminez les actions de modification et de suppression, spécifiques à chaque ligne, via l'énumération de messages afin que chaque élément puisse être modifié indépendamment.

Inclus

1 vidéo2 lectures

Parcourez l'exemple officiel de Pong de FLTK, puis développez-le en quatre étapes : ajoutez un bouton « Pause » qui interrompt la boucle de jeu, un curseur permettant de modifier la vitesse des raquettes à l'exécution, ainsi qu'un fichier de meilleurs scores enregistré sur le disque entre deux sessions. Chaque étape correspond à une extension concrète, basée sur le modèle « état-message », d'un jeu déjà fonctionnel.

Inclus

4 vidéos2 lectures

Créez un générateur de mot de passe GTK4 à l'aide des widgets `ApplicationWindow`, `Entry` et `Button` de la bibliothèque `gtk4`, en utilisant la bibliothèque `rand` pour générer des caractères ASCII aléatoires. Ajoutez un `ToggleButton` qui inverse la propriété de visibilité de l'`Entry` afin de masquer ou d'afficher le mot de passe généré.

Inclus

2 vidéos2 lectures

Créez un jeu « Simon Says » avec relm4, un framework d’interface graphique Rust qui superpose un trait « Component » de type ELM à GTK4. Disposez quatre boutons colorés dans une grille 2 × 2, puis ajoutez un vecteur de valeurs de couleur correspondant à la séquence ainsi qu’un minuteur de lecture qui allume chaque bouton à tour de rôle avant que le joueur ne doive reproduire la séquence.

Inclus

2 vidéos

Créez une application de quiz avec egui — un framework en mode immédiat où l'interface utilisateur est entièrement redessinée à chaque image à partir de l'état actuel. Définissez une structure « Question », lancez un minuteur comptant les images qui marque le temps à chaque affichage, et cumulez un score tout au long d'un quiz comportant plusieurs questions, avec une option de redémarrage à la fin.

Inclus

2 vidéos2 lectures

Comparez « iced », « egui », « GTK4 », « FLTK » et « relm4 » dans un face-à-face : ergonomie, couverture des plateformes, gestion de l’asynchrone, personnalisation. Ajoutez des contrats vérifiables à l'état de l'interface graphique à l'aide de la macro `assert_invariant` afin que les états d'interface utilisateur impossibles soient clairement signalés lors de l'exécution, puis publiez une version avec `cargo-dist` pour les binaires multiplateformes, Flatpak pour Linux en mode sandbox et AppImage pour une distribution portable.

Inclus

1 vidéo4 lectures

Un travail pratique de synthèse qui rassemble tous les frameworks et modèles abordés de la semaine 1 à la semaine 9 au sein d'une seule application de bureau prête à être déployée.

Inclus

3 lectures1 devoir

Obtenez un certificat professionnel

Ajoutez ce titre à votre profil LinkedIn, à votre curriculum vitae ou à votre CV. Partagez-le sur les médias sociaux et dans votre évaluation des performances.

Instructeur

Noah Gift
Pragmatic AI Labs
61 Cours6 738 apprenants

Offert par

Pragmatic AI Labs

En savoir plus sur Développement de logiciels

Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?

Felipe M.

Étudiant(e) depuis 2018
’Pouvoir suivre des cours à mon rythme à été une expérience extraordinaire. Je peux apprendre chaque fois que mon emploi du temps me le permet et en fonction de mon humeur.’

Jennifer J.

Étudiant(e) depuis 2020
’J'ai directement appliqué les concepts et les compétences que j'ai appris de mes cours à un nouveau projet passionnant au travail.’

Larry W.

Étudiant(e) depuis 2021
’Lorsque j'ai besoin de cours sur des sujets que mon université ne propose pas, Coursera est l'un des meilleurs endroits où se rendre.’

Chaitanya A.

’Apprendre, ce n'est pas seulement s'améliorer dans son travail : c'est bien plus que cela. Coursera me permet d'apprendre sans limites.’

Foire Aux Questions