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

Formation aux bases de Rust

Rust redéfinit la manière dont le logiciel système est construit — et ce cours vous donne les bases pour construire avec lui. De la propriété et de l'emprunt aux traits, aux itérateurs et à la programmation asynchrone, chaque concept fondamental est couvert avec précision. Que vous veniez du C, du C++ ou d'un langage de plus haut niveau, vous acquerrez les modèles mentaux et les compétences pratiques pour écrire du Rust sûr, rapide et de qualité production.

Dedika pour les 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 premier jour.

  • Maîtrisez la propriété, l'emprunt et les durées de vie pour écrire du code sûr en mémoire sans ramasse-miettes.

  • Modélisez des données complexes avec des structures, des énumérations et un filtrage par patron exhaustif pour une logique à sécurité de type.

  • Construisez des abstractions flexibles et réutilisables à l'aide de traits, de génériques et des collections de la bibliothèque standard.

  • Élaborez des pipelines de données expressifs avec des fermetures et des adaptateurs d'itérateur qui se compilent en code machine à coût zéro.

  • Appliquez des outils professionnels, notamment Clippy, rustfmt, Rustdoc et des stratégies de test intégrées.

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

Démarrer avec Rust

  • Leçon 1 • Écrire votre premier programme Rust

    Guide les étudiants à travers un programme Rust minimal, en expliquant les points d'entrée, les macros et la compilation. Cela permet de se familiariser avec la syntaxe avant l'introduction de concepts plus avancés.

  • Leçon 2 • Installer la chaîne d'outils Rust

    Explique l'installation via rustup, la gestion des versions de la chaîne d'outils et la vérification de la configuration. Fournit la base pour tous les exercices pratiques du cours.

  • Leçon 3 • Pourquoi Rust existe

    Présente les objectifs de conception de Rust : sécurité mémoire sans ramasse-miettes, abstractions sans coût, et performances au niveau système. Donne le contexte pour chaque concept introduit plus tard.

  • Leçon 4 • Cargo : le système de construction de Rust

    Présente Cargo comme l'outil de construction et le gestionnaire de paquets officiel. Les étudiants créent, construisent et exécutent des projets en utilisant les commandes Cargo tout au long du cours.

Chapitre 2Voir les détails

Variables, types et flux de contrôle

  • Leçon 1 • Constructions de flux de contrôle

    Enseigne les constructions if/else, loop, while et for, y compris leur nature basée sur les expressions. Prépare les étudiants au filtrage par motif introduit dans les chapitres suivants.

  • Leçon 2 • Liaison et mutabilité des variables

    Explique les liaisons let, l'immuabilité par défaut et le mot-clé mut. L'immuabilité est une fonctionnalité de sécurité fondamentale qui revient dans les sujets sur la possession et la concurrence.

  • Leçon 3 • Fonctions et expressions

    Explique les signatures de fonctions, les types de retour et le modèle d'évaluation orienté expression de Rust. Établit la distinction entre instructions et expressions utilisée dans tout le langage.

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

    Couvre les entiers, les flottants, les booléens, les caractères, les tuples et les tableaux. La compréhension de ces types est un prérequis pour travailler avec les structures, les énumérations et les collections.

  • Leçon 5 • Inférence de types et annotations

    Montre comment Rust infère les types et quand des annotations explicites sont nécessaires. Réduit la confusion lorsque le compilateur demande des informations de type.

Chapitre 3Voir les détails

Possession et emprunt

  • Leçon 1 • Clonage et copie

    Distingue le trait Copy pour les types sur la pile du clonage explicite pour les types sur le tas. Évite toute confusion lorsque des valeurs semblent être dupliquées de manière inattendue.

  • Leçon 2 • Bases des annotations de durée de vie

    Explique quand le compilateur nécessite des annotations explicites de durée de vie et comment les écrire. Construit la compréhension minimale nécessaire avant d'introduire les génériques avancés.

  • Leçon 3 • Les slices en tant que vues empruntées

    Couvre les slices de chaînes et les slices de tableaux en tant que références vers des données contiguës. Les slices apparaissent dans presque toutes les API Rust et signatures de fonctions du monde réel.

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

    Introduit les références partagées et mutables, en appliquant la règle d'aliasing XOR mutabilité. Les étudiants écrivent des fonctions qui accèdent aux données sans en prendre possession.

  • Leçon 5 • Règles de possession

    Définit les trois règles de possession et comment les valeurs sont déplacées entre les liaisons. Ce modèle est le fondement des garanties de sécurité mémoire de Rust.

Chapitre 4Voir les détails

Structures, énumérations et filtrage par motif

  • Leçon 1 • Motifs concis : if let et while let

    Introduit if let et while let comme alternatives ergonomiques aux expressions match complètes. Réduit le code répétitif lorsqu'un seul variant doit être traité.

  • Leçon 2 • Énumérations et variants

    Définit les énumérations avec des variants contenant des données et explique leur disposition en mémoire. Les énumérations permettent une modélisation exhaustive des états, remplaçant les drapeaux entiers sujets aux erreurs.

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

    Couvre les structures à champs nommés, les structures tuples et les structures unitaires avec la syntaxe d'instanciation. Les structures sont l'outil principal pour regrouper des données apparentées dans les programmes Rust.

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

    Enseigne les blocs impl, les variantes du paramètre self et les fonctions constructrices associées. Encapsule le comportement aux côtés des données avant l'introduction des traits.

  • Leçon 5 • Filtrage par motif avec match

    Explore les branches match, les gardes, les motifs de liaison et la vérification d'exhaustivité. Le filtrage par motif est la principale façon de déballer les énumérations en toute sécurité dans le code Rust.

