Table des matières de l'article :
Pour un développeur, il est souvent frustrant de devoir constamment gérer des configurations, installer différentes bibliothèques et gérer des licences commerciales. Ce que les développeurs adorent, c'est écrire du code, construire des choses et lancer des produits qui aident les gens. En fait, pour eux, le code est la poésie.
wp-now est un nouvel environnement de développement sans configuration auquel Automattic a récemment contribué pour WordPress Playground. Bien qu'il soit actuellement dans sa phase alpha, wp-now est déjà le moyen le plus rapide et le plus simple de démarrer un site WordPress local.
Automattic veut aider les développeurs à se concentrer sur ce qui compte le plus, c'est-à-dire transformer la caféine en lignes de code et lancer rapidement des produits.
wp-now peut être installé directement à partir de npm. Fonctionne sur toutes les plateformes (Mac, Linux et Windows). Bien qu'il ne prenne pas encore en charge les domaines personnalisés ou SSL, Automattic a des plans pour cela. Les contributeurs à wp-now envisagent également de détecter automatiquement lorsqu'un fichier est modifié et de mettre à jour automatiquement le navigateur, d'importer une base de données depuis un autre site WordPress et d'ajouter une fonction de déploiement pour l'hébergement SSH/SFTP, entre autres fonctionnalités.
Chez WordPress.com, contribuer à des projets comme WordPress Playground s'aligne sur la mission de l'entreprise de fournir la meilleure plate-forme d'hébergement gérée pour WordPress. Au cours de la dernière année, l'expérience des développeurs sur WordPress.com s'est enrichie d'outils tels que WP-CLI, l'accès SSH et les sites de développement.
L'un des aspects dans lesquels wp-now est optimisé est le développement de thèmes Block. Imaginons un développeur aux prises avec un projet nouveau et stimulant : la création d'un thème de bloc pour une université prestigieuse.
Le développeur en a assez de répéter les mêmes étapes encore et encore : téléchargez la dernière version de WordPress, configurez un nouveau site et conservez une trace de ses informations de connexion. Il se souvient d'un article de blog annonçant un outil innovant à explorer : "Lancer un environnement local en quelques secondes avec wp-now". Il décide donc de l'essayer car la seule exigence est npm et il pourrait enfin arrêter d'utiliser Docker.
Après avoir démarré wp-now, un nouveau site Web avec le thème choisi s'ouvre automatiquement dans votre navigateur en quelques secondes. Il n'a pas besoin d'installer le thème ni de saisir ses identifiants, il est déjà connecté en tant qu'administrateur.
Après quelques développements, il décide de tester son thème en utilisant la dernière release candidate de WordPress :
wp-maintenant démarrer --wp=6.3-RC1
Son site a fière allure sur son ordinateur, mais le client a demandé à commencer à utiliser PHP 8.2 alors que WordPress est encore à la version 6.1. Mais ce n'est pas un problème pour wp-now :
wp-maintenant démarrer --php=8.2 --wp=6.1.3
À la fin d'une journée de travail productive, rentrez chez vous avec un sentiment d'accomplissement. Il se rend compte que ce nouvel outil est excellent pour son développement produit et décide de le partager avec ses collègues. Cela peut les aider avec leurs thèmes et plugins. En prime, cela facilite également la contribution à WordPress.
Plus rapide que Docker
Sous le capot, wp-now utilise WordPress Playground, qui exécute PHP via WebAssembly. Les performances sont importantes, donc Automattic a mesuré comment wp-now se compare à l'environnement de développement local basé sur Docker, wp-env.
En général, wp-now est plusieurs fois plus rapide à démarrer et tout aussi rapide à travailler :
Tâche | wp-maintenant | wp-env |
Télécharger les dépendances | 10s | 5m |
Démarrer Docker | 0s | 12s |
Environnement de démarrage | 1.03s | 2.35s |
Charger la page d'accueil du site | 0.3s | 0.17s |
Charger le tableau de bord d'administration | 0.34s | 0.17s |
Alors que les requêtes vers les pages testées prenaient environ deux fois plus de temps dans l'environnement wp-now, les différences absolues étaient de l'ordre de 100 à 400 ms, ce qui ne devrait pas beaucoup affecter le travail de développement quotidien.
Propulsé par WordPress Playground
wp-now est essentiellement une application NodeJS qui comprend un serveur PHP intégré, alimenté par WordPress Playground.
Lorsqu'un utilisateur exécute wp-now à partir d'un répertoire, wp-now crée une instance de php-wasm, télécharge la version sélectionnée de WordPress et monte les répertoires nécessaires dans un système de fichiers virtuel (VFS). Ensuite, ils démarrent un serveur express NodeJS qui écoute et achemine toutes les requêtes vers le php-wasm. En conséquence, wp-now est capable de se connecter facilement à WordPress, d'activer des plugins et des thèmes et de configurer automatiquement le site WordPress de l'utilisateur.
wp-now s'appuie sur le plugin SQLite Database Integration pour sa base de données, mais peut également se connecter à une base de données MySQL existante. Tous les fichiers spécifiques au projet sont conservés dans le répertoire personnel de l'utilisateur, dans le dossier ~/.wp-now. Les répertoires sont créés selon ce modèle : ~/.wp-now/wp-content/${ProjectFolderName}-${Pathhash}.
En termes simples, wp-now est un outil puissant qui permet aux développeurs de travailler dans un environnement local sans passer par les tracas associés à la configuration manuelle d'un site WordPress. Cette application NodeJS gère les détails techniques et offre une expérience utilisateur fluide, permettant aux développeurs de se concentrer sur la création de contenu et la conception du site. Avec la prise en charge de SQLite et de MySQL, wp-now offre une flexibilité en termes de gestion des données, tout en gardant vos fichiers de projet bien rangés et facilement accessibles.
Ouvert aux contributions
Les contributions de la communauté sont inestimables pour améliorer wp-now et WordPress Playground. Les développeurs et les utilisateurs peuvent aider et contribuer en partageant leurs idées, en exprimant leur opinion sur les fonctionnalités qui leur sont les plus utiles, en signalant des problèmes ou même en créant des demandes d'extraction pour le référentiel GitHub de WordPress Playground Tools. L'équipe wp-now est motivée par les commentaires des utilisateurs - ils invitent tout le monde à poser des questions et à partager leurs idées.
Voici quelques idées futures que l'équipe envisage :
- Créez un thème/plugin de modèle avec la fonction wp-now create.
- Détection automatique lorsqu'un fichier est modifié et mise à jour automatique du navigateur.
- Utilisez wp-now playground pour lancer un site WordPress sans aucun fichier.
- Importez la base de données depuis un autre site WordPress, qu'il soit sur votre ordinateur ou hébergé en externe.
- Ajoutez la fonctionnalité de déploiement pour aider les développeurs à déployer sur n'importe quel hébergement SSH/SFTP.
- Prend en charge les domaines personnalisés.
Si les utilisateurs souhaitent créer wp-now à partir de son code source, ils peuvent suivre les étapes de contribution. De plus, vous pouvez rejoindre la conversation dans le canal #meta-playground sur Making WordPress Slack.