Description

Cette formation vous plonge au cœur de JavaScript, le langage de programmation qui propulse la majorité des applications web modernes.

Vous commencerez par découvrir l’histoire fascinante de JavaScript, depuis ses débuts modestes jusqu'à sa position actuelle en tant que pilier du développement web. Cette perspective historique vous permettra de mieux comprendre son évolution et son importance dans l'écosystème technologique actuel.

Au cours de cette formation, vous apprendrez à maîtriser les fondamentaux du langage, en commençant par les structures de base comme les variables, les fonctions et les objets. Vous explorerez également les tableaux et les manipulations du DOM, qui vous permettront de créer des interfaces utilisateur dynamiques et interactives.

Une attention particulière sera portée à la gestion des événements et à la communication avec des APIs, des compétences essentielles pour développer des applications modernes.

En plus de ces compétences techniques, vous serez initié aux concepts avancés de JavaScript, tels que la programmation asynchrone, la gestion de la mémoire et l'utilisation de bibliothèques pour améliorer votre productivité.

Enfin, vous apprendrez à tester, déboguer et sécuriser vos applications, vous assurant ainsi de pouvoir livrer des projets robustes et performants.

Publics visés

  • Développeurs débutants souhaitant apprendre JavaScript.
  • Étudiants en informatique débutant en programmation.
  • Développeurs front-end voulant maîtriser JavaScript.
  • Professionnels en reconversion vers le développement web.
  • Développeurs full-stack débutants cherchant à utiliser JavaScript côté serveur.

