Programmation Rust avancée

Rust

Cette formation a pour but l'approfondissement des connaissances Rust dans un ensemble de domaines plus pointus comprenant: la programmation asynchrone, la programmation graphique, la programation pour le web, etc. Rust est un langage de programmation système ultra-rapide, qui prévient les erreurs de segmentation et garantit la sûreté entre threads. Il a été conçu pour être un langage sécurisé, concurrent, pratique, supportant les styles de programmation purement fonctionnel, modèle d'acteur, procédural, ainsi qu'orienté objet sous certains aspects.

Cette formation peut être dispensée en présentiel ainsi qu'à distance.

Langues: Français, Anglais

2200 € (Hors taxes)
4 jours (28 heures)

Plaquette de présentation


Pourquoi choisir cette formation ?

Cette formation s'effectue, pour chaque module, à 60% par des exercices pratiques et à 40% par des présentations. A la fin de la formation, les stagiaires sont autonomes dans leurs développement en Rust. Une attestation est remise à chaque stagiaire ayant suivi la formation complète.

Notre organisme de formation est référencé par DataDock.


Objectifs

  1. Réflechir comme un rustacean.
  2. Ecrire du code idiomatique Rust.
  3. Etre autonome dans les domaines adressés par la formation.

Prérequis

  • Connaissances de base en développement.
  • Environnement Unix / Linux.
  • Programmation Rust de base (voir formation initiale).

Programme de la formation

Module 1 - Introduction
  • Révision des connaissances Rust de base
Module 2 - Programmation avancée
  • Constantes calculées (fonctions const)
  • Reflexivité (Any et TypeId)
  • Mémoire non-move (pin et unpin)
Module 3 - Programmation asynchrone
  • Fonctions async
  • Runtimes tokio et async-std
  • IO asynchrone
  • Programmation orientée agent avec Actix
Module 4 - Préparation à l'embarqué
  • Programmation no-std
  • Collections avec allocation dynamique (alloc)
  • Collections sans allocation dynamique (heapless)
Module 5 - Programmation graphique
  • Tour d'horizon de l'écosystème
  • Interfaces système (GUI)
    • druid et piet
    • Azul
Module 6 - Programmation pour le web
  • Accès à une base SQL avec diesel
  • Serveur web
    • Rocket et Actix-web
  • Rust dans le browser avec WebAssembly

Votre formateur

Laurent Wouters est co-fondateur de Cénotélie et un chercheur et formateur dédié. Laurent pratique ce langage au quotidien depuis plusieurs années, notamment dans le cadre du développement d'une plateforme en ligne pour le suivi de la croissance des cultures agricoles sur la base de l'analyse d'images satellite. Il s'agit d'un produit industriel complexe, dont tous les composants côté serveur sont écrits en Rust.
Pour un aspect plus visible, Laurent participe à Hime, dont une version du runtime est écrite en Rust.

Laurent détient un titre de doctorat en Théorie des langages. Durant ses activités de recherches il s'est passionné à comprendre comment les languages et la sémantique peuvent améliorer les pratiques de collaboration et l'ingénierie des systèmes complexes. Par ailleurs, il a participé à l'encadrement de plusieurs travaux de stage et de thèse. Avant de devenir un formateur professionnel, il s'est forgé une expérience en tant qu'enseignant dans plusieurs grandes universités parisiennes, dont l'Ecole Centrale de Paris.


Témoignages