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

Formation WebAssembly, booster les performances de ses applications web

Informations générales

WAY
3 jours (21h)
2 230 €HT
repas inclus

Objectifs

Après ce cours, vous serez capable 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 
  • 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

Ce cours s'adresse avant tout aux personnes suivantes :

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

Prérequis

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

  • Connaître les bases de HTML, de langages tels que JavaScript, C, et de langages de commandes tels que shell, Bash ou CMD (DOS).

Programme de la 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.

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.

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.

Runtimes WASM

  • Prérequis d'un runtime.
  • Liste des runtimes.
  • Description de WASI.
  • Installation de runtime.
  • Exécution de programmes WASM avec des runtimes.

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.

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.).

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.

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 03/04/2025