Parcours
Apprendre Rust
Un cours Rust en ligne, interactif et gratuit. Tu écris du Rust à chaque leçon — syntaxe, ownership et borrowing, lifetimes, traits, pattern matching — avec des indices IA quand le borrow checker te résiste, et un certificat gratuit à la fin.
16,687+ codders inscrits
- Adapté aux débutants
Aide au codage assistée par IA
Leçons interactives et pratiques
Narration audio dans chaque leçon
Quiz pour tester vos connaissances
Certificat gratuit de réussite
Programme
Section 1
Fundamentals
Commencer la sectionDémarrerDévelopperRéduireBuild a strong foundation with essential concepts and basic skillsIntroduction
4 leçons324- 01RustDéfi
- 02Hello World !DéfiQuiz
- 03CommentairesQuiz
- 04Structure de base d'un programmeDéfiQuiz
Variables, partie 1
5 leçons539- 01NombresDéfiQuiz
- 02CharDéfiQuiz
- 03StringDéfiQuiz
- 04BooléensDéfiQuiz
- 05Variables mutablesDéfiQuiz
Variables - Partie 2
5 leçons433- 01Déclaration de typeDéfiQuiz
- 02Conventions de nommageQuiz
- 03Inférence de typeDéfiQuiz
- 04Récapitulatif - Initialiser des variablesDéfi
- 05Conversion de typeDéfiQuiz
Opérateurs - Partie 1
5 leçons438- 01Opérateurs arithmétiquesDéfiQuiz
- 02Opérateur moduloDéfiQuiz
- 03Raccourcis arithmétiquesDéfiQuiz
- 04Opérateurs de comparaisonDéfiQuiz
- 05Comparaison de chaînesQuiz
Opérateurs, partie 2
4 leçons424- 01Opérateurs logiques, partie 1DéfiQuiz
- 02Opérateurs logiques, partie 2DéfiQuiz
- 03Récapitulatif - Logique simpleDéfi
- 04Opérateurs logiques, partie 3DéfiQuiz
Prise de décision
5 leçons532- 01Expressions IfDéfiQuiz
- 02If-ElseDéfiQuiz
- 03Instruction MatchDéfiQuiz
- 04Récapitulatif - If ElseDéfi
- 05If-Else imbriquésDéfiQuiz
Entrées/Sorties de base
4 leçons417- 01Afficher dans la consoleDéfiQuiz
- 02Lire la saisie utilisateurDéfiQuiz
- 03Récapitulatif - Jusqu'à 120Défi
- 04Récapitulatif - Vrai ou FauxDéfi
Application calculatrice
Projet4 leçons1- 01Message de bienvenueDéfi
- 02Saisie des nombresProjet
- 03Opérations de baseProjet
- 04Sortie formatéeProjet
Boucles
8 leçons851- 01Boucle For sur une sérieDéfiQuiz
- 02Boucle WhileDéfiQuiz
- 03BreakDéfiQuiz
- 04ContinueDéfiQuiz
- 05Boucles imbriquéesDéfiQuiz
- 06Étiquettes de boucleDéfiQuiz
- 07Boucle infinieDéfiQuiz
- 08Récapitulatif - Entrée dynamiqueDéfi
Liaisons de variables
4 leçons230- 01PortéeQuiz
- 02Masquage, partie 1DéfiQuiz
- 03Liaison de variableQuiz
- 04Masquage, partie 2DéfiQuiz
Fonctions
6 leçons634- 01Déclaration de fonctionsDéfiQuiz
- 02Paramètres et argumentsDéfiQuiz
- 03Valeurs de retourDéfiQuiz
- 04Valeurs de retour multiplesDéfiQuiz
- 05Récapitulatif - Fonction SigmaDéfi
- 06Récapitulatif - Fonction de validationDéfi
Bases des tableaux
5 leçons430- 01Déclaration de tableauxDéfiQuiz
- 02Tableau comme paramètreQuiz
- 03Accès aux élémentsDéfiQuiz
- 04Modification de tableauxDéfiQuiz
- 05Récapitulatif - Affichage formaté d'un tableauDéfi
Suite sur les tableaux
5 leçons423- 01Tableaux de références mutablesDéfiQuiz
- 02Méthodes de tableauxDéfiQuiz
- 03Récapitulatif - Tableau de produitsDéfi
- 04Récapitulatif - Tableau inverséDéfi
- 05Affichage amélioréQuiz
Parcourir les tableaux
4 leçons333- 01Guide sur les RangeDéfiQuiz
- 02Boucle for amélioréeDéfiQuiz
- 03Emprunt dans une boucleQuiz
- 04Opérations courantes sur les tableauxDéfiQuiz
Opérations sur les chaînes
4 leçons424- 01Méthodes de chaînesDéfiQuiz
- 02Macro format!DéfiQuiz
- 03Conversion de chaînesDéfiQuiz
- 04Récapitulatif - FormatDéfi
Projets finaux
3 leçons37- 01Motif de nombresDéfiQuiz
- 02Recherche de motifsDéfi
- 03Calculateur de notesDéfi
Section 2
Logic & Flow
Commencer la sectionDémarrerDévelopperRéduireDevelop problem-solving skills and create dynamic, interactive programsStructures de contrôle avancées
6 leçons640- 01L'expression 'match'DéfiQuiz
- 02Filtrage de plusieurs valeursDéfiQuiz
- 03Filtrage d'intervallesDéfiQuiz
- 04L'expression 'if let'DéfiQuiz
- 05Les boucles en tant qu'expressionsDéfiQuiz
- 06Récapitulatif - Analyseur de commandes simpleDéfi
Introduction aux vecteurs
8 leçons756- 01Qu'est-ce qu'un vecteur ?Quiz
- 02Créer un vecteurDéfiQuiz
- 03Ajouter des éléments avec pushDéfiQuiz
- 04Accéder aux éléments d'un vecteurDéfiQuiz
- 05Itérer sur un vecteurDéfiQuiz
- 06Itération mutableDéfiQuiz
- 07Supprimer des élémentsDéfiQuiz
- 08Récapitulatif - Suivi de score basiqueDéfi
Liste de tâches en ligne de commande
5 leçons5- 01Configuration du projetDéfi
- 02Ajouter une tâcheDéfi
- 03Afficher toutes les tâchesDéfi
- 04Supprimer une tâcheDéfi
- 05Code finalDéfi
Regrouper des données avec les structures
7 leçons650- 01Qu'est-ce qu'une structure ?Quiz
- 02Aperçu des structuresDéfiQuiz
- 03Accéder aux champs d'une structureDéfiQuiz
- 04Structures mutablesDéfiQuiz
- 05Les structures comme paramètres de fonctionDéfiQuiz
- 06Structures tupleDéfiQuiz
- 07Récapitulatif - Créer une structure BookDéfi
Paires clé-valeur avec les Hash Maps
8 leçons653- 01Qu'est-ce qu'une Hash Map ?Quiz
- 02Créer une Hash MapQuiz
- 03Insérer des paires clé-valeurDéfiQuiz
- 04Accéder aux valeursDéfiQuiz
- 05Parcourir une Hash MapDéfiQuiz
- 06Mettre à jour une valeurDéfiQuiz
- 07Supprimer une paireDéfiQuiz
- 08Récapitulatif - Compteur de motsDéfi
Gérer l'absence avec 'Option'
7 leçons645- 01Qu'est-ce qu'une 'Option' ?Quiz
- 02Utiliser 'match' avec 'Option'DéfiQuiz
- 03is_some() et is_none()DéfiQuiz
- 04Déballer une 'Option'DéfiQuiz
- 05La méthode expectDéfiQuiz
- 06Fournir une valeur par défaut : unwrap_orDéfiQuiz
- 07Récapitulatif - Trouver un élémentDéfi
Gestion des erreurs avec 'Result'
7 leçons648- 01Qu'est-ce qu'un 'Result' ?Quiz
- 02Utiliser 'match' avec 'Result'DéfiQuiz
- 03is_ok() et is_err()DéfiQuiz
- 04Raccourcis : unwrap et expectDéfiQuiz
- 05L'opérateur point d'interrogation '?'DéfiQuiz
- 06Analyse de chaînes en nombresDéfiQuiz
- 07Récapitulatif - Fonction de division sécuriséeDéfi
Projet : Inventaire d'articles simple
5 leçons5- 01Configuration du projetDéfi
- 02Ajouter un articleDéfi
- 03Vérifier le stockDéfi
- 04Vendre un articleDéfi
- 05Assembler le toutDéfi
Slices de chaînes et plus encore
5 leçons432- 01String vs. &strQuiz
- 02Créer des slices de chaînesDéfiQuiz
- 03Les slices comme paramètres de fonctionDéfiQuiz
- 04Autres types de slicesDéfiQuiz
- 05Récapitulatif - Trouver le premier motDéfi
Closures & Fonctions anonymes
5 leçons431- 01Qu'est-ce qu'une closure ?Quiz
- 02Définir une closure simpleDéfiQuiz
- 03Closures avec paramètresDéfiQuiz
- 04Capturer l'environnementDéfiQuiz
- 05Récapitulatif - Closure d'addition simpleDéfi
Défis finaux
3 leçons3- 01Récapitulatif - Éléments uniquesDéfi
- 02Récapitulatif - Validateur de profil utilisateurDéfi
- 03Récapitulatif - Synthèse des notesDéfi
Section 3
Object Oriented Programming
Commencer la sectionDémarrerDévelopperRéduireDiscover how to organize code with classes, objects, and reusable structuresMéthodes et comportement
7 leçons748- 01Introduction aux blocs d'implémentationDéfiQuiz
- 02Le paramètre SelfDéfiQuiz
- 03Méthodes mutablesDéfiQuiz
- 04Fonctions associéesDéfiQuiz
- 05Blocs d'implémentation multiplesDéfiQuiz
- 06Chaînage de méthodesDéfiQuiz
- 07Récapitulatif - Actions sur le rectangleDéfi
Encapsulation et modules
6 leçons543- 01Bases des modulesQuiz
- 02Le mot-clé publicDéfiQuiz
- 03Champs privésDéfiQuiz
- 04GettersDéfiQuiz
- 05SettersDéfiQuiz
- 06Récapitulatif - Casier sécuriséDéfi
Enums avancées
5 leçons535- 01Enums avec donnéesDéfiQuiz
- 02Méthodes sur les EnumsDéfiQuiz
- 03Matching des variantes de donnéesDéfiQuiz
- 04L'Enum Option revisitéeDéfiQuiz
- 05Récapitulatif - Enum ShapeDéfi
Projet : Animal virtuel
Projet5 leçons1- 01Définir l'animalDéfi
- 02Nourrir l'animalProjet
- 03Jouer avec l'animalProjet
- 04Rapport d'étatProjet
- 05Interaction finaleProjet
Généricité
5 leçons533- 01Structures génériquesDéfiQuiz
- 02Méthodes génériquesDéfiQuiz
- 03Plusieurs types génériquesDéfiQuiz
- 04Fonctions génériquesDéfiQuiz
- 05Récapitulatif - Point de coordonnéesDéfi
Définition des Traits
6 leçons641- 01Qu'est-ce qu'un Trait ?DéfiQuiz
- 02Implémenter des TraitsDéfiQuiz
- 03Implémentations par défautDéfiQuiz
- 04Redéfinir les comportements par défautDéfiQuiz
- 05Traits avec paramètresDéfiQuiz
- 06Récapitulatif - Lecteur multimédiaDéfi
Traits standards
5 leçons536- 01Le trait DebugDéfiQuiz
- 02Le trait DisplayDéfiQuiz
- 03Clone et CopyDéfiQuiz
- 04Les traits d'égalitéDéfiQuiz
- 05Récapitulatif - Point affichableDéfi
Les Traits comme contraintes
5 leçons534- 01Syntaxe des contraintes de traitDéfiQuiz
- 02Contraintes multiplesDéfiQuiz
- 03La clause whereDéfiQuiz
- 04Retourner des types avec des traitsDéfiQuiz
- 05Récapitulatif - Afficheur génériqueDéfi
Objets de trait
4 leçons425- 01Dispatch dynamiqueDéfiQuiz
- 02Vecteurs de traitsDéfiQuiz
- 03Itérer sur des objets de traitDéfiQuiz
- 04Récapitulatif - Gestionnaire de zooDéfi
Projet : Système de documents
Projet5 leçons1- 01Le trait DrawDéfi
- 02Composant texteProjet
- 03Composant boutonProjet
- 04La struct ScreenProjet
- 05Exécution de l'écranProjet
Design Patterns en Rust
5 leçons531- 01Le pattern NewtypeDéfiQuiz
- 02CompositionDéfiQuiz
- 03Le trait DropDéfiQuiz
- 04From et IntoDéfiQuiz
- 05Récapitulatif - Mock de Smart PointerDéfi
Défis finaux
3 leçons3- 01Pile génériqueDéfi
- 02Catalogue de bibliothèqueDéfi
- 03Calculateur d'aire de formesDéfi
Pourquoi apprendre Rust avec Coddy
- Écris et exécute du vrai code Rust dans ton navigateur. Pas d'installation de rustup, pas de configuration de Cargo. Chaque leçon compile ton programme Rust côté serveur et affiche la sortie (ainsi que les erreurs du compilateur) instantanément.
- Ce qui rend Rust unique : ownership, borrowing, lifetimes, traits, enums et pattern matching, gestion des erreurs avec
Result. Les fondations de Rust dont tout développeur système a besoin. - Les indices IA te guident à travers les erreurs du compilateur Rust, réputées pour leur sévérité, et le borrow checker devient un prof plutôt qu'un mur quand tu débutes.
- Certificat Rust gratuit à la fin du cours. Un vrai signal pour les postes en systèmes, infrastructure, blockchain et embarqué, où Rust devient de plus en plus le langage de référence.
Questions fréquentes sur l’apprentissage de Rust
Rust est-il facile à apprendre ?
Rust a la réputation d'être difficile, surtout à cause de l'ownership et du borrow checker — des concepts que la plupart des autres langages n'exposent pas. En contrepartie, le compilateur attrape une énorme catégorie de bugs dès la compilation. Le cours introduit l'ownership et le borrowing progressivement, avec de petits exercices qui transforment le borrow checker en prof plutôt qu'en mur.
À quoi sert Rust ?
Programmation système, infrastructure (des parties du noyau Linux, Cloudflare, Discord, Dropbox), outils en ligne de commande, embarqué, WebAssembly, et une part croissante du code blockchain et crypto. Rust vise les mêmes créneaux que C et C++, mais avec des garanties de sûreté bien plus solides.
Combien de temps faut-il pour apprendre Rust ?
Les bases de Rust — la syntaxe, le contrôle de flux, les fonctions, les structs, les enums — te prennent deux à quatre semaines de pratique quotidienne. Pour être à l'aise avec l'ownership, le borrowing, les lifetimes et les traits, compte plutôt deux à six mois de plus. La maîtrise (lifetimes avancés, async, unsafe Rust) demande beaucoup plus de temps, et c'est sur de vrais projets qu'elle se construit le mieux.
Apprendre Rust ou Go ?
Les deux sont des langages modernes à typage statique, pensés pour les serveurs et l'infrastructure, mais ils font des compromis différents. Go privilégie la rapidité de compilation, une concurrence simple et une spec réduite — plus facile à prendre en main. Rust privilégie la performance et la sûreté mémoire sans garbage collector — plus dur à apprendre, mais descend plus bas niveau. Choisis Go pour le back-end et l'outillage cloud ; choisis Rust pour le systems programming, le code à performance critique, ou tout ce qui était auparavant en C/C++.
Est-ce que je peux apprendre Rust en ligne gratuitement ?
Oui. Le cours Rust interactif est gratuit — leçons complètes, exercices de code, quiz et un certificat. Rust compile côté serveur, donc tu n'as pas besoin d'installer rustup ou Cargo en local pour commencer à écrire du vrai Rust.
Est-ce que je reçois un certificat à la fin du cours Rust ?
Oui. En terminant le cours Rust, tu obtiens un certificat de fin de parcours gratuit. Une preuve vérifiable à ajouter à ton CV ou à partager sur LinkedIn, à côté de tes projets Rust, outils CLI ou contributions open-source.