Option, Result, traits
Dans cette partie, nous allons construire un premier programme que nous serons amenés à étendre par la suite. Ce programme prendra en entrée un certain nombre de comptes (des couples login password) et fera dessus un certain nombre de vérifications : mots de passe dupliqués, mots de passe déjà retrouvés dans des failles de sécurité, etc.
- Nous allons commencer par demander à
cargo
la création d'un nouveau projetpwdchk
de typebin
. Créez le avec la commande suivante :
$ cargo new --bin pwdchk
Le --bin
n'est pas obligatoire car c'est le mode par défaut, par opposition à --lib
qui crée une bibliothèque. La hiérarchie ainsi créée contient :
pwdchk/
├─Cargo.toml
└─src/
└─main.rs
Le contenu du fichier Cargo.toml
indique le nom du crate, sa version et l'édition du langage à utiliser :
[package]
name = "pwdchk"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
src/main.rs
contient le programme principal :
fn main() { println!("Hello, world!"); }
Après être entré dans le répertoire pwdchk
, on peut construire l'exécutable et le lancer :
$ cargo build
$ target/debug/pwdchk
Hello, world!
ou utiliser cargo run
pour le construire et le lancer en même temps :
$ cargo run
Hello, world!
L'option --release
de cargo build
et cargo run
permet d'utiliser le profil release
plutôt que le profil debug
. Le code généré est optimisé, certaines vérifications ne se font plus et le temps de compilation est allongé :
$ cargo build --release
$ target/release/pwdchk
Hello, world!
$ cargo run --release
Hello, world!