Formation Rust - Initiation

Durée 3 jours
Niveau Fondamental
Classe à distance
Possible

Vous pouvez suivre cette formation en direct depuis votre domicile ou votre lieu de travail. Plus d'informations sur notre solution de classe à distance...

Référence RUST
Éligible CPF Non

Le langage RUST propose de concentrer toutes les qualités d’un langage de programmation pour développer tous types d’applications. On peut donc le présenter comme un langage universel et multi paradigme (Desktop, Web, embarqué, …). Il a de plus pour vocation d’être rapide, productif, peu gourmand en ressources, fiable et sécurisé tout en évitant la discipline que pouvait imposer le C ou le C++ aux développeurs sur ces aspects.

Cette formation RUST vous propose de découvrir progressivement le langage RUST à travers ses concepts et leurs mises en œuvre dans un contexte de développement professionnel avec de nombreux exemples et travaux pratiques réalistes.

Objectif opérationnel :

Savoir développer avec le langage RUST.

Objectifs pédagogiques :

À 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.)

Public :

Ce cours s'adresse essentiellement aux développeurs, ingénieurs, consultants, étudiants, chercheurs, architectes et chefs de projet.

Prérequis :

Pour suivre cette formation Rust Initiation il est nécessaire d'avoir de bonnes connaissances en programmation (notamment C, C# ou Java).

Jour 1

Découverte de Rust

Rapide historique récapitulatif
Rust dans le panorama actuel : pourquoi un nouveau langage ?
Les atouts majeurs de Rust : sécurité, performance et productivité
Connaître et comprendre les limites du langage
QuizRésumé des points clefs qui caractérisent le langage Rust

Configuration et premiers pas

Installation détaillée : Rustup, Cargo et Rust
Initiation à l'environnement de développement : savoir s’outiller
Votre premier programme Rust : "Hello, World!"
AtelierInstallez Rust et Cargo via Rustup puis mettez en place votre environnement de travail et votre IDE avec VSCode et toutes les extensions appropriées. Écrivez, compilez et exécutez votre premier programme en Rust

Plongée dans l'écosystème Rust

Cargo : bien plus qu'un gestionnaire de paquets
De la rédaction au déploiement : Compiler et exécuter votre code
Assurer la qualité : Documenter, tester et utiliser Clippy pour le linting
Adoptez les bonnes pratiques : formatez automatiquement le code
Gérer les dépendances de manière efficace
AtelierExpérimentez à travers deux mini-applications (fibonacci & fizzbuzz), mettez en œuvre les tests unitaires, faites la chasse aux warnings avec Clippy et documentez votre projet.

Typage de Données

Un langage riche et sécurisé
Exploration détaillée des types
Structures de données complexes : Tuples, pointeurs, tableaux, slices, vecteurs…
Travail avec les chaînes : De l'unicode aux strings Rust
Conversion de types et alias : Écrire du code sûr et lisible
AtelierMise en œuvre des types de données nécessaire au TP du module suivant (calcul numérique et structures associées)

Maîtriser la syntaxe

Fondamentaux du Langage : Variables, structures de contrôle et fonctions
Comprendre l'ownership et le borrowing : les références partagées et exclusives
Structures Complexes : Structures, énumérations et leurs utilisations
Rust propre et idiomatique : Pattern matching, implémentations et closures
AtelierDéveloppez une application de conversion de température mettant en œuvre des structures et syntaxes idiomatiques variées et appropriées, tout en suivant toujours les meilleures pratiques de test unitaire, formatage et lintingJour 2

Modularité en Rust

Écrire un programme en une seule ligne, c’est possible !
Les quatre mots d’ordre : lisibilité, maintenabilité, réutilisabilité et interopérabilité
Exploration des spécificités et mécanismes d’import et de modularisation
Création de Modules : Définir, déclarer et intégrer des modules dans votre application
Visibilité et Portée : Contrôle d'accès et interaction entre modules
AtelierRéorganisation des applications précédemment développées en modules et sous-modules proprement découpés et agencés. Utilisation des attributs de visibilité ainsi que des imports appropriés. Apprendre à concevoir un prélude.

Gestion des erreurs

Philosophie des erreurs en Rust 
Mécanismes de gestion proposés
Différencier et traiter les erreurs récupérables et irrécupérables
Le trait Error en profondeur : centraliser la gestion d'erreurs
Techniques avancées : Propagation, erreurs personnalisées et librairies spécialisées
AtelierConception d’une stratégie idiomatique et globale de gestion d’erreurs puis mise en œuvre au sein des applications précédemment développées en anticipant divers scénarios ainsi qu’en choisissant la librairie la plus adaptée au cas d’usage (ThisError, Anyhow, Eyre…)

Traits et la Généricité

Découverte des traits, sous-traits et de leur rôle central
Fonctions génériques : réutilisez le code à l’infini
Stockez tous vos fruits dans le même panier avec les traits objects
Sous le capot : monomorphisation et dynamic dispatch
Utilisation avancée des traits : types associés et généricité
AtelierAmélioration de la qualité des applications précédemment développées en y intégrant votre implémentation des traits standard Display, Debug, Default, Eq, Ord, From et IntoJour 3

Collections de données

Maîtriser les collections standard : Vecteurs, hashmaps, sets, et plus
Accéder élégamment et efficacement aux données avec les Entries
Techniques avancées : Itérateurs et opérations courantes
Construire n’importe quelle collection à partir d’un itérateur
AtelierExploiter le potentiel des traits Iterator et IntoIterator en réimplémentant fizzbuzz et fibonacci sous forme d’itérateurs et de deux manières différentes

Macros et métaprogrammation

(Re)Découverte des macros natives
Les macros en Rust : sécurité et hygiène
Macros déclaratives ou procédurales
Écrire ses propres macros avec macro_rules !
AtelierUtilisation de macros natives

Aller plus loin avec Rust

Domaines avancés : code unsafe, parallélisme, asynchrone, interopérabilité et développement embarqué
Panorama des bibliothèques populaires et ressources pour l'apprentissage continu
AtelierSérialisez et désérialisez les structures précédemment implémentées avec Serde dans différents formats (JSON, YAML, TOML et beaucoup d’autres) de manière transparente. Explorez les interactions avec d'autres langages et plateformes.

Session de pratique finale

AtelierMettez en œuvre toutes les compétences acquises pour résoudre un ensemble de puzzles, mélangeant les concepts abordés au cours de la formation.

Les travaux pratiques représentent 50% du temps de formation.

Date de mise à jour du programme : 26/01/2024

Dates et lieux

Du 13 au 15 mai 2024
Lieu
Distanciel
Durée
3 jrs
1995 € HT
Du 13 au 15 mai 2024
Lieu
Paris
Durée
3 jrs
1995 € HT
Du 24 au 26 juin 2024
Lieu
Distanciel
Durée
3 jrs
1995 € HT
Du 24 au 26 juin 2024
Lieu
Paris
Durée
3 jrs
1995 € HT
Du 16 au 18 septembre 2024
Lieu
Distanciel
Durée
3 jrs
1995 € HT
Du 16 au 18 septembre 2024
Lieu
Paris
Durée
3 jrs
1995 € HT
Du 18 au 20 novembre 2024
Lieu
Distanciel
Durée
3 jrs
1995 € HT
Du 18 au 20 novembre 2024
Lieu
Paris
Durée
3 jrs
1995 € HT


Formations Informatique
et Management
en ligne à ce jour

+
Stagiaires dans nos salles
de cours sur
l'année

%
De participants satisfaits
ou très satisfaits de nos
formations


Formateurs experts
validés par
PLB