Formation Rust

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

  • Comprendre les avantages et le positionnement de Rust
  • Installer Rust et configurer l'environnement de développement
  • Maîtriser la syntaxe et les concepts basiques de Rust
  • Appliquer les concepts d'ownership et de borrowing
  • Utiliser les structs et les enums pour organiser les données
  • Gérer les erreurs en Rust
  • Implémenter la généricité, les traits et les lifetimes
  • Créer et utiliser des closures et des itérateurs

Sparks


Tout l'IT, vraiment tout
Voir la fiche entreprise

Tarif

A partir de 1 950,00 €

Durée 3 jours
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Sparks


Tout l'IT, vraiment tout
Voir la fiche

Tarif

A partir de 1 950,00 €

Durée 3 jours
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

Lors de cette formation Rust, les apprenants découvriront les spécificités du langage, et comprendront pourquoi celui-ci devient l'une des technologies préférées des développeurs et développeuses. Après avoir exploré la syntaxe Rust, ils réaliseront différents ateliers pratiques, pour apprendre les bonnes pratiques de code, debug et test en Rust. Les principaux concepts de programmation mis en œuvre par Rust seront abordés de manière progressive tout au long de la formation : ownership, borrowing, lifetimes, mutabilité, etc.

Programme

Introduction à la 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
Exemples de cas pratiques : tour de table, échanges sur les différents contextes professionnels et les perspectives d’application des nouvelles compétences, installation de rustup et mise en place de différents outils de développement. Codage d’un premier programme en Rust via notre formation.

Syntaxe et concepts basiques de programmation Rust

Blocs de code, accolades, structures… découvrir la syntaxe de Rust
Variables, constantes et (im)mutabilité
Types primitifs : entiers, flottants, strings, tuples…
Expressions if, if else, boucles et boucles conditionnelles
Fonctions : déclaration, paramètres et retours
Définir un module
Tableaux et slices
Introduction aux macros
Commentaires
Exemples de cas 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.

Propriété (ownership) et emprunt (borrowing)

Principe de fonctionnement et intérêt de l’ownership : mémoire et allocation
Comprendre les règles de l’ownership
Transférer la propriété : les moves
Références et borrowing
Opérateurs & et & mut
Exemples de cas pratiques : résolution de problèmes de programmation pour comprendre et mettre en application les concepts de propriété, emprunt et les slices. Echanges sur l’apport de tels principes dans les programmes Rust en termes de sécurité et de gestion de la mémoire, comparaison avec d’autres langages.

Types personnalisés : structures (structs) et énumérations (enums)

Utiliser les structs pour organiser la donnée : définition et instanciation
Méthodes et fonctions
Enumérations : Option et autres usages communs
Filtrage par motif (pattern matching) avec l’expression match
Déstructuration : tuples, énumérations, pointeurs…
Exemples de 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.

Gestion des erreurs

Les deux types d’erreurs sous Rust : recoverable et unrecoverable
Apports de l’approche Rust pour la gestion des erreurs
Utiliser la macro panic!
Result, principes de fonctionnement
La propagation d’erreurs
Gérer les erreurs dans main()
Exemples de cas 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.

Généricité en Rust, traits et lifetimes

Principes de fonctionnement des traits dans Rust
Créer et implémenter un trait : Into, Drop, Iterator, Clone…
L’attribut derive
La surcharge d’opérateurs
Références et concept de durée de vie (lifetime)
Durées de vie statiques et associées
La généricité en Rust : types, fonctions, implémentations, restrictions…
Exemples de cas 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.

Closures et itérateurs

Les closures (aussi appelées lambdas) : caractéristiques et syntaxe
Closures passées en paramètres
Types anonymes
Fonctions passées en paramètres
Fonctions d’ordre supérieur (HOF)
Créer ses propres itérateurs avec le trait Iterator
Exemples de 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.

Multi-threading

