Crates et racine de crate
Structure du projet
Crates et racine de crate est une leçon Learn Rust Coding gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn Rust Coding, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn Rust Coding comprend 4 leçons au total.
Qu’est-ce qu’une crate ?
Une crate est la plus petite unité avec laquelle le compilateur Rust travaille. Il en existe deux sortes : une crate binaire, compilée en programme exécutable, et une crate de bibliothèque, dont dépend un autre code.
Binaire ou bibliothèque
Une crate binaire possède une fonction main et produit un programme que vous pouvez exécuter. Une crate de bibliothèque n’a pas de main ; elle expose des éléments réutilisables pour d’autres crates.
- Racine binaire :
src/main.rs - Racine de bibliothèque :
src/lib.rs
La racine de la crate
La racine de la crate est le fichier source à partir duquel le compilateur commence. Elle se trouve au sommet de l’arbre des modules, et le mot-clé crate dans un chemin y fait référence.
fn main() {
crate::greet();
}
fn greet() {
println!("hello from the crate root");
}Cargo et les paquets
Un paquet est constitué d’une ou plusieurs crates gérées par Cargo et décrites dans Cargo.toml. Un paquet contient au plus une crate de bibliothèque et un nombre quelconque de crates binaires.
Cargo prend en charge la compilation, les tests et les dépendances.
Un Cargo.toml minimal
Le manifeste déclare le nom du paquet, sa version et ses dépendances. Cargo le lit pour savoir comment compiler votre projet.
[package]— nom, version, édition[dependencies]— crates externes
Structure de projet standard
Cargo attend une structure conventionnelle :
src/main.rs— racine de la crate binairesrc/lib.rs— racine de la crate de bibliothèquesrc/bin/— fichiers binaires supplémentairestests/— tests d’intégration
Suivre cette convention permet de ne rien configurer.
Les modules vivent sous la racine
La racine de la crate peut déclarer des modules, qui forment l’arbre des modules. Tout ce que vous construisez dépend de ce fichier racine unique.
mod utils {
pub fn shout(s: &str) -> String {
s.to_uppercase()
}
}
fn main() {
println!("{}", utils::shout("crate"));
}Répartir le code entre plusieurs fichiers
Lorsque la racine déclare mod utils; avec un point-virgule, Cargo charge src/utils.rs. Le contenu du fichier devient le corps de ce module, ce qui permet de conserver un arbre unique réparti entre plusieurs fichiers.
Utiliser une bibliothèque depuis un binaire
Dans un paquet contenant à la fois lib.rs et main.rs, le binaire fait référence à la bibliothèque par le nom du paquet. La bibliothèque expose des éléments pub utilisés par le binaire.
Cette séparation conserve la logique dans la bibliothèque et laisse le point d’entrée léger.
Ajouter des dépendances
Exécutez cargo add rand ou modifiez [dependencies] dans Cargo.toml. Cargo télécharge la crate depuis crates.io et la rend disponible pour use.
Cargo verrouille également les versions exactes dans Cargo.lock afin de garantir des compilations reproductibles.
Vue d’ensemble
Du plus petit au plus grand : module < crate < paquet. Les modules organisent une crate ; la racine de la crate ancre l’arbre ; le paquet et Cargo relient l’ensemble.
Vérification rapide
Testez vos connaissances de la structure d’un projet.
Récapitulatif
Vous avez appris la structure d’un projet :
- Une crate est binaire ou constitue une bibliothèque
- La racine de la crate (
main.rsoulib.rs) ancre l’arbre des modules - Un paquet regroupe des crates et est décrit dans
Cargo.toml - Cargo gère la structure, les compilations et les dépendances
Apprends Rust avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 39
- Leçons
- 144
Questions Fréquemment Posées
La leçon « Crates et racine de crate » est-elle gratuite ?
Oui — le texte complet de « Crates et racine de crate » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn Rust Coding, passe à CoddyKit PRO. Le cours Learn Rust Coding comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Crates et racine de crate » ?
Structure du projet Tu pratiques Learn Rust Coding avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn Rust Coding ?
Aucune expérience préalable n'est requise. Learn Rust Coding sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Crates et racine de crate » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn Rust Coding ?
Oui. Chaque leçon Learn Rust Coding inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Modules et mod
- pub et visibilité
- use et chemins
- Crates et racine de crate