Apprendre JavaScript
Un cours JavaScript en ligne, gratuit et interactif. Tu écris du JS à chaque leçon, avec des indices IA quand tu bloques et un certificat à la fin.
257,728+ 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
Fondamentaux
Commencer la sectionDémarrerDévelopperRéduireConstruisez une base solide avec des concepts essentiels et des compétences de baseIntroduction
4 leçons223- 01Le langageDéfi
- 02Hello World !DéfiQuiz
- 03CommentairesQuiz
- 04Structure du codeQuiz
Variables
7 leçons1247- 01NombresDéfiMaîtriseQuiz
- 02Chaînes de caractèresDéfiMaîtriseQuiz
- 03BooléensDéfiMaîtriseQuiz
- 04Conventions de nommageDéfiMaîtriseQuiz
- 05Variables videsDéfiQuiz
- 06Récapitulatif - Initialiser des variablesDéfi
- 07ConstantesDéfiMaîtriseQuiz
Opérateurs - Partie 1
6 leçons1037- 01Opérateurs arithmétiquesDéfiMaîtriseQuiz
- 02Opérateur moduloDéfiMaîtriseQuiz
- 03Raccourcis arithmétiquesDéfiMaîtriseQuiz
- 04Opérateurs de comparaisonDéfiMaîtriseQuiz
- 05Égalité stricte vs faibleDéfiQuiz
- 06Récapitulatif - Mathématiques simplesDéfi
Opérateurs Partie 2
5 leçons831- 01Opérateurs logiques Partie 1DéfiMaîtriseQuiz
- 02Opérateurs logiques Partie 2DéfiMaîtriseQuiz
- 03Récapitulatif - Logique simpleDéfi
- 04Opérateurs logiques Partie 3DéfiMaîtriseQuiz
- 05Coercion de typeDéfiQuiz
Prise de décision
5 leçons729- 01L'instruction IfDéfiMaîtriseQuiz
- 02If - ElseDéfiMaîtriseQuiz
- 03Récapitulatif - Calculatrice simpleDéfi
- 04If - Else imbriquésDéfiQuiz
- 05L'instruction SwitchDéfiQuiz
Entrées/Sorties de base
6 leçons931- 01SortieDéfiMaîtriseQuiz
- 02Sortie avec des variablesDéfiMaîtriseQuiz
- 03Conversion de type - Partie 1DéfiMaîtriseQuiz
- 04Conversion de type - Partie 2DéfiQuiz
- 05Récapitulatif - Jusqu'à 120Défi
- 06Récapitulatif - Vrai ou FauxDéfi
Calculateur de partage d'addition
Projet4 leçons1- 01Message de bienvenueDéfi
- 02Calcul du pourboire et du totalProjet
- 03Partager l'additionProjet
- 04Affichage formatéProjet
Boucles
7 leçons1345- 01Boucle ForDéfiMaîtriseQuiz
- 02Boucle WhileDéfiMaîtriseQuiz
- 03BreakDéfiMaîtriseQuiz
- 04ContinueDéfiMaîtriseQuiz
- 05Récapitulatif - FactorielleDéfi
- 06Boucle Do WhileDéfiMaîtriseQuiz
- 07Boucles imbriquéesDéfiMaîtriseQuiz
Fonctions
8 leçons1250- 01Déclarer une fonctionDéfiMaîtriseQuiz
- 02ArgumentsDéfiMaîtriseQuiz
- 03L'instruction returnDéfiMaîtriseQuiz
- 04Récapitulatif - Fonction SigmaDéfi
- 05Expression de fonctionDéfiMaîtriseQuiz
- 06Paramètres par défautQuiz
- 07Fonctions fléchéesDéfiMaîtriseQuiz
- 08Récapitulatif - Fonction de validationDéfi
FizzBuzz avec une variante
Projet4 leçons1- 01Présentation du jeuDéfi
- 02La fonction FizzBuzzProjet
- 03Parcourir les nombresProjet
- 04Ajouter la varianteProjet
Les tableaux - Partie 1
6 leçons1037- 01Déclarer un tableauDéfiMaîtriseQuiz
- 02Accéder aux éléments d'un tableauDéfiMaîtriseQuiz
- 03Modifier des tableauxDéfiQuiz
- 04Méthodes de tableau - Partie 1DéfiMaîtriseQuiz
- 05Méthodes de tableau - Partie 2DéfiMaîtriseQuiz
- 06Récapitulatif - Processeur de tableauxDéfi
Tableaux, Partie 2
8 leçons1254- 01Parcourir les tableauxDéfiQuiz
- 02La méthode forEachDéfiQuiz
- 03Boucle for...ofDéfiMaîtriseQuiz
- 04Récapitulatif - Compteur PDéfi
- 05Slicing de tableauxDéfiMaîtriseQuiz
- 06Méthodes de tableaux, Partie 3DéfiMaîtriseQuiz
- 07Méthodes de tableaux, Partie 4DéfiMaîtriseQuiz
- 08Test d'appartenanceDéfiQuiz
Suivi de liste de courses
Projet4 leçons1- 01Présentation du projetDéfi
- 02Ajouter un articleProjet
- 03Supprimer un articleProjet
- 04Afficher la listeProjet
Défis finaux
3 leçons37- 01Pyramide de nombresDéfiQuiz
- 02Doubler les impairsDéfi
- 03Quoi acheterDéfi
Section 2
Logique & Flux
Commencer la sectionDémarrerDévelopperRéduireDéveloppez des compétences en résolution de problèmes et créez des programmes dynamiques et interactifsLes chaînes de caractères en profondeur
5 leçons630- 01Fondamentaux des chaînesQuiz
- 02Parcourir les chaînesDéfiMaîtriseQuiz
- 03Template LiteralsDéfiQuiz
- 04Méthodes des chaînesDéfiMaîtriseQuiz
- 05Récapitulatif - String WeaverDéfi
Tableaux multidimensionnels
9 leçons1452- 01Bases des tableaux 2DQuiz
- 02Accès aux éléments d'un tableau 2DDéfiMaîtriseQuiz
- 03Boucles imbriquées et tableaux 2DDéfiMaîtriseQuiz
- 04Récapitulatif - Tableaux 2DDéfi
- 05Addition et soustraction de matricesDéfiMaîtriseQuiz
- 06Tableaux irréguliers (Jagged Arrays)DéfiMaîtriseQuiz
- 07Tableaux 3D et au-delàDéfiMaîtriseQuiz
- 08Modèles courants de tableaux 2DDéfiMaîtriseQuiz
- 09Récapitulatif - Tout sur les tableauxDéfi
JSON Partie 1
7 leçons944- 01Qu'est-ce qu'un JSON ?Quiz
- 02Vérifier si une clé existeDéfiMaîtriseQuiz
- 03Méthodes d'objetDéfiMaîtriseQuiz
- 04L'opérateur Spread Partie 1Quiz
- 05L'opérateur Spread Partie 2DéfiMaîtriseQuiz
- 06Supprimer des clésDéfiMaîtriseQuiz
- 07Récapitulatif - Manipuler les clés JSONDéfi
JSON Partie 2
6 leçons530- 01Itérer sur du JSONDéfiQuiz
- 02JSON imbriquéDéfiQuiz
- 03Chaînage optionnel JSONQuiz
- 04Copie superficielle et profondeDéfiQuiz
- 05Récapitulatif - Magasin de vélosDéfi
- 06Récapitulatif - Système solaireDéfi
Les Ensembles - Partie 1
8 leçons749- 01Qu'est-ce qu'un ensemble ?DéfiQuiz
- 02Parcourir les ensemblesQuiz
- 03Ajouter un élémentDéfiQuiz
- 04Supprimer un élémentDéfiQuiz
- 05Vérifier si un élément existeDéfiQuiz
- 06Taille et Est videDéfiQuiz
- 07Copier et EffacerDéfiQuiz
- 08Récapitulatif - Les bases des ensemblesDéfi
Ensembles - Partie 2
6 leçons637- 01Math - Union d'ensemblesDéfiQuiz
- 02Math - Intersection d'ensemblesDéfiQuiz
- 03Math - Différence d'ensemblesDéfiQuiz
- 04Math - Différence symétriqueDéfiQuiz
- 05Sous-ensembles et sur-ensemblesDéfiQuiz
- 06Récapitulatif - Grouper des amisDéfi
Système de gestion de bibliothèque
Projet5 leçons1- 01Présentation du projetDéfi
- 02Ajouter des livresProjet
- 03Recherche par titreProjet
- 04Filtrer par genreProjet
- 05Marquer comme luProjet
Tableaux : Sujets avancés
4 leçons422- 01Déstructuration de TableauxDéfiQuiz
- 02Syntaxe Spread dans les TableauxDéfiQuiz
- 03Tableaux creuxDéfiQuiz
- 04Récapitulatif - Atelier sur les TableauxDéfi
Méthodes avancées des tableaux
9 leçons761- 01Les méthodes Join & SplitQuiz
- 02La méthode MapDéfiMaîtriseQuiz
- 03La méthode FilterDéfiQuiz
- 04La méthode ReduceDéfiQuiz
- 05Chaînage des méthodes de tableauxDéfiQuiz
- 06ForEach et Map sont-elles identiques ?Quiz
- 07La méthode SortDéfiQuiz
- 08Les méthodes Find & FindIndexQuiz
- 09Récapitulatif - Le maître du chaînageDéfi
Gérer le système du festival
Projet6 leçons1- 01Présentation du projetDéfi
- 02Ajouter des films et des lieuxProjet
- 03Ajouter une projectionProjet
- 04Acheter des billetsProjet
- 05Noter les filmsProjet
- 06Annuler des projectionsProjet
Section 3
Introduction à TypeScriptPage dédiée
Commencer la sectionDémarrerDévelopperRéduireIntroduction à TypeScript après avoir appris JavaScriptPremiers pas avec TS
5 leçons232- 01Qu'est-ce que TypeScript ?Quiz
- 02Pourquoi utiliser TypeScript ?Quiz
- 03Votre premier code TypeScriptDéfiQuiz
- 04Processus de compilation et erreursQuiz
- 05Récapitulatif : Introduction à TSDéfi
Types fondamentaux
7 leçons748- 01Types de base : str, num, booleanDéfiQuiz
- 02Le type 'any' : la porte de sortieDéfiQuiz
- 03Le type 'unknown'DéfiQuiz
- 04Travailler avec 'null' et 'undef'DéfiQuiz
- 05L'inférence de type en actionDéfiQuiz
- 06Annotations de type explicitesDéfiQuiz
- 07Récapitulatif : Pratique des types fondamentauxDéfi
Structure de données : Tableaux et Tuples
9 leçons862- 01Tableaux typésDéfiQuiz
- 02Modificateur 'readonly' pour les tableauxDéfiQuiz
- 03Qu'est-ce qu'un tuple ?Quiz
- 04Déclaration et accès aux tuplesDéfiQuiz
- 05Déstructuration de tuplesDéfiQuiz
- 06Tuples readonlyDéfiQuiz
- 07Tableaux typés multidimensionnelsDéfiQuiz
- 08Spread operator avec les tableauxDéfiQuiz
- 09Récapitulatif : Tableaux et tuplesDéfi
Travailler avec les fonctions
8 leçons855- 01Typage des paramètres et valeurs de retourDéfiQuiz
- 02Typage des fonctions fléchéesDéfiQuiz
- 03Le type de retour 'void'DéfiQuiz
- 04Paramètres optionnels avec '?'DéfiQuiz
- 05Valeurs par défaut des paramètresDéfiQuiz
- 06Typage des paramètres RestDéfiQuiz
- 07Définir des types de fonctionsDéfiQuiz
- 08Récapitulatif : Créer des fonctions typéesDéfi
Types : Alias, Unions & Intersections
7 leçons751- 01Alias de types pour les primitifsDéfiQuiz
- 02Types d'union ('|')DéfiQuiz
- 03Travailler avec les types d'unionDéfiQuiz
- 04Types littérauxDéfiQuiz
- 05Types d'intersection ('&')DéfiQuiz
- 06Combiner des alias de typesDéfiQuiz
- 07Récapitulatif : Combinaisons de types avancéesDéfi
Typage des objets et interfaces
8 leçons757- 01Annotations de type d'objet en ligneDéfiQuiz
- 02Alias de type pour les objetsDéfiQuiz
- 03Introduction aux interfacesDéfiQuiz
- 04Interfaces vs Alias de typeQuiz
- 05Propriétés optionnelles et ReadonlyDéfiQuiz
- 06Étendre les interfaces et les typesDéfiQuiz
- 07Ajout de méthodes aux interfacesDéfiQuiz
- 08Récapitulatif : Définir la structure des objetsDéfi
Projet : Une liste de tâches simple
Projet6 leçons18- 01Projet : Définir la struct TaskDéfiQuiz
- 02Fonction pour ajouter une tâcheProjet
- 03Fonction pour modifier le statut d'une tâcheProjet
- 04Fonction : Lister les tâches par statutProjet
- 05Fonction : Afficher le résumé des tâchesProjet
- 06Assembler le toutProjet
Énumérations
6 leçons638- 01Qu'est-ce qu'une énumération numérique ?DéfiQuiz
- 02Utiliser les énumérations numériquesDéfiQuiz
- 03Qu'est-ce qu'une énumération de chaînes ?DéfiQuiz
- 04Utiliser les énumérations de chaînesDéfiQuiz
- 05Énumérations hétérogènesDéfiQuiz
- 06Récapitulatif : Utiliser les énumérationsDéfi
Les génériques : un premier aperçu
6 leçons537- 01Le problème résolu par les génériquesQuiz
- 02Créer une fonction d'identité génériqueDéfiQuiz
- 03Utiliser une fonction génériqueDéfiQuiz
- 04Tableaux génériquesDéfiQuiz
- 05Interfaces génériquesDéfiQuiz
- 06Récapitulatif : Pratique des fonctions génériquesDéfi
Projet : Gestion d'inventaire
Projet5 leçons18- 01Projet : Article d'inventaire génériqueDéfiQuiz
- 02Fonction : Ajouter des articles à l'inventaireProjet
- 03Fonction pour trouver un article par IDProjet
- 04Créer un type d'inventaire spécifiqueProjet
- 05Fonction pour obtenir les détails de l'articleProjet
Sujets avancés
6 leçons642- 01Assertions de typeDéfiQuiz
- 02Type Guards : in & instanceofDéfiQuiz
- 03Le type 'never'DéfiQuiz
- 04Types nullables ('strictNull')DéfiQuiz
- 05Signatures d'index pour les objetsDéfiQuiz
- 06Récapitulatif : Affiner les typesDéfi
Section 4
Programmation Orientée Objet
Commencer la sectionDémarrerDévelopperRéduireDécouvrez comment organiser le code avec des classes, des objets et des structures réutilisablesObjets et le mot-clé this
6 leçons642- 01Révision rapide : Les objetsDéfiQuiz
- 02Ajouter des méthodes aux objetsDéfiQuiz
- 03Comprendre le mot-clé thisDéfiQuiz
- 04Fonctions constructeursDéfiQuiz
- 05Le mot-clé newDéfiQuiz
- 06Défi récapitulatifDéfi
Organisation du code
4 leçons434- 01Qu'est-ce qu'un module ?DéfiQuiz
- 02Exporter avec exportDéfiQuiz
- 03Importer avec importDéfiQuiz
- 04Exports par défaut vs nommésDéfiQuiz
Classes et Objets
4 leçons426- 01Qu'est-ce qu'une classe ?DéfiQuiz
- 02Créer des instancesDéfiQuiz
- 03Propriétés et méthodesDéfiQuiz
- 04Défi récapitulatifDéfi
Méthodes et gestion de l'état
2 leçons218- 01Méthodes modifiant l'étatDéfiQuiz
- 02Pattern de chaînage de méthodesDéfiQuiz
Encapsulation & Accès
4 leçons426- 01EncapsulationDéfiQuiz
- 02Champs de classe publics et privésDéfiQuiz
- 03Méthodes privéesDéfiQuiz
- 04Défi récapitulatifDéfi
Projet : Un compte bancaire simple
Projet3 leçons1- 01Classe BankAccountDéfi
- 02Dépôts et retraitsProjet
- 03Le solde comme champ privéProjet
L'héritage et le mot-clé extends
6 leçons645- 01L'héritageDéfiQuiz
- 02La relation « est un »DéfiQuiz
- 03Le mot-clé extendsDéfiQuiz
- 04La méthode super()DéfiQuiz
- 05Hériter des propriétés et méthodesDéfiQuiz
- 06Défi récapitulatifDéfi
Organisation du code POO
1 leçon19- 01Organiser les classes en modulesDéfiQuiz
Méthodes et propriétés statiques
4 leçons425- 01Niveau classe vs Niveau instanceDéfiQuiz
- 02Propriétés statiquesDéfiQuiz
- 03Méthodes utilitaires statiquesDéfiQuiz
- 04Défi récapitulatifDéfi
Polymorphisme
4 leçons425- 01Qu'est-ce que le polymorphisme ?DéfiQuiz
- 02Redéfinition de méthodes héritéesDéfiQuiz
- 03Utiliser superDéfiQuiz
- 04Défi récapitulatifDéfi
Projet : Un moteur de rendu de formes
Projet4 leçons1- 01Configuration : Classe Shape et ExportationDéfi
- 02Héritage de la classe CircleProjet
- 03Redéfinition et méthode AreaProjet
- 04Compteur de formes statiqueProjet
Getters et Setters
4 leçons426- 01Les mots-clés get et setDéfiQuiz
- 02Propriétés calculéesDéfiQuiz
- 03Validation et effets de bordDéfiQuiz
- 04Défi récapitulatifDéfi
Composition vs Héritage
3 leçons328- 01Les relations « has-a » vs « is-a »DéfiQuiz
- 02Les limites de l'héritage profondDéfiQuiz
- 03Construction d'objetsDéfiQuiz
Système de gestion de bibliothèque
Projet3 leçons1- 01Conception de la bibliothèqueDéfi
- 02Classe Book avec compositionProjet
- 03Validation de l'auteur du livreProjet
Défis finaux
4 leçons4- 01Créateur de personnages de jeuDéfi
- 02Système de produits E-commerceDéfi
- 03Système de gestion universitaireDéfi
- 04Système d'appareils domotiquesDéfi
Cours de JavaScript
Cours pratiques de JavaScript, 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 JavaScript avec Coddy
- Exécute du JavaScript instantanément dans ton navigateur. Pas de Node.js à installer, pas d'IDE à configurer. L'éditeur et la sortie sont côte à côte, donc la boucle de feedback en JavaScript est courte.
- JavaScript moderne : syntaxe ES6+, fonctions fléchées, promises, async/await, destructuring, modules - le JavaScript que tu écrirais en poste, pas des patterns d'un autre âge.
- Les indices IA t'aident à débugger un exercice sans te spoiler la solution, pour que tu construises le modèle mental qui rendra ton futur code JS plus facile à écrire.
- Certificat gratuit de fin de cours à partager sur LinkedIn ou à ajouter à ton CV pour prouver que tu as terminé une formation interactive en JavaScript.