Choisissez votre langue
Cours de programmation Rust
Plus de 2 millions d'étudiants dans le monde

Cours de programmation Rust

Maîtrisez Rust de A à Z — de la possession et de l'emprunt à la concurrence asynchrone et à la programmation système. Ce cours couvre tout ce dont vous avez besoin pour écrire du code Rust rapide, sûr et prêt pour la production. Que vous construisiez des services Web, des outils CLI ou des logiciels système bas niveau, vous acquerrez les compétences nécessaires pour le faire correctement.

Dedika pour les entreprises

Ce que vous allez apprendre:

Vous commencerez par configurer votre chaîne d'outils Rust et apprendre la syntaxe de base, puis vous aborderez le modèle de possession, les règles d'emprunt et les durées de vie de Rust. Ensuite, vous travaillerez sur les structures, les énumérations, le filtrage de motifs et la gestion robuste des erreurs. Vous maîtriserez les collections, les itérateurs, les fermetures, les traits et les génériques avant d'aborder la concurrence avec les threads, les canaux et async/await. Le cours couvre également le Rust unsafe, la FFI, les tests, le profilage des performances, les macros, la programmation Web avec Axum et les workflows de déploiement CI/CD.

Comment vous étudiez de façon pratique Cours de programmation Rust

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

Chapitre 1Voir les détails

Premiers pas avec Rust

  • Leçon 1 • Syntaxe Rust et types de base

    Couvre les variables, les types scalaires et les expressions de base. Fournit le vocabulaire syntaxique nécessaire pour lire et écrire n'importe quel programme Rust.

  • Leçon 2 • Installation et configuration de Rust

    Configurez rustup, cargo et un éditeur de code pour le développement Rust. Établit la base de la chaîne d'outils dont dépend chaque chapitre suivant.

  • Leçon 3 • Utiliser Cargo et les crates

    Explore les commandes Cargo, la structure du projet et l'ajout de crates externes. Relie les connaissances syntaxiques aux flux de travail de projets réels utilisés tout au long du cours.

  • Leçon 4 • Fondamentaux du flux de contrôle

    Enseigne les constructions if, loop, while et for en Rust. Permet aux étudiants d'écrire des programmes avec une logique de branchement et d'itération.

  • Leçon 5 • Fonctions et organisation du code

    Définit des fonctions avec paramètres et types de retour, et introduit les modules. Prépare les étudiants à structurer des programmes au-delà d'une simple fonction main.

Chapitre 2Voir les détails

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

  • Leçon 1 • 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 et de concevoir des API avec des données empruntées.

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

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

  • Leçon 3 • Types tranche (slice) et chaîne de caractères

    Couvre les références de tranche pour les tableaux et les chaînes, et distingue str de String. Fait le pont entre les concepts de propriété et la gestion pratique des chaînes et des collections.

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

    Applique les règles de propriété et d'emprunt à des scénarios de code réalistes. Consolide la compréhension en résolvant les conflits courants avec le vérificateur d'emprunt.

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

    Explique la sémantique de propriétaire unique et comment les valeurs se déplacent entre les liaisons. Forme le noyau conceptuel sur lequel s'appuient toutes les règles d'emprunt et de durée de vie.

Chapitre 3Voir les détails

Structures, énumérations et filtrage par motif

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

    Ajoute un comportement aux structures via les blocs impl et les fonctions associées. Relie la modélisation des données à l'encapsulation de style orientée objet en Rust.

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

    Définit des énumérations avec des variantes contenant des données et introduit Option. Permet de modéliser des valeurs pouvant prendre l'une de plusieurs formes distinctes.

  • Leçon 3 • Filtrage par motif avec match

    Utilise les expressions match pour déstructurer les énumérations, les tuples et les structures. Enseigne la gestion exhaustive des motifs, centrale au flux de contrôle idiomatique en Rust.

  • Leçon 4 • if let et motifs avancés

    Introduit le filtrage concis par motif avec if let, while let et les motifs imbriqués. Étend les compétences en matière de motifs à des scénarios quotidiens de condition et de boucle.

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

    Couvre la définition d'une structure, son instanciation et l'accès aux champs. Fournit l'outil principal pour regrouper des données connexes dans les programmes Rust.

Chapitre 4Voir les détails

Gestion des erreurs en Rust

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

    Explique quand Rust panique, comment déclencher et attraper les paniques, et quand les utiliser. Définit la frontière entre les scénarios d'erreur justifiant une panique et ceux récupérables.

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

    Définit des énumérations d'erreur personnalisées et implémente le trait Error. Permet aux bibliothèques et aux applications d'exposer des informations d'erreur structurées et significatives.

  • Leçon 3 • Stratégies de gestion d'erreur

    Compare les erreurs encapsulées, les types personnalisés et anyhow pour le code applicatif vs les bibliothèques. Guide les étudiants dans le choix de la stratégie appropriée pour chaque contexte.

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

    Utilise l'opérateur ? pour propager concisément les erreurs vers le haut de la pile d'appels. Réduit le code boilerplate et rend le code de gestion d'erreur lisible et idiomatique.

  • Leçon 5 • Le type Result

    Couvre la définition de Result<T, E>, la correspondance sur Ok et Err, et les combinateurs courants. Fournit le mécanisme principal pour propager les erreurs récupérables.

