Logo Rust

Formation Rust

Rust est un langage de programmation moderne qui se distingue par sa capacité à garantir la sécurité mémoire sans sacrifier les performances. Rust propose des concepts uniques d'ownership, de borrowing, et de lifetimes qui réduisent les erreurs courantes de segmentation et de situations de compétition (race conditions). Il est un excellent choix pour des projets qui nécessitent de la performance et fiabilité. Dans cette formation Rust, les participants apprendrons à maîtriser ces concepts fondamentaux. Notre formation Rust commence par une introduction aux principes de base du langage, notamment les types, la gestion des erreurs, et le modèle de concurrence. Les apprenants explorent ensuite des sujets plus avancés, tels que la programmation générique, l'utilisation des traits et des smart pointers et les spécificités du multi-threading en Rust. Dans la suite de cette formation Rust, nous découvrirons la richesse de l'écosystème, avec son gestionnaire de paquets cargo et l'accessibilité de ses nombreuses bibliothèques open-source. La formation met un accent particulier sur les exercices pratiques.

Objectifs pédagogiques

  • Découvrir les concepts du langage Rust
  • Maitriser la programmation concurrente et la gestion d'erreur
  • Utiliser les outils de l'écosystème Rust
  • Comprendre l'interopérabilité avec C/C++

Pré-requis

  • Connaissance d'un autre langage de programmation

Public

  • Développeurs
  • Chefs de projets

Programme

Jour 1

Introduction à Rust

  • Historique et philosophie, Comparaison avec d'autres langages
  • Fondamentaux : Performance, Gestion sécurisée de la mémoire, Gestion des erreurs, Concurrency
  • Concepts clés : Ownership, Borrowing, Lifetimes
  • Paradigmes Impératif, Fonctionnel, Orienté objet
  • Installation, rustup, cargo, le compilateur rustc

Les Bases de la Programmation en Rust

  • Les Types Primitifs, Structurés, Enumérations
  • Fonctions, Variables et immutabilité, Structures de contrôle
  • Ownership et borrowing, Slices, Lifetime annotations

Jour 2

Structures de Données et Gestion des Erreurs

  • Les Collections en Rust : Vec, HashMap, HashSet, String
  • Itérateurs et Fermetures : Utilisation, Création, Chaînage
  • Gestion des Erreurs : Pattern Result, Gestion des panic

Programmation Générique et Traits

  • Types génériques, Fonctions génériques, Structures génériques
  • Les Traits : Définition, Implémentation, Traits standards
  • Smart Pointers : Box, Rc, Arc, Cell, RefCell

Jour 3

Qualité du Code

  • Automatisation des Tests
  • Documentation avec rustdoc
  • Linting avec clippy

Concurrency en Rust

  • Concurrency et Parallelisme : Threads, Model de mémoire de Rust
  • Synchronisation et Communication : mpsc, Arc, Mutex, Canal
  • Sécurité en Concurrency : Trait Send et Sync, Patterns sans blocage

Jour 4

Avancé et Interopérabilité

  • Programmation Avancée : Macros, Attributes, Unsafe Rust
  • Interopérabilité C et C++ : Utiliser des bibliothèques externes, Exposer Rust à C/C++
  • Projet et Meilleures Pratiques : Structure de projet, Gestion des dépendances, Publication

Projet Final

  • Planification et Design : Analyse des besoins, Conception de l'architecture
  • Développement : Implémentation des fonctionnalités, Gestion des erreurs, Tests
  • Finalisation : Revue de code, Optimisation, Documentation
  • Présentation du Projet : Démonstration, Retour sur les apprentissages, Discussion ouverte

Méthodes mobilisées

  • Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
  • Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
  • Un support de cours en version numérique sera remis à chaque participant

Modalités d’évaluation

  • Questions orales ou écrites (QCM)
  • Exercices pratiques
  • Auto-positionnement en amont et aval de la formation

Accessibilité aux personnes handicapées

Nous nous engageons à rendre notre formation Rust accessible aux personnes en situation de handicap. Merci de nous contacter afin que nous puissions réaliser les adaptations nécessaires en amont de la formation.
Dernière modification le 18/03/2024