Pré-requis

  • Connaissance de base en HTML et CSS.
  • Expérience préalable en programmation (n'importe quel langage).
  • Environnement de développement installé (Visual Studio Code recommandé).
  • Notions de base sur les systèmes de gestion de versions (Git).
  • Motivation à apprendre et explorer un langage de programmation polyvalent.

Compétences

Compréhension de l'histoire et de l'évolution de JavaScript.

Maîtrise des structures de base de JavaScript (variables, types, fonctions, objets).

Compétence en manipulation du DOM pour créer des interfaces utilisateur interactives.

Connaissance approfondie des tableaux et des méthodes associées.

Capacité à gérer les événements et à réagir aux actions des utilisateurs.

Compréhension de la programmation asynchrone avec les promesses et async/await.

Aptitude à communiquer avec des APIs externes en utilisant XMLHttpRequest et Fetch.

Compétence en débogage et optimisation du code JavaScript.

Capacité à tester et valider les fonctionnalités avec des outils de test unitaires.

Connaissance de la gestion de la mémoire et des bonnes pratiques pour éviter les fuites de mémoire

Contenu du cours

11 chapites • 65 vidéos • 7h 37m de cours
L'histoire d'un titan
4 vidéos • 19m 59s

Au tout début de sa vie, JavaScript n'avait pas autant le vent en poupe qu'aujourd'hui, et pour de nombreuses raisons. La communauté de développeur ne donnait pas cher de sa peau face aux langage plus bas niveau et aux langage qui avaient l'avantage. Mais JavaScript, par sa jeunesse à su tirer son épingle du jeu.

Un début plutôt drôle
04:48

De l'invention de son nom et ses possibilités, les débuts de JavaScript ne sont pas si glorieux que ça

Toujours dans l'air du temps
03:48

En étant à l'écoute des développeurs, des besoins et en répondant à une problématique claire, JavaScript à sur s'imposer très rapidement.

Les framework et le succès
05:38

JavaScript ne doit pas sa forte implantation qu'à lui seul, mais également grâce à son écosystème incroyable tout autour.

Côté front et côté back
05:45

Avec l'arrivée de Node.js, tout à changé et tout est devenu plus simple, JavaScript devient fullstack.

Pour bien commencer
6 vidéos • 25m 41s

Pour développer en JavaScript, nous n'avons pas besoin d'un gros attirail, mais il faut tout de même bien comprendre l'environnement à mettre en place.

Éditeur de code
02:35

Sans conteste l'éditeur le plus utilisé, Visual Studio Code est un IDE très intéressant pour JavaScript.

Navigateur internet
04:50

Le navigateur ou browser sera indispensable pour bien coder en JavaScript, parlons de Chrome.

Node.js et terminal
03:03

Pour parfaire notre boite à outil, installer Node.js et Npm est incontournable, parlons aussi du terminal, qui sera un allié de taille.

Le DOM
04:55

Evident pour les développeurs connaissants HTML, il est indispensable de le connaitre pour profiter pleinement de Javascript.

Le BOM
04:26

Découvrons l'objet navigateur, qui permet d'accéder à toute la puissance des outils Javascript dans le navigateur.

Créer un script
05:52

Nous allons créer un fichier de script, l'attacher et commenter ce fichier.

Découvrir les structures fondamentales
9 vidéos • 1h 21m 25s

Comme pour tout langage de script, Javascript dispose de ces fondamentaux, permettant de stocker de l'information et de travailler avec.

Variables
09:14

Voyons les trois types de variables existantes, var, let et const.

Types de données
11:30

Pour manipuler de la données stockées convenablement, il est important de comprendre les types.

Fonctions
10:04

Pour organiser son code et pour créer des comportements, les fonctions sont une structure très utile.

Objets
16:15

Pour symboliser des formes complexes, l'objet est inévitable, que ce soit en Javascript ou dans d'autres langages.

Classes
05:36

Permettant de définir les grandes lignes d'un objet final, la classe nous permettra d'avoir plusieurs instances de l'objet.

Tableaux
05:36

Permettant de rassembler plusieurs informations dans une même organisation structurelle, les array sont très utiles.

Si et sinon
10:01

Pour commencer à conditionner, découvrir la structure if/else.

Commutateur
06:00

Dans certains cas, les if/else ne seront pas suffisant, parlons avec du switch/case.

Ternaires
07:09

Pour certains cas simple, ou l'ont souhaite assigner une valeur ou une autre, les ternaires sont plus propres.

Tout comprendre des Arrays
12 vidéos • 1h 9m 53s

Stockage des informations
02:58

Pour bien comprendre le fonctionnement des arrays, nous allons en créer un et y insérer des éléments, tous différents.

Lire des éléments
05:15

Dans une collection d'éléments, chacun d'eux dispose d'une clé d'accès, apprenons à récupérer des éléments.

Ajouter et supprimer
08:16

Il est possible d'ajouter des éléments dans un array mais également d'en supprimer.

Trouver des éléments
08:04

Pour nous aider à retrouver un élément, il est aussi possible de donner une contrainte.

Filtrer un tableau
04:39

Dans certains cas, il sera nécessaire de filtrer un tableau pour en extraire des éléments répondant aux critères.

Obtenir des informations
04:59

De nombreuses fonctions existent dans l'api des array, pour nous permettre de vérifier son contenu.

Ordonner les éléments
07:05

Il est également possible de donner un ordre aux éléments se trouvant dans un tableau.

Itérer des éléments
07:24

L'itération va permettre de parcourir un tableau pour travailler sur chaque éléments les uns après les autres.

Modifier des éléments
06:20

Au lieu d'itérer, il est également possible d'altérer le contenu des éléments d'un array.

Fusionner des tableaux
05:04

Un opérateur spécial nous permet de récupérer le contenu d'un tableau et de l'insérer dans un autre tableau.

Récupérer le premier ou le dernier élément
05:13

Deux méthodes assez intéressantes nous permettent de récupérer un élément au début ou à la fin et de le stocker.

Créer une chaine de caractère
04:36

Il est possible de construire une chaine entière des éléments du tableau.

Manipuler le DOM
8 vidéos • 1h 55s

Comprendre la structure
04:15

DOM est une imbrication d'éléments, et la représentation sous forme d'arbre.

Cibler un élément
08:57

Avec le BOM, nous disposons d'outils pour cibler et travailler sur un élément.

Modifier le contenu
07:19

Les éléments HTML disposent d'une api, simple à utiliser, pour modifier tout ou partie.

Créer des noeuds
09:12

L'api de document dispose également de méthode pratiques pour ajouter des éléments à l'arbre.

Déplacer et supprimer
05:22

Au même titre que la création, document va nous permettre de déplacer ou de supprimer des noeuds.

Jouer sur le style
06:17

Le style CSS d'un élément étant attaché, il est possible de styler des éléments directement en Javascript.

Réagir à une action
13:59

Chaque évènement utilisateur lève une action qu'il est possible de lire en Javascript, apprenons à réagir.

Découvrir le QuerySelector
05:34

Outil extrêmement puissant, querySelector va nous aider à écrire moins de code et à penser CSS dans Javascript.

Gérer les formulaires
5 vidéos • 34m 23s

Lire les champs
10:17

En fonction du type de champ, les méthodes vont être différentes pour lire et stocker les informations.

Réagir à la soumission
04:45

Un formulaire dispose d'un évènement spécial, le submit, et nous allons pouvoir y réagir.

Effacer un formulaire
05:00

Maintenant que nous savons manipuler les données, il est donc possible de vider entièrement un formulaire.

Gérer les erreurs
09:59

Javascript peut tout à fait se câbler sur les erreurs renvoyées par un formulaire, afin de nous permettre de réagir en fonction.

Récupérer les données
04:22

Un formulaire peut être représenté sous forme d'objet de données, cette forme particulière est très utile pour soumettre des données à une api.

Communiquer avec l'extérieur
6 vidéos • 37m 17s

Comprendre XMLHttpRequest
04:47

Pour appeler une api extérieure et manipuler des données, rien de mieux qu'un moyen de communication, découvrons donc XMLHttpRequest.

Créer des requêtes
09:17

La constitution d'une requête d'appel peut paraitre complexe, mais avec un peu de pratique, nous allons trouver ça simple.

Gérer les réponses
07:04

Dans l'univers de la communication avec un serveur, des formats existent, découvrons les plus répandus et apprenons à les traiter.

Comprendre les évènements
05:20

Sur XMLHttpRequest, différents évènements sont levés pendant l'appel, voyons les plus courants.

Communiquer avec les verbes
04:44

Différents verbes existent pour appeler une URL, découvrons POST, PUT, DELETE et PATCH.

Découvrir Fetch
06:05

Maintenant que XMLHttpRequest n'a plus de secret pour vous, parlons de Fetch, qui va révolutionner votre façon de voir les appels réseaux.

Coder en asynchrone
5 vidéos • 37m 16s

Comprendre l'asynchrone
06:33

Découvrons ce que signifie "asynchrone", comment cela diffère de la programmation synchrone, et pourquoi ce concept est crucial dans le développement moderne.

Comprendre les promesses
11:04

Plongeons dans le monde des promesses JavaScript, un élément clé de la programmation asynchrone. Apprenons comment créer, utiliser, et chaîner des promesses pour gérer efficacement les opérations asynchrones.

Rendre le code lisible
07:03

Apprenons à simplifier le code avec les mots-clés async et await. Voyons comment écrire des fonctions asynchrones qui sont à la fois puissantes et faciles à lire.

Gestion des erreurs avec async await
05:04

En sortant du contexte des callback ou des promesses pures, nous ne pouvons plus vraiment gérer les erreurs, voyons comment faire.

Patrons de conception avancés
07:32

Explorons d'autres modèles de conception plus avancés en asynchrone, tels que les générateurs, observables, et les stores.

Corriger efficacement
3 vidéos • 29m 47s

Connaitre les principes du debug
10:02

Nous allons découvrir ensemble les principes fondamentaux du débogage en JavaScript, en identifiant et résolvant les erreurs courantes.

Utiliser console et devTools
09:50

Nous apprendrons à utiliser la console et les outils de développement (DevTools) du navigateur pour déboguer notre code JavaScript, en explorant des techniques pour imprimer des messages et inspecter des variables.

Découvrir les points d'arrêt
09:55

Nous explorerons ensemble des techniques de débogage avancées, y compris l'utilisation de points d'arrêt et l'analyse de stack traces, pour résoudre des problèmes complexes.

Comprendre la mémoire
3 vidéos • 31m 12s

Comprendre les concepts de gestion mémoire
07:59

Nous aborderons les concepts de base de la gestion de la mémoire en JavaScript. Découvrez comment la mémoire est allouée et gérée dans le contexte d'un langage de haut niveau comme JavaScript.

Comprendre le ramasse-miettes
06:41

Nous explorerons le fonctionnement du ramasse-miettes en JavaScript, un mécanisme clé pour la gestion automatique de la mémoire, et comment il aide à prévenir les fuites de mémoire.

Identifier les fuites mémoires
16:32

Nous apprendrons à identifier et à prévenir les fuites de mémoire en JavaScript, en explorant les causes courantes et les techniques pour les éviter dans vos applications.

Utiliser des librairies
4 vidéos • 29m 14s

L'utilité des librairies
08:51

Que ce soit pour améliorer votre quotidien en temps que développeur ou pour résoudre des problèmes complexes, les librairies sont indispensable pour bien développer.

Trouver des librairies
05:56

Nous explorerons les critères essentiels pour choisir les librairies JavaScript les plus adaptées à vos besoins. Découvrez comment évaluer la performance, la compatibilité, et la maintenance des librairies.

Utiliser des librairies
07:49

Nous apprendrons les meilleures pratiques pour intégrer des librairies JavaScript dans vos projets, en abordant des sujets tels que la gestion des dépendances et la minimisation des conflits.

Mettre à jour et sécuriser
06:38

Nous examinerons comment gérer les mises à jour et résoudre les problèmes courants avec les librairies JavaScript, en assurant une compatibilité continue et une maintenance efficace de votre code et en garantissant la sécurité de nos applications.

Enseignant

image
Julien Moulin

Fondateur & Formateur Js/Ts

11 articles sur le blog
28 cours

Julien Moulin est un expert en développement full stack (JS/TS) et un leader technique reconnu. Il excelle dans l'adoption de technologies innovantes tout en répondant aux besoins clients. Son approche allie pragmatisme et innovation, avec une expertise couvrant les plateformes e-commerce, les applications métiers et la modernisation des architectures existantes. En mentor passionné, il partage ses connaissances avec pédagogie, encourage l’apprentissage continu, et inspire ses équipes à relever des défis ambitieux.

Du React pour la table 3 ! et du Js aussi !