Ajouter un commentaire

Les sagas de l’été — Rust (5/6) : la bibliothèque standard et l’écosystème

Par:
francoistonic

lun, 03/08/2026 - 06:26

Saga écrite par Benoît Prieur

Série estivale en six épisodes, à raison d’une publication par semaine. Sans prérequis particulier : de quoi comprendre les principes de la programmation moderne à travers l’exemple de Rust, un langage en pleine progression.

Certains meubles en kit sont livrés avec la clé nécessaire au montage ; d’autres supposent d’aller acheter l’outil. Les langages de programmation présentent la même différence : les uns arrivent avec un outillage fourni, les autres presque sans. Cet outillage porte un nom : la bibliothèque standard.

De quoi s’agit-il ? En programmant, on répète sans cesse les mêmes opérations de base : ranger une liste et la trier, manipuler du texte, ouvrir un fichier et lire son contenu, exécuter plusieurs calculs en parallèle. Réécrire ces mécanismes à chaque projet n’aurait pas de sens. La bibliothèque standard rassemble ces outils prêts à l’emploi, fournis avec le langage, éprouvés par un grand nombre d’utilisateurs.

Chez Rust, elle s’appelle std. On y trouve les listes extensibles, les tableaux associatifs qui relient une clé à une valeur — l’équivalent d’un annuaire —, les outils de manipulation du texte, l’accès aux fichiers, la gestion du temps, et davantage. Les éléments les plus courants sont mis à disposition automatiquement, sans qu’il faille les réclamer explicitement.

Un exemple minimal l’illustre : trier une liste ne réclame aucun outil extérieur, la bibliothèque standard s’en charge.

let mut nombres = vec![3, 1, 2];

nombres.sort();     // méthode fournie par la bibliothèque standard

// nombres vaut désormais [1, 2, 3]

La méthode sort provient de std ; on l’emploie directement, sans rien installer.

L’orientation de Rust sur ce point mérite d’être notée. Sa bibliothèque standard est volontairement solide sans être exhaustive : elle couvre les fondations, sans chercher à tout inclure. La raison est que Rust peut s’exécuter dans des environnements très contraints, comme la puce d’un objet connecté, où la moindre quantité de mémoire compte. Un socle compact était donc préférable, quitte à trouver le reste ailleurs.

Cet « ailleurs » est considérable. Autour de la bibliothèque standard existe un dépôt public de bibliothèques supplémentaires, écrites par la communauté et partagées librement. Il se nomme crates.io — crate signifie « caisse » en anglais, chaque bibliothèque étant une caisse d’outils que l’on ajoute à son projet. Il en réunit plus de cent mille, pour tracer des graphiques, dialoguer avec une base de données, construire un site web ou piloter un appareil. Pour un besoin donné, il est fréquent que quelqu’un ait déjà publié la brique correspondante.

Pour utiliser ce dépôt, Rust fournit un outil qui centralise l’essentiel des tâches : cargo. Une commande crée un projet, une autre télécharge les bibliothèques nécessaires et les assemble, une autre lance les tests, une autre encore produit la documentation. Là où d’autres écosystèmes imposent de combiner plusieurs outils distincts, Rust en propose un seul et cohérent, que l’on prend en main rapidement. Beaucoup de nouveaux venus le citent comme l’un des premiers points positifs de leur expérience.

En résumé : la bibliothèque standard correspond à l’outillage fourni d’origine, de quoi couvrir les besoins de base ; crates.io est le magasin où l’on trouve tout le reste ; cargo est l’outil qui va chercher les pièces et les assemble. Cet ensemble permet à une seule personne de réaliser en quelques heures ce qui demandait beaucoup plus de temps auparavant.

Le dernier épisode de la série s’intéressera aux usages concrets : où Rust est-il effectivement employé aujourd’hui, dans les logiciels et les appareils courants ? Rendez-vous le 4 août.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  SSS   M   M  DDD   FFFF  III 
S MM MM D D F I
SSS M M M D D FFF I
S M M D D F I
SSSS M M DDD F III