Javascript, les bases
Plongez dans l'univers de JavaScript, le langage incontournable du web, et acquérez les compétences indispensables pour développer des applications frontend et backend performantes et modernes!

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
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.
De l'invention de son nom et ses possibilités, les débuts de JavaScript ne sont pas si glorieux que ça
En étant à l'écoute des développeurs, des besoins et en répondant à une problématique claire, JavaScript à sur s'imposer très rapidement.
JavaScript ne doit pas sa forte implantation qu'à lui seul, mais également grâce à son écosystème incroyable tout autour.
Avec l'arrivée de Node.js, tout à changé et tout est devenu plus simple, JavaScript devient fullstack.
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.
Sans conteste l'éditeur le plus utilisé, Visual Studio Code est un IDE très intéressant pour JavaScript.
Le navigateur ou browser sera indispensable pour bien coder en JavaScript, parlons de Chrome.
Pour parfaire notre boite à outil, installer Node.js et Npm est incontournable, parlons aussi du terminal, qui sera un allié de taille.
Evident pour les développeurs connaissants HTML, il est indispensable de le connaitre pour profiter pleinement de Javascript.
Découvrons l'objet navigateur, qui permet d'accéder à toute la puissance des outils Javascript dans le navigateur.
Nous allons créer un fichier de script, l'attacher et commenter ce fichier.
Comme pour tout langage de script, Javascript dispose de ces fondamentaux, permettant de stocker de l'information et de travailler avec.
Voyons les trois types de variables existantes, var, let et const.
Pour manipuler de la données stockées convenablement, il est important de comprendre les types.
Pour organiser son code et pour créer des comportements, les fonctions sont une structure très utile.
Pour symboliser des formes complexes, l'objet est inévitable, que ce soit en Javascript ou dans d'autres langages.
Permettant de définir les grandes lignes d'un objet final, la classe nous permettra d'avoir plusieurs instances de l'objet.
Permettant de rassembler plusieurs informations dans une même organisation structurelle, les array sont très utiles.
Pour commencer à conditionner, découvrir la structure if/else.
Dans certains cas, les if/else ne seront pas suffisant, parlons avec du switch/case.
Pour certains cas simple, ou l'ont souhaite assigner une valeur ou une autre, les ternaires sont plus propres.
Pour bien comprendre le fonctionnement des arrays, nous allons en créer un et y insérer des éléments, tous différents.
Dans une collection d'éléments, chacun d'eux dispose d'une clé d'accès, apprenons à récupérer des éléments.
Il est possible d'ajouter des éléments dans un array mais également d'en supprimer.
Pour nous aider à retrouver un élément, il est aussi possible de donner une contrainte.
Dans certains cas, il sera nécessaire de filtrer un tableau pour en extraire des éléments répondant aux critères.
De nombreuses fonctions existent dans l'api des array, pour nous permettre de vérifier son contenu.
Il est également possible de donner un ordre aux éléments se trouvant dans un tableau.
L'itération va permettre de parcourir un tableau pour travailler sur chaque éléments les uns après les autres.
Au lieu d'itérer, il est également possible d'altérer le contenu des éléments d'un array.
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.
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.
Il est possible de construire une chaine entière des éléments du tableau.
DOM est une imbrication d'éléments, et la représentation sous forme d'arbre.
Avec le BOM, nous disposons d'outils pour cibler et travailler sur un élément.
Les éléments HTML disposent d'une api, simple à utiliser, pour modifier tout ou partie.
L'api de document dispose également de méthode pratiques pour ajouter des éléments à l'arbre.
Au même titre que la création, document va nous permettre de déplacer ou de supprimer des noeuds.
Le style CSS d'un élément étant attaché, il est possible de styler des éléments directement en Javascript.
Chaque évènement utilisateur lève une action qu'il est possible de lire en Javascript, apprenons à réagir.
Outil extrêmement puissant, querySelector va nous aider à écrire moins de code et à penser CSS dans Javascript.
En fonction du type de champ, les méthodes vont être différentes pour lire et stocker les informations.
Un formulaire dispose d'un évènement spécial, le submit, et nous allons pouvoir y réagir.
Maintenant que nous savons manipuler les données, il est donc possible de vider entièrement un formulaire.
Javascript peut tout à fait se câbler sur les erreurs renvoyées par un formulaire, afin de nous permettre de réagir en fonction.
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.
Pour appeler une api extérieure et manipuler des données, rien de mieux qu'un moyen de communication, découvrons donc XMLHttpRequest.
La constitution d'une requête d'appel peut paraitre complexe, mais avec un peu de pratique, nous allons trouver ça simple.
Dans l'univers de la communication avec un serveur, des formats existent, découvrons les plus répandus et apprenons à les traiter.
Sur XMLHttpRequest, différents évènements sont levés pendant l'appel, voyons les plus courants.
Différents verbes existent pour appeler une URL, découvrons POST, PUT, DELETE et PATCH.
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.
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.
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.
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.
En sortant du contexte des callback ou des promesses pures, nous ne pouvons plus vraiment gérer les erreurs, voyons comment faire.
Explorons d'autres modèles de conception plus avancés en asynchrone, tels que les générateurs, observables, et les stores.
Nous allons découvrir ensemble les principes fondamentaux du débogage en JavaScript, en identifiant et résolvant les erreurs courantes.
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.
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.
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.
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.
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.
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.
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.
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.
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

Julien Moulin
Fondateur & Formateur Js/Ts
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.
Vous aimerez aussi
Découvrez de fabuleux cours dans les mêmes sujets