
Formation en programmation Rust avancée
Maîtrisez Rust, de son modèle de propriété au déploiement en production, en un seul cours complet et pratique. Vous aborderez la concurrence, les E/S asynchrones, la programmation système, WebAssembly et la conception d'API du monde réel en toute confiance. Conçu pour les développeurs qui exigent à la fois performance et correction, ce cours transforme la courbe d'apprentissage abrupte de Rust en un avantage concurrentiel.
Ce que votre équipe va maîtriser:
Configurez la chaîne d'outils Rust et appliquez la propriété, l'emprunt et les durées de vie pour écrire du code sûr et efficace.
Construisez des modèles de données type-safe à l'aide de structures, d'énumérations, de génériques et de traits pour une conception de domaine expressive.
Concevez des API robustes avec des types d'erreur personnalisés, la propagation de Result et des crates de gestion des erreurs conformes aux normes du secteur.
Implémentez des programmes concurrents et parallèles à l'aide de threads, de canaux, de Rayon et de motifs atomiques sans verrouillage.
Construisez des services asynchrones non bloquants avec Tokio, y compris les flux, l'annulation et la logique d'arrêt gracieux.
Déployez des applications Rust de production conditionnées dans des conteneurs, validées par des benchmarks et renforcées pour la sécurité.
Comment votre équipe apprend de façon pratique Formation en programmation Rust avancée
Comment votre équipe s’exerce Formation en programmation Rust avancée
Des professionnels de ces entreprises apprennent sur Dedika









