Organisme de Formation aux technologies et métiers de L'informatique
javascript

Formation JavaScript - Programmation avancée

Développer des applications client riches en JavaScript, avec les normes Ecmascript, les bons outils et frameworks associés

Informations générales

WEB954
3 jours (21h)
1 965 €HT

Objectifs

Après ce cours, vous serez capable de :

  • Découvrir les concepts avancés JavaScript ES5
  • Mettre en pratique la Programmation Orientée Objet
  • Maîtriser l'environnement de débogage
  • Mettre en oeuvre le framework JavaScript jQuery
  • Manipuler les API JavaScript HTML5
  • Expliquer la notion de JavaScript côté serveur avec Node.js

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Développeurs Web, architectes web, chefs de projet, webmasters…

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Avoir des connaissances pratiques en JavaScript, HTML et CSS
  • Posséder des connaissances de base de XML

Programme de la formation

Le mot-clé this

  • Comparaison avec les autres langage objet : une histoire de contexte d'exécution
  • Problème commun des fonctions asynchrones
  • Les closures
  • Les méthodes de la classe Function : call, apply & bind

Liste d'éléments : des alternatives aux boucles

  • Les méthodes de la classe Array
  • Algorithme de mapping (map)
  • Algorithmes de filtrage (filter)
  • Algorithmes d'agrégation ou de réduction (reduce)

Les architectures pré-ES2015

  • État du chargement des scripts dans le navigateur
  • Pollution du scope global
  • Absence d'isolation de code
  • Absence d'isolation de sémantique
  • Les IIFEs
  • Les script-loaders

ES2015

  • Contexte historique
  • Le TC39 et le système d'apport progressif
  • Let et const
  • Les objets littéraux avancés
  • Les string templates
  • Les fonctions fléchées
  • Les paramètres par défaut
  • Le paramètre du reste (rest)
  • La boucle for...of
  • La syntaxe de décomposition (spread)
  • Affectation par décomposition (destructuring)
  • La POO (nouvelles syntaxes des classes, héritage)
  • Les promesses
  • Async / Await
  • Les modules ES2015 (utilisation standard et module-bundlers)

Les packages et la transpilation

  • CommonJS : un système de module
  • Le gestionnaire de paquet npm
  • Le fichier package.json
  • Le problème de la rétro-compatibilité
  • La solution : Babel (AST, transformations)
  • Les plugins Babel
  • Les presets Babel

TypeScript

  • Contexte historique
  • Définition
  • Configurations (CLI, tsconfig.json)
  • L'évolution parallèle de ECMAScript et de TypeScript
  • Le typage statique
  • Les types de bases
  • Les alias de type
  • L'inférence de type
  • Les interfaces
  • La POO (encapsulation, raccourcis de définition de propriété)
  • Typage des fonctions
  • La généricité

Web APIs et PWA

  • Qu'est-ce qu'une PWA ?
  • LocalStorage / SessionStorage
  • Cache
  • Fetch
  • Geolocation
  • Service workers

Tests

  • Les différents types de test
  • Test unitaire
  • Test d'intégration
  • Test fonctionnel (ou end-to-end)
  • Les tests runners

Introduction aux Librairies / Frameworks Front-End

  • Définition d'une librairie UI
  • Définition d'un framework front-end
  • SPA vs SSR
  • La philosophie des composants
  • Différences entre les principales technologies (React, Angular, Vue)

Bonus : Node.js et autres Web APIs

  • Introduction à la programmation serveur avec Node.js (modules http, path et fs)
  • Canvas / SVG
  • Page visibility API

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 08/04/2024