Systems Programming in Rust, Done Right
Rust est un langage systems qui garantit la sécurité mémoire sans garbage collector. C'est le langage derrière des parties du noyau Linux, des serveurs web haute performance, des runtimes WebAssembly, et des firmwares embarqués — partout où la correction et la vitesse importent. Cette piste couvre Rust depuis les premiers principes jusqu'à la concurrence avancée, l'async I/O, et le travail systems bas niveau, entièrement fondé sur le modèle d'ownership réel du langage.
Ce que vous apprendrez
Vous commencerez par le système de types de Rust — variables, types de données, strings, slices, vectors, et HashMaps — puis vous passerez à la mécanique qui rend Rust distinct : ownership, borrowing, et lifetimes. De là, vous travaillerez sur les fonctions et closures, les iterators, les generics et trait bounds, et le pattern matching avancé. Les modules pratiques couvrent la programmation asynchrone avec Tokio, la construction d'outils CLI avec clap, les services web avec Axum, l'accès aux bases de données avec sqlx, la serialization avec Serde, les services gRPC avec tonic, et la conception REST API. Aux niveaux supérieurs, vous écrirez des macros, utiliserez deliberately unsafe Rust, appellerez du code extérieur via FFI, compilerez vers WebAssembly, et travaillerez avec les systèmes embarqués.
Le chemin d'apprentissage
Trente-neuf cours s'étendent de A1 à C2. Les cours A1 et A2 établissent la syntaxe, les structures de données core, et le control flow. B1 ajoute les modules, Cargo, les threads, et l'état partagé. Le tier B2 est le plus grand bloc — quatorze cours couvrant l'écosystème async, les frameworks real-world, et les patterns d'organisation de projet. C1 approfondit les lifetimes, les smart pointers, les macros, le unsafe code, WebAssembly, les services web avancés, une application GUI avec egui, et le game development avec Bevy. La piste se termine à C2 avec le système de types avancé — generics, traits, et associated types — et la programmation embedded Rust et les fondamentaux de systems programming.
Comment ça marche
Chaque cours est divisé en courtes leçons ciblées que vous complétez dans l'éditeur de code intégré avec des retours en temps réel. Un tuteur IA est disponible chaque fois que vous êtes bloqué, vous pouvez donc travailler sur les erreurs d'ownership et les annotations de lifetimes à votre rythme sans quitter l'application.