Contenu du cours
8 Chapitres • 39 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondamentaux de Rust et modèle de propriété
Fondamentaux de Rust et modèle de propriété
Leçon 1 • Règles d'emprunt et de référence
Enseigne les références partagées, les références mutables et l'application des règles par le vérificateur d'emprunt. Construit le modèle mental nécessaire pour écrire des API concurrentes et sécurisées.
Leçon 2 • Syntaxe de base et types primitifs
Couvre les types scalaires, les types composés, les expressions et le flux de contrôle. Fournit le vocabulaire syntaxique nécessaire avant l'introduction des concepts de propriété.
Leçon 3 • Règles de propriété et sémantique de déplacement
Explique les règles de propriété de Rust et comment les valeurs se déplacent entre les portées. Permet directement une gestion sécurisée de la mémoire sans ramasse-miettes.
Leçon 4 • Durées de vie et syntaxe d'annotation
Introduit les paramètres de durée de vie et la manière dont le compilateur les utilise pour valider les références. Prépare les étudiants aux API génériques et aux structures de données à longue durée de vie.
Leçon 5 • Chaîne d'outils Rust et configuration de projet
Installez et configurez la chaîne d'outils Rust, Cargo et les outils d'édition. Établit l'environnement de développement nécessaire pour tous les travaux ultérieurs.
Chapitre 2MasquerCacher les détailsVoir les détailsStructures, énumérations et conception basée sur les types
Structures, énumérations et conception basée sur les types
Leçon 1 • Traits et polymorphisme
Définit les traits comme des contrats de comportement partagés et les implémente sur des types personnalisés. Fournit la base de la programmation générique et de la répartition dynamique.
Leçon 2 • Traits de la bibliothèque standard en profondeur
Explore Display, Debug, From, Into, Iterator et les traits standards associés. Connecte les types personnalisés aux conventions idiomatiques de l'écosystème Rust.
Leçon 3 • Énumérations et filtrage par motif exhaustif
Couvre les variantes d'énumération avec des charges utiles de données et les branches match exhaustives. Permet la modélisation de machines d'état et de conditions d'erreur sans pointeurs nuls.
Leçon 4 • Structures et méthodes associées
Définit les structures à champ nommé, tuple et unité avec des blocs impl. Établit le bloc de construction principal pour la modélisation de domaine en Rust.
Leçon 5 • Génériques et paramètres de type
Introduit les fonctions, structures et énumérations génériques avec des contraintes de paramètres de type. Permet une abstraction sans coût sur plusieurs types concrets.
Chapitre 3MasquerCacher les détailsVoir les détailsGestion des erreurs et API robustes
Gestion des erreurs et API robustes
Leçon 1 • Paniques, déroulement et abandon
Distingue les erreurs récupérables des paniques et explique le déroulement par rapport à l'abandon. Guide les étudiants pour décider quand une panique est appropriée par rapport au retour d'erreurs.
Leçon 2 • Types d'erreur personnalisés
Enseigne la définition d'énumérations d'erreur spécifiques au domaine et l'implémentation du trait Error. Permet un rapport d'erreur précis et lisible par machine dans les API de bibliothèque.
Leçon 3 • Crates de gestion d'erreurs
Introduit thiserror pour les erreurs de bibliothèque et anyhow pour les erreurs d'application. Réduit le code passe-partout tout en maintenant des informations d'erreur structurées.
Leçon 4 • Result et l'opérateur point d'interrogation
Couvre les combinateurs Result et l'opérateur ? pour une propagation concise. Établit le motif idiomatique pour les opérations faillibles en Rust.
Chapitre 4MasquerCacher les détailsVoir les détailsCollections, itérateurs et motifs fonctionnels
Collections, itérateurs et motifs fonctionnels
Leçon 1 • Itérateurs et adaptateurs personnalisés
Implémente Iterator sur des types personnalisés et construit des structures d'adaptateur réutilisables. Approfondit la compréhension de l'abstraction sans coût et de la composition d'itérateurs.
Leçon 2 • Traitement des chaînes et des octets
Couvre String, str, les slices d'octets et l'itération consciente d'Unicode. Prépare les étudiants aux tâches d'analyse de texte et d'implémentation de protocoles.
Leçon 3 • Aperçu des collections standard
Passe en revue Vec, HashMap, HashSet, BTreeMap, VecDeque et leurs compromis. Fournit le vocabulaire pour choisir la collection adaptée à chaque cas d'utilisation.
Leçon 4 • Fermetures et fonctions d'ordre supérieur
Couvre les modes de capture des fermetures, les traits Fn et les motifs de fonctions d'ordre supérieur. Connecte les fermetures aux adaptateurs d'itérateurs et aux API basées sur les rappels.
Leçon 5 • Trait Iterator et évaluation paresseuse
Explique le trait Iterator, les adaptateurs paresseux et les consommateurs terminaux. Permet une transformation de données efficace et lisible sans allocations intermédiaires.
Chapitre 5MasquerCacher les détailsVoir les détailsConcurrence et parallélisme en Rust
Concurrence et parallélisme en Rust
Leçon 1 • État partagé avec Mutex et RwLock
Utilise Arc, Mutex et RwLock pour partager un état mutable entre threads. Présente les motifs d'acquisition de verrou et les stratégies pour éviter les interblocages.
Leçon 2 • Rayon et parallélisme de données
Applique la crate Rayon pour paralléliser les pipelines d'itérateurs avec des modifications minimales du code. Démontre l'ordonnancement par vol de travail et les motifs de pliage parallèle.
Leçon 3 • Opérations atomiques et motifs sans verrou
Couvre les types atomiques, la sémantique d'ordre mémoire et les opérations de comparaison et d'échange. Permet des structures de données et des compteurs haute performance sans verrouillage.
Leçon 4 • Threads et traits Send et Sync
Crée des threads OS et explique les traits marqueurs Send et Sync. Établit les garanties à la compilation qui empêchent les courses aux données.
Leçon 5 • Passage de messages avec les canaux
Implémente des pipelines producteur-consommateur en utilisant les canaux std et crossbeam. Compare la conception basée sur les canaux avec la concurrence par état partagé.
Chapitre 6MasquerCacher les détailsVoir les détailsRust asynchrone et l'exécuteur Tokio
Rust asynchrone et l'exécuteur Tokio
Leçon 1 • Annulation, délais d'attente et gestion des erreurs
Implémente l'annulation de tâches, les délais d'attente et les motifs de concurrence structurée. Garantit que les services asynchrones se dégradent gracieusement en cas de défaillance.
Leçon 2 • Exécuteur Tokio et création de tâches
Configure l'exécuteur Tokio et crée des tâches concurrentes. Connecte les fondamentaux asynchrones à un ordonnanceur multi-thread prêt pour la production.
Leçon 3 • E et réseau asynchrones
Utilise les API TCP, UDP et d'E sur fichiers asynchrones de Tokio pour les opérations non bloquantes. Développe les compétences nécessaires à l'implémentation de services réseau.
Leçon 4 • Principes fondamentaux d'async et await
Explique les futures, la syntaxe async/await et le modèle d'exécuteur. Fournit les bases conceptuelles avant d'introduire un exécuteur spécifique.
Leçon 5 • Flux, sinks et contre-pression
Couvre le trait Stream, l'itération asynchrone et les mécanismes de contre-pression. Permet le traitement de sources de données continues dans des pipelines asynchrones.
Chapitre 7MasquerCacher les détailsVoir les détailsProgrammation système et Rust unsafe
Programmation système et Rust unsafe
Leçon 1 • Pointeurs bruts et mémoire manuelle
Couvre la création de pointeurs bruts, le déréférencement et l'allocation manuelle avec l'API d'allocateur. Prépare les étudiants aux allocateurs personnalisés et aux cibles embarquées.
Leçon 2 • Pointeurs intelligents personnalisés
Implémente Deref, Drop et des types de pointeurs intelligents personnalisés à partir de zéro. Approfondit la compréhension du fonctionnement interne de Box, Rc et Arc.
Leçon 3 • Environnements embarqués et no_std
Configure les crates no_std, utilise core et alloc, et cible le matériel bare-metal. Montre l'applicabilité de Rust au-delà des systèmes d'exploitation hôtes.
Leçon 4 • Rust unsafe et ses invariants
Définit les cinq superpouvoirs du code unsafe et les invariants qui doivent être respectés. Établit la discipline requise avant d'écrire tout bloc unsafe.
Leçon 5 • Interface de fonctions étrangères avec C
Déclare les fonctions externes C, gère les chaînes C et la compatibilité ABI. Permet à Rust d'appeler et d'être appelé par des bases de code C existantes.
Chapitre 8MasquerCacher les détailsVoir les détailsConstruction et déploiement d'applications réelles
Construction et déploiement d'applications réelles
Leçon 1 • Conteneurisation et déploiement
Empaquète les binaires Rust dans des images de conteneur minimales et configure des pipelines CI. Livre un artefact déployable à partir d'un projet Rust de production.
Leçon 2 • Stratégies de test et organisation des tests
Couvre les tests unitaires, les tests d'intégration, les tests de documentation et les tests basés sur les propriétés. Garantit l'exactitude à tous les niveaux d'une application Rust de production.
Leçon 3 • Architecture de projet et disposition de l'espace de travail
Organise les espaces de travail Cargo multi-crates, les indicateurs de fonctionnalité et la gestion des dépendances. Établit une structure de projet évolutive pour le développement en équipe.
Leçon 4 • Profilage des performances et évaluation comparative
Utilise Criterion pour les micro-benchmarks et perf ou flamegraph pour le profilage. Identifie et élimine les goulots d'étranglement dans les chemins de code chauds.
Leçon 5 • Développement d'applications CLI
Construit un outil CLI complet en utilisant clap, des fichiers de configuration et une journalisation structurée. Montre la conception d'application de bout en bout, de l'analyse des arguments à la sortie.
Votre certificat valide de réussite
Ce cours est pour vous :
Ingénieurs backend : recherchant des gains de performance que les langages à mémoire gérée ne peuvent pas offrir.
Programmeurs système : passant du C ou du C++ et souhaitant des garanties de sécurité à la compilation plus solides.
Ingénieurs DevOps : construisant des outils internes et une automatisation qui exige une fiabilité à grande échelle.
Étudiants en informatique : faisant le pont entre la théorie académique et des compétences Rust pratiques et pertinentes pour l'industrie.
Contributeurs open source : visant à participer à des projets de l'écosystème Rust avec une crédibilité réelle.
Personnes en reconversion professionnelle : entrant dans le développement logiciel par le biais d'un langage fortement demandé sur le marché de l'emploi.
Cours associés
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



















