7 idées de projets en Rust pour débutants

Article publié le et mis à jour le .

7 idées de projets en Rust pour débutants

Vous voulez vous améliorer en rust mais vous n’avez pas d’idées de projets ? Découvrez-en 7 pour devenir plus fort et construire votre portfolio.

Rust est un langage assez compliqué à apprendre mais qui permet de faire des programmes plus bas niveau très performants.

Dans cet article je vous propose 7 exercices à difficulté croissante pour vous aider dans votre apprentissage de rust.

# Projet Difficulté
1 Le Hello, world! en rust ★☆☆☆☆
2 la somme de 2 nombres ★★☆☆☆
3 Suite fibonacci sans récursion ★★☆☆☆
4 Suite fibonacci avec récursion ★★★☆☆
5 Site web avec rocket ★★★★☆
6 Une interface avec iced ★★★★☆
7 Un jeu vidéo avec Bevy ★★★★★

1. Le Hello, world! en rust

Écrire un programme qui affiche “Hello, world!” sur la sortie standard.

Solution:

fn main() {
    println!("Hello, world!");
}

2. Exercice rust qui fait la somme de 2 nombres

Écrire un programme qui demande à l’utilisateur deux nombres et qui affiche leur somme.

Solution :

use std::io;

fn main() {
    println!("Entrez le premier nombre : ");
    let mut nombre1 = String::new();
    io::stdin().read_line(&mut nombre1).expect("Erreur de lecture de ligne");
    let nombre1: u32 = nombre1.trim().parse().expect("Ceci n'est pas un nombre");

    println!("Entrez le deuxième nombre : ");
    let mut nombre2 = String::new();
    io::stdin().read_line(&mut nombre2).expect("Erreur de lecture de ligne");
    let nombre2: u32 = nombre2.trim().parse().expect("Ceci n'est pas un nombre");

    let somme = nombre1 + nombre2;
    println!("La somme est : {}", somme);
}

3. Suite de fibonacci sans utiliser la récursion

Solution :

fn main() {
    println!("Entrez un nombre entier : ");
    let mut nombre = String::new();
    std::io::stdin().read_line(&mut nombre).expect("Erreur de lecture de ligne");
    let nombre: u32 = nombre.trim().parse().expect("Ceci n'est pas un nombre");

    println!("La suite de Fibonacci jusqu'à {} est :", nombre);

    let mut n1 = 0;
    let mut n2 = 1;
    let mut temp;

    for i in 0..=nombre {
        if i == 0 {
            println!("{}", n1);
        } else if i == 1 {
            println!("{}", n2);
        } else {
            temp = n1 + n2;
            n1 = n2;
            n2 = temp;
            println!("{}", temp);
        }
    }
}

4. Suite de fibonacci récursive en rust

Solution :

fn fibonacci(n: u32) -> u32 {
    if n == 0 {
        return 0;
    } else if n == 1 {
        return 1;
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}

fn main() {
    println!("Entrez un nombre entier : ");
    let mut nombre = String::new();
    std::io::stdin().read_line(&mut nombre).expect("Erreur de lecture de ligne");
    let nombre: u32 = nombre.trim().parse().expect("Ceci n'est pas un nombre");

    println!("La suite de Fibonacci jusqu'à {} est :", nombre);
    for i in 0..=nombre {
        println!("{}", fibonacci(i));
    }
}

5. Créer un site avec le framework rocket

rocket est un framework web pour le langage de programmation rust. Pour cet exercice, faites un site aussi complexe que vous voulez. Le but est de découvrir le développement web back-end avec rust !

Solution :

#[macro_use] extern crate rocket;

#[get("/hello/<name>/<age>")]
fn hello(name: &str, age: u8) -> String {
    format!("Hello, {} year old named {}!", age, name)
}

#[launch]
fn rocket() -> _ {
    rocket::build().mount("/", routes![hello])
}

6. Créer un programme avec une GUI avec iced

Iced est un package rust pour construire des interfaces graphiques (GUI) ! Apprenez à construire des petits programmes graphiques avec cet exercice. Faites sortir vos scripts du terminal !

7. Coder un jeu en rust avec Bevy

Bevy est un moteur pour développer des jeux vidéo en rust ! Laissez libre court à votre imagination et créez un jeu aussi complexe (ou simple) que vous voulez.

Vous apprendrez plein de concepts rust et autour de la création dans un jeu vidéo !

💡 Vous voulez en apprendre plus sur la conception de jeux vidéo ? Alors mon article sur les moteurs de jeux vous intéressera sûrement !

Aller plus loin dans votre apprentissage de rust !

Et voilà vous avez maitenant 7 idées de projets en rust. Les premiers sont faciles et ne vous prendront que quelques minutes, même si vous débutez en rust. Les derniers projets de cette listes sont en revanche beaucoup plus challengeant et vous pourrez passez des mois dessus si vous les souhaitez !

Rust n’est pas un langage simple mais il vous permettra de créer des scripts et programmes hyper performants.

Dites nous sur twitter comment vous avez appris rust et ce que vous faites avec ce langage.