Choisissez votre langue
Formation de base en Rust
Plus de 2 millions d'apprenants dans le monde

Formation de base en Rust

Les fondamentaux de Rust vous donnent les outils pour écrire des logiciels système rapides, sécurisés et fiables dès le premier jour. Vous maîtriserez la possession, l'emprunt et les durées de vie — les idées centrales qui rendent Rust unique — puis vous les appliquerez à la simultanéité, à la gestion des erreurs et à des tâches système concrètes. Ce cours vous emmène de votre premier programme compilé à un code Rust de qualité professionnelle.

Dedika pour entreprises

Ce que vous allez apprendre:

  • Configurez une chaîne d'outils Rust complète et gérez des projets avec Cargo à partir de zéro.

  • Appliquez les règles de possession, d'emprunt et de durée de vie pour écrire du code sécurisé au niveau de la mémoire sans ramasse-miettes.

  • Construisez des modèles de données expressifs à l'aide de structures, d'énumérations, de traits et de génériques pour une conception à sécurité de type.

  • Gérez les erreurs de manière explicite et idiomatique avec Result, Option, des types d'erreur personnalisés et l'opérateur ?.

  • Traitez les données efficacement à l'aide de collections standard, d'itérateurs paresseux et de fermetures dans des pipelines composables.

  • Implémentez des programmes simultanés et asynchrones sécurisés à l'aide de fils d'exécution, de canaux, de Mutex, d'Arc et d'async/await.

Comment vous étudiez de façon pratique Formation de base en Rust

Comment vous pratiquez Formation de base en Rust

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.

Cliquez ici

Contenu du cours

8 Chapitres • 39 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Débuter avec Rust

  • Leçon 1 • Installation et configuration de la chaîne d'outils

    Guide d'installation de rustup, de sélection des versions de la chaîne d'outils et de configuration d'un éditeur. Garantit à chaque étudiant un environnement reproductible et fonctionnel.

  • Leçon 2 • Le système de construction Cargo

    Présente Cargo comme l'outil de construction et le gestionnaire de paquets officiel de Rust. Les étudiants créent, construisent et exécutent leur premier projet à l'aide des commandes Cargo.

  • Leçon 3 • Écrire et exécuter votre premier programme

    Guide les étudiants à travers un programme Rust minimal, expliquant la fonction main, les macros et la sortie de compilation. Relie la syntaxe au modèle de langage plus large.

  • Leçon 4 • La philosophie de conception et les cas d'utilisation de Rust

    Couvre les objectifs de Rust : sécurité mémoire, rendement et concurrence sans ramasse-miettes. Cadre pourquoi ces objectifs sont importants avant d'écrire du code.

Chapitre 2Voir les détails

Syntaxe de base et types primitifs

  • Leçon 1 • Fonctions et gestion de base des erreurs

    Définit des fonctions avec des paramètres typés et des valeurs de retour, et introduit panic par rapport aux erreurs récupérables. Prépare les étudiants pour le type Result abordé dans les chapitres suivants.

  • Leçon 2 • Structures de flux de contrôle

    Enseigne les constructions if, loop, while et for, y compris leurs formes d'expression. Les étudiants écrivent une logique de branchement et d'itération qui se compile sans avertissements.

  • Leçon 3 • Variables, mutabilité et masquage

    Explique les liaisons let, la règle d'immuabilité par défaut et la sémantique de masquage. Établit tôt dans le cours l'approche stricte de Rust concernant l'état des variables.

  • Leçon 4 • Types scalaires et composés

    Couvre les entiers, les flottants, les booléens, les caractères, les tuples et les tableaux. Les étudiants apprennent l'inférence de types, les annotations explicites et les limites de chaque type.

  • Leçon 5 • Expressions, instructions et blocs

    Fait la distinction entre les expressions et les instructions et montre comment les blocs retournent des valeurs. Ce modèle axé sur les expressions sous-tend le code Rust idiomatique tout au long du cours.

Chapitre 3Voir les détails

