ASCENT : 06. Rust
Organisme
35740 PACEVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Mise en situation
Prix
Public
Pré-requis
Objectifs pédagogiques
- Connaître les principes fondamentaux de Rust
- Apprendre à écrire du code Rust propre en suivant les conventions de codage recommandées
- Maîtriser les concepts de base tels que les types de données, les variables, les fonctions et les structures de contrôle
- Acquérir une compréhension approfondie des propriétés de sécurité de Rust
- Explorer les fonctionnalités avancées de Rust
- Savoir utiliser les bibliothèques et les frameworks populaires de Rust pour développer des applications et des projets concrets
- Concevoir, mettre en œuvre et déployer une application Blockchain fonctionnelle
- Pratiquer le débogage et le test de code Rust
Programme détaillé
Introduction à Rust et principes fondamentaux (3 heures)Présentation de Rust : histoire, particularités et raisons de sa popularité croissanteInstallation de l'environnement de développement et configuration des outils essentiels (Cargo, Rustup)Syntaxe de base de Rust et concepts de programmation sécuriséeTravaux pratiques : Configuration initiale et création d'un premier programme simple en RustTravaux pratiques : Exploration des fonctionnalités de base du compilateur Rust et gestion des erreurs
Types de données, variables et fonctions en Rust (4 heures)Types de données en Rust : scalaires, composés, et types personnalisésGestion des variables et de la mémoire : ownership, borrowing, et lifetimeDéfinition et utilisation des fonctions, y compris les fonctions génériques et les fermetures (closures)Travaux pratiques : Création de programmes utilisant différents types de données et structures de contrôleTravaux pratiques : Mise en pratique des concepts d'ownership et de borrowing à travers des exercices spécifiques
Structures de contrôle et gestion des erreurs (3 heures)Structures de contrôle en Rust : if, else, loop, while, et forGestion des erreurs en Rust : Option, Result, et panicTravaux pratiques : Implémentation de différents scénarios de contrôle pour résoudre des problèmes courantsTravaux pratiques : Manipulation d'erreurs et de scénarios d'exception pour créer des applications robustes
Sécurité et fonctionnalités avancées (4 heures)Sécurité en Rust : comment Rust prévient les erreurs de mémoire et autres vulnérabilités communesFonctionnalités avancées : traits, types associés, generics, et concurrence sans risqueTravaux pratiques : Création de modules et packages en Rust qui utilisent des traits et des genericsTravaux pratiques : Implémentation de code concurrent en utilisant les outils de concurrence de Rust, comme les threads et les canaux
Utilisation des bibliothèques et frameworks en Rust (3 heures)Aperçu des bibliothèques et frameworks populaires en Rust, tels que Rocket pour le web, Serde pour la sérialisation, et Diesel pour les bases de donnéesComment intégrer et utiliser des bibliothèques externes via CargoTravaux pratiques : Développement d'une petite application web avec Rocket ou de manipulation de données avec DieselTravaux pratiques : Exploration de la gestion des dépendances et de la documentation en Rust
Débogage, test de code et développement Blockchain (4 heures)Techniques de débogage et de profiling en RustÉcriture de tests unitaires et d'intégration avec CargoIntroduction au développement de contrats intelligents et d'applications blockchain avec RustTravaux pratiques : Pratique du débogage et du profiling sur des exemples de codeTravaux pratiques : Création et test d'une application blockchain simple ou d'un contrat intelligent en utilisant Rust