Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

9 chapitres4 hIntermédiaire

Découvrir le langage Rust

Cours Rust gratuit en français pour le BTS SIO : installation, ownership, emprunts, structs, enums, erreurs, traits, tests et un projet corrigé.

Par Josselyn C., prof de BTS SIO. Mis à jour le .

L'essentiel

Rust est un langage de programmation compilé qui garantit la sûreté de la mémoire sans ramasse-miettes : c'est le compilateur, et non un programme qui tourne en arrière-plan, qui vérifie qu'aucune donnée n'est utilisée après sa libération ni modifiée par deux endroits à la fois. Ses performances sont comparables à celles du C et du C++, et il sert aujourd'hui dans le noyau Linux, dans Android, dans Windows et dans beaucoup d'outils en ligne de commande.

À la fin de ce cours, tu sauras :

  • installer Rust, créer un projet avec cargo et lire les messages du compilateur ;
  • écrire des programmes avec des variables, des fonctions, des structs, des enums et match ;
  • expliquer l'ownership, les emprunts et les durées de vie, et dire quelles failles ils empêchent ;
  • gérer les erreurs avec Option, Result et l'opérateur ?, sans jamais faire planter ton programme par surprise ;
  • utiliser Vec, String, HashMap, les itérateurs, les traits et les génériques ;
  • construire un vrai outil en ligne de commande, découpé en modules et couvert par des tests ;
  • écrire une petite API web avec axum et la comparer à la même API sous Express.

Avant ce cours. Il te faut déjà un langage. Tu dois savoir ce que sont une variable, une condition, une boucle, une fonction et un tableau, par exemple avec le cours JavaScript. Si tu as suivi le cours de programmation orientée objet en C#, tu iras plus vite : le chapitre 7 compare les traits de Rust aux interfaces C#. Le cours d'algorithmique suffit si tu n'as encore jamais codé dans un vrai langage, mais compte alors plus de temps.

Le fil rouge. Tous les exemples construisent le même outil : parc, un programme en ligne de commande pour le service informatique de Sorbier Logistique, l'entreprise de la base d'exemple du cours SQL. Il lit l'inventaire des postes dans un fichier CSV, les liste, calcule la valeur du parc, repère les postes à renouveler et enregistre les nouvelles affectations. Le chapitre 8 l'assemble en entier, avec ses tests ; le chapitre 9 l'expose sous forme d'API web.

Les versions. Rust sort une version stable toutes les six semaines (la 1.99 en octobre 2026, la 1.100 mi-novembre) ; rustup update te donne toujours la dernière. Le code de ce cours utilise l'édition 2024 du langage, celle que cargo new choisit par défaut, et fonctionne avec toute version égale ou supérieure à 1.85. Les crates (bibliothèques) employées sont clap 4.6, chrono 0.4, axum 0.8, tokio 1 et serde 1. Chaque programme a été compilé et exécuté : les sorties affichées sont celles que tu dois obtenir.

Comment travailler. Installe Rust dès le chapitre 1, puis tape chaque exemple toi-même. Quand un programme ne compile pas, lis le message en entier : le compilateur de Rust est réputé pour ses explications, et ce cours t'apprend à les lire. Chaque chapitre se termine par des exercices dont la réponse est masquée : cherche d'abord, ouvre ensuite.

Ton objectifChapitres à travailler en priorité
Savoir ce qu'est Rust pour ta veille1 et 3
Découvrir le langage pas à pas1 à 6
Comprendre la sûreté mémoire (bloc 3)1, 3 et 5
Comparer avec la POO en C#4 et 7
Construire un vrai programme8, puis 9

Sommaire

0%

Rust

0 chapitre sur 9

  1. Chapitre 1 : C'est quoi Rust ? Pourquoi l'apprendre et comment l'installer16 min
  2. Chapitre 2 : Variables, types, fonctions et boucles en Rust26 min
  3. Chapitre 3 : Ownership, emprunts et durées de vie : la mémoire en Rust29 min
  4. Chapitre 4 : Structs, enums et match21 min
  5. Chapitre 5 : Gérer les erreurs : Option, Result et l'opérateur ?22 min
  6. Chapitre 6 : Vec, String, HashMap et itérateurs22 min
  7. Chapitre 7 : Traits et génériques : les interfaces de Rust24 min
  8. Chapitre 8 : Projet : un outil en ligne de commande, modules et cargo test56 min
  9. Chapitre 9 : Une API web en Rust avec axum, comparée à Express20 min
Commencer le cours

Questions fréquentes

C'est quoi le langage Rust ?

Rust est un langage de programmation compilé, à typage statique, conçu pour offrir des performances comparables à celles du C et du C++ tout en garantissant la sûreté de la mémoire. Il n'a pas de ramasse-miettes : des règles de propriété (l'ownership), vérifiées par le compilateur, décident quand libérer chaque donnée. Créé par Graydon Hoare, longtemps soutenu par Mozilla et stable depuis 2015, il est aujourd'hui porté par la Rust Foundation et utilisé dans le noyau Linux, Android et Windows.

