diff --git a/README.md b/README.md index 7c94219a602402688e04a182051302c6d342c827..ae01e68b44b5f02919447fe20e9f9b01e5150bb2 100644 --- a/README.md +++ b/README.md @@ -69,10 +69,11 @@ L'index des slides se trouve ensuite dans `slides/index.html`. ## Inspiration -L'inspiration de ce cours est tirée de deux cours qui ont l'air spectaculairement bons: +L'inspiration de ce cours est tirée de trois cours qui ont l'air très bons: 1. Rust 101: an open-source university course <https://tweedegolf.nl/en/blog/80/rust-101-open-source-university-course> (cours de base avec introduction au langage). 2. Rust-101 de Ralf Jung <https://www.ralfj.de/projects/rust-101/main.html> (cours plutôt avancé avec beaucoup de notions de programmation fonctionnelle). +3. Le cours Rust de Ferrous Systems <https://github.com/ferrous-systems/rust-training>. ## Matériel @@ -82,6 +83,71 @@ Le matériel de cours sera composé de trois composants: 2. Résumés des points importants sur une page. 3. Codes source exécutables de tous les exemples des slides. +## Rustlings + +Afin de vous habituer à la syntaxe de Rust, nous vous proposerons tout au long du cours de faire +les exercices de [Rustlings](https://github.com/rust-lang/rustlings) que nous avons traduits en français. + +Pour installer la version anglaise référez vous au [guide d'installation](https://github.com/rust-lang/rustlings#macoslinux) de Rustlings. +Pour la version française c'est un peu plus compliqué, car Rustlings n'a pas vraiment été prévu pour être traduit (qui sait +[un jour peut-être](https://github.com/rust-lang/rustlings/issues/1627)). + +Pour commencer il faut cloner le [repo suivant](https://gitedu.hesge.ch/orestis.malaspin/rustlings-french) +```bash +$ git clone https://gitedu.hesge.ch/orestis.malaspin/rustlings-french +``` +Aller dans le répertoire nouvellement créé +```bash +$ cd rustlings-french +``` +Puis installer tout ce qu'il y a à installer +```bash +$ cargo install --path . +``` +Pour tester si l'installation a fonctionné vous pouvez exécuter +```bash +$ rustlings +``` +Vous devriez voir +```console + + bienvenue à... + _ _ _ + _ __ _ _ ___| |_| (_)_ __ __ _ ___ + | '__| | | / __| __| | | '_ \ / _` / __| + | | | |_| \__ \ |_| | | | | | (_| \__ \ + |_| \__,_|___/\__|_|_|_| |_|\__, |___/ + |___/ + +Merci d'avoir installé Rustlings ! + +C'est votre première fois ? Ne vous inquiétez pas, Rustlings a été conçu pour les débutants ! Nous allons +allons vous apprendre beaucoup de choses sur Rust, +mais avant de commencer, voici quelques remarques sur le fonctionnement de Rustlings : + +1. Le concept central de Rustlings est que vous résolvez des exercices. Ces + exercices contiennent généralement une erreur de syntaxe, ce qui les fait + de les faire échouer à la compilation ou au test. Parfois, il y a une erreur de logique + au lieu d'une erreur de syntaxe. Quelle que soit l'erreur, c'est à vous de la trouver et de la corriger ! + Vous saurez que vous l'avez corrigée car l'exercice compilera et + Rustlings pourra passer à l'exercice suivant. +2. Si vous lancez Rustlings en mode "watch" (ce que nous recommandons), il commencera automatiquement + automatiquement par le premier exercice. Ne vous laissez pas déconcerter par un message + d'erreur qui apparaît dès que vous lancez Rustlings ! Il s'agit d'une partie de l'exercice que vous devez résoudre + alors ouvrez le fichier de l'exercice dans un éditeur et commencez votre travail de détective ! + travail de détective ! +3. Si vous êtes bloqués sur un exercice, il y a un indice que vous pouvez consulter en tapant + 'hint' (en mode veille), ou en exécutant `rustlings hint nom_de_l_exercice`. +4. Si un exercice n'a pas de sens pour vous, n'hésitez pas à ouvrir une issue sur GitHub ! + (https://github.com/rust-lang/rustlings/issues/new). Nous examinons chaque issue, + et parfois, d'autres apprenants le font aussi, donc vous pouvez vous aider mutuellement ! +5. Si vous voulez utiliser `rust-analyzer` avec les exercices, qui fournit des fonctionnalités comme + l'autocomplétion, lancez la commande `rustlings lsp`. + +Vous avez compris tout cela ? C'est parfait ! Pour commencer, lancez la commande `rustlings watch` afin d'obtenir le premier exercice +exercice. Assurez-vous que votre éditeur est ouvert ! +``` + ## Syllabus L'idée principale du cours est de baser toutes les séances sur un exemple très simple de calcul du minimum d'une liste. diff --git a/slides/index-template.html b/slides/index-template.html index 3ca95644527c821a530866474a88b484e973e72a..1e39db285bfd880fb52c489fdb09f7fd92686d61 100644 --- a/slides/index-template.html +++ b/slides/index-template.html @@ -2464,7 +2464,7 @@ <div class="sect1"> <h1>Crédits</h1> <p>Le template de slides et sa compilation a été repris de Ferrous Systems et de leur très bon cours - se trouant sur github <https: //github.com/ferrous-systems/rust-training>.</p> + se trouant sur <a href="https://github.com/ferrous-systems/rust-training">github</a> .</p> <h1>License</h1> <p> <a href="http://creativecommons.org/licenses/by-sa/4.0/">