Parcours
Apprendre Lua
Apprends Lua à partir de zéro avec un cours en ligne gratuit et interactif. Maîtrise variables, conditions, boucles, fonctions, structures de données et organisation de projets grâce à des défis pratiques, des projets réels, des indices IA et un certificat final.
49,057+ codders inscrits
Ce parcours inclut
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
3 sections214 leçons167 défis1,071 questions de quiz01Section 1
Fundamentals
The first section in Lua for absolute beginners.COMMENCER À APPRENDREIntroduction
3 leçons216- 01Le langageDéfi
- 02Hello World !DéfiQuizAudio
- 03CommentairesQuizAudio
Variables et types de données
8 leçons754- 01Qu'est-ce qu'une variable ?DéfiQuizAudio
- 02Les nombresDéfiQuizAudio
- 03Les chaînes de caractèresDéfiQuizAudio
- 04Les booléensDéfiQuizAudio
- 05La valeur 'nil'DéfiQuizAudio
- 06La fonction type()DéfiQuizAudio
- 07Conventions de nommageQuizAudio
- 08Récapitulatif - Profil de personnageDéfi
Opérateurs 1 Arithmétique & Conc.
6 leçons636- 01Opérateurs arithmétiquesDéfiQuizAudio
- 02Opérateur moduloDéfiQuizAudio
- 03Opérateur d'exponentiationDéfiQuizAudio
- 04Concaténation de chaînesDéfiQuizAudio
- 05Priorité des opérateursDéfiQuizAudio
- 06Récapitulatif - Calculs simplesDéfi
Opérateurs 2 : Relationnels et Logique
8 leçons651- 01Opérateurs d'égalitéDéfiQuizAudio
- 02Opérateurs relationnelsDéfiQuizAudio
- 03L'opérateur 'and'DéfiQuizAudio
- 04L'opérateur 'or'DéfiQuizAudio
- 05L'opérateur 'not'DéfiQuizAudio
- 06Évaluation court-circuitQuizAudio
- 07Valeurs Truthy et FalsyQuizAudio
- 08Récapitulatif - Logique simpleDéfi
Affichage de base
9 leçons954- 01Afficher des littérauxDéfiQuizAudio
- 02Afficher des variablesDéfiQuizAudio
- 03Afficher plusieurs valeursDéfiQuizAudio
- 04Combiner des chaînes et des variablesDéfiQuizAudio
- 05La fonction tostring()DéfiQuizAudio
- 06EntréeDéfiQuizAudio
- 07Le CastDéfiQuizAudio
- 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éfiQuizAudio
- 02L'instruction if-then-elseDéfiQuizAudio
- 03L'instruction elseifDéfiQuizAudio
- 04Récapitulatif - Le coffre au trésorDéfi
Bases de la manipulation de chaînes
6 leçons638- 01string.len()DéfiQuizAudio
- 02string.upper et string.lowerDéfiQuizAudio
- 03string.sub()DéfiQuizAudio
- 04string.rep()DéfiQuizAudio
- 05string.find()DéfiQuizAudio
- 06Récapitulatif - Formater le nom d'utilisateurDéfi
Bases des fonctions
6 leçons636- 01Déclarer une fonctionDéfiQuizAudio
- 02Appeler une fonctionDéfiQuizAudio
- 03Fonctions avec paramètresDéfiQuizAudio
- 04Fonctions avec plusieurs paramètresDéfiQuizAudio
- 05L'instruction 'return'DéfiQuizAudio
- 06Récapitulatif - Calculateur d'aireDéfi
Tables Partie 1 : Style Liste
8 leçons752- 01Qu'est-ce qu'une Table ?QuizAudio
- 02Créer une TableDéfiQuizAudio
- 03Accéder aux éléments par indexDéfiQuizAudio
- 04Modifier des éléments par indexDéfiQuizAudio
- 05L'opérateur de longueur '#'DéfiQuizAudio
- 06table.insert()DéfiQuizAudio
- 07table.remove()DéfiQuizAudio
- 08Récapitulatif - Gérer les membres du groupeDéfi
Tables 2 : Style dictionnaire
7 leçons648- 01Paires clé-valeurQuizAudio
- 02Créer des tables de style dictionnaireDéfiQuizAudio
- 03Accès - Notation par crochetsDéfiQuizAudio
- 04Accès avec la notation par pointDéfiQuizAudio
- 05Ajouter et modifier des pairesDéfiQuizAudio
- 06Supprimer des paires avec nilDéfiQuizAudio
- 07Récapitulatif - Propriétés des élémentsDéfi
Bases des boucles
6 leçons636- 01La boucle whileDéfiQuizAudio
- 02La boucle repeat-untilDéfiQuizAudio
- 03La boucle for numériqueDéfiQuizAudio
- 04Boucle for avec un pasDéfiQuizAudio
- 05L'instruction 'break'DéfiQuizAudio
- 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 globalesQuizAudio
- 02Variables localesDéfiQuizAudio
- 03Pourquoi utiliser des variables locales ?QuizAudio
- 04Portée et blocsDéfiQuizAudio
- 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
02Section 2
Logic & Flow
Develop problem-solving skills and create dynamic, interactive programsCOMMENCER À APPRENDREIté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
03Section 3
Object Oriented Programming
Discover how to organize code with classes, objects, and reusable structuresCOMMENCER À APPRENDRELe 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
Pourquoi apprendre Lua avec Coddy
- Cours Lua en ligne et gratuit : aucune installation, aucun outil à configurer, aucun frein pour commencer. Ouvre ton navigateur et pratique dès la première leçon.
- Des leçons pratiques de Lua qui vont plus loin qu’un tutoriel : chaque notion est associée à un exercice pour écrire du vrai code.
- Les indices IA t’aident quand tu bloques sur un exercice Lua, en expliquant l’étape suivante sans donner toute la solution.
- Certificat gratuit de fin de cours à partager sur LinkedIn ou à ajouter à ton CV pour prouver que tu as terminé une formation interactive en Lua.
Questions fréquentes sur l’apprentissage de Lua
Lua est-il facile à apprendre ?
Oui, tu peux commencer Lua même sans expérience. Coddy découpe les notions en exercices courts pour comprendre la syntaxe, pratiquer variables, conditions, boucles, fonctions, structures de données et organisation de projets et progresser avec confiance.
Combien de temps faut-il pour apprendre Lua ?
Les bases de Lua s’apprennent souvent en une à deux semaines de pratique quotidienne. Pour être à l’aise sur des projets réels, compte plutôt un à trois mois selon ton rythme.
Où apprendre Lua en ligne gratuitement ?
Coddy propose un cours en ligne gratuit de Lua avec leçons, défis de code, quiz et projets. Rien à installer : tout fonctionne dans le navigateur.
Comment apprendre Lua rapidement ?
La méthode la plus rapide consiste à pratiquer tous les jours. Sur Coddy, tu alternes explications courtes, exercices immédiats et feedback avec indices IA, donc tu passes plus de temps à écrire Lua qu’à regarder de longues vidéos.
Reçoit-on un certificat Lua à la fin ?
Oui. Quand tu termines le cours Lua sur Coddy, tu reçois un certificat gratuit de fin de formation à partager sur LinkedIn ou à ajouter à ton CV.
Que peut-on créer après avoir appris Lua ?
Après le cours, tu pourras créer scripts utiles, petites applications, automatisations, jeux simples et projets à montrer dans ton portfolio. Tu auras aussi une base solide pour continuer vers des sujets plus avancés.