Propriété, emprunt et durées de vie

  • Leçon 1 • Règles de propriété et sémantique de déplacement

    Définit les trois règles de propriété et montre comment les valeurs se déplacent entre les portées. Les étudiants retracent les transferts de propriété pour prédire quand les valeurs sont libérées.

  • Leçon 2 • Le type tranche (Slice)

    Couvre les tranches de chaînes et les tranches de tableaux comme types de référence dans des données contiguës. Renforce les concepts d'emprunt avec des vues de données pratiques et couramment utilisées.

  • Leçon 3 • Annotations de durée de vie

    Explique les paramètres de durée de vie comme moyen d'exprimer les relations de validité des références. Les étudiants annotent des fonctions et des structures pour satisfaire le vérificateur d'emprunt dans des scénarios complexes.

  • Leçon 4 • Modèles de propriété courants

    Passe en revue les modèles idiomatiques tels que le clonage, le retour de valeurs possédées et l'utilisation de Rc pour la propriété partagée. Fait le pont entre la théorie et les décisions de conception pratiques.

  • Leçon 5 • Références et emprunt

    Introduit les références partagées et mutables ainsi que les règles d'aliasing du vérificateur d'emprunt. Les étudiants apprennent à passer des données sans transférer la propriété.

Chapitre 4Voir les détails

Structures, énumérations et filtrage par motif

  • Leçon 1 • Méthodes et fonctions associées

    Attache un comportement aux structures via des blocs impl, en distinguant les méthodes des fonctions associées. Établit la base pour les implémentations de traits dans le chapitre suivant.

  • Leçon 2 • Définir et utiliser des structures

    Couvre les structures à champs nommés, les structures tuple et les structures unité, ainsi que la syntaxe de mise à jour de structure. Les étudiants modélisent des données réelles et comprennent comment la propriété s'applique aux champs de structures.

  • Leçon 3 • Déstructuration et motifs avancés

    Étend le filtrage par motif à let, aux paramètres de fonctions et aux chaînes if-let. Les étudiants écrivent du code concis qui gère plusieurs formes de données sans conditionnels imbriqués.

  • Leçon 4 • Filtrage par motif avec match

    Enseigne les expressions match exhaustives, les gardes et les motifs de liaison. Les étudiants déconstruisent des types de données complexes de manière sécurisée et lisible.

  • Leçon 5 • Énumérations et type Option

    Définit des énumérations avec des variantes contenant des données et explore Option comme alternative sans null de Rust. Les étudiants remplacent la logique nullable par une gestion exhaustive des énumérations.

Chapitre 5Voir les détails

Traits et génériques

  • Leçon 1 • Répartition dynamique avec les objets traits

    Met en contraste la répartition statique avec dyn Trait pour le polymorphisme à l'exécution. Les étudiants choisissent entre les génériques et les objets traits en fonction des besoins de rendement et de flexibilité.

  • Leçon 2 • Fonctions génériques et structures génériques

    Introduit les paramètres de type sur les fonctions et les structures, permettant la réutilisation du code entre les types. Les étudiants écrivent des structures de données génériques et comprennent la monomorphisation.

  • Leçon 3 • Traits courants de la bibliothèque standard

    Couvre Display, Debug, Clone, Copy, PartialEq et Iterator comme éléments de base essentiels. Les étudiants dérivent ou implémentent manuellement ces traits pour s'intégrer à l'écosystème de Rust.

  • Leçon 4 • Définir et implémenter des traits

    Introduit les traits comme contrats de comportement partagé et montre comment les implémenter pour des types personnalisés. Se relie aux traits les plus courants de la bibliothèque standard.

  • Leçon 5 • Contraintes de traits et clauses where

    Contraint les paramètres génériques avec des contraintes de traits pour permettre les appels de méthodes sur les types génériques. Les étudiants écrivent des contraintes lisibles en utilisant les syntaxes en ligne et de clause where.

Chapitre 6Voir les détails

Gestion des erreurs et type Result

  • Leçon 1 • Utilisation de bibliothèques de gestion des erreurs

    Présente les caisses populaires qui réduisent le code répétitif de gestion des erreurs et améliorent l'ergonomie. Les étudiants évaluent quand une bibliothèque logicielle ajoute de la valeur par rapport aux mises en œuvre manuelles.

  • Leçon 2 • Result<T, E> en profondeur

    Examine les variantes de Result, les combinateurs et les méthodes unwrap. Les étudiants comprennent quand chaque méthode est appropriée et ce qu'elle signale aux appelants.

  • Leçon 3 • Types d'erreur personnalisés

    Guide les étudiants dans la définition d'énumérations d'erreur spécifiques au domaine et l'implémentation des traits d'erreur standard. Produit des API avec des informations d'erreur structurées et informatives.

  • Leçon 4 • L'opérateur ? et la propagation d'erreurs

    Montre comment l'opérateur ? propage les erreurs vers le haut de la pile d'appels, réduisant ainsi le code passe-partout de gestion des erreurs. Les étudiants remanient des blocs match verbeux en fonctions concises et lisibles qui propagent les erreurs.

  • Leçon 5 • Panique, déroulement et abandon

    Explique quand les paniques sont acceptables, comment le déroulement fonctionne et comment intercepter les paniques. Les étudiants établissent une politique claire pour l'utilisation de panique dans les bibliothèques par rapport aux applications.

