> Formations > Technologies numériques > Technologies Web > Développement Front-End > Formation WebAssembly, booster les performances de ses applications web > Formations > Technologies numériques > Formation WebAssembly, booster les performances de ses applications web
Nouvelle formation

Formation : WebAssembly, booster les performances de ses applications web

Mettre du binaire dans le moteur de ses navigateurs web

WebAssembly, booster les performances de ses applications web

Mettre du binaire dans le moteur de ses navigateurs web
Télécharger le programme Partager cette formation

Télécharger le programme Partager cette formation

WebAssembly (WASM), standard W3C officiel depuis 2019, permet l’écriture d'applications ultra-rapides et ultra-légères sur le web. Ces applications peuvent être déjà écrites en toutes sortes de langages sources existants : C/C++, Rust, Go, Java, etc. Elles n’ont plus qu’à être portées pour être accessibles dans un navigateur ou un container sécurisé. Cette formation pratique donne les clés pour développer du code WASM et compiler des programmes existants en WebAssembly.


Inter
Intra
Sur mesure

Cours pratique en présentiel ou en classe à distance

Réf. WAY
Prix : 2120 € H.T.
  3j - 21h00
Pauses-café et
déjeuners offerts




WebAssembly (WASM), standard W3C officiel depuis 2019, permet l’écriture d'applications ultra-rapides et ultra-légères sur le web. Ces applications peuvent être déjà écrites en toutes sortes de langages sources existants : C/C++, Rust, Go, Java, etc. Elles n’ont plus qu’à être portées pour être accessibles dans un navigateur ou un container sécurisé. Cette formation pratique donne les clés pour développer du code WASM et compiler des programmes existants en WebAssembly.

Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
  • Comprendre l'architecture et l'environnement du standard W3C WebAssembly
  • Maîtriser le jeu d'instructions binaires du langage WASM et sa représentation textuelle, le format WAT
  • Utiliser l'API JavaScript pour interagir avec des modules WASM
  • Savoir mettre en œuvre une compilation C/C++ avec la suite Emscripten
  • Développer avec le langage AssemblyScript
  • Porter un programme ou une librairie C/C++ en WASM

Public concerné
Développeurs, développeurs web, intégrateurs, architectes techniques, responsables de solutions techniques.

Prérequis
Connaître les bases de HTML, de langages tels que JavaScript, C, et de langages de commandes tels que shell, Bash ou CMD (DOS).
Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en faisant  ce test.

Programme de la formation

Introduction à WASM

  • À quelles problématiques répond WebAssembly ?
  • Historique de WASM.
  • Architecture.
  • Portabilité, sécurité, performance.
  • Organisation de la spécification.
  • Documentation.
  • WASI, Bytecode Alliance.
  • Structure d'un module.
Travaux pratiques
Écriture de modules simples en WASM à l'aide de WAT. Compilation et exécution avec wat2wasm et node.

Le langage textuel WAT

  • Description d'un environnement de développement en WAT.
  • Extensions Visual Studio Code.
  • Les différentes déclarations d'un module.
  • Les commentaires, les S-expressions.
  • Les fonctions et la pile d'instruction.
  • Importer/exporter une fonction ou autre artefact.
  • Les objets globaux.
  • La mémoire linéaire.
  • Les tables de pointeurs.
  • Les différentes instructions : boucle, conditions, opérations, trap.
  • Fonction de démarrage "start".
  • L'interface JavaScript pour utiliser un module WASM.
Travaux pratiques
Écriture et compilation d'un module en WAT offrant quelques fonctions mathématiques de base (factorielle, Fibonacci, etc.). Exécution du fichier dans Node et dans un navigateur.

Runtimes WASM

  • Prérequis d'un runtime.
  • Liste des runtimes.
  • Description de WASI.
  • Installation de runtime.
  • Exécution de programmes WASM avec des runtimes.
Travaux pratiques
Compilation en WASM d'un programme simple écrit en Rust et exécution sur plusieurs runtimes (wasm3, wasmtime, etc.)

AssemblyScript

  • Installation du module Node AssemblyScript.
  • Initialisation d'un projet avec asinit.
  • Garbage collector et mémoire.
  • Programmation avec des objets.
  • Intégration d'une librairie WASM fabriquée en AssemblyScript.
Travaux pratiques
Écriture d'un module WASM en AssemblyScript calculant les couleurs des points d'une fractale de Mandelbrot et intégration de cette librairie dans un front end visualisant la fractale.

L'outil Emscripten

  • Les langages pouvant être portés en WASM.
  • Présentation générale de Emscripten.
  • Historique.
  • Installation officielle.
  • Installation sous Debian/Ubuntu avec apt.
  • Le compilateur emcc.
  • Le fichier JavaScript d'enveloppe.
  • Les options de compilation.
  • Les stratégies d'appels depuis JavaScript (ccall, cwrap, etc.).
Travaux pratiques
Écrire un programme simple en C, le compiler en WASM et l'utiliser avec Node et dans un navigateur.

Portage de librairie

  • Compiler et configurer avec Emscripten et Autoconf.
  • Compiler et configurer avec Emmake et Emconfigure.
  • Interaction avec les makefiles.
  • Option de compilations MODULARIZE, EXPORTED_FUNCTIONS, EXPORTED_RUNTIME_METHODS.
  • Le système de fichier virtuel.
  • Les variables d'environnement.


Modalités d'évaluation
Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de QCM, mises en situation, travaux pratiques…
Le participant complète également un test de positionnement en amont et en aval pour valider les compétences acquises.

Solutions de financement
Pour trouver la meilleure solution de financement adaptée à votre situation : contactez votre conseiller formation.
Il vous aidera à choisir parmi les solutions suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • France Travail sous réserve de l’acceptation de votre dossier par votre conseiller France Travail.
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • France Travail sous réserve de l’acceptation de votre dossier par votre conseiller France Travail.

Horaires
En présentiel, les cours ont lieu de 9h à 12h30 et de 14h à 17h30.
Les participants sont accueillis à partir de 8h45. Les pauses et déjeuners sont offerts.
En classe à distance, la formation démarre à partir de 9h.
Pour les stages pratiques de 4 ou 5 jours, quelle que soit la modalité, les sessions se terminent à 16h le dernier jour.

Dates et lieux
Sélectionnez votre lieu ou optez pour la classe à distance puis choisissez votre date.
Classe à distance