Lua : le langage de script léger qui fonctionne partout
Lua est un langage de script rapide et intégrable utilisé dans les moteurs de jeu, les serveurs web, les bases de données et les éditeurs de texte — du framework de jeu LOVE et Roblox à Redis, Nginx via OpenResty, et Neovim. Son noyau minimaliste et son API C claire en font le choix par défaut quand vous avez besoin d'un runtime scriptable sans la surcharge d'une pile de langage complète. Cette piste couvre Lua des premiers principes à l'intégration en production et l'optimisation des performances, basée sur 40 cours structurés.
Ce que vous apprendrez
Vous commencerez par les variables, les types, les opérateurs et le flux de contrôle, puis progresserez vers la caractéristique qui rend Lua distinctive : les tables comme structure de données universelle pour les tableaux, les dictionnaires et les objets. À partir de là, vous travaillerez avec la bibliothèque de chaînes standard, les correspondances de motifs, les E/S fichiers et la gestion des dates. Les sujets intermédiaires incluent les métatable et les métamethods, les modèles de programmation orientée objet et fonctionnelle, les coroutines, les closures, les modules et l'encodage JSON. Les pistes appliquées couvrent les scripts Lua pour la logique de jeu, les tests unitaires avec busted, les scripts Redis, et la construction d'une architecture de plugins. Les cours avancés approfondissent la gestion de la mémoire avec les tables faibles, l'intégration de Lua dans des applications C, l'optimisation des performances avec LuaJIT, FFI pour appeler des bibliothèques C, l'intégration OpenResty/Nginx, le sandboxing, la construction de DSL, la mise en réseau avec LuaSocket, et l'écriture de plugins Neovim.
Le parcours d'apprentissage
Quarante cours s'étendent de A1 à C1. Les cours A1 et A2 établissent les fondamentaux du langage — syntaxe, fonctions, tables, séquences et E/S basique. Les cours B1 construisent le modèle mental spécifique à Lua : métatable, coroutines, modèles de POO, héritage, programmation fonctionnelle et les bibliothèques standard. Les cours B2 appliquent ces connaissances dans des contextes réels : Lua Scripting for Game Logic, Coroutine-Based Async Patterns, Lua for Redis Scripting, et Lua Game Development with LOVE. L'étage capstone C1 aborde des sujets d'expert — Embedding Lua in C Applications, LuaJIT & Performance Optimization, FFI: Calling C Libraries from Lua, Lua in Nginx (OpenResty), et Lua Writing Neovim Plugins.
Comment ça marche
Chaque cours est divisé en courtes leçons pratiques que vous complétez dans l'éditeur de code intégré avec des retours en temps réel. Un tuteur IA est disponible chaque fois que vous êtes bloqué, et la piste est à votre rythme pour que vous puissiez progresser rapidement à travers les sujets que vous connaissez déjà et ralentir pour les parties — comme les métatable ou les coroutines — qui récompensent une attention particulière.