1. Installation / Désinstallation

1.1 Méthode 1 : via apt

1.1.1 Installation de Rust

En ligne de commande, lancer les commandes suivantes

sudo apt update
sudo apt install rustc

Pour vérifier la version installée :

rustc -V

Ce qui donne ici :

rustc 1.66.1 (90743e729 2023-01-10) (built from a source tarball)

1.1.2 Désinstallation

Lancer la commande suivante :

sudo apt remove rustc

1.2 Méthode 2 : à la main

1.2.1 Installation manuelle

Il est possible de vouloir une des dernières versions de Rust, plus évoluée que celle fournie par la distribution Ubuntu (via apt)

Ainsi comme on peut le voir ci dessous la dernière version stable disponible est « 1.71.0 » alors que celle installée via apt est « 1.66.1 » :

Pour installer manuellement, lancer la ligne de commande suivante :

curl https://sh.rustup.rs -sSf | sh
  • à l’adresse https://sh.rustup.rs il y a un script Bash d’installation de Rust (rustup-init.sh)
  • curl est un outil permettant de télécharger un contenu web (pas que..)
    • options curl :
      • f : si erreur pas d’affichage
      • s : mode silencieux
      • S : montrer les erreurs
  • Ainsi curl va télécharger le contenu du script bash « rustup-init.sh » à l’adresse « https://sh.rustup.rs » puis une fois fini fait executé ce script à « sh » ( | sh).

Ce qui propose ceci :

Welcome to Rust!

This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.

Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:

  /home/xavior/.rustup

This can be modified with the RUSTUP_HOME environment variable.

The Cargo home directory is located at:

  /home/xavior/.cargo

This can be modified with the CARGO_HOME environment variable.

The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:

  /home/xavior/.cargo/bin

This path will then be added to your PATH environment variable by
modifying the profile files located at:

  /home/xavior/.profile
  /home/xavior/.bashrc

You can uninstall at any time with rustup self uninstall and
these changes will be reverted.

Current installation options:


   default host triple: x86_64-unknown-linux-gnu
     default toolchain: stable (default)
               profile: default
  modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>

En choisissant 1 pour l’installation par défaut :

info: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2023-08-03, rust version 1.71.1 (eb26296b5 2023-08-03)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
 13.6 MiB /  13.6 MiB (100 %)  12.0 MiB/s in  1s ETA:  0s
info: downloading component 'rust-std'
info: downloading component 'rustc'
 63.5 MiB /  63.5 MiB (100 %)  25.5 MiB/s in  2s ETA:  0s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
 13.6 MiB /  13.6 MiB (100 %)   8.4 MiB/s in  1s ETA:  0s
info: installing component 'rust-std'
 26.1 MiB /  26.1 MiB (100 %)  12.7 MiB/s in  1s ETA:  0s
info: installing component 'rustc'
 63.5 MiB /  63.5 MiB (100 %)  14.5 MiB/s in  4s ETA:  0s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'

  stable-x86_64-unknown-linux-gnu installed - rustc 1.71.1 (eb26296b5 2023-08-03)


Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).

To configure your current shell, run:
source "$HOME/.cargo/env"

Il reste à configurer la variable environnement du PATH pour inclure le répertoire binaire CARGO :

source "$HOME/.cargo/env"

La commande ne produit rien en terme d’affichage. En revanche, le fichier ~.profile a bien été modifié et il contient maintenant la variable environnement pour Rust (PATH=/home/xavior/.cargo/bin…..).

Maintenant, vérification finale :

rustc -V

ce qui donne :

rustc 1.71.1 (eb26296b5 2023-08-03)

La dernière version stable a été installée.

1.2.2 Désinstallation manuelle

Lancer la ligne de commande suivante :

rustup self uninstall

Puis confirmer :

Thanks for hacking in Rust!

This will uninstall all Rust toolchains and data, and remove
$HOME/.cargo/bin from your PATH environment variable.

Continue? (y/N) 

Et c’est fini …

II Mon premier programme

Créer le répertoire de votre choix et aller dedans.

Créer un fichier « main.rs » :

touch main.rs

Le remplir comme suit :

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

On va compiler le fichier :

rustc main.rs

Ce qui a effet de créer le fichier exécutable comme suivant :

ls -als
total 4212
   4 drwxrwxr-x 2 xavior xavior    4096 août   9 17:07 .
   4 drwxrwxr-x 3 xavior xavior    4096 août   9 17:02 ..
4200 -rwxrwxr-x 1 xavior xavior 4298456 août   9 17:07 main
   4 -rw-rw-r-- 1 xavior xavior      44 août   9 17:06 main.rs

Enfin, il n’y plus qu’à l’exécuter :

./main

ce qui affiche :

Hello world!

III CARGO : utilitaire de gestion de projets Rust

III.1 Présentation

Cet utilitaire va permettre :

  • de compiler le code
  • de télécharger les paquets des bibliothèques à utiliser
  • de compiler les bibliothèques

Nous allons utiliser VS Code pour mieux voir ce qui se passe quant à l’utilisation

III.2 Création d’un projet

Ouvrir VS Code à la racine du répertoire des futurs projets Rust :

puis en ligne de commande pour créer un nouveau projet :

cargo new hello_projet

On voit ainsi la nouvelle structure du projet :

Les fichiers sources seront mis dans hello_projet/src/.

III.3 Compiler le projet :

Pour compiler, allez à la racine du projet et taper :

cargo build

Ce qui donne visuellement :

III.4 Compiler et exécuter le projet :

Pour executer (et compiler), taper la commande uivante :

cargo run

Ce qui donne visuellement :

III.5 Compiler mais ne pas créer exécutable

En ligne de commande :

cargo check

ce qui donne :

III.6 Créer une version à distribuer

En ligne de commande :

cargo build --release

Ce qui donne visuellement :

L’exécutable dans hello_projet/target/release sera optimisé et plus rapide à l’exécution. En revanche, il prend plus de temps à être généré pour le compilateur.

IV VS CODE

plugin intéressant dans VS CODE : rust-analyzer

il permet notamment d’avoir :

l’auto complémentation du code :

la possibilité par Click + CTRL de voir l’intérieur du code d’une fonction

d’exécuter du code sans passer par la ligne de commande (placer la souris sur la fonction main)

Rust : prise de notes

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *