- ACN_ATLAS
- Cours pratique
- Informatique
Formation JavaScript, programmation avancée
Objet, Fonctionnalités Avancées, Ajax, Web Services, Bonnes pratiques, performances, tests, industrialisation, EcmaScript, Typescript

- Durée
- 3 jours
- Niveau
- Avancé
- Modalités
- Présentiel / Distanciel
Description de la formation JavaScript avance
Avec l'essor des interfaces riches et les nombreuses nouveautés JavaScript apportées par le HTML5, qui permettent désormais de faire jusqu'à une application complète, les besoins en JavaScript sont devenus aussi importants que ceux des langages serveur (PHP, Java, etc.) étant donné l’animation qui règne autour de Javascript (front end, back end, full stack, frameworks, mobile, etc.).
Il n'est donc plus possible d'avoir une approche simplement basique de JavaScript et c'est un langage qui est incontournable pour tout développeur Web. Il est complexe avec beaucoup de subtilités à connaître et il faut désormais pousser l'abstraction et l'organisation à un niveau supérieur, grâce la Programmation Orientée Objet (POO) notamment.
Cette formation cherche à vous munir des bons outils à tous les niveaux : conformité, documentation, tests, performances, debugger, etc. et à les utiliser avec recul (l’outil ne doit pas faire oublier la conception et la réflexion en amont).
Vous apprendrez également à mettre en œuvre les nouveautés apportées par les dernières versions d’EcmaScript pour que votre code soit plus robuste, lisible, et facile à maintenir.