Créer des threads
Transfert de données entre thread : message passing
Les traits Sync et Send
Exemples de cas pratiques : création de threads avec spawn, communication entre threads et manipulation de concepts de programmation concurrente.

Quelques concepts de programmation avancée en Rust

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

Prérequis

Des connaissances en programmation et sur les systèmes Unix.

Public

Architectes logiciels,

Ces formations pourraient vous intéresser

Rust - Débutant

Proposé par M2I

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Découvrir et utiliser le langage Rust
  • Installer l'environnement de développement
  • Décrire les concepts de base (ownership et mutabilité)
  • Appliquer le polymorphisme et les traits
  • Utiliser l'ordre supérieur
  • Découvrir les collections
  • Décrire la concurence sans peur.
Tarif

A partir de 1 800,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Mettre en œuvre les concepts fondamentaux de Rust dans le cadre d'un projet spécifique
  • Intégrer des concepts de programmation avancée tels que les constantes calculées, la réflexion, et la gestion de la mémoire non déplaçable
  • Appliquer les principes de la programmation asynchrone à travers un cas pratique de développement d'application
  • Concevoir des structures de programmation optimisées pour des applications embarquées
  • Identifier et comparer les différentes bibliothèques graphiques disponibles
  • Développer une interface graphique
  • Créer une application web fonctionnelle
Tarif

A partir de 2 800,00 €

Durée

4 jours

Modes
  • Centre
  • Entreprise
  • Distance

Formation Rust embarqué

Proposé par Sparks

Objectifs de la formation

  • Développer du code Rust adapté à des environnements à ressources limitées
  • Organiser et configurer un projet Rust dédié au développement de systèmes embarqués
  • Créer des applications embarquées en Rust, en appliquant des pratiques de programmation et des architectures logicielles adaptées à ce type de développement
  • Mettre en place un projet Rust pour le développement de modules pour le kernel Linux
  • Concevoir et implémenter du code Rust efficace et sécurisé pour le kernel Linux
Tarif

A partir de 2 250,00 €

Durée

3 jours

Modes
  • Centre
  • Entreprise
  • Distance

Formation Rust - Avancé

Proposé par PLB CONSULTANT

Objectifs de la formation

A l'issue de cette formation Rust Avancé vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Créer ses propres macros déclaratives
  • Utiliser les traits et maîtriser l’ownership dans des cas avancés
  • Choisir les types les plus adaptés à ses applications
  • Écrire un programme concurrent multi-thread
  • Appeler Rust depuis C et inversement
Tarif

Contacter l'organisme

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Identifier les principes fondamentaux de Rust
  • Ecrire du code Rust propre en suivant les conventions de codage recommandées
  • Utiliser les concepts de base tels que les types de données, les variables, les fonctions et les structures de contrôle
  • Démontrer une compréhension approfondie des propriétés de sécurité de Rust
  • Explorer les fonctionnalités avancées de Rust
  • Utiliser les bibliothèques et les frameworks populaires de Rust pour développer des applications et des projets concrets
  • Concevoir, mettre en oeuvre et déployer une application Blockchain fonctionnelle
  • Pratiquer le débogage et le test de code Rust.
Tarif

A partir de 2 850,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Formation Rust - Initiation

Proposé par PLB CONSULTANT

Objectifs de la formation

À l'issue de cette formation Rust Initiation vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Décrire les caractéristiques du langage RUST et son positionnement par rapport aux standards et à ses concurrents
  • Maîtriser votre environnement de développement (éditeur, exécution, debug, tests, documentation, etc.)
  • Maîtriser la syntaxe de base en RUST (variables, types, structures, fonctions, etc.)
  • Aborder sereinement l’écosystème (modules, librairies utiles)
  • Approfondir les concepts et la syntaxe (types avancés, gestion des erreurs, généricité, pattern matching, macros, parallélisme, sécurité, qualité, etc.)
Tarif

A partir de 1 995,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...