Chapitre 7Voir les détails

Collections, itérateurs et fermetures

  • Leçon 1 • Aperçu des collections standard

    Passe en revue Vec, HashMap, HashSet, BTreeMap et VecDeque avec leurs caractéristiques de rendement. Les étudiants sélectionnent la collection appropriée pour chaque besoin d'accès et d'ordonnancement.

  • Leçon 2 • Fermetures et environnements capturés

    Définit les fermetures comme des fonctions anonymes qui capturent leur environnement par référence ou par valeur. Les étudiants utilisent les traits Fn, FnMut et FnOnce pour exprimer les capacités des fermetures.

  • Leçon 3 • Adaptateurs et consommateurs d'itérateurs

    Couvre map, filter, flat_map, take, zip et collect comme boîte à outils d'adaptateurs de base. Les étudiants composent des pipelines paresseux qui ne s'exécutent que lorsqu'ils sont consommés.

  • Leçon 4 • Sensibilisation au rendement et à l'allocation

    Analyse les affirmations d'abstraction à coût nul des itérateurs et les pièges d'allocation courants. Les étudiants profilent des pipelines simples et choisissent entre les itérateurs et les boucles manuelles lorsque cela est justifié.

  • Leçon 5 • Le trait Iterator

    Explique la méthode next du trait Iterator et comment elle alimente toute l'itération dans Rust. Les étudiants implémentent un itérateur personnalisé pour consolider le protocole.

Chapitre 8Voir les détails

Concurrence et Rust asynchrone

  • Leçon 1 • Principes fondamentaux d'Async/Await

    Introduit le trait Future, les fonctions async et le mot-clé await pour les E/S non bloquantes. Les étudiants comprennent en quoi l'asynchrone diffère des threads et quand préférer l'un à l'autre.

  • Leçon 2 • État partagé avec Mutex et Arc

    Combine Arc pour la propriété partagée et Mutex pour la mutabilité intérieure entre les threads. Les étudiants construisent un compteur sécurisé pour les threads et comprennent l'empoisonnement de verrou.

  • Leçon 3 • Exécutants asynchrones et modèles pratiques

    Passe en revue les exécutants asynchrones, le lancement de tâches et les modèles asynchrones courants comme les délais d'attente et select. Les étudiants exécutent un programme asynchrone complet et gèrent les tâches concurrentes en toute sécurité.

  • Leçon 4 • Threads et traits Send et Sync

    Crée des fils d'exécution du système d'exploitation avec std::thread et explique comment Send et Sync imposent la sécurité des fils d'exécution. Les étudiants comprennent pourquoi Rust empêche les courses aux données au niveau des types.

  • Leçon 5 • Passage de messages avec les canaux

    Utilise les canaux std::sync::mpsc pour communiquer entre les fils d'exécution sans état partagé. Les étudiants mettent en œuvre des patrons producteur-consommateur et comprennent la contre-pression des canaux.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeur backend : souhaite remplacer les services lents ou peu sécurisés par des alternatives en Rust.

  • Programmeur C ou C++ : recherche des garanties de sécurité à la compilation sans sacrifier le rendement brut.

  • Ingénieur DevOps : doit construire des outils CLI fiables et autonomes pour l'automatisation de l'infrastructure.

  • Étudiant en informatique : prêt à approfondir sa compréhension de la gestion de la mémoire et des systèmes de types.

  • Programmeur amateur : curieux de la programmation système et motivé à relever le défi d'un langage exigeant.

  • Personne en réorientation de carrière : vise des postes en embarqué ou en systèmes qui exigent une expertise en programmation de bas niveau.

Ce que nos apprenants disent

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir à changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Numérique
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont il est présenté ainsi que la transcription des vidéos, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika?

Le certificat est-il valable au Canada ?

Les cours sont-ils gratuits?

Quelle est la charge de travail des cours?

Comment sont les cours?

Comment fonctionnent les cours?

Quelle est la durée des cours?

Quel est le coût ou le prix des cours?

Qu’est-ce qu’un cours EAD ou en ligne et comment ça fonctionne?

Cours PDF