Objectifs pédagogiques
À l'issue de cette formation JavaScript avancé, vous aurez acquis les connaissances et compétences nécessaires pour :
- Découvrir les dernières évolutions de Javascript
- Manipuler les fonctions avancées de Javascript (le code, le modèle objet, les modules, les itérations etc.)
- Maîtriser la syntaxe moderne (typescript, objet)
- Maîtriser les outils et les bonnes pratiques du développeur Javascript (debug, test, performances, conformité, documentation, etc.)
- Sécuriser son site
- Choisir la version la plus adaptée à son besoin
Objectifs opérationnels
Savoir développer des sites et des applications web riches à partir de concepts avancés dans la dernière version de JavaScript.
Programme
Contenu du cours, module par module
9 modules
- Intérêts pour le développeur et les projets (lisibilité, maintenance, évolutions, etc.)
- Les concepts de base (classe, méthode, propriété, objet)
- Créer ses propres objets et utiliser des objets existants
- Exemples concrets en JavaScript
- Constructeur et Prototype
- Contexte (this)
- Mise en œuvre de l’héritage en JavaScript
Travaux pratiques
Description : Réflexion sur le modèle de classes nécessaire pour programmer une calculatrice graphique.
- Les classes natives : String, Array, Object, etc.
- Augmenter ou réécrire ?
- Visibilité : propriétés publiques / privées
- Visibilité : méthodes publiques / privées / privilégiées
- Les différentes formes d'héritage
- Appels parents : call / apply / bind
- Méthodes et propriétés statiques
- Méthodes abstraites et interfaces
- Duck Typing et JavaScript
- Programmation objet
Travaux pratiques
Description : Développement d'une calculatrice graphique en JavaScript permettant de mettre en œuvre les concepts objets
- Types de données et subtilités (constantes, variables, énumération, etc.)
- Les différentes formes d'incrémentation
- Manipulation de flux binaire
- Arrays : manipulation avancée
- Règles de transtypage et comparaisons
- Savoir utiliser les expressions régulières
- Aspects avancés des fonctions en Javascript (contrôle des paramètres, etc.)
- Gestion des erreurs : exceptions
Travaux pratiques
Description : Compléter l'atelier précédent : validation des entrées utilisateur via des expressions régulières, Gestion des exceptions, utilisation d'énumération, librairie mathématique
- Vocabulaire et normes (Ecma, typescript, Ecmascript, Javascript, ES10/ES2019, etc.)
- Les changements nets apportés de la version ES6
- Les apports de TypeScript
- Les Types et types spéciaux
- Les interfaces, les classes, les fonctions, les mixins
- Les génériques
- Types avancés
Travaux pratiques
Description : Migration vers TypeScript du TP précédent. Utilisation de l'assistance dans VSCode.
- Géolocalisation HTML5
- Glisser-déposer (Drag & Drop)
- Envoi de fichiers multiples (multi-upload)
- Manipulation de l’historique avec pushState
- Accès à la webcam et au microphone
- Smartphone : Utilisation du gyroscope, de la vibration, et du détecteur de proximité
- Gestion du mode plein écran
- Web RTC pour les communications audio/vidéo en temps réel
- Web GL pour le rendu graphique 3D
- Encapsulation de composants avec le Shadow DOM
- Perspectives
Travaux pratiques
Description : Développement d’une application simple exploitant plusieurs fonctionnalités natives du navigateur : géolocalisation, accès à la webcam, upload de fichiers, gestion de l’historique, activation du mode plein écran et vibration (ou simulation)
- Sélection et manipulation d’éléments (querySelector, querySelectorAll)
- Ajout, suppression et modification d’éléments (append, remove, classList, dataset)
- Modification des contenus (textContent, innerHTML, attributes)
- Gestion des événements, Prévention du comportement par défaut et propagation
- Manipulation de classes CSS pour gérer les effets (entrées/sorties, transitions)
- Gestion de l’état via le DOM ou des structures JavaScript
Travaux pratiques
Description : Développement d’une application web qui affiche une liste de données récupérées dynamiquement (via un mock). Implémentation du filtrage, tri et pagination
- Vocabulaire lié aux échanges (Ajax, JSON, Web services, APIs, …)
- JSON et (dé)sérialisation
- Traitements asynchrones (promesses, fetch, async/await, etc.)
- Consommer des web services en Javascript
- Un exemple de Javascript côté serveur avec Node.js
- Les différentes formes de stockage des données (Local, Cookies, SQLLite, etc.)
- Mise à jour du DOM après appel réseau (ex. : affichage de données récupérées via une API)
Travaux pratiques
Description : Développement d’une mini application web incluant le back-end et le front-end. Affichage de listes, accès au détail
- Goulot d’étranglement des phases de chargement d’une page Web
- Analyse fine des performances de bout en bout avec Navigation Timing API
- Rendre votre code Javascript plus efficace avec Closure Compiler
- Gestion mémoire et Garbage collector
- Synthèse des outils de tests (JsUnit, SugarTest, etc.)
- Tester efficacement la compatibilité multi navigateurs
- Debugger avec Chrome Devtools et Firefox Developer
Travaux pratiques
Description : Écriture d’un test unitaire avec JTest. Identification des goulots d’étranglement et axes d’optimisation avec les ChromesDevTools. Vérification de la compatibilité. Utilisation d’un outil de minification/optimisation
- Gestion de paquets et dépendances
- Comment gérer les nombreuses librairies externes ?
- Bien comprendre Node et NPM
- L’outil yarn
- Gérer son projet et ses paquets en ligne de commande
- Construire son application et automatiser l'installation de dépendances
- Industrialiser les process de compilation et mise en production de ses applications
Travaux pratiques
Description : À partir du projet existant mise en place d’une structure de travail standard : initialisation projet, gestion des dépendances, script de démarrage
Programme mis à jour le 10/12/2025
Public concerné
Ce cours JavaScript Avancé s’adresse principalement aux développeurs souhaitant enrichir leur connaissance pratique de JavaScript et des technologies web par de nouveaux frameworks, APIs et outils. Les développeurs ainsi concernés souhaitent plus particulièrement stratifier leurs connaissances de la programmation objet en JavaScript et apprendre à optimiser le développement de leurs applications conformément au standard ECMAscript et aux bonnes pratiques en vigueur.
La formation intéressera également les architectes et chefs de projet web désirant pousser plus avant la complémentarité entre JavaScript, HTML et CSS pour parfaire une application existante ou au contraire concevoir un nouveau projet tirant pleinement partie des avantages offerts par ces trois langages.

