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

Formation Rust

Maîtrisez Rust de A à Z — de la propriété et des durées de vie à la concurrence asynchrone et à la programmation système. Cette formation exhaustive couvre tout ce dont un développeur ou une développeuse en activité a besoin pour écrire du code Rust sécurisé, rapide et prêt pour la production. Que vous créiez des API Web, des outils CLI ou des logiciels système de bas niveau, ce cours vous mène à destination.

Dedika pour entreprises

Ce que vous allez apprendre:

Vous bâtirez une base solide dans la syntaxe fondamentale de Rust, le modèle de propriété et le système de types avant de passer aux traits, aux génériques et à la gestion des exceptions. Vous apprendrez à traiter les données avec des itérateurs et des fermetures, à écrire des programmes concurrents à l'aide de fils d'exécution et d'async/await avec Tokio, et à interagir avec les ressources système via Rust non sécurisé et FFI. Le cours couvre également le développement Web avec Axum et SQLx, le profilage du rendement, la création de macros et la publication de crates. À la fin, vous aurez les compétences nécessaires pour concevoir, tester et livrer des applications Rust réelles en toute confiance.

Comment vous étudiez de façon pratique Formation Rust

Comment vous pratiquez Formation 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 • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Fondamentaux de Rust et configuration de la chaîne d'outils

  • Leçon 1 • Essentiels du flux de contrôle

    Enseigne if/else, les boucles et la correspondance par motifs. Permet aux étudiants de diriger l'exécution d'un programme par le biais de branchements et d'itérations.

  • Leçon 2 • Fonctions et modules

    Définit les signatures de fonctions, les types de retour et la visibilité des modules. Établit les modèles d'organisation du code utilisés tout au long du cours.

  • Leçon 3 • Syntaxe de base et types de données

    Présente les variables, les types scalaires et les types composés. Développe le vocabulaire nécessaire pour exprimer la logique dans chaque chapitre ultérieur.

  • Leçon 4 • Cargo et structure du projet

    Explore les commandes Cargo, Cargo.toml et la disposition de l'espace de travail. Les étudiants acquièrent les compétences en gestion de projet nécessaires à tous les exercices pratiques.

  • Leçon 5 • Installation et configuration de Rust

    Couvre rustup, la gestion des chaînes d'outils et l'intégration à l'IDE. Fournit la base pour tout le travail ultérieur de compilation et de projet.

Chapitre 2Voir les détails

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

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

    Présente les références partagées et mutables avec les règles d'emprunt. Les étudiants apprennent à passer des données sans transférer la propriété.

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

    Explique l'invariant du propriétaire unique et les déplacements de valeur. Aborde directement les erreurs de compilation les plus courantes chez les débutants en Rust.

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

    Enseigne la syntaxe explicite de durée de vie pour les fonctions et les structures. Permet aux étudiants de résoudre les erreurs de durée de vie que le compilateur ne peut pas inférer automatiquement.

  • Leçon 4 • Types de tranches

    Couvre les tranches de chaîne et les tranches de tableau en tant que vues de référence. Relie les concepts d'emprunt aux modèles pratiques d'accès aux données.

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

    Examine Rc, RefCell et la mutabilité intérieure pour la propriété partagée. Prépare les étudiants aux scénarios réels où la propriété unique est insuffisante.

Chapitre 3Voir les détails

Structures, énumérations et correspondance par motifs

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

    Ajoute un comportement aux structures via des blocs impl et des constructeurs. Fait le pont entre la modélisation des données et l'encapsulation de style orienté objet en Rust.

  • Leçon 2 • Définition et utilisation de structures

    Couvre les structures nommées, les tuples et les unités avec accès aux champs. Fournit l'outil principal pour regrouper des données connexes tout au long du cours.

  • Leçon 3 • Correspondance par motifs avancée

    Étend match à la déstructuration, aux gardes et à la liaison. Permet un traitement concis et exhaustif de formes de données complexes.

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

    Présente les énumérations avec variantes de données et le type Option<T>. Élimine les erreurs de pointeur nul en encodant l'absence de manière explicite dans le système de types.

  • Leçon 5 • if let et while let

    Présente des constructions de correspondance à motif unique concises. Réduit le code standard lorsqu'une seule variante nécessite un traitement.

Chapitre 4Voir les détails

Traits, génériques et polymorphisme

  • Leçon 1 • Traits de la bibliothèque standard

    Examine Display, Debug, From, Into, Iterator et Clone. L'intégration de ces traits rend les types personnalisés interopérables avec l'ensemble de l'écosystème.

  • Leçon 2 • Bornes de traits et clauses Where

    Contraint les génériques avec des bornes de traits et la syntaxe where. Permet au compilateur de vérifier que les types génériques prennent en charge les opérations requises.

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

    Présente les paramètres de type pour les fonctions, les structures et les énumérations. Permet d'écrire des algorithmes qui opèrent sur tout type compatible.

  • Leçon 4 • Distribution dynamique avec les objets de trait

    Contraste la distribution statique avec dyn Trait pour le polymorphisme à l'exécution. Les étudiants choisissent la stratégie de distribution adaptée à chaque scénario de conception.

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

    Couvre la déclaration de trait, les méthodes par défaut et l'implémentation. Établit le mécanisme d'abstraction principal utilisé dans toutes les bibliothèques Rust.

Chapitre 5Voir les détails

Gestion des erreurs et types Result

  • Leçon 1 • L'opérateur ? et la propagation

    Enseigne l'opérateur ? pour la propagation concise des erreurs dans les fonctions. Réduit considérablement le code standard dans les fonctions qui appellent plusieurs opérations faillibles.

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

    Covers defining error enums, implementing std::error::Error, and conversions. Enables libraries to expose meaningful, structured error information.

  • Leçon 3 • Gestion des erreurs dans les applications

    Présente anyhow pour l'agrégation d'erreurs au niveau application et le contexte. Fait le pont entre les erreurs typées de type bibliothèque et les messages de diagnostic orientés utilisateur.

  • Leçon 4 • Panique et erreurs irrécupérables

    Explique panic!, assert! et le déroulement de la pile. Établit quand un plantage est approprié par rapport au moment où les erreurs doivent être propagées.

  • Leçon 5 • Result<T, E> et erreurs récupérables

    Présente les variantes de Result, la gestion par match et le chaînage de méthodes. Fournit la base pour toutes les opérations faillibles en Rust.

Chapitre 6Voir les détails

Collections, itérateurs et fermetures

  • Leçon 1 • Itérateurs personnalisés

    Guide les étudiants dans l'implémentation d'Iterator sur des structures personnalisées. Approfondit la compréhension du système de traits et permet une itération spécifique au domaine.

  • Leçon 2 • Fermetures et capture

    Explique la syntaxe des fermetures, les modes de capture et les familles de traits Fn. Permet de passer un comportement en tant que valeur à des itérateurs et des fonctions d'ordre supérieur.

  • Leçon 3 • Vec, HashMap et HashSet

    Couvre la création, l'insertion, la recherche et la suppression pour les collections de base. Fournit les structures de données utilisées dans la majorité des programmes Rust réels.

  • Leçon 4 • Consommation d'itérateurs et collect

    Couvre les consommateurs fold, sum, count, collect et partition. Convertit les pipelines paresseux en résultats et collections concrets.

  • Leçon 5 • Trait Iterator et adaptateurs

    Présente le trait Iterator, l'évaluation paresseuse et le chaînage d'adaptateurs. Les étudiants composent des pipelines de données expressifs sans allocations intermédiaires.

Chapitre 7Voir les détails

Programmation concurrente et asynchrone

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

    Enseigne les canaux mpsc pour la communication entre fils d'exécution. Démontre le modèle de concurrence par passage de messages comme alternative à l'état partagé.

  • Leçon 2 • Essentiels de l'environnement d'exécution Tokio

    Couvre la configuration de l'exécuteur Tokio, les tâches asynchrones et les primitives d'E/S asynchrones. Permet aux étudiants de créer des applications réseau réelles avec l'environnement d'exécution asynchrone dominant.

  • Leçon 3 • Primitives de synchronisation

    Examine Mutex, RwLock, Semaphore et Notify asynchrones de Tokio. Équipe les étudiants pour coordonner des tâches concurrentes sans courses aux données.

  • Leçon 4 • Fondamentaux d'Async/Await

    Présente le trait Future, async fn et la syntaxe .await. Fournit le modèle conceptuel pour les E/S non bloquantes dans les applications Rust.

  • Leçon 5 • Fils d'exécution et état partagé

    Covers thread::spawn, join handles, and Mutex-protected shared data. Introduces the Send and Sync traits that enforce thread safety at compile time.

Chapitre 8Voir les détails

Programmation système et Rust non sécurisé

  • Leçon 1 • Blocs et fonctions non sécurisés

    Explique les cinq superpouvoirs non sécurisés et comment les encapsuler. Les étudiants apprennent à minimiser la surface non sécurisée et à documenter les invariants de sécurité.

  • Leçon 2 • Interface de fonction étrangère

    Couvre les blocs extern, l'ABI C et l'appel de bibliothèques C depuis Rust. Permet l'intégration avec des bases de code natives existantes et des bibliothèques système.

  • Leçon 3 • Pointeurs bruts et disposition mémoire

    Présente *const T et *mut T, l'arithmétique des pointeurs et l'alignement mémoire. Fournit la base pour la FFI et la gestion manuelle de la mémoire.

  • Leçon 4 • Allocateurs personnalisés et gestion de la mémoire

    Présente le trait GlobalAlloc, jemalloc et l'allocation par arènes. Permet un contrôle mémoire fin pour les applications critiques en termes de rendement.

  • Leçon 5 • Environnements embarqués et sans std

    Couvre l'attribut no_std, la bibliothèque core et les cibles nues. Prépare les étudiants à déployer Rust sur des microcontrôleurs et des systèmes à ressources limitées.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeuse ou développeur backend : souhaite des alternatives plus rapides et plus sécuritaires aux langages à ramasse-miettes.

  • Programmeuse ou programmeur C ou C++ : recherche des outils modernes et des garanties de sécurité mémoire à la compilation.

  • Ingénieure ou ingénieur en systèmes embarqués : a besoin d'un langage de bas niveau avec des contraintes de sécurité strictes.

  • Étudiante ou étudiant en informatique : développe des compétences fondamentales en programmation système.

  • Personne en réorientation de carrière : passe de rôles de script à un génie axé sur les langages compilés et le rendement.

  • Ingénieure ou ingénieur DevOps ou infrastructure : automatise et optimise les outils avec un langage compilé.

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