@@ -114,15 +114,46 @@ permet notamment de :
114114- lancer des outils complémentaires tels que ceux décrits ci-après, sous la
115115 forme de sous-commandes.
116116
117- > ** Attention**
117+ Cargo permet la récupération automatique des dépendances avant compilation.
118+ L'utilitaire permet de vérifier l'intégrité des dépendances après téléchargement.
119+ Il utilise pour cela un fichier ` Cargo.lock ` qui, s'il est présent au moment de la compilation,
120+ contraint les sommes de contrôle des dépendances. En cas de différence entre
121+ les sources téléchargées et le fichier ` Cargo.lock ` , un erreur apparaît.
122+
123+ ```
124+ error: checksum for `sha256 v1.6.0` changed between lock files
125+
126+ this could be indicative of a few possible errors:
127+
128+ * the lock file is corrupt
129+ * a replacement source in use (e.g., a mirror) returned a different checksum
130+ * the source itself may be corrupt in one way or another
131+
132+ unable to verify that `sha256 v1.6.0` is the same as when the lockfile was generated
133+ ```
134+
135+ En cas d'absence du fichier ` Cargo.lock ` , il est créé automatiquement à la première compilation en suivant les
136+ sommes de contrôle des sources téléchargées (selon le principe TOFU : * Trust On First Use* ).
137+ Ce fichier peut également être créé manuellement avec ` cargo generate-lockfile ` , et s'il
138+ est déjà présent, un nouveau fichier est créé avec les dernières versions compatibles de chaque crate.
139+
140+ > ** Règle {{#check DENV-CARGO-LOCK | Mise en dépôt du fichier Cargo.lock}}**
118141>
119- > Tout comme ` rustup ` , ` cargo ` effectue tous les téléchargements en HTTPS, mais
120- > ne valide pas l'index du registre. Des discussions sont en cours pour
121- > déterminer le meilleur moyen de protéger et de valider les * crates* . Pour le
122- > moment, la sécurité de ` cargo ` repose sur la bonne sécurité du site web
123- > [ crates.io] ainsi que celle du dépôt, hébergé sur GitHub, contenant l'index du
124- > registre de * crates* . Pour les cas les plus sensibles, il peut être préférable
125- > d'opter pour une méthode d'installation alternative pour les dépendances.
142+ > Le fichier ` Cargo.lock ` doit être versionné avec le code source du programme Rust.
143+
144+ <div class =" warning " >
145+
146+ ** Attention**
147+
148+ Des discussions sont en cours pour
149+ déterminer le meilleur moyen de protéger et de valider les * crates* lors de leur ajout au projet
150+ (les téléchargements suivants sont vérifié par le fichier ` Cargo.lock ` ). Pour le
151+ moment, la sécurité des premiers téléchargements de ` cargo ` repose sur la bonne sécurité du site web
152+ [ crates.io] ainsi que celle du dépôt, hébergé sur GitHub, contenant l'index du
153+ registre de * crates* . Pour les cas les plus sensibles, il peut être préférable
154+ d'opter pour une méthode d'installation alternative pour les dépendances.
155+
156+ </div >
126157
127158Cargo propose différentes commandes et options pour adapter le processus de
128159compilation aux besoins de chaque projet, principalement au travers du fichier
0 commit comments