03 20 61 95 06

Formation Rust Perfectionnement


  • frp-ph
  • Durée : 3 jours
  • Tarif : 8000 € HT

97%

Taux de satisfaction clients
(sur 1823 évaluations du 19/05/21 au 24/11/25)

Voir les avis

Objectifs

Cette formation a pour objectif de donner aux participants une maîtrise avancée de Rust, en leur permettant :
• D’approfondir les abstractions du langage : traits avancés, généricité, dispatch, closures.
• De comprendre ce qui se passe sous le capot : représentation mémoire, monomorphisation, optimisations du compilateur.
• De gérer des cas complexes d’ownership et de lifetimes, y compris avec smart pointers et types non-move.
• De concevoir des systèmes concurrents robustes et performants, en exploitant async/await, les runtimes et les primitives de synchronisation.
• D’acquérir une culture de la performance grâce aux outils de profiling et de benchmarking.
• D’aborder les mécanismes quasi-réflexifs de Rust via les macros, notamment procédurales.
• De consolider ces compétences à travers un projet fil rouge appliquant les notions avancées.

Prérequis

• Avoir suivi une formation sur les fondamentaux de Rust ou connaissances équivalentes
• Connaître l’environnement Unix / Linux
• Disposer d’une connexion internet pour utiliser des sites tels que Compiler Explorer, Rust playground et récupérer quelques autres outils.

Cette formation ne peut être financée que dans le cadre d’un projet d’entreprise (prise en charge entreprise ou OPCO). Les dossiers à financement personnel et CPF ne sont pas pris en compte.

Public

Professionnels de l’informatique

Dernière mise à jour

Programme mis à jour le 27 novembre 2025
enveloppe Cette formation vous intéresse ? Contactez-nous

Bon à savoir

Evaluez votre niveau

Pour vous aider à bien choisir votre formation, nous vous proposons soit un entretien avec le formateur soit un test d’évaluation. Cela vous assurera que vous disposez des connaissances nécessaires pour suivre la formation dans des conditions optimales.

Sessions garanties

La majorité de nos sessions proposées en distanciel sont garanties. Elles peuvent être enregistrées à la demande.

Travaux pratiques

Nos formations comprennent de nombreux travaux pratiques pour un meilleur apprentissage (60 % de pratique). Nous proposons également de travailler sur vos données pour une meilleure expérience.
modules

Les Modules
de formation

Module1
Traits et génériques
• Rappel sur les traits et les génériques
• Cohérence et règle orpheline (orphan rules)
• Utilisation avancée des traits et types associés
• Bounds avancés: clause where, contrainte ?Sized, contraintes sur Self
• Traits standards: From/Into, Deref, Borrow/AsRef, traits d’extension
• PhantomData 👻
• Technique autoref-based stable specialization
Module2
Macros et métaprogrammation

• Macros déclaratives (macro_rules!)

o Patterns et syntaxe de base
o Répétitions et séparateurs
o Hygiène et portée des identifiants
o Cas d’usage pratiques
• Macros procédurales
o Derive macros (génération automatique d’implémentations)
o Attribute-like macros
o Function-like macros
o TokenStream et manipulation de l’AST
o Crates syn et quote
• Cas pratiques avancés
o Génération de code DSL
o Builder patterns automatisés
o Validation à la compilation
Module3
Lifetime et borrowing avancé

• Le cas implicitement géré par le compilateur (règles d’élision)

• Évolution des lifetimes au fil des versions du compilateur
• Les annotations explicites: exemples, intérêts et cas concrets
• Emprunts imbriqués, re-borrowing et partial moves
• Contraintes de lifetimes
• Exploration des smart pointers: Box, Rc, Arc
• Immutabilité et mutabilité interne: Cell, RefCell
• Accès concurrents: Mutex, RwLock
• Mémoire non-move (Pin et Unpin) et structures auto-référentielles
• Patterns et techniques avancées de ownership
• Arbre de décision pour choisir son container
Module4
Représentation des Types

• L’importance de la représentation mémoire

• Représentation mémoire des types fondamentaux
o Layout des structs et tuples
o Layout des enums
o Optimisation des enums (null pointer optimization – NPO)
o Visualisation des layouts
o Les représentations alternatives (#[repr(…)])
• Organisation de la mémoire: Stack, Heap, Static
• Mécanismes d’allocation dynamique
o Coût des méthodes d’allocation
o Box et représentation interne
o Vec et capacité/croissance
• Chaînes de caractères
o String vs &str en profondeur
o Les autres chaînes de caractères
o Optimisations des opérations sur les chaînes
• FFI et représentations compatibles
o Annotations #[repr(C)], #[repr(transparent)] et compatibilité ABI
o Types opaques et pointeurs raw
o Gestion manuelle de la mémoire aux frontières
Module5
Mécanismes de Dispatch

• Static vs Dynamic dispatch

o Monomorphisation
o Vtables et fat pointers
o Trait Objects et Object Safety
o Forces et faiblesses de chaque approche
• Closures
o Types de closures (Fn, FnMut, FnOnce)
o Hiérarchie des closures
o Capture d’environnement (Move vs Borrow)
o Async closures
• Enum dispatch
• Le juste choix de dispatch
Module6
Réflexivité et introspection

• Limitations de la réflexion en Rust (système de types statique)

• std::any::Any et TypeId
• Downcast et type erasure
• Traits std::fmt::Debug et Display pour l’introspection
• Lien avec les macros procédurales pour la génération de code
Module7
Programmation concurrente

• Concurrence et Parallélisme : deux notions distinctes

• async vs threads
• Send et Sync traits
• Comprendre le mécanisme async/await
• Runtimes et outils
• Primitives de concurrence avancées
Module8
Outils pour les tests et l'analyse de performance

• Profilage et analyse comparative du code Rust

• Identification des goulots d’étranglement des performances
• Outils concrets:
o Criterion (benchmarking)
o iai-callgrind (benchmarking déterministe)
o flamegraph (visualisation de profiling)
o samply (sampling profiler)
o cargo rustc (contrôle direct du compilateur)

Cette formation vous intéresse ? Contactez-nous !

    Les données personnelles collectées sont destinées à Access IT Company et utilisées pour traiter votre demande et, lorsque vous ne vous y êtes pas opposé, vous communiquer nos offres commerciales. Les données obligatoires vous sont signalées sur le formulaire par un astérisque. L’accès aux données est strictement limité par Access IT Company aux collaborateurs en charge du traitement de votre demande. Conformément au Règlement européen n°2016/679/UE du 27 avril 2016 sur la protection des données personnelles et à la loi « informatique et libertés » du 6 janvier 1978 modifiée, vous bénéficiez d’un droit d’accès, de rectification, d’effacement, de portabilité et de limitation du traitement des donnés vous concernant ainsi que du droit de communiquer des directives sur le sort de vos données après votre mort. Vous avez également la possibilité de vous opposer au traitement des données vous concernant. Vous pouvez exercer vos droits en contactant le DPO à l’adresse suivante : dpo@access-it.fr ou à l’adresse postale suivante 2, Allée Lavoisier, 59650 Villeneuve d’Ascq. Pour plus d’informations sur le traitement de vos données personnelles par Access IT Company, veuillez consulter notre politique de confidentialité disponible sur notre site internet à l’adresse suivante : https://formation.access-it.fr/politique-de-confidentialite/