Support & Downloads

Quisque actraqum nunc no dolor sit ametaugue dolor. Lorem ipsum dolor sit amet, consyect etur adipiscing elit.

s f

Contact Info
198 West 21th Street, Suite 721
New York, NY 10010
youremail@yourdomain.com
+88 (0) 101 0000 000
Follow Us

Formation Rust - Programmation

       réf : DEV-LR

Objectif de formation : Rust est un langage de programmation système qui s’exécute à une vitesse fulgurante, évite les erreurs de segmentation et garantit la sécurité des threads. Rust est idéal pour les tâches de bas niveau telles que le traitement des données, le web scraping, la programmation réseau, etc. Vous apprendrez à configurer votre environnement de développement, à écrire des programmes de base, à utiliser des variables et des types de données, à créer des fonctions et des boucles, à travailler avec des fichiers et des répertoires, à utiliser des chaînes de caractères et des regex, et bien plus encore ! À la fin de ce cours, vous serez en mesure d’écrire du code Rust robuste qui répond aux normes élevées de la programmation des systèmes modernes.

Objectifs pédagogiques

  • Découvrir, comprendre et utiliser le langage Rust et son écosystème dans vos futurs projets
  • Utiliser la programmation concurrente et la bonne gestion d’erreur avec Rust
  • Migrer efficacement vos applications C ou C ++ vers un environnement Rust

Pré-requis

Connaissances de base d’un système Unix / Connaissance de programmation

Public concerné

Développeurs, Architectes

Programme de formation Rust

  • Présentation générale et objectifs de cette formation Rust
  • Principales caractéristiques du langage, avantages et positionnement
  • Fonctionnement de Rust (vitesse, erreurs, sûreté, multithreading) et paradigmes de programmation
  • Installer Rust et Cargo, le gestionnaire de packages pour gérer dépendances et compilation
  • Démarrer un nouveau projet : crates et structure de base
  • Outils de développement
  • Documentation

Travaux pratiques

écriture de programmes utilisant les structs et les enums, corrections de morceaux de code pour faire passer des tests (rustlings GitHub) et mise en œuvre de quelques patterns et anti-patterns de programmation Rust

Présentation de la syntaxe de Rust

  • Variables, constantes et (im)mutabilité
  • Types primitifs
  • Expressions if, if else, boucles et boucles conditionnelles
  • Fonctions : déclaration, paramètres et retours
  • Définition d’un module
  • Tableaux et slices
  • Introduction aux macros
  • Commentaires

Travaux pratiques

Création de divers programmes en Rust (conversion de température, génération du nième nombre de la suite Fibonacci…) pour manipuler les concepts de base du langage.

  • Utilisation des structs pour organiser la donnée : définition & instanciation
  • Méthodes & fonctions
  • Enumérations
  • Filtrage par motif (pattern matching) avec l’expression match
  • Déstructuration
  • Cas pratiques : écriture de programmes utilisant les structs et les enums, corrections de morceaux de code pour faire passer des tests (rustlings GitHub) et mise en œuvre de quelques patterns et anti-patterns de programmation Rust

Travaux pratiques

écriture de programmes utilisant les structs et les enums, corrections de morceaux de code pour faire passer des tests (rustlings GitHub) et mise en œuvre de quelques patterns et anti-patterns de programmation Rust

  • Erreurs recoverable & unrecoverable
  • Rust & la gestion des erreurs
  • Macro panic!
  • Result, principes de fonctionnement
  • Propagation d’erreurs
  • Gestion des erreurs dans main()

Travaux pratiques

utilisation de la macro panic, résolution de problèmes de programmation avec l’enum Option, la méthode unwrap et les combinateurs, l’enum Result et ses alias, gestion de multiples types d’erreur avec try.

  • Principes de fonctionnement des traits dans Rust
  • Création & implémentation d’un trait
  • Attribut derive
  • Surcharge d’opérateurs
  • Références et concept de durée de vie (lifetime)
  • Durées de vie statiques et associées
  • Généricité en Rust

Travaux pratiques

implémentations de différents types de traits, surcharge de l’opérateur d’addition avec le trait Add, mise en œuvre de types et fonctionnalités génériques, utilisation de la clause where pour expliciter une restriction

  • Capturing variables
  • Closures
  • Performance
  • Sécurité
  • FnOnce & FnMut
  • Callbacks
  • Iterator & IntoIterator traits
  • Adapters
  • Consuming iterators
  • Implémentation de son propre itérateur

Cas pratiques :

capture de variables par référence, par valeur, utilisation des closures avec des outils de la bibliothèque standard (itérateurs any, find), refactoring et mise en œuvre de la méthode next

  • Création des threads
  • Transfert de données entre thread
  • Traits Sync et Send

Cas pratiques :

création de threads avec spawn, communication entre threads et manipulation de concepts de programmation concurrente.

  • Fonctionnement des macros
  • Contournement de la sûreté de Rust avec les blocs unsafe
  • Interfaçage avec C/C++

Équipe pédagogique

Professionnel expert technique et pédagogique

Moyens pédagogiques et techniques

  • Espace intranet de formation.
  • Documents supports de formation projetés.
  • Exposés théoriques
  • Étude de cas concrets
  • Mise à disposition en ligne de documents supports à la suite de la formation.

Dispositif de suivi

  • Émargement numérique.
  • Mises en situation.
  • Formulaires d’évaluation de la formation.
  • Certificat de réalisation de l’action de formation Rust.

Vous avez une question ?

    Jours

    3 (21 heures)

    Prix

    1850 € HT

    Télécharger