Chapitre 5Voir les détails

Collections, itérateurs et fermetures

  • Leçon 1 • Itérateurs consommateurs

    Utilise collect, fold, sum et d'autres consommateurs pour produire des résultats à partir d'itérateurs. Achève le pipeline d'itérateur de la source, via la transformation, jusqu'à la sortie.

  • Leçon 2 • Trait Iterator et adaptateurs

    Explore le trait Iterator, l'évaluation paresseuse et les méthodes adaptatrices. Enseigne la transformation de données de style fonctionnel, centrale au Rust idiomatique.

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

    Implémente le trait Iterator sur des types personnalisés pour produire des séquences. Approfondit la compréhension du fonctionnement interne du mécanisme d'itération de Rust.

  • Leçon 4 • Fermetures et capture de l'environnement

    Définit les fermetures, leurs modes de capture et les bornes du trait Fn. Permet de passer un comportement comme valeur, ce qui est requis par les itérateurs et les fonctions d'ordre supérieur.

  • Leçon 5 • Vecteurs et collections courantes

    Couvre la création, l'accès et la mutation de Vec<T>, String et HashMap<K, V>. Fournit les conteneurs de données standard utilisés dans presque tous les programmes Rust.

Chapitre 6Voir les détails

Traits, génériques et polymorphisme

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

    Crée des traits avec des méthodes obligatoires et par défaut et les implémente sur des types. Établit le mécanisme de comportement partagé sur lequel reposent les génériques et le polymorphisme.

  • Leçon 2 • Techniques avancées de traits

    Couvre les types associés, la surcharge d'opérateurs et le motif Newtype. Étend les connaissances sur les traits à des scénarios avancés de conception d'API.

  • Leçon 3 • Objets trait et dispatch dynamique

    Utilise les pointeurs dyn Trait pour le polymorphisme à l'exécution et explique les coûts de la vtable. Enseigne quand le dispatch dynamique est approprié par rapport au dispatch statique.

  • Leçon 4 • Bornes de traits et clauses where

    Contraint les types génériques avec des bornes de traits et des clauses where. Permet au code générique d'appeler des méthodes de trait tout en gardant les signatures lisibles.

  • Leçon 5 • Fonctions et types génériques

    Paramétrise les fonctions, les structures et les énumérations avec des paramètres de type. Permet d'écrire du code fonctionnant avec de nombreux types tout en restant sûr au niveau des types.

Chapitre 7Voir les détails

Concurrence et Rust asynchrone

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

    Introduit les futures, les fonctions async et le mot-clé await avec un moteur d'exécution. Prépare les étudiants aux motifs d'application à haute concurrence et aux E/S non bloquantes.

  • Leçon 2 • Traits Send et Sync

    Explique les traits marqueurs Send et Sync et leur rôle dans la sécurité des threads. Permet aux étudiants de raisonner sur les types qui peuvent traverser les frontières de thread.

  • Leçon 3 • Threads et état partagé

    Lance des threads OS, partage des données avec Arc et Mutex, et évite les accès concurrents. Démontre comment les règles de propriété imposent la sécurité des threads à la compilation.

  • Leçon 4 • Motifs asynchrones et pièges

    Couvre les futures concurrentes, le lancement de tâches et les erreurs asynchrones courantes. Équipe les étudiants pour construire des programmes asynchrones corrects et efficaces dans des contextes de production.

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

    Utilise les canaux mpsc pour communiquer entre threads sans mémoire partagée. Introduit le modèle de concurrence par passage de messages comme alternative au verrouillage.

Chapitre 8Voir les détails

Programmation système et Rust unsafe

  • Leçon 1 • Disposition mémoire et pointeurs bruts

    Examine comment Rust dispose les données en mémoire et introduit la syntaxe des pointeurs bruts. Fournit les bases de bas niveau nécessaires aux opérations unsafe.

  • Leçon 2 • Environnements embarqués et no_std

    Configure Rust pour les cibles no_std et utilise les crates core et alloc. Étend les compétences Rust aux microcontrôleurs et aux environnements sans système d'exploitation.

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

    Implémente le trait Allocator et explore l'allocation par arène et par pool. Répond aux scénarios critiques en termes de performances où l'allocation par défaut est insuffisante.

  • Leçon 4 • Interface de fonctions étrangères (FFI)

    Appelle des fonctions C depuis Rust et expose des fonctions Rust à C en utilisant extern. Permet l'intégration avec des bibliothèques natives existantes et des API système.

  • Leçon 5 • Blocs unsafe et fonctions unsafe

    Définit ce que unsafe permet et comment minimiser sa portée. Enseigne l'utilisation responsable de unsafe pour étendre les capacités sans sacrifier la correction.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

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

  • Programmeur C ou C++ : recherche une sécurité à la compilation sans sacrifier le contrôle bas niveau.

  • Créateur passionné : enthousiaste à l'idée de réaliser des outils CLI et des projets système en Rust.

  • Personne en reconversion professionnelle : vise des postes d'ingénieur très demandés nécessitant des compétences en programmation système.

  • Ingénieur DevOps : doit écrire des outils fiables et performants pour les pipelines d'infrastructure.

  • Étudiant en informatique : prêt à dépasser les cours et à aborder le développement Rust concret.

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 en Algérie ?

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