Les paquets tiers sont une partie essentielle du développement de logiciels modernes. Les paquets tiers permettent de gagner du temps et d’augmenter la productivité puisque vous réutilisez le code pré-écrit et testé.


Rust fournit un excellent support pour travailler avec des paquets tiers. L’écosystème Rust abrite de nombreux paquets tiers que vous pouvez utiliser pour accélérer votre flux de développement.

Avec l’outil de gestion de paquets intégré à Rust, Cargo, vous pouvez installer, gérer et désinstaller des paquets tiers.


Comprendre l’outil Cargo

Cargo est un outil de gestion de paquets en ligne de commande intégré à Rust, le nouveau langage de programmation le plus intéressant. Il est similaire à d’autres gestionnaires de paquets comme npm pour Node.js et pip pour Python, et permet aux développeurs Rust de télécharger, compiler et gérer les dépendances des paquets Rust. Cargo offre également des fonctionnalités de construction et de distribution de paquets.

Lire  LocalBitcoins annonce sa fermeture - Retirez vos bitcoins dès maintenant.

En outre, Cargo est le gestionnaire de dépendances, le système de construction, le cadre de test et l’outil de génération de documentation de Rust.

L’outil Cargo CLI est l’interface principale pour utiliser Cargo. Après avoir installé Rust, vous pouvez lancer l’outil cargo help pour visualiser les différentes fonctionnalités offertes par Cargo.

 cargo help

La commande affiche les instructions d’utilisation de l’outil CLI de Cargo.

résultat de l'exécution de la commande help

Vous pouvez également ajouter une commande en tant qu’argument à la commande aide pour consulter les instructions d’utilisation d’une commande spécifique.

 cargo help new

La commande aide nouvelle affiche les instructions d’utilisation de la commande nouveau commande responsable de la création de nouveaux projets Rust.

Utilisation de la commande init vous pouvez créer un nouveau paquet cargo dans un répertoire existant.

 cargo init

Vous pouvez également utiliser la commande exécuter, constructionet installer commandes pour exécuter, construire et installer vos programmes Rust.

 // executes projects immediately
cargo run

// builds projects and outputs executables
cargo build

// installs packages as executables in the /bin directory
cargo install

Le course à pied exécute le paquet. La commande construire compile le paquet, et la commande install installe un binaire Rust.

Travailler avec des crates

Les crates sont une partie cruciale du système de modules de Rust, permettant la création de code modulaire et réutilisable. Avec Cargo et les crates, vous pouvez facilement construire et publier des paquets.

Un Crate est simplement une unité d’emballage de code. Il peut s’agir d’une bibliothèque ou d’un exécutable contenant tout le code, la documentation et les métadonnées nécessaires pour que le compilateur Rust puisse construire et exécuter le code.

Un Crate est une boîte contenant tous les outils et matériaux nécessaires à la réalisation d’un projet. Les Crates sont autonomes, et vous pouvez les utiliser indépendamment ou en conjonction avec d’autres Crates pour construire une application plus complexe.

Cargo facilite la recherche et l’utilisation de crates tiers pour votre application en se connectant à un registre central (crates.io) qui héberge des crates open-source.

Vous pouvez rechercher des crates à l’aide de la commande recherche de cargaison suivie du nom de la caisse.

 cargo search serde

La commande renvoie une liste de caisses correspondant au terme recherché.

résultat de l'exécution de la commande `search`

Une fois que vous avez trouvé le crate dont vous avez besoin, vous pouvez l’ajouter à vos dépendances dans le fichier Cargo.toml fichier.

Vous pouvez également publier vos crates sur Crates.io depuis votre terminal avec Cargo. Vous devrez créer un compte sur le site web et vous connecter avec l’identifiant login cargo qui vous demandera de coller le jeton API du site web. Ensuite, vous pouvez publier votre crate avec la commande publier commande.

 cargo publish

La commande télécharge votre crate sur le site web où d’autres développeurs Rust peuvent l’installer et l’utiliser dans leurs projets.