Prérequis
Les participants à cette formation possèdent une expérience pratique de JavaScript ainsi que des technologies web associées (HTML, CSS, XML) validées à travers un ou plusieurs projets professionnels préalables. Les développeurs, architectes ou chef de projet concernés pourront ainsi profiter pleinement des travaux pratiques qui sont tous réalisés en Javascript.
Sans être strictement indispensable, une sensibilité accrue aux problématiques de tests, de débugs et de qualité du code facilitera votre compréhension des meilleures pratiques de développement abordées tout au long de la formation.
Ces prérequis sont assimilés au cours de la formation JavaScript, les fondamentaux (IJDH).
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,5/5
62 avis
« Mon avis sur le contenu du stage : "j' ai apprecie le structure des exercises fourni en Box, meme si l'acces box dans mon entreprise poser probleme niveau securite. Par contre le niveau etait trop avance pour moi, donc je regrette d'avoir pu m'inscrire au deux cours javascript dans les semaines consecutifs aupres de la commercial sans etre informer qu'une pratique etait necessarie pour le deuxieme cours, et c'etait mieux d'attendre. J'ai essaye de repousser le cours la semaine derniere mais ca n'a pas ete accepte. " Mon avis sur le formateur : "Franck etait tres disponible et a vraiement fait une effort de revenir vers chaque personne dans les exercises pratique, ce qui n'est pas evident dans une cours en virtuel" Ce que j'ai le plus apprécié : "l'organization des exercices" Ce que j'ai le moins apprécié : "difficulte d'avoir de l'aide personalise dans une cours a distance, et j'aurais preferer pouvoir prendre ce cours plus tard quand j'avais quelques semaines/mois de pratique de javascript" »
MJ « Mon avis sur le contenu du stage : "Beaucoup de TP et de démonstration en direct, mais certaines trop poussées ce qui peut perdre les participants les moins avancés." Mon avis sur le formateur : "Expertise de l'animateur appréciée, avec une excellente compréhension des sujets technique tout comme fonctionnels. Les réponses apportées sont claires et précises. Je regrette peut être certains sujets très poussés qui sont vus assez rapidement, tout comme la quantité de TP qui même s'ils permettent de mettre en application certains concepts, devraient laisser place à un peu plus de théorie avant de se lancer." Ce que j'ai le plus apprécié : "La facilité d'avoir une continuité dans la formation même si cette dernière était à distance, pas de blanc ni de perte d'attention." Ce que j'ai le moins apprécié : "Microsoft Teams : le flux audio et vidéo étaient de qualité moyenne. Nous utilisons Zoom dans notre société qui est plus efficace." »
VERDIER Maximilien « Mon avis sur le contenu du stage : "Le formateur a fait des supports exceptionnels (pas le pdf donné par plb mais tout un répertoir qu'il nous a partagé via github). Une aide-mémoire, des diapos vraiment claires et concises accompagnées de beaucoup d'exercices avec leur corrigé etc. Exceptionnel." Mon avis sur le formateur : "Formateur excellent qui a su s'adapter à notre niveau (notre module précédent sur l'intro à javascript nous a laissé avec des lacunes sur les bases qu'il a su rattraper) et à notre rythme. Il me paraît plus important de bien comprendre ce qu'on nous montre plutôt que de mal voir tout un programme mais sans rien apprendre (le formateur de ce cours à pris le parti de bien nous faire comprendre ce qu'on voyait plutôt que de passer à la va vite pour faire tout le programme ce que je trouve très bien). " Ce que j'ai le plus apprécié : "Le formateur et son support." »
GA
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- JQuery : Développer en Javascript avec jQueryRéf. IJFJ2 joursIntermédiaire
- Maîtriser JavaScriptRéf. IJSO4 joursIntermédiaireProchaine session : 12 oct.2 490 €
- Next.js : L'essentiel du framework Next.jsRéf. NXJS3 joursFondamentalProchaine session : 2 déc.2 090 €
- Node.js : Développer des Web Services en JavaScript Réf. INOJ3 joursFondamentalProchaine session : 14 oct.2 090 €