Aller au contenu

Installation & Premier projet

Dans cet article nous allons voir ensemble comment bien démarrer avec Rust.

Installation

Pour installer Rust c’est assez simple il vous suffit de vous rendre sur le site de rust et de suivre les instructions.

Si vous êtes sur MacOS ou Linux c’est simplement une ligne à copier dans un terminal et à la fin de l’installation on vous invitera à ajouter rust à votre PATH.

Si vous avez le malheur d’être sur Windows et bien changez d’OS 😅…

Je rigoleee, bon comme d’habitude, l’installation sera plus compliquée et vous ajoutera surement des dépendances mais il ne devrait pas y avoir plus de probèmes que ça.

Créer un projet avec cargo

Pour créer votre premier projet on va utiliser cargo, c’est une interface en ligne de commande qui va nous permettre d’ intéragir avec nos projet Rust, un peu comme npm pour Javascript.

Donc pour créer un premier projet on va ouvrir un terminal et lancer la commande cargo init demo

Un dossier demo est alors créé avec plusieurs fichiers à l’intérieur.

Fenêtre de terminal
.
├── Cargo.toml
└── src
└── main.rs
  1. Cargo.toml : un fichier de config qui contient les infos de votre projet comme le nom, la version etc etc.Il y a aussi une partie [dependencies] qui contiendra tous les packages utilisés par le projet, si vous connaissez javascript et npm c’est un peu la même chose que le fichier package.json
  2. Le dossier src qui contient les fichiers sources de notre projet
  3. Un fichier main.rs, c’est lui que Rust va executer lorsqu’on va run le projet

Pour lancer le projet on va lancer cargo run a la racine du projet (c’est à dire au même niveau que Cargo.toml) et obtient le résultat suivant :

Fenêtre de terminal
Finished dev [unoptimized + debuginfo] target(s) in 0.00s
Running `target/debug/demo`
Hello, world!

Quelques règles

  • Pour pouvoir lancer notre projet avec cargo run il faut impérativement qu’il y a ait un fichier main.rs qui contient lui même une fonction main() qui sera executée.

  • On ne peut pas créer de variables dans le global scope, c’est à dire au niveau racine du fichier.

let age = 18; // Interdit car on est dans le global scope.
fn main() {
println!("Hello, world!");
let age = 18; // Ok car pas dans le global scope.
}