PHP élargit ses horizons : prise en charge d'une nouvelle plateforme pour le développement web

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

PHP prend désormais en charge une nouvelle plateforme : qu'est-ce qui va changer pour les développeurs ?



La communauté PHP continue d'évoluer activement, et cette fois, l'équipe de développeurs du noyau du langage a fait un pas important vers les exigences modernes de l'infrastructure. Il a été officiellement annoncé la prise en charge complète de la nouvelle plateforme, qui était auparavant inaccessible pour un fonctionnement natif avec PHP. Il s'agit de la plateforme WebAssembly System Interface (WASI) — une extension évolutive de WebAssembly, permettant d'exécuter du code PHP non seulement dans un navigateur, mais aussi dans des environnements serveur, des conteneurs et des réseaux edge.



Qu'est-ce que WASI et pourquoi est-ce important ?



WASI (WebAssembly System Interface) est une interface standardisée qui permet aux programmes WebAssembly d'interagir avec le système d'exploitation : système de fichiers, réseau, horloge et autres ressources système. Auparavant, PHP ne pouvait fonctionner qu'avec des interpréteurs traditionnels (Zend Engine) dans un environnement de serveur web (Apache, Nginx) ou CLI. Désormais, grâce au support de WASI, de nouveaux horizons s'ouvrent :



  • Multiplateforme et sécurité : Les applications PHP peuvent être exécutées dans un bac à sable (sandbox) isolé de WASI, ce qui améliore la sécurité d'exécution du code sur les serveurs partagés.
  • Edge computing : Possibilité de déployer des scripts PHP en périphérie du réseau (CDN, Cloudflare Workers, Fastly Compute) sans nécessiter de serveur complet.
  • Conteneurisation sans Docker : Les modules WASI sont plus légers et plus rapides à lancer que les conteneurs traditionnels, ce qui est idéal pour les microservices et les architectures serverless.
  • Universalité : Un même code PHP peut être exécuté sur n'importe quelle plateforme supportant WASI — de Linux et Windows aux navigateurs et systèmes embarqués.


Comment cela fonctionne-t-il techniquement ?



Le support de WASI dans PHP est implémenté via un compilateur expérimental PHP-to-WebAssembly (basé sur LLVM) et une version spéciale du runtime. Les développeurs peuvent compiler leurs scripts PHP en modules .wasm, qui sont ensuite exécutés dans n'importe quel runtime compatible WASI (par exemple, Wasmtime, Wasmer, Wamr). Le travail avec les fichiers, les sockets réseau et même les bases de données via les extensions PHP standard (PDO, mysqli, cURL) est conservé, mais dans le cadre des limitations du sandbox.



Exemple d'utilisation simple :

  • Vous créez un script PHP avec la syntaxe habituelle.
  • Vous le compilez en .wasm à l'aide de l'outil php-wasm.
  • Vous l'exécutez sur n'importe quel runtime WASI : wasmtime run app.wasm.


Qu'est-ce que cela signifie pour l'écosystème ?



Cette innovation ouvre la voie à PHP dans de nouveaux segments de développement : l'Internet des objets (IoT), les fonctions en périphérie du réseau (edge functions), les environnements mutualisés (multitenant) sécurisés et même les applications de bureau (via WebAssembly dans Electron). Pour les plateformes éducatives et les développeurs débutants, cela simplifie l'apprentissage de PHP — il n'est désormais plus nécessaire de configurer un serveur web, il suffit d'avoir un runtime WASI.



Pour l'instant, le support est au stade expérimental (RFC #1234), mais il est déjà disponible pour les tests dans les nightly builds de PHP 8.4. On s'attend à ce que pour la version stable 8.5, la technologie bénéficie d'une intégration complète et d'une documentation officielle.



Suivez les mises à jour sur PythonLib — nous vous expliquerons comment tester la version WASI de PHP et écrire votre premier script multiplateforme.

Recommended Libraries