Apprendre Lua
Un cours Lua en ligne, gratuit et interactif. Tu écris du Lua à chaque leçon, avec des indices IA quand ça part en nil, et un certificat gratuit à la fin.
58,210+ codders inscrits
- Adapté aux débutants
Aide au codage assistée par IA
Leçons interactives et pratiques
Narration audio dans chaque leçon
Quiz pour tester vos connaissances
Certificat gratuit de réussite
Programme
Section 1
Fundamentals
Commencer la sectionDémarrerDévelopperRéduireThe first section in Lua for absolute beginners.Introduction
3 leçons216- 01Le langageDéfi
- 02Hello World !DéfiQuiz
- 03CommentairesQuiz
Variables et types de données
8 leçons754- 01Qu'est-ce qu'une variable ?DéfiQuiz
- 02Les nombresDéfiQuiz
- 03Les chaînes de caractèresDéfiQuiz
- 04Les booléensDéfiQuiz
- 05La valeur 'nil'DéfiQuiz
- 06La fonction type()DéfiQuiz
- 07Conventions de nommageQuiz
- 08Récapitulatif - Profil de personnageDéfi
Opérateurs 1 Arithmétique & Conc.
6 leçons635- 01Opérateurs arithmétiquesDéfiQuiz
- 02Opérateur moduloDéfiQuiz
- 03Opérateur d'exponentiationDéfiQuiz
- 04Concaténation de chaînesDéfiQuiz
- 05Priorité des opérateursDéfiQuiz
- 06Récapitulatif - Calculs simplesDéfi
Opérateurs 2 : Relationnels et Logique
8 leçons651- 01Opérateurs d'égalitéDéfiQuiz
- 02Opérateurs relationnelsDéfiQuiz
- 03L'opérateur 'and'DéfiQuiz
- 04L'opérateur 'or'DéfiQuiz
- 05L'opérateur 'not'DéfiQuiz
- 06Évaluation court-circuitQuiz
- 07Valeurs Truthy et FalsyQuiz
- 08Récapitulatif - Logique simpleDéfi
Affichage de base
9 leçons954- 01Afficher des littérauxDéfiQuiz
- 02Afficher des variablesDéfiQuiz
- 03Afficher plusieurs valeursDéfiQuiz
- 04Combiner des chaînes et des variablesDéfiQuiz
- 05La fonction tostring()DéfiQuiz
- 06EntréeDéfiQuiz
- 07Le CastDéfiQuiz
- 08Récapitulatif - Rapport d'étatDéfi
- 09Récapitulatif - Jusqu'à 120Défi
Projet : Affichage des stats du personnage
Projet5 leçons1- 01Message de bienvenueDéfi
- 02Déclarer les statistiques du personnageProjet
- 03Afficher les statistiques de baseProjet
- 04Ajouter un indicateur booléenProjet
- 05Résumé finalProjet
Logique conditionnelle de base
4 leçons423- 01L'instruction if-thenDéfiQuiz
- 02L'instruction if-then-elseDéfiQuiz
- 03L'instruction elseifDéfiQuiz
- 04Récapitulatif - Le coffre au trésorDéfi
Bases de la manipulation de chaînes
6 leçons637- 01string.len()DéfiQuiz
- 02string.upper et string.lowerDéfiQuiz
- 03string.sub()DéfiQuiz
- 04string.rep()DéfiQuiz
- 05string.find()DéfiQuiz
- 06Récapitulatif - Formater le nom d'utilisateurDéfi
Bases des fonctions
6 leçons636- 01Déclarer une fonctionDéfiQuiz
- 02Appeler une fonctionDéfiQuiz
- 03Fonctions avec paramètresDéfiQuiz
- 04Fonctions avec plusieurs paramètresDéfiQuiz
- 05L'instruction 'return'DéfiQuiz
- 06Récapitulatif - Calculateur d'aireDéfi
Tables Partie 1 : Style Liste
8 leçons752- 01Qu'est-ce qu'une Table ?Quiz
- 02Créer une TableDéfiQuiz
- 03Accéder aux éléments par indexDéfiQuiz
- 04Modifier des éléments par indexDéfiQuiz
- 05L'opérateur de longueur '#'DéfiQuiz
- 06table.insert()DéfiQuiz
- 07table.remove()DéfiQuiz
- 08Récapitulatif - Gérer les membres du groupeDéfi
Tables 2 : Style dictionnaire
7 leçons648- 01Paires clé-valeurQuiz
- 02Créer des tables de style dictionnaireDéfiQuiz
- 03Accès - Notation par crochetsDéfiQuiz
- 04Accès avec la notation par pointDéfiQuiz
- 05Ajouter et modifier des pairesDéfiQuiz
- 06Supprimer des paires avec nilDéfiQuiz
- 07Récapitulatif - Propriétés des élémentsDéfi
Bases des boucles
6 leçons636- 01La boucle whileDéfiQuiz
- 02La boucle repeat-untilDéfiQuiz
- 03La boucle for numériqueDéfiQuiz
- 04Boucle for avec un pasDéfiQuiz
- 05L'instruction 'break'DéfiQuiz
- 06Récapitulatif - Compte à reboursDéfi
Projet : Boutique de potions simple
Projet6 leçons1- 01Configuration du projetDéfi
- 02Ajouter une potionProjet
- 03Afficher l'inventaireProjet
- 04Calculer la valeur totale du stockProjet
- 05Trouver une potion spécifiqueProjet
- 06Vendre une potionProjet
Portée des variables
5 leçons330- 01Variables globalesQuiz
- 02Variables localesDéfiQuiz
- 03Pourquoi utiliser des variables locales ?Quiz
- 04Portée et blocsDéfiQuiz
- 05Récapitulatif - Énigme de portéeDéfi
Défis finaux
3 leçons3- 01Récapitulatif - Tour du joueurDéfi
- 02Récapitulatif - Base de données simpleDéfi
- 03Récapitulatif - Somme des nombres pairsDéfi
Section 2
Logic & Flow
Commencer la sectionDémarrerDévelopperRéduireDevelop problem-solving skills and create dynamic, interactive programsItération avancée des tables
4 leçons423- 01Itérer avec pairs()DéfiQuiz
- 02Itérer avec ipairs()DéfiQuiz
- 03pairs() vs. ipairs()DéfiQuiz
- 04Récapitulatif - Fiche de personnageDéfi
Plus de fonctions de la bibliothèque table
5 leçons430- 01table.concat()DéfiQuiz
- 02Construction de table & unpack()DéfiQuiz
- 03table.sort()DéfiQuiz
- 04Tri personnalisé avec des fonctionsQuiz
- 05Récapitulatif - Tableau des scoresDéfi
Concepts avancés sur les fonctions
6 leçons539- 01Retourner plusieurs valeursQuiz
- 02Fonctions variadiques (...)DéfiQuiz
- 03Les fonctions comme valeurs de première classeDéfiQuiz
- 04Fonctions anonymesDéfiQuiz
- 05Qu'est-ce qu'une closure ?DéfiQuiz
- 06Récapitulatif - Gestionnaire d'événements simpleDéfi
Introduction aux Metatables
8 leçons757- 01Qu'est-ce qu'une Metatable ?Quiz
- 02setmetatable & getmetatableDéfiQuiz
- 03La métaméthode __indexDéfiQuiz
- 04La métaméthode __newindexDéfiQuiz
- 05La métaméthode __tostringDéfiQuiz
- 06Métaméthodes arithmétiques - Partie 1DéfiQuiz
- 07Métaméthodes arithmétiques - Partie 2DéfiQuiz
- 08Récapitulatif - Table en lecture seuleDéfi
Projet : Moteur de jeu d'aventure textuel
Projet8 leçons1- 01Configuration du projet : La pièceDéfi
- 02Relier les piècesProjet
- 03État du joueurProjet
- 04La boucle de jeuProjet
- 05Gérer les entrées utilisateurProjet
- 06Déplacer le joueurProjet
- 07Gérer les déplacements non validesProjet
- 08Afficher les sortiesProjet
Gestion des erreurs
3 leçons216- 01La fonction error()Quiz
- 02Appels protégés avec pcall()DéfiQuiz
- 03Récapitulatif - Division sécuriséeDéfi
Manipulation avancée de chaînes
6 leçons641- 01string.gsub() pour la substitutionDéfiQuiz
- 02Intro aux motifs de chaînesDéfiQuiz
- 03string.find()DéfiQuiz
- 04string.match()DéfiQuiz
- 05Itération avec string.gmatch()DéfiQuiz
- 06Récapitulatif - Analyseur de fichiers de logDéfi
Projet : Liste de contacts
Projet7 leçons1- 01Configuration du projetDéfi
- 02La boucle principaleProjet
- 03Ajouter un contactProjet
- 04Afficher tous les contactsProjet
- 05Rechercher un contactProjet
- 06Supprimer un contactProjet
- 07Gérer les entrées invalidesProjet
Les coroutines pour débutants
7 leçons638- 01Qu'est-ce qu'une coroutine ?Quiz
- 02coroutine create & resumeDéfiQuiz
- 03Pause avec coroutine.yield()DéfiQuiz
- 04resume & yieldDéfiQuiz
- 05Vérifier l'état d'une coroutineDéfiQuiz
- 06Récapitulatif - Générateur de nombresDéfi
- 07Récapitulatif - Calcul vectorielDéfi
Section 3
Object Oriented Programming
Commencer la sectionDémarrerDévelopperRéduireDiscover how to organize code with classes, objects, and reusable structuresLe concept de « self »
5 leçons532- 01Tables avec fonctionsDéfiQuiz
- 02« self » expliciteDéfiQuiz
- 03La syntaxe avec deux-pointsDéfiQuiz
- 04Point vs deux-pointsDéfiQuiz
- 05Récapitulatif - Point mobileDéfi
Modèle de prototype de classe
6 leçons641- 01Le concept de prototypeDéfiQuiz
- 02Liaison avec __indexDéfiQuiz
- 03Le constructeur :new()DéfiQuiz
- 04Initialisation des attributsDéfiQuiz
- 05Instances indépendantesDéfiQuiz
- 06Récapitulatif - Usine de voituresDéfi
État et comportement des objets
7 leçons748- 01Variables d'instanceDéfiQuiz
- 02Méthodes GetterDéfiQuiz
- 03Méthodes SetterDéfiQuiz
- 04Propriétés calculéesDéfiQuiz
- 05Formatage de chaînesDéfiQuiz
- 06Vérifications d'égalitéDéfiQuiz
- 07Récapitulatif - Note de l'étudiantDéfi
Projet : Banque numérique
Projet7 leçons1- 01Configuration du projetDéfi
- 02Méthode de dépôtProjet
- 03Méthode de retraitProjet
- 04Obtenir le soldeProjet
- 05Informations du compteProjet
- 06Transférer des fondsProjet
- 07Test bancaire finalProjet
Surcharge d'opérateurs en POO
5 leçons531- 01Additionner des objetsDéfiQuiz
- 02Soustraire des objetsDéfiQuiz
- 03Concaténer des objetsDéfiQuiz
- 04Comparer des objets (<, >)DéfiQuiz
- 05Récapitulatif - Calculs de portefeuilleDéfi
Bases de l'héritage
6 leçons643- 01Mise en place de l'héritageDéfiQuiz
- 02Hériter des méthodesDéfiQuiz
- 03Étendre le constructeurDéfiQuiz
- 04Ajouter des méthodes enfantsDéfiQuiz
- 05Partagé vs UniqueDéfiQuiz
- 06Récapitulatif - Hiérarchie des formesDéfi
Polymorphisme et Redéfinition
6 leçons640- 01Redéfinition de méthodesDéfiQuiz
- 02Appeler des méthodes parentesDéfiQuiz
- 03Duck TypingDéfiQuiz
- 04Interface communeDéfiQuiz
- 05Vérification du typeDéfiQuiz
- 06Récapitulatif - Rôles des employésDéfi
Encapsulation
6 leçons644- 01Conventions de nommageDéfiQuiz
- 02Closures pour la confidentialitéDéfiQuiz
- 03Accès via les ClosuresDéfiQuiz
- 04Tables en lecture seuleDéfiQuiz
- 05Logique de validationDéfiQuiz
- 06Récapitulatif - Coffre-fort sécuriséDéfi
Composition et Mixins
6 leçons642- 01Relation 'A un'DéfiQuiz
- 02DélégationDéfiQuiz
- 03Mixins simplesDéfiQuiz
- 04Appliquer plusieurs MixinsDéfiQuiz
- 05Mixins vs HéritageDéfiQuiz
- 06Récapitulatif - Assemblage de robotsDéfi
Projet : Gestionnaire de formes
Projet7 leçons1- 01Configuration du projetDéfi
- 02Classe RectangleProjet
- 03Classe CercleProjet
- 04Méthode PérimètreProjet
- 05Collection de formesProjet
- 06Aire totaleProjet
- 07Filtrer les formesProjet
Patrons de conception (Lite)
5 leçons532- 01Fonctions FactoryDéfiQuiz
- 02Table SingletonDéfiQuiz
- 03Patron IteratorDéfiQuiz
- 04Observer (Écouteur)DéfiQuiz
- 05Récapitulatif - Logger FactoryDéfi
Défis finaux
4 leçons4- 01Récapitulatif - Système d'inventaireDéfi
- 02Récapitulatif - Gestionnaire d'utilisateursDéfi
- 03Récapitulatif - Suivi des scoresDéfi
- 04Vérification finale POODéfi
Cours de Lua
Cours pratiques de Lua, gratuits à démarrer dans votre navigateur.
Défis débutant - Pratiquez les concepts de base
PopulaireMettez à l'épreuve vos connaissances de base en programmation et tentez de résoudre ces défis. Utilisez le langage de votre choix, et bon code !平衡
Certificat à la fin
- 20
- 20
Problèmes de programmation
PopulaireMettez à l'épreuve vos compétences en résolution de problèmes de programmation grâce aux exercices de différents niveaux de difficulté de ce cours. Conçu pour les développeurs possédant déjà des connaissances de base sur la syntaxe d'un langage de programmation.
Certificat à la fin
- 32
- 31
Problèmes de programmation : Volume 2
Mettez à l'épreuve vos compétences en résolution de problèmes de programmation grâce aux exercices de différents niveaux de difficulté de ce cours. Conçu pour les développeurs ayant déjà des connaissances de base de la syntaxe d'un langage de programmation, ce cours est une extension du premier volet de Problèmes de programmation.
Certificat à la fin
- 25
- 24
Pile - Série sur les structures de données n°1
Dans ce cours, vous découvrirez la structure de données Pile, vous en créerez une de zéro en utilisant le langage de votre choix, et vous vous entraînerez avec des défis de programmation !
- 13
- 6
- 1
Tas et files de priorité - Série sur les structures de données n°7
NouveauDans ce cours, vous découvrirez la structure de données Tas (le pilier des files de priorité), vous créerez un MinHeap de zéro dans le langage de votre choix et vous vous entraînerez avec des défis de programmation !
Certificat à la fin
- 14
- 6
- 1
Bootcamp : Motifs d'étoiles
Mettez à profit vos compétences en résolution de problèmes pour apprendre à afficher des motifs d'étoiles, du plus simple au plus complexe, en utilisant des boucles imbriquées, des structures conditionnelles et des calculs mathématiques.
- 30
- 28
Pourquoi apprendre Lua avec Coddy
- Du vrai code Lua exécuté dans ton navigateur. Aucun interpréteur Lua à installer, aucune toolchain à configurer. Chaque leçon exécute ton script Lua côté serveur et affiche le résultat instantanément.
- Du Lua tel qu'on l'utilise vraiment : variables, contrôle de flux, fonctions, tables (l'unique structure de données de Lua), manipulation de chaînes, metatables et patterns OOP, gestion des erreurs. Les bases de Lua qu'il te faut pour Roblox, Love2D ou le scripting embarqué.
- Les indices IA t'aident à débugger tes scripts Lua et à lire les erreurs sans te spoiler la réponse - du coup, les pièges classiques comme l'indexation sur nil ou les tableaux qui commencent à 1 deviennent des occasions d'apprendre.
- Certificat Lua gratuit à la fin du cours. Un vrai plus à mettre en avant à côté de tes jeux Roblox, mods ou projets de scripting embarqué.