← Retour LearnBloxLearnBlox

Luau — Les Bases

Modules 1–2

Luau est le langage de programmation de Roblox, une version optimisée de Lua. C'est avec lui que tu donnes vie à ton jeu : déplacer des objets, réagir aux actions du joueur, gérer des scores. Cette antisèche couvre les fondations : variables, types de données, opérateurs et affichage dans la console.

Avant d'écrire ta première ligne, retiens trois choses : Luau est sensible à la casse (Score et score sont deux variables différentes), les variables se déclarent avec local pour rester propres, et la fonction print() est ton meilleur ami pour vérifier ce que fait ton code. Un script se place dans ServerScriptService (serveur) ou dans un objet pour s'exécuter.

📦 Variables
-- Déclaration locale (recommandée)
local nom = "Roblox"
local points = 100
local actif = true
local rien = nil

-- Variable globale (éviter !)
compteur = 0

-- Plusieurs sur une ligne
local x, y, z = 1, 2, 3
🔤 Types de données
TypeExempleVérifier avec
string"Bonjour"type(x)=="string"
number42 / 3.14type(x)=="number"
booleantrue / falsetype(x)=="boolean"
nilnilx == nil
table{1,2,3}type(x)=="table"
functionfunction() endtype(x)=="function"
🔢 Opérateurs
OpérateurSignificationExemple
+ - * /Arith. classique10 / 2 → 5
//Division entière7 // 2 → 3
%Modulo (reste)7 % 3 → 1
^Puissance2^10 → 1024
..Concaténation"A".."B" → "AB"
#Longueur#"Hello" → 5
📝 Strings — Fonctions utiles
local s = "Bonjour Roblox"

string.len(s)           -- 14
string.upper(s)         -- "BONJOUR ROBLOX"
string.lower(s)         -- "bonjour roblox"
string.sub(s, 1, 7)     -- "Bonjour"
string.rep("ha", 3)      -- "hahaha"
string.find(s, "Roblox") -- 9, 14
string.format("Score: %d", 42) -- "Score: 42"
tostring(42)            -- "42"
tonumber("42")          -- 42
💬 print() et debug
-- Affiche dans la console Studio (Output)
print("Bonjour !")                         -- texte simple
print("Points:", points)                   -- plusieurs valeurs séparées par tabulation
print("Score: " .. tostring(points))        -- concaténation
print(string.format("Score: %d pts", points)) -- formaté

warn("Attention !")    -- message en orange
error("Erreur fatale") -- stoppe le script + message en rouge
💡 script.Parent — désigne l'objet parent du script dans l'Explorer. Ex: script.Parent.Name donne le nom de l'objet.
✅ Bonnes pratiques & erreurs fréquentes
  • Utilise toujours local pour tes variables : une variable globale est plus lente et peut entrer en conflit avec d'autres scripts.
  • Nomme tes variables clairement (vitesseJoueur plutôt que v) : tu te reliras plus facilement dans quelques semaines.
  • Attention aux types : 5 (nombre) et "5" (texte) ne se comportent pas pareil. Concaténer du texte se fait avec .., pas +.
  • print() partout au début : c'est la façon la plus simple de comprendre pourquoi ton script ne fait pas ce que tu crois.