Gérer les dépendances avec Cargo

La gestion des dépendances est essentielle pour garantir la mise à jour, la sécurité et la fiabilité de votre code. Vous devrez mettre à jour les dépendances pour corriger les bogues, améliorer les performances ou ajouter de nouvelles fonctionnalités, sinon vous risquez d’utiliser des bibliothèques obsolètes ou non sécurisées qui peuvent nuire à votre projet.

La gestion des dépendances vous permet également de contrôler les versions des bibliothèques, d’éviter les conflits entre bibliothèques et de réduire la taille de votre base de code en utilisant des fonctionnalités prédéfinies.

Recherche et installation de paquets tiers

Cargo automatise la recherche, l’installation et la mise à jour des bibliothèques pour votre projet, en s’assurant que vos dépendances sont compatibles et à jour à l’aide de la fonction Cargo.toml qui liste toutes les dépendances de votre projet et leurs versions.

Une fois que vous avez trouvé le paquetage tiers pour votre application avec la commande recherche de cargaison vous pouvez installer le paquet comme une dépendance avec la commande cargo install commande.

 cargo install <package_name>

Lors de l’exécution de la commande, Cargo téléchargera le paquet et ses dépendances et les installera sur votre machine.

Ajout de dépendances à Cargo.toml

Vous pouvez ajouter des dépendances à votre Cargo.toml pour les installer en ajoutant le nom et la version du paquet au fichier [dependencies] du fichier Cargo.toml fichier.

 [dependencies]
package_name = "1.0.0"

Voici un exemple de la façon dont vous pouvez ajouter le fichier populaire Serde comme dépendance dans votre fichier Cargo.toml en spécifiant une version et des fonctionnalités.

 [dependencies]
serde = { version = "1.0.154", features = ["derive"] }

Ceci spécifie que vous voulez installer la version 1.0.154 de la Serde avec le paquet dériver caractéristique.

Après avoir installé le paquet, vous pouvez l’importer dans vos fichiers Rust.

 use serde::{Serialize, Deserialize};

L’instruction import avec l’élément utilisation apporte le mot-clé Sérialiser et Désérialiser dans la portée actuelle, ce qui vous permet de les utiliser pour implémenter la sérialisation et la désérialisation de vos types de données Rust.

Vous pouvez également spécifier des plages de versions avec le symbole de l’aiguille (^).

 [dependencies]
serde = { version = "^1.0.154", features = ["derive"] }

L’instruction précise que vous souhaitez utiliser l’option Serde version du paquet compatible avec la version 1.0.154.

Mise à jour des dépendances

Vous pouvez mettre à jour les dépendances avec la commande mise à jour commande. La commande mise à jour vérifie les mises à jour de vos dépendances, les télécharge et les installe si elles sont disponibles.

 cargo update

Suppression des dépendances

Enfin, vous pouvez supprimer un paquet de votre projet en supprimant le nom et la version de votre fichier Cargo.toml ou désinstallez les paquets à l’aide de la commande désinstaller commande.

 cargo uninstall <third-party package name here>

La commande désinstalle le paquet et supprime les dépendances redondantes. C’est pratique pour libérer de l’espace disque et garder un environnement de développement propre. La désinstallation d’un paquetage ne supprime pas le code ou les données associées au paquetage de vos projets Rust. Vous devrez le faire manuellement.

Organisez votre code Rust pour plus d’efficacité

Les paquets tiers changent la donne lors de la construction d’applications complexes, et il est incroyable de voir comment on peut passer rapidement de zéro à un héros grâce aux paquets tiers disponibles dans le registre de paquets de Cargo.

Vous devez organiser votre code pendant le développement pour maximiser l’efficacité et la maintenabilité. L’organisation du code Rust comprend l’utilisation de modules, la séparation des préoccupations, le respect des conventions de nommage et le maintien d’un code DRY (Don’t Repeat Yourself).