Rust est un langage de programmation de la fondation Mozilla, multiparadigmes : objet, fonctionnel, générique, doté de bibliothèques modernes. Cette formation vous apprendra tout ce qu'il y a à savoir pour prendre le langage en main et le comprendre. Vous verrez également comment gérer ses fonctionnalités.
Vous souhaitez une formation adaptée aux spécificités de votre entreprise et de vos équipes ? Nos experts construisent votre formation sur mesure, dans la langue de votre choix !
Rust est un langage de programmation de la fondation Mozilla, multiparadigmes : objet, fonctionnel, générique, doté de bibliothèques modernes. Cette formation vous apprendra tout ce qu'il y a à savoir pour prendre le langage en main et le comprendre. Vous verrez également comment gérer ses fonctionnalités.
À l’issue de la formation, le participant sera en mesure de :
Concevoir et lire des programmes en Rust
Programmer objet avec les structs et les traits
Utiliser les lambdas, l’inférence de type, le pattern matching
Maîtriser les cycles de vie des objets
Utiliser les API les plus courantes de Rust
Public concerné
Développeurs, chefs de projets, architectes.
Prérequis
Bonne connaissance d’un langage de programmation, et connaissance des pointeurs/références.
Méthodes et moyens pédagogiques
Méthodes pédagogiques
Méthode pédagogique : stage pratique alternant 50 % de théorie et 50 % d’exercices.
Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.
Programme de la formation
1
Introduction et outillage Rust
Un langage sécurisé et performant : détection des erreurs à la compilation et panique contrôlée.
Compilateur Rust.
Cargo pour la gestion des projets et paquets.
Documentation avec Rustdoc.
Les environnements de développement intégré (IDE) pour Rust.
Travaux pratiques
Prise en main du langage et de son outillage.
2
Bases de Rust
Les types de base de Rust. Variables mutables et immuables.
Différents types de chaînes de caractères.
Programmation procédurale et retour des fonctions implicites.
Contrôle de flux et différents types de boucles, pattern matching.
Programmation générique avec Rust.
Expressions lambdas et captures.
Les macros de Rust pour la métaprogrammation.
Travaux pratiques
Implémentation d’algorithmes procéduraux et génériques avec Rust.
3
Vers une programmation orientée objet
Les "traits" standards les plus communs : Copy, Clone, Into, Drop…
Visibilité, publicité, privauté à travers les modules et les crates.
Agréger les données avec les structs et les tuples.
Implémentation des structs.
Enum pour codifier et structurer.
Contrats fortement typés avec les traits et leur implémentation.
Travaux pratiques
Conception à base d’interface.
4
Cycle de vie des objets, gestion mémoire
Cycle de vie des objets, portées, possession et emprunt des objets.
Mettre un label sur les portées des objets pour les cycles de vie complexes.
Compteurs de référence Rc<T> pour le partage des objets.
Allocation dynamique avec Box<T> pour la liberté du cycle de vie.
Pointeurs, blocs unsafes et pointeurs intelligents avec Unique<T>, Shared<T> pour le bas niveau.
Travaux pratiques
Implémentation d’arborescence et gestion de cycle de vie.
5
Bibliothèques de Rust
Appeler Rust avec d’autres langages grâce à Foreign Function Interface (FFI).
Les collections de Rust.
Bibliothèques d’entrées sorties : lire et écrire dans les fichiers avec Rust.
Multithreading avec Rust : synchroniser l’accès aux données.
Appeler du code C avec Rust.
Travaux pratiques
Faire du multitâche avec Rust.
Avis clients
4,3 / 5
Les avis clients sont issus des évaluations de fin de formation. La note est calculée à partir de l’ensemble des évaluations datant de moins de 12 mois. Seules celles avec un commentaire textuel sont affichées.
FRANÇOIS-JÉRÔME B.
02/04/25
5 / 5
Certains sujets abordés un peu rapidement, qui pourraient avoir un TP dédié (asynchronisme, multithreading, entrées/sorties)
CÉDRIC T.
02/12/24
4 / 5
Temps très court sur un sujet et des concepts particulièrement vastes.
HOUCINE KARIM B.
02/12/24
4 / 5
Les exercices ne sont pas suffisamment clairs, et trop compliqués algorithmiquement pour pouvoir se concentrer sur le langage.Très bonne prestation du formateur.Le supports sont bons pour la présentation, mais pas comme aide-mémoire ou source d’information.
JÉRÔME M.
02/12/24
5 / 5
Très intéressant comme overview. Un peu court, ce n’est pas facile d’assimiler tous les concepts de ce nouveau langage. J’aurais aimé plus de détails sur le bas niveau ( peut-etre une future formation rust for microcontroller ?? )
FRANCK P.
02/12/24
4 / 5
contenu pédagogique est conséquent et nécessitant un temps d’aprentissage assez long.la durée de la formation (3j) est correcte, moins long ne serait pas raisonable.les exercices pourraient êtres plus dissociés les uns des autres pour permettre de s’abstraire des réalisations précédentes pour la suite des exercices.
SIMONIN LAURENT O.
02/12/24
4 / 5
Très bon animateur : j’ai apprécié le ton, la patience, l’honnêteté, la pédagogie.Le contenu de la formation est bien centrée sur Rust (on ne divague pas sur d’autres sujets), bien menée.Le contenu des exercices m’a paru un peu trop complexe : en plus d’assimiler le langage Rust, on doit assimiler l’implémentation fournie, ce qui est une "perte de temps" (les guillemets sont importants) au vu de l’apprentissage du Rust.
BAPTISTE C.
02/12/24
4 / 5
J’ai aimé.Partant de zéro en RUST la formation est très dense. Notamment le vocabulaire rust associé.J’aurais aimé des exercices un peu plus simple pour rentrer plus facilement dans le language notamment le 1er jour pendant lequel on voit de nombreux concepts.Avoir les solutions dès le début est un + voir un must have tant j’ai eu du mal à savoir comment commencer parfois.Les conseils et les "personal session" délivrés pendant la formation sont un vrai +.
BORIS R.
02/12/24
4 / 5
Bon contenu de la formation mais un peu dense pour le temps impartiExercice trop complexe pour une première prise en main de ces concepts
OLIVIER L.
02/12/24
4 / 5
Très bonne présentation et animation par le formateur. Le temps passé sur les présentations me semble nécessaire pour la bonne compréhension et acquisition des concepts. En contre-partie, sur 3 jours, cela laisse moins de temps que nécessaire sur la partie pratique. D’autant que j’ai trouvé les exercices complexes (gestion d’un arbre binaire) pour une première mise en oeuvre des concepts.
PIERRE YOANN A.
03/06/24
4 / 5
Les exercices pratiques permettent bien mieux d’appréhender les concepts qu’un parcours théorique. Certaines explications sont parfois un peu brouillonnes mais c’est sans doute dû à la complexité du langage et à la différence de niveau entre les participants. Le formateur est plus à l’aise sur les travaux pratiques, la progression est bien plus intéressante à ce moment-là.