Skip to content

Commit

Permalink
[FR] add webassembly
Browse files Browse the repository at this point in the history
Signed-off-by: Guillaume BERNARD <[email protected]>
  • Loading branch information
guillaumebernard84 committed Oct 11, 2024
1 parent e6abd6a commit 8bb4b6d
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions content/fr/webassembly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: WebAssembly
status: Completed
category: Concept
tags: ["Application", "", ""]
---

WebAssembly (souvent abrégé en Wasm) est un format d'instructions binaires conçu comme une cible de compilation portable pour des langages de haut niveau tels que C, C++, Rust et autres. Il permet le déploiement d'applications clientes et serveur sur le web.
Il s'agit d'un format de code à octets (bytecode en anglais) de bas niveau qui peut être exécuté dans une machine virtuelle, généralement intégrée dans les navigateurs web. Bien qu'initialement développé pour le web, Web Assembly est un moteur d'exécution universel et est utilisé dans des environnements autres que le web, tels que l'internet des objets (IoT en anglais) et l'informatique en périphérie (Edge Computing en anglais).

## Problème auquel il répond

Pendant de nombreuses années, la pile LAMP (Linux Apache MySQL PHP) a été la norme pour les applications web. Plus tard, Javascript a dominé le développement d'applications frontales et les applications basées sur node.js sont devenues la norme. Au fur et à mesure que les technologies autour du web évoluaient, elles favorisaient fortement les langages interprétés, qui sont généralement moins performants que les langages compilés, malgré les avancées technologiques.
Bien que JavaScript se soit amélioré au fil des années, il reste confronté à des limites de performance lors de l'exécution de tâches à forte intensité de calcul.
Les langages interprétés qui sont compilés au moment de l'exécution connaissent souvent des problèmes de performance et de fonctionnalité lorsque le code est exécuté dans différents environnements. À l'inverse, les binaires compilés s'exécutent généralement de la même manière tant qu'ils ont été compilés correctement. Cependant, historiquement, un binaire compilé est moins adapté à l'environnement web.

## Quelle en est l'utilité

WebAssembly fournit un format binaire de bas niveau qui peut être exécuté à des vitesses proches du niveau natif, ce qui permet aux applications web d'effectuer des calculs complexes de manière efficace.
Il permet aux développeurs de créer des applications web en s'appuyant sur leurs compétences existantes dans des langages tels que C, C++, Rust et autres.
Cela ouvre de nouvelles possibilités et permet aux développeurs de réutiliser les bases de code et les bibliothèques existantes.
En outre, les modules WebAssembly peuvent fonctionner de manière cohérente sur différents navigateurs, systèmes d'exploitation et appareils, ce qui réduit la nécessité d'un code spécifique à la plateforme.
Dans l'ensemble, WebAssembly répond aux limitations de performance, aux restrictions de langage, à la portabilité du code, aux problèmes de sécurité, à la taille du code et aux problèmes de temps de chargement, offrant ainsi un environnement plus robuste et plus flexible pour le développement d'applications web.

0 comments on commit 8bb4b6d

Please sign in to comment.