WordPress Playground : le CMS tourne entièrement… dans votre navigateur web
WordPress Playground est une expérimentation lancée par les développeurs du CMS (Content Management System, un système de gestion de contenu en bon français) avec un objectif intriguant. Cette app codée en PHP tourne entièrement dans… votre navigateur. Quand vous chargez la démo, ce n’est pas un serveur qui se charge de faire tourner le code PHP pour générer les pages web ainsi que la base de donnés MySQL normalement indispensable à tout site conçu avec WordPress. Tout est entièrement en local, dans la session du navigateur, grâce à des technologies modernes qui le permettent.
Le code PHP ne peut pas être interprété directement par les navigateurs web, qui ne savent afficher que des pages web en HTML. C’est pourquoi on a traditionnellement besoin d’un serveur qui se charge de la création de ces pages. À la place, le projet repose sur WebAssembly, un standard du web qui permet de faire tourner du code bas niveau dans un navigateur. C’est lui qui remplace le serveur PHP, en se chargeant d’interpréter à la volée le code source de WordPress pour générer des pages web.
La base de données MySQL ne peut pas fonctionner de cette manière, mais WordPress Playground repose sur une base de données en SQLite à la place, à l’aide de ce plugin. Ce moteur de base de données est moins puissant, mais il a l’avantage de reposer sur un fichier unique, ce qui est intéressant dans ce contexte. Enfin, le serveur web qui se charge traditionnellement de répondre aux requêtes du navigateur est remplacé par un module en JavaScript qui repose sur les ServiceWorkers.
Cette approche prouve que l’on peut créer un site web en une poignée de secondes, ce qui pourrait représenter une partie du futur de WordPress. Les plus gros sites ont besoin de toute la complexité historique du CMS, mais une version allégée pourrait suffire à bien des besoins et elle pourrait nécessiter des ressources bien plus légères. WordPress Playground ne permet que de créer des sites qui disparaissent sitôt un onglet fermé, mais on pourrait imaginer un service similaire, avec un serveur allégé pour stocker les données et fichiers et la partie serveurs web pour distribuer le site. Toute l’édition pourrait très bien rester effectuée dans le navigateur web, en réutilisant la base de cette démonstration technique.
Comme tous les développements autour du CMS, WordPress Playground est un projet open-source et vous trouverez toutes les sources sur GitHub. Des instructions pour l’installer sur votre propre serveur sont aussi proposées, mais les développeurs préviennent qu’on en est encore au stade de l’expérimentation, ce n’est pas prêt pour une mise en production. La documentation est aussi proposée à cette adresse.
Génial, bravo pour l’ingéniosité et merci pour le partage !
🙌👏🙏
Beaucoup de mal à voir l’intérêt…
@Furious Angel
Developper des pages web sans devoir avoir un serveur, un noyau et une base de données
Très pratique pour confier du développement de pages à un free-lance ou un collaborateur sans accès et sans toucher au site actuel
@ furious angel :
je pense que c'est pour les single page ce genre de projet. On dirait que ça fonctionne sur du NodeJS, mais je n'arrive pas à comprendre si tu peux mettre un nom de domaine ou si on te donne une URL comme leur service wordpress.
en vrai, c'est pas déconnant pour celui qui veut faire un site statique et qui souhaite avoir un site léger sans recourir à un hébergeur web et sa gestion
par contre... SQLite, c'est léger mais c'est pas forcément ma base préférée, ça devient vite lourd si tu as beaucoup de données. Donc pour les SPA.
Par contre, si ton projet est gros, c'est clairement inutilisable. Je trouve ça un peu lent pour l'instant.
Mais quel projet de dingue !
@Dimemas
Contrairement à une idée répandue SQLite n’est absolument pas lent.
Par contre il faut apprendre à l’utiliser, notamment au niveau de la création d’index pour garder son efficacité.
Maintenant ce n’est effectivement pas le choix qui doit être fait pour une app où des centaines d’utilisateurs vont venir taper sur la base au même moment.
Mais pour du WordPress, ça semble tout à fait pertinent.
quand je disais que c'était lent, c'était le rendu du projet dans le navigateur pas SQLite ;)
Une BDD SQLite n'est pas lente mais c'est surtout fait pour les petits projets
@Furious Angel
Publier des photos de mon chat, naturellement !
@nicolasf
😻
plus sérieusement, on voit bien les avantages niveau confidentialité par exemple. Mais peut-on imaginer un internet 4.0 où une majorité du travail se deroulerait en local dans le navigateur sans serveur pour autre que le load initial ? Ok je pars loin, mais pour le coup on pourrait parler de revolution, non ?
@raoolito
Le problème restera pour stocker les données. Si on veut un site pérenne pour reprendre l’exemple de WordPress, il faut bien un serveur qui stocke tout ça.
@nicolasf
C’est bien pourquoi j’ai du mal à saisir l’intérêt pour l’instant (à part pour un site 100% local). Un serveur ne sert pas qu’à traduire un langage en HTML, il permet surtout de « servir » du contenu à différents appareils…
@Derw
C’est une démo technique, mais un des objectifs derrière serait de proposer un WordPress plus léger et rapide, notamment grâce à SQLite.
@nicolas
« WordPress plus léger et rapide »
Ça j’achète !!
De base, WordPress est assez lent : il me semble que ce fait est connu. Heureusement que pas mal d’hébergeurs mettent les pages en cache.
C’est une belle démonstration technique 🤓
Franchement, quand on voit les évolutions des navigateurs Web : logiciel bureautique (Office, Antidote, etc.), interfaces d’appareil (Synology 😍), jeu vidéo, cloud computing, etc. à long terme, on aura presque plus besoin que d’un navigateur…
@RonDex
ca s’appelle chrome OS non ;) ?
@raoolito
Oui, je voulais l’indiquer comme exemple. Mais apparemment, j’ai oublié. 😅
Cependant pour le moment, on peut difficilement se contenter uniquement d’un navigateur. Sauf pour un usage basique.
@RonDex
« un usage basique » representant une enorme part de l’usage d’internet quand meme :)
@raoolito
En effet. Mais personnellement, je ne me vois pas utiliser uniquement un navigateur avec mon Mac.
Pourtant, j’utilise mon Mac de façon « simple ». Quasiment que de la bureautique et un peu de photos (comme un Pixelmator pro), et Horos un logiciel de radiologie.
@RonDex
je regarde les autres gens de mon foyer et la famille plus large, le voisinage, les amis, meme la classe de primaire…
hors ceux qui sont à 90% des jours sur ordi, tous peuvent fonctionner sur un chromeOS.
@raoolito
Où en utilise son ordinateur, d’une façon générale, avec les deux tiers du temps sur le navigateur. Mais il reste une part du temps avec des logiciels qui ne tournent pas, encore, sur navigateur Web.
@raoolito
Internet existait avant Google : https://en.m.wikipedia.org/wiki/Network_Computer
@cnewton
certes mais pas chromeOS
ça existe déja rondex ;)
@RonDex
J’ai du mal à voir l’intérêt pour l’utilisateur aujourd’hui de rajouter une couche supplémentaire entre le code et celui-ci…
Alors ça, ça me requinque !