|
| 1 | +--- |
| 2 | +layout: singlepage-overview |
| 3 | +title: Démarrage |
| 4 | +partof: getting-started |
| 5 | +language: fr |
| 6 | +includeTOC: true |
| 7 | +--- |
| 8 | + |
| 9 | +Les instructions ci-dessous couvrent à la fois Scala 2 et Scala 3. |
| 10 | + |
| 11 | +## Essayer Scala sans installation |
| 12 | + |
| 13 | +Pour commencer à expérimenter Scala sans plus attendre, utilisez <a href="https://scastie.scala-lang.org/pEBYc5VMT02wAGaDrfLnyw" target="_blank">“Scastie” dans votre navigateur</a> _Scastie_ est un environnement "bac à sable" en ligne, où vous pouvez tester Scala, afin de comprendre comment fonctionne le langage et avec un accès à tous les compilateurs Scala et les librairies publiées. |
| 14 | + |
| 15 | +> Scastie supporte à la fois Scala 2 et Scala 3, en proposant Scala 3 par défaut. |
| 16 | +> Si vous cherchez à tester un morceau de code avec Scala 2 |
| 17 | +> [cliquez ici](https://scastie.scala-lang.org/MHc7C9iiTbGfeSAvg8CKAA). |
| 18 | +
|
| 19 | +## Installer Scala sur votre ordinateur |
| 20 | + |
| 21 | +Installer Scala veut dire installer différents outils en ligne de commande, comme le compilateur Scala et les outils de build. |
| 22 | +Nous recommandons l'utilisation de l'outil d'installation "Coursier" qui va automatiquement installer toutes les dépendances, mais vous pouvez aussi installer chaque outil à la main. |
| 23 | + |
| 24 | +### Utilisation de l'installateur Scala (recommandé) |
| 25 | + |
| 26 | +L'installateur Scala est un outil nommé [Coursier](https://get-coursier.io/docs/cli-overview), la commande principale de l'outil est `cs`. |
| 27 | +Il s'assure que la JVM est les outils standards de Scala sont installés sur votre système. |
| 28 | +Installez-le sur votre système avec les instructions suivantes. |
| 29 | + |
| 30 | +<div class="main-download"> |
| 31 | + <div id="download-step-one"> |
| 32 | + <p>Suivez <a href="https://get-coursier.io/docs/cli-installation.html#native-launcher" target="_blank">les instructions pour installer la commande <code>cs</code></a> puis exécutez :</p> |
| 33 | + <p><code>$ ./cs setup</code></p> |
| 34 | + </div> |
| 35 | +</div> |
| 36 | + |
| 37 | +En plus de gérer les JVMs, `cs setup` installe aussi des utilitaires en ligne de commande : |
| 38 | + |
| 39 | +- Un JDK (si vous n'en avez pas déjà un) |
| 40 | +- L'outil de construction de package [sbt](https://www.scala-sbt.org/) |
| 41 | +- [Ammonite](https://ammonite.io/), un REPL amélioré |
| 42 | +- [scalafmt](https://scalameta.org/scalafmt/), le formatteur de code Scala |
| 43 | +- `scalac` (le compilateur Scala 2) |
| 44 | +- `scala` (le REPL et le lanceur de script Scala 2). |
| 45 | + |
| 46 | +Pour plus d'informations à propos de `cs`, vous pouvez lire la page suivante : |
| 47 | +[coursier-cli documentation](https://get-coursier.io/docs/cli-overview). |
| 48 | + |
| 49 | +> Actuellement, `cs setup` installe le compilateur Scala 2 et le lanceur |
| 50 | +> (les commandes `scalac` et `scala` respectivement). Ce n'est pas un problème, |
| 51 | +> car la plupart des projets utilisent un outil de contruction |
| 52 | +> de package qui fonctionne à la fois pour Scala 2 et Scala 3. |
| 53 | +> Cependant, vous pouvez installer le compilateur et le lanceur Scala 3 en ligne de commande, |
| 54 | +> en exécutant les commandes suivantes : |
| 55 | +> ``` |
| 56 | +> $ cs install scala3-compiler |
| 57 | +> $ cs install scala3 |
| 58 | +> ``` |
| 59 | +
|
| 60 | +### ...ou manuellement |
| 61 | +
|
| 62 | +Vous avez seulement besoin de deux outils pour compiler, lancer, tester et packager un projet Scala: Java 8 ou 11, et sbt. |
| 63 | +Pour les installer manuellement : |
| 64 | +
|
| 65 | +1. Si vous n'avez pas Java 8 ou 11 installé, téléchargez |
| 66 | + Java depuis [Oracle Java 8](https://www.oracle.com/java/technologies/javase-jdk8-downloads.html), [Oracle Java 11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html), |
| 67 | + ou [AdoptOpenJDK 8/11](https://adoptopenjdk.net/). Référez-vous à la page [JDK Compatibility](/overviews/jdk-compatibility/overview.html) pour les détails de compatibilité entre Java et Scala. |
| 68 | +1. Installez [sbt](https://www.scala-sbt.org/download.html) |
| 69 | +
|
| 70 | +## Créer un projet "Hello World" avec sbt |
| 71 | +
|
| 72 | +Une fois que vous avez installé sbt, vous pouvez créer un projet Scala, comme expliqué dans la section suivante. |
| 73 | +
|
| 74 | +Pour créer un projet, vous pouvez soit utiliser la ligne de commande, soit un IDE. |
| 75 | +Si vous êtes habitué à la ligne de commande, nous recommandons cette approche. |
| 76 | +
|
| 77 | +### Utiliser la ligne de commande |
| 78 | +
|
| 79 | +sbt est un outil de construction de package pour Scala, sbt compile, lance et teste votre code Scala. |
| 80 | +(Il peut aussi publier les librairies et faire beaucoup d'autres tâches.) |
| 81 | +
|
| 82 | +Pour créer un nouveau projet Scala avec sbt : |
| 83 | +
|
| 84 | +1. `cd` dans un répertoire vide. |
| 85 | +1. Lancez la commande `sbt new scala/scala3.g8` pour créer un projet Scala 3, ou `sbt new scala/hello-world.g8` pour créer un projet Scala 2. |
| 86 | + Cela va télécharger un projet template depuis Github. |
| 87 | + Cela va aussi créer un dossier `target`, que vous pouvez ignorer. |
| 88 | +1. Quand cela vous est demandé, nommez votre application `hello-world`. Cela va créer un projet appelé "hello-world". |
| 89 | +1. Voyons ce que nous vennons de générer : |
| 90 | +
|
| 91 | +``` |
| 92 | +- hello-world |
| 93 | + - project (sbt utilise ce dossier pour ses propres fichiers) |
| 94 | + - build.properties |
| 95 | + - build.sbt (fichier de définition de la construction du package pour sbt) |
| 96 | + - src |
| 97 | + - main |
| 98 | + - scala (tout votre code Scala doit être placé ici) |
| 99 | + - Main.scala (Programme point d'entrée) <-- c'est tout ce dont nous avons besoin pour le moment |
| 100 | +``` |
| 101 | +
|
| 102 | +Vous pouvez trouver plus de documentation à propos de sbt dans le [Scala Book](/scala3/book/tools-sbt.html) ([Lien](/overviews/scala-book/scala-build-tool-sbt.html) vers la version Scala 2) et sur la [documentation](https://www.scala-sbt.org/1.x/docs/index.html) officielle de sbt. |
| 103 | +
|
| 104 | +### Avec un IDE |
| 105 | +
|
| 106 | +Vous pouvez ignorer le reste de cette page et aller directement sur [Building a Scala Project with IntelliJ and sbt](/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html). |
| 107 | +
|
| 108 | +
|
| 109 | +## Ouvrir le projet hello-world |
| 110 | +
|
| 111 | +Utilisons un IDE pour ouvrir le projet. Les plus populaires sont IntelliJ et VSCode. |
| 112 | +Il proposent tout deux des fonctionnalités riches, mais vous pouvez utiliser d'[autres éditeurs.](https://scalameta.org/metals/docs/editors/overview.html) |
| 113 | +
|
| 114 | +### Avec IntelliJ |
| 115 | +
|
| 116 | +1. Téléchargez et installez [IntelliJ Community Edition](https://www.jetbrains.com/idea/download/) |
| 117 | +1. Installez l'extension Scala en suivant [les instruction IntelliJ pour installer des extensions](https://www.jetbrains.com/help/idea/managing-plugins.html) |
| 118 | +1. Ouvrez le fichier `build.sbt` puis choisissez *Open as a project* |
| 119 | +
|
| 120 | +### Avec VSCode et metals |
| 121 | +
|
| 122 | +1. Téléchargez [VSCode](https://code.visualstudio.com/Download) |
| 123 | +1. Installez l'extension Metals depuis [la marketplace](https://marketplace.visualstudio.com/items?itemName=scalameta.metals) |
| 124 | +1. Ensuite, ouvrez le repertoire contenant le fichier `build.sbt` (cela doit être le dossier `hello-world` si vous avez suivi les instructions précédentes). Choisissez *Import build* lorsque cela vous est demandé. |
| 125 | +
|
| 126 | +> [Metals](https://scalameta.org/metals) est un "Serveur de langage Scala" qui fourni une aide pour écrire du code Scala dans VSCode et d'autres éditeurs [Atom, Sublime Text, autres ...](https://scalameta.org/metals/docs/editors/overview.html), en utilisant le protcole de langage serveur. |
| 127 | +> En arrière plan, Metals communique avec l'outil de construction de package en utilisant |
| 128 | +> le [Build Server Protocol (BSP)](https://build-server-protocol.github.io/). |
| 129 | +> Pour plus de détails sur le fonctionnement de Metals, suivez [“Write Scala in VS Code, Vim, Emacs, Atom and Sublime Text with Metals”](https://www.scala-lang.org/2019/04/16/metals.html). |
| 130 | +
|
| 131 | +### Essayer avec le code source |
| 132 | +
|
| 133 | +Ouvrez ces deux fichiers dans votre IDE : |
| 134 | +
|
| 135 | +- _build.sbt_ |
| 136 | +- _src/main/scala/Main.scala_ |
| 137 | +
|
| 138 | +Quand vous allez lancer votre projet dans l'étape suivante, la configuration dans _build.sbt_ sera utilisé pour lancer le code dans _src/main/scala/Main.scala_. |
| 139 | +
|
| 140 | +## Lancer Hello Word |
| 141 | +
|
| 142 | +Si vous êtes habitué à votre IDE, vous pouvez lancer le code dans _Main.scala_ depuis celui-ci. |
| 143 | +
|
| 144 | +Sinon, vous pouvez lancer l'application depuis le terminal avec ces étapes : |
| 145 | +
|
| 146 | +1. `cd` vers `hello-world`. |
| 147 | +1. Lancez `sbt`. Cela va ouvrir la console sbt. |
| 148 | +1. Ecrivez `~run`. Le symbole `~` est optionel, il va relancer l'application à chaque sauvegarde de fichier. |
| 149 | + Cela permet un cyle rapide de modification/relance/debug. sbt va aussi générer un dossier `target` que vous pouvez ignorer. |
| 150 | +
|
| 151 | +Quand vous avez fini d'expérimenter avec ce projet, appuyez sur `[Entrée]` pour interrompre la commande `run`. |
| 152 | +Puis saisissez `exit` ou appuyez sur `[Ctrl+D]` pour quitter sbt et revenir à votre invite de commande. |
| 153 | +
|
| 154 | +## Prochaines étapes |
| 155 | +
|
| 156 | +Une fois que vous avez terminé le tutoriel ce dessus, vous pouvez consulter : |
| 157 | +
|
| 158 | +* [The Scala Book](/scala3/book/introduction.html) ([Lien](/overviews/scala-book/introduction.html) vers la version Scala 2), qui fourni un ensemble de courtes leçons et introduit les fonctionnalités principales de Scala. |
| 159 | +* [The Tour of Scala](/tour/tour-of-scala.html) pour une introduction des fonctionnalités Scala. |
| 160 | +* [Learning Resources](/learn.html), qui contient des tutoriels et des cours interactifs. |
| 161 | +* [Our list of some popular Scala books](/books.html). |
| 162 | +* [The migration guide](/scala3/guides/migration/compatibility-intro.html) pour vous aider à migrer votre code Scala 2 vers Scala 3. |
| 163 | +
|
| 164 | +## Obtenir de l'aide |
| 165 | +Il y a plusieurs listes de diffusion et canaux de discussions instantanés si vous souhaitez rencontrer rapidement d'autres utilisateurs de Scala. Allez faire un tour sur notre page [community](https://scala-lang.org/community/) pour consulter la liste des ces ressources et obtenir de l'aide. |
| 166 | +
|
| 167 | +Traduction par Antoine Pointeau. |
| 168 | +
|
| 169 | +<!-- Hidden elements whose content are used to provide OS-specific download instructions. |
| 170 | + -- This is handled in `resources/js/functions.js`. |
| 171 | + --> |
| 172 | +<div style="display:none" id="stepOne-linux"> |
| 173 | + <code class="hljs">$ curl -fLo cs https://git.io/coursier-cli-linux && chmod +x cs && ./cs setup </code> <br> |
| 174 | +</div> |
| 175 | +
|
| 176 | +<div style="display:none" id="stepOne-unix"> |
| 177 | + <p>Suivez <a href="https://get-coursier.io/docs/cli-installation" target="_blank">les instructions pour installer la commande |
| 178 | + <code>cs</code></a>puis exécutez :</p> |
| 179 | + <p><code>$ ./cs setup</code></p> |
| 180 | +</div> |
| 181 | +
|
| 182 | +<div style="display:none" id="stepOne-osx"> |
| 183 | + <div class="highlight"> |
| 184 | + <code class="hljs">$ brew install coursier/formulas/coursier && cs setup </code> <br> |
| 185 | + </div> |
| 186 | + <p>Alternativement, si vous n'utilisez pas Homebrew</p> |
| 187 | + <div class="highlight"> |
| 188 | + <code class="hljs">$ curl -fLo cs https://git.io/coursier-cli-macos && chmod +x cs && (xattr -d com.apple.quarantine cs || true) && ./cs setup</code> <br> |
| 189 | + </div> |
| 190 | +</div> |
| 191 | +
|
| 192 | +<div style="display:none" id="stepOne-windows"> |
| 193 | + <p>Téléchargez et exécutez <a href="https://git.io/coursier-cli-windows-exe">l'intallateur Scala pour Windows</a> basé sur Coursier</p> |
| 194 | +</div> |
0 commit comments