JavaScript
JavaScript
Se connecter pour s'inscrireVotre progression
0 / 0 étapes complétées
0
Syllabus
-
-
Objectifs
-
Validations de compétences
-
Public cible
Aucun public cible spécifié pour ce module.
-
Besoins techniques
-
Prérequis
- Aucun prérequis
-
Niveau
-
Historique du module
Aucune action enregistrée
-
Informations Générales
- Durée : ~ 50h
- Format : Cours en présentiel / En ligne (en fonction des besoins)
- Objectifs :
- Maîtriser les fondamentaux de la programmation en JavaScript.
- Comprendre le DOM et la manipulation des éléments HTML.
- Apprendre à gérer les événements et les interactions utilisateur.
- Découvrir les concepts avancés comme l'asynchrone et les API.
- Mettre en pratique les bonnes pratiques de développement JavaScript.
- Prérequis : Connaissances de base en HTML et CSS recommandées.
- Public cible :
- Débutants en programmation souhaitant acquérir des bases solides en JavaScript
- Développeurs web front-end cherchant à approfondir leurs compétences en JavaScript pur
- Étudiants en informatique ou en développement web
- Professionnels en reconversion dans le développement web
- Autodidactes souhaitant structurer leur apprentissage du JavaScript
- Méthode d'enseignement :
- Théorie et démonstrations
- Exercices pratiques guidés
- Mini-projets
- Projet final intégrateur
- Besoins techniques :
- Matériel requis :
- Ordinateur portable ou de bureau (Windows, macOS ou Linux)
- Connexion internet stable
- Casque audio avec micro (pour les sessions en ligne)
- Logiciels à installer :
- Navigateur web moderne (Chrome, Firefox, Edge, ou Safari récent)
- Éditeur de code (VS Code, Sublime Text, ou WebStorm recommandés)
- Node.js (version LTS recommandée)
- Git (pour la gestion de version)
- Comptes requis :
- Compte GitHub (gratuit)
- Compte sur CodePen ou JSFiddle (optionnel pour les exercices en ligne)
- Matériel requis :
-
Modules du Cours
-
Introduction à JavaScript
- Les bases du langage
- Variables (let, const, var) et types de données
- Opérateurs et expressions
- Structures de contrôle (if/else, switch, boucles)
- Fonctions et portée
- Déclaration et appel de fonctions
- Fonctions fléchées
- Portée des variables (scope) et closure
- Les objets et tableaux
- Création et manipulation d'objets
- Méthodes d'objets et this
- Méthodes des tableaux (map, filter, reduce, etc.)
- Exercice pratique : Créer un calculateur simple
- Les bases du langage
-
Le DOM et la manipulation d'éléments
- Introduction au DOM
- Qu'est-ce que le DOM ?
- Navigation dans l'arbre DOM
- Sélection d'éléments (getElementById, querySelector, etc.)
- Manipulation du DOM
- Création, modification et suppression d'éléments
- Modification des styles et des classes CSS
- Manipulation des attributs et propriétés
- Événements
- Gestion des événements (addEventListener)
- Types d'événements (click, submit, keypress, etc.)
- Délégation d'événements
- Exercice pratique : Créer une liste de tâches interactive
- Introduction au DOM
-
JavaScript Avancé
- Programmation asynchrone
- Callbacks et Callback Hell
- Promesses (Promises)
- Async/Await
- Manipulation des formulaires avec JavaScript
- Validation des formulaires
- Gestion de la soumission
- API FormData
- Stockage côté client
- localStorage et sessionStorage
- Cookies vs Web Storage
- IndexedDB (introduction)
- Exercice pratique : Créer un gestionnaire de notes avec sauvegarde locale
- Programmation asynchrone
-
API et requêtes HTTP
- Introduction aux API REST
- Qu'est-ce qu'une API ?
- Méthodes HTTP (GET, POST, PUT, DELETE)
- Format JSON
- Fetch API
- Faire des requêtes GET, POST, PUT, DELETE
- Gestion des réponses et des erreurs
- En-têtes et authentification
- Axios (librairie tierce)
- Avantages par rapport à Fetch
- Intercepteurs et configuration globale
- Exercice pratique : Créer une application météo avec une API publique
- Introduction aux API REST
-
Sémantique et accessibilité
- Les balises sémantiques
- Utilisation des balises <header>, <footer>, <nav>, <section>, <article>, <aside>
- Importance de la sémantique pour le SEO et l’accessibilité
- Accessibilité des contenus HTML
- L’importance des attributs
alt,aria,role - Bonnes pratiques pour rendre les pages web accessibles à tous
- L’importance des attributs
- Exercice pratique : Structurer une page sémantiquement correcte et accessible
- Les balises sémantiques
-
Bonnes pratiques et outils
- ES6+ et modules JavaScript
- Import/export de modules
- Nouvelles fonctionnalités ES6+
- Transpilation avec Babel
- Outils de développement
- ESLint et Prettier
- Debugging avec les DevTools
- Tests unitaires (introduction à Jest)
- Performance JavaScript
- Optimisation des boucles
- Déchargement des tâches lourdes
- Utilisation de Web Workers
- ES6+ et modules JavaScript
-
Projet final
- Projet pratique : Développer une application web interactive
- Les étudiants devront créer une application monopage (SPA) utilisant JavaScript pur
- L'application devra interagir avec une API externe
- Gestion d'état et stockage local
- Critères d'évaluation :
- Fonctionnalités implémentées
- Qualité du code et architecture
- Gestion des erreurs et états de chargement
- Expérience utilisateur et interface
- Documentation et bonnes pratiques
- Projet pratique : Développer une application web interactive
-
-
Ressources Supplémentaires
- MDN JavaScript - Documentation complète de référence
- JavaScript.info - Tutoriels modernes et détaillés
- ESLint - Outil d'analyse de code JavaScript
- Guide de style JavaScript d'Airbnb - Bonnes pratiques de codage
- freeCodeCamp - Exercices pratiques gratuits
Atelier guidé
Manipuler le DOM, gérer les événements et consommer une API avec des états d’erreur comprensibles.
- DOM : sélectionner des éléments, créer une carte et mettre à jour le texte sans innerHTML non sûr.
- Asynchrone : appeler une API, gérer loading, succès et erreur puis annuler une requête obsolète.
- Tests : extraire une fonction pure, écrire ses tests et vérifier le rendu avec un scénario utilisateur.
Restitution de l’atelier
- Une interface interactive en JavaScript.
- Une gestion d’API avec états et accessibilité.
- Une suite de tests et un README de lancement.
Validation : Le code reste maintenable, ne bloque pas le navigateur et fournit un retour utile à chaque état.
Exercices, examens et projets
Exercice
Exercice d'application
Réaliser une mise en pratique contrôlée des notions du module.
Obligatoire Consulter
Examen
Examen de fin de module
Vérifier la maîtrise des notions essentielles du module.
Obligatoire Consulter
Projet
Projet de synthèse
Produire une solution complète et la présenter avec ses choix techniques.
Livrables :
- Code source
- README
- Démonstration