# Tutoriel : votre premier programme MoonBit dans Turbo MoonBit À la fin de ce tutoriel, vous aurez écrit, formaté, lancé et cassé un petit programme MoonBit sans quitter l'éditeur — et vu l'éditeur vous dire où était l'erreur. Aucune connaissance préalable de Turbo MoonBit n'est nécessaire. Il vous faut Go 1.26 ou plus récent pour compiler l'éditeur, et la chaîne d'outils MoonBit pour compiler le programme. ## Prérequis Vérifiez Go : ```bash go version ``` Vous devriez voir quelque chose comme : ``` go version go1.26.5 linux/arm64 ``` Vérifiez la chaîne d'outils MoonBit : ```bash moon version --all ``` Vous devriez voir trois lignes, chacune se terminant par un chemin : ``` moon 0.1.20260904 (94521db 2026-09-04) ~/.moon/bin/moon moonc v0.10.12+1634b282e (2026-09-07) ~/.moon/bin/moonc moonrun 0.1.20260904 (94521db 2026-09-04) ~/.moon/bin/moonrun ``` Si la commande est introuvable, installez d'abord la chaîne d'outils — [une seule commande suffit](../how-to/install-the-moonbit-toolchain.md). ## Étape 1 — Installer l'éditeur ```bash git clone https://rickub.com/turbo-editors/turbo-moonbit.git cd turbo-moonbit make install ``` L'installeur compile, installe, puis vérifie ce qu'il a installé. Les dernières lignes sont : ``` ==> Checking the language server ✓ moon-lsp at ~/.moon/bin/moon-lsp ==> Ready ``` Nous avons maintenant une commande `turbo-moonbit`. ## Étape 2 — Créer un projet ```bash cd /tmp moon new hello cd hello ``` ``` Created username/hello at hello ``` `moon new` écrit un `moon.mod`, un `moon.pkg`, un fichier de bibliothèque, quelques fichiers de test, et un `cmd/main/main.mbt` contenant un hello-world. **C'est `moon.mod` que Turbo MoonBit cherche** pour trouver la racine d'un projet, et c'est le dossier dans lequel `moon-lsp` sera lancé. ## Étape 3 — Ouvrir le fichier ```bash turbo-moonbit cmd/main/main.mbt ``` L'écran se remplit. En haut : ``` File Edit Search Run Code Options Window Snippets MoonBit Help ``` Dix menus, et le neuvième porte le nom du langage. En bas, à droite, vous devriez voir : ``` 1:1 LSP: ready ``` `LSP: ready` signifie que `moon-lsp` a démarré dans ce dossier. Nous nous en servirons à l'étape 8. ## Étape 4 — Écrire le programme Sélectionnez tout avec `Ctrl-A` et appuyez sur `Suppr`, puis tapez ceci. Tapez-le exactement ; nous allons regarder les couleurs juste après. ```moonbit ///| struct Greeting { name : String times : Int } ///| fn greet(g : Greeting) -> Unit { for i in 0..