Choisissez votre langue
Formation aux bases de Rust
Plus de 2 millions d'apprenants dans le monde

Formation aux bases de 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 concurrence, à la gestion des erreurs et à des tâches système du monde réel. Ce cours vous mène de votre premier programme compilé à un code Rust de niveau professionnel.

Dedika pour entreprises

Ce que vous allez apprendre:

  • Configurez une chaîne d'outils Rust complète et gérez des projets avec Cargo dès le départ.

  • Appliquez les règles de possession, d'emprunt et de durée de vie pour écrire du code sûr en matière de 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 threads, de canaux, de Mutex, d'Arc et d'async/await.

Comment vous étudiez de façon pratique Formation aux bases de Rust

Comment vous pratiquez Formation aux bases de Rust

Pour vous, entreprise, qui souhaitez former votre équipe

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

Cliquez ici

Contenu du cours

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

Chapitre 1Voir les détails

Commencer avec Rust

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

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

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

    Présente Cargo comme l'outil de construction et 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, en expliquant la fonction main, les macros et la sortie de compilation. Relie la syntaxe au modèle de langage plus large.

  • Leçon 4 • Philosophie de conception et cas d'utilisation de Rust

    Couvre les objectifs de Rust en matière de sécurité mémoire, de performance et de concurrence sans ramasse-miettes. Explique 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 des erreurs de base

    Définit des fonctions avec des paramètres typés et des valeurs de retour, et introduit panic vs les erreurs récupérables. Prépare les étudiants au 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 l'approche stricte de Rust concernant l'état des variables dès le début du cours.

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

    Couvre les entiers, flottants, booléens, caractères, tuples et 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

    Distingue les expressions des instructions et montre comment les blocs renvoient des valeurs. Ce modèle orienté expression 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 démontre comment les valeurs se déplacent entre les portées. Les étudiants tracent les transferts de propriété pour prédire quand les valeurs sont libérées.

  • Leçon 2 • Le type Slice

    Couvre les slices de chaînes et les slices de tableaux en tant que types de référence vers 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 un 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'alias 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 les 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éfinition et utilisation des structures

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

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

    Étend le filtrage par motif à let, aux paramètres de fonction 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 portant des données et explore Option comme l'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 • Dispatch dynamique avec les objets traits

    Contraste le dispatch 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 performance et de flexibilité.

  • Leçon 2 • Fonctions 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 Rust.

  • Leçon 4 • Définition et implémentation de traits

    Introduit les traits comme des contrats de comportement partagés et montre comment les implémenter pour des types personnalisés. Fait le lien avec les 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 des types génériques. Les étudiants écrivent des contraintes lisibles en utilisant la syntaxe en ligne et la syntaxe where.

Chapitre 6Voir les détails

Gestion des erreurs et type Result

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

    Présente des crates populaires qui réduisent le code standard de gestion d'erreurs et améliorent l'ergonomie. Les étudiants évaluent quand une bibliothèque apporte une valeur ajoutée par rapport aux implémentations 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'erreurs personnalisés

    Guide les étudiants dans la définition d'énumérations d'erreurs 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 ? propage les erreurs vers le haut de la pile d'appels, réduisant le code standard. Les étudiants refactorisent des blocs match verbeux en fonctions de propagation d'erreurs concises et lisibles.

  • 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 la 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 performance. Les étudiants sélectionnent la collection appropriée pour chaque exigence d'accès et d'ordre.

  • 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 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 la boîte à outils d'adaptateurs de base. Les étudiants composent des pipelines paresseux qui s'exécutent seulement lorsqu'ils sont consommés.

  • Leçon 4 • Performance et conscience des allocations

    Analyse les affirmations d'abstraction à coût zéro 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 en Rust. Les étudiants implémentent un itérateur personnalisé pour solidifier le protocole.

Chapitre 8Voir les détails

Concurrence et Rust asynchrone

  • Leçon 1 • Fondamentaux de l'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é interne à travers les threads. Les étudiants construisent un compteur thread-safe et comprennent l'empoisonnement de verrou.

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

    Passe en revue les exécutants asynchrones, la création de tâches et les modèles asynchrones courants comme les timeouts et select. Les étudiants exécutent un programme asynchrone complet et gèrent des tâches concurrentes en toute sécurité.

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

    Génère des threads OS avec `std::thread` et explique comment `Send` et `Sync` imposent la sécurité des threads. Les étudiants comprennent pourquoi Rust empêche les situations de concurrence au niveau des types.

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

    Utilise les canaux std::sync::mpsc pour communiquer entre les threads sans état partagé. Les étudiants implémentent les patrons producteur-consommateur et comprennent la pression de canal.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeur back-end : souhaite remplacer les services lents ou non sécurisés par des alternatives en Rust.

  • Programmeur C ou C++ : cherche des garanties de sécurité à la compilation sans sacrifier les performances brutes.

  • Ingénieur DevOps : a besoin de 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é pour relever le défi d'un langage exigeant.

  • Personne en reconversion professionnelle : vise des postes dans les systèmes embarqués ou les systèmes d'exploitation nécessitant une expertise en programmation de bas niveau.

Ce que disent nos apprenants

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 besoin de 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 Digital
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 les vidéos sont présentées et transcrites, 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 Cameroun ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du 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 marche ?

Cours PDF