Rust est-il au programme du BTS SIO ?

Non. Aucune épreuve du BTS SIO ne demande d'écrire du Rust, et ce cours est une découverte. Il reste utile pour ta veille technologique (la sûreté mémoire est un sujet d'actualité, porté par l'ANSSI, la NSA et la CISA) et pour comprendre la sécurité des développements, au programme du bloc 3. Pour tes réalisations professionnelles, reste sur les langages vus en formation, sauf si ton contexte justifie Rust.

Pourquoi dit-on que Rust est un langage sûr ?

Parce que son compilateur refuse les programmes qui pourraient utiliser une zone mémoire libérée, la libérer deux fois, lire hors d'un tableau sans contrôle ou modifier une donnée depuis deux fils d'exécution en même temps. Ces erreurs représentent environ 70 % des vulnérabilités corrigées chaque année par Microsoft dans ses produits, et une proportion comparable des failles graves de Chrome, selon Microsoft (2019) et Google. Rust ne protège pas des failles logiques (injection SQL, contrôle d'accès oublié) : il supprime la famille des failles mémoire, tant qu'on n'utilise pas unsafe.

Rust est-il difficile à apprendre ?

Les débuts sont plus exigeants que pour Python ou JavaScript : le compilateur refuse des programmes que d'autres langages accepteraient, surtout à cause des règles d'emprunt. En contrepartie, ses messages d'erreur expliquent le problème et proposent souvent la correction. Si tu connais déjà un langage, compte quelques semaines de pratique régulière pour être à l'aise avec les bases de ce cours.

C'est quoi l'ownership en Rust ?

L'ownership (propriété) est la règle selon laquelle chaque valeur a un seul propriétaire, la variable qui la contient, et est libérée automatiquement quand ce propriétaire sort de portée. Affecter une String à une autre variable la déplace : l'ancienne variable devient inutilisable. Pour utiliser une valeur sans la prendre, on l'emprunte avec une référence & (lecture) ou &mut (écriture), sous le contrôle du compilateur. Le chapitre 3 l'explique avec des schémas.

Quelle est la différence entre String et &str en Rust ?

String est un texte possédé et modifiable, stocké sur le tas ; &str est une vue empruntée sur un texte qui appartient à quelqu'un d'autre (un littéral, une String, ou une partie de celle-ci). On utilise String pour les champs d'une struct et les textes que l'on construit, et &str pour les paramètres des fonctions qui se contentent de lire. Un paramètre &str accepte aussi bien "PC-0001" que &une_string (String et &str).

Rust est-il un langage orienté objet ?

En partie. Rust a l'encapsulation (champs privés, méthodes dans des blocs impl), le polymorphisme et l'abstraction grâce aux traits, l'équivalent des interfaces de C#. Il n'a pas de classes ni d'héritage : on réutilise le code par composition et par les traits. Les principes de conception de la POO restent valables, en particulier « préférer la composition à l'héritage ».

Faut-il apprendre Rust, C++, Go ou Python ?

Ça dépend de l'objectif. Python reste le plus simple pour automatiser et analyser des données ; Go est apprécié pour les services réseau et les outils DevOps ; C++ domine encore le jeu vidéo et une grande part du code existant. Rust est choisi quand on veut les performances du C++ avec la sûreté mémoire : systèmes, outils en ligne de commande, services très sollicités, sécurité. Pour un étudiant de BTS SIO, maîtriser d'abord les langages de la formation, puis découvrir Rust, est la bonne progression.

Comment installer Rust sous Windows ?

Télécharge rustup-init.exe sur rustup.rs et lance-le. Rust a besoin des outils de compilation C++ de Microsoft ; s'ils manquent, l'installeur propose de les installer avec Visual Studio : accepte. Ouvre ensuite un nouveau terminal et vérifie avec rustc --version et cargo --version. Installe enfin VS Code et son extension rust-analyzer (installer Rust avec rustup).

Existe-t-il un cours Rust gratuit en PDF ou un livre en français ?

La référence est le livre officiel The Rust Programming Language, gratuit en ligne et installé avec Rust (rustup doc --book), en anglais et à jour. Une traduction française communautaire, Le langage de programmation Rust, existe aussi en ligne, mais elle porte sur une version plus ancienne du langage (Rust 1.58) : les bases restent valables, l'édition 2024 n'y figure pas. Google publie aussi Comprehensive Rust, un cours complet et gratuit, traduit en français (google.github.io/comprehensive-rust/fr), conçu pour des personnes qui savent déjà programmer. Pour s'exercer, les exercices Rustlings, en anglais, complètent bien ce cours.