Chapitre 5Voir les détails

Collections et gestion des erreurs

  • Leçon 1 • Chaînes de caractères et slices de chaînes

    Explique le type String, l'encodage UTF-8, la concaténation et les règles de découpage. Clarifie la confusion courante entre String et &str dans les signatures de fonctions.

  • Leçon 2 • Paniques et erreurs irrécupérables

    Distingue la panique de Result, explique unwrap et expect, et couvre les cas où paniquer est approprié. Empêche l'utilisation abusive des paniques dans le code de bibliothèque et de production.

  • Leçon 3 • Vecteurs

    Couvre la création de Vec, l'ajout, l'indexation, l'itération et les interactions avec la possession. Les vecteurs sont la collection allouée sur le tas la plus courante dans les programmes Rust.

  • Leçon 4 • Gestion des erreurs avec Result

    Couvre l'opérateur ?, la gestion d'erreurs avec match et la conversion entre types d'erreur. Établit l'approche idiomatique de Rust pour les erreurs récupérables.

  • Leçon 5 • Tables de hachage

    Enseigne l'insertion dans HashMap, la recherche, l'API entry et les patrons d'itération. Fournit un stockage clé-valeur pour le comptage, la mise en cache et le regroupement de données.

Chapitre 6Voir les détails

Traits et génériques

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

    Explique les définitions de traits, les implémentations de méthodes par défaut et l'implémentation de traits sur des types personnalisés. Les traits sont le principal mécanisme d'abstraction de Rust pour le comportement partagé.

  • Leçon 2 • Objets traits et répartition dynamique

    Explique dyn Trait, les pointeurs larges et le compromis entre la répartition statique et dynamique. Permet les collections hétérogènes et les architectures de type plugin.

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

    Introduit les paramètres de type dans les fonctions et les structures avec des bornes de trait. Permet d'écrire des algorithmes qui opèrent sur n'importe quel type satisfaisant des contraintes spécifiées.

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

    Couvre Display, Debug, Clone, PartialEq, PartialOrd et Iterator. La familiarité avec ces traits est nécessaire pour écrire du Rust idiomatique dans tous les domaines.

  • Leçon 5 • Surcharge d'opérateurs via les traits

    Montre comment implémenter Add, Sub, Index et d'autres traits d'opérateurs sur des types personnalisés. Produit des API ergonomiques qui semblent naturelles pour les appelants.

Chapitre 7Voir les détails

Fermetures et itérateurs

  • Leçon 1 • Adaptateurs d'itérateur et consommateurs

    Couvre map, filter, flat_map, take, skip, zip et collect. Les étudiants construisent des pipelines de données lisibles qui se compilent en code machine efficace.

  • Leçon 2 • Le trait Iterator

    Définit le trait Iterator, la méthode next et comment implémenter un itérateur personnalisé. Fournit la base pour comprendre tous les adaptateurs d'itérateur.

  • Leçon 3 • Pliage et agrégation de données

    Enseigne fold, reduce, sum, product, any, all et find pour agréger la sortie d'un itérateur. Complète la boîte à outils pour remplacer les boucles impératives par des pipelines déclaratifs.

  • Leçon 4 • Fermetures : syntaxe et captures

    Couvre la syntaxe des fermetures, la capture de l'environnement par référence ou par valeur, et le mot-clé move. Les fermetures sont largement utilisées dans les itérateurs, les threads et le code asynchrone.

  • Leçon 5 • Stockage et passage de fermetures

    Explique comment stocker des fermetures dans des structures et les passer comme paramètres de fonctions en utilisant des bornes de trait. Permet les patrons de callback et les stratégies d'évaluation paresseuse.

Chapitre 8Voir les détails

Modules, paquets logiciels et structure de projet

  • Leçon 1 • Modules et visibilité

    Explique le mot-clé mod, la disposition des modules basée sur les fichiers et les règles de visibilité pub. Une conception de module appropriée empêche le couplage fort et expose des API publiques propres.

  • Leçon 2 • Tests dans les modules

    Couvre les tests unitaires dans les modules #[cfg(test)], les tests d'intégration dans le répertoire tests et les tests de documentation. Intègre une culture de test dès le niveau de la structure du projet.

  • Leçon 3 • Utilisation de paquets logiciels externes

    Montre comment ajouter des dépendances depuis crates.io, les contraintes de version et la ré-exportation d'éléments. Permet aux étudiants de tirer parti de l'écosystème Rust dans leurs projets.

  • Leçon 4 • Paquets logiciels et le manifeste Cargo

    Définit les paquets binaires et de bibliothèque, les champs de Cargo.toml et la configuration de l'espace de travail. Les étudiants comprennent comment les projets Rust sont compilés et liés.

  • Leçon 5 • Chemins et le mot-clé use

    Couvre les chemins absolus et relatifs, les déclarations use et l'aliasing avec as. Réduit la verbosité et clarifie quels éléments sont dans la portée.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeurs backend : souhaitant ajouter un langage axé sur la performance à leur boîte à outils.

  • Programmeurs C ou C++ : cherchant des alternatives plus sûres sans sacrifier les mesures de sécurité de bas niveau.

  • Codeurs passionnés : désireux de créer des outils CLI ou de petits projets système en Rust.

  • Étudiants en informatique : se préparant à des rôles dans l'ingénierie des systèmes, embarquée ou d'infrastructure.

  • Ingénieurs DevOps : intéressés par le remplacement des scripts shell par des utilitaires Rust compilés et robustes.

  • Personnes en reconversion professionnelle : passant d'un contexte web ou de scripts au développement de systèmes.

Ce que disent nos élèves

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 Maroc ?

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