Laravel Herd pour développer des sites WordPress

laravel herd

En tant que développeur WordPress, vous recherchez toujours des moyens d’améliorer votre flux de travail et de gagner du temps. Laravel Herd de Beyond Code est un outil de développement local qui peut vous aider à faire exactement cela.

Officiellement, WordPress ne recommande aucun outil de développement local spécifique. Les outils largement appréciés par la communauté WordPress sont Local WP, Docker qui est idéal pour les développeurs expérimentés, Laravel Valet sur Mac OS, DevKinsta (nécessite Docker pour fonctionner). Pour le développement local de sites WordPress sur Linux, l’approche la plus courante consiste à utiliser un stack LAMP (Linux, Apache, MySQL, PHP).

J’utilise l’application native Herd pour simplifier mon workflow de développement à la fois sur Windows et Mac. Cette application intègre plusieurs versions de PHP, Nginx et DNSMasq, ce qui me permet de gérer facilement mes environnements de développement locaux.

Herd offre une fonctionnalité particulièrement utile : le routage automatique des projets locaux vers des URL en « *.test ». Cela signifie que je peux accéder à mes sites web en développement en utilisant des noms de domaine comme « monsite.test » sans avoir à modifier les fichiers hosts de mon ordinateur.

Qu’est-ce que Laravel Herd ?

Herd est en réalité un outil de développement local qui utilise PHP statique et Nginx pour offrir des performances accrues et une configuration simple. Il est particulièrement intéressant pour les développeurs WordPress car il offre plusieurs fonctionnalités spécifiques à ce CMS.

Laravel Herd permet aux développeurs de gérer facilement différents environnements de développement au sein d’un même projet. Vous pouvez installer des dépendances tierces et même intégrer des langages de programmation autres que PHP si nécessaire.

Ses multiples avantages

Herd utilise PHP statique et Nginx, ce qui se traduit par des temps de chargement de page plus rapides par rapport aux solutions traditionnelles comme MAMP ou Docker.

Le PHP statique est une approche du développement web PHP où les pages web sont pré-générées et servies par un serveur web statique comme Nginx. Contrairement au PHP dynamique, où le code PHP est interprété à la volée par le serveur web, le PHP statique offre plusieurs avantages en terme de performances.

Herd permet d’installer et de basculer facilement entre différentes versions de PHP, ce qui est crucial pour tester la compatibilité de votre site WordPress avec différentes versions de PHP.

Herd utilise des certificats SSL et DNSMasq pour garantir un environnement de développement sécurisé. Avec DNSMasq vous pouvez créer des noms d’hôtes virtuels pour vos sites web en développement, tels que monsite.dev, et les associer à votre adresse IP locale. Cela facilite l’accès et le test de vos sites web sans avoir à modifier les fichiers hosts de votre ordinateur.

Herd est facile à installer et à configurer, ce qui le rend accessible aux développeurs de tous niveaux. Certes il faut savoir installer un MySQL et un PHPMyadmin sur une machine.

laravel herd versions php

L’interface permet de sélectionner la version PHP par projet.

Laravel Herd version PHP selon le projet

Par rapport à Wamp, Xampp et Mamp ?

Si vous êtes nostalgique de l’époque où les ordinateurs étaient gros et lents, et que vous aimez passer des heures à configurer votre environnement de développement, alors Wamp est fait pour vous. Mais pour les autres, il est temps de passer à autre chose ! 😉

D’un côté, il est indéniable que Wamp se présente comme une option accessible et simple d’utilisation. Son interface familière et son installation rapide peuvent séduire les débutants en quête d’une solution facile pour se lancer dans le développement web.

Mais de l’autre côté, il est important de ne pas se laisser berner par cette fausse simplicité. Car derrière cette façade trompeuse se cache un logiciel de mon point de vue archaïque, aux fonctionnalités limitées et incompatible avec les technologies actuelles.

Chaque nouveau projet sur Wamp nécessite une série de réglages et d’ajustements, vous faisant perdre un temps précieux qui pourrait être consacré au développement réel. Et dès que vous essayez de gérer des environnements plus complexes, avec plusieurs versions de PHP ou différents modules Apache, la situation devient carrément cauchemardesque. Vous vous retrouvez jonglant entre les versions, les configurations et les incompatibilités, sans jamais trouver de solution satisfaisante.

De plus Wamp peut parfois manquer de performances, surtout lorsque vous travaillez sur des sites WordPress complexes avec de nombreux plugins et thèmes activés.

Wamp peut parfois avoir des configurations de PHP qui ne sont pas optimales pour le développement WordPress, ce qui peut entraîner des erreurs lors de l’exécution de certaines fonctionnalités.

La connexion à la base de données peut parfois être instable, ce qui entraîne des erreurs de connexion ou des temps de chargement excessivement longs.

Configurer correctement les hôtes virtuels dans Wamp peut être délicat, surtout pour les utilisateurs novices, ce qui peut entraîner des problèmes d’accès aux sites WordPress locaux.

Laragon a longtemps été mon fidèle allié pour le développement web local. Son interface intuitive et sa configuration facile en ont fait un outil de choix pour de nombreux développeurs, y compris moi-même.

Cependant, la découverte de Docker et Laravel Valet sur Mac a marqué un tournant dans ma pratique.

Comment installer Laravel Herd ?

Rendez-vous tout d’abord sur le site web de Laravel Herd : https://herd.laravel.com/

Téléchargez l’installateur Windows ou celui sur Mac.

Assurez-vous d’avoir macOS 12.0 ou une version ultérieure.

Installez Node.js sur votre machine https://nodejs.org/en/download

Vérifiez qu’il soit bien installé.

node --version
Laravel developement perfected

Lancez l’installateur téléchargé.

Durant l’installation, décochez les cases des options que vous ne voulez pas installer.

Décochez la case « Herd Pro » si vous ne comptez pas utiliser les fonctionnalités avancées de bases de données, caches, etc.

Vous pouvez également décocher la case « Documentation hors ligne » si vous préférez accéder à la documentation en ligne.

Suivez les instructions restantes de l’assistant d’installation.

Documentation pour Mac : https://herd.laravel.com/docs/1/getting-started/about-herd

Documentation pour Windows : https://herd.laravel.com/docs/windows/1/getting-started/about-herd

Ce qui est installé par défaut

Laravel Herd installe pour vous

  • PHP et Nginx
  • Composer
  • Laravel installer
  • Expose (pour partager son site comme Ngrok).

Vérifiez dans votre terminal les versions utilisées dans votre environnement.

php --version
composer --version
laravel --version
expose --version

Lancer Herd

Une fois l’installation terminée, vous pouvez lancer vos projets Laravel en utilisant le raccourci du programme.

herd lanceur

Choisir son outil de gestion de base de données

Téléchargez Mysql https://dev.mysql.com/downloads/installer/ et installez-le globalement.

Choisissez un mot de passe lorsque l’installeur le demande. Sinon entrez la commande suivante :

mysql_secure_installation

Mysql est le système de gestion de base de données SGBD recommandé par WordPress.

Installez l’outil d’administration de base de données de votre choix

Récuperez par exemple PhpMyAdmin https://www.phpmyadmin.net/downloads/ et installez la dernière version se terminant par all-languages.zip ou en cliquant simplement sur le bouton vert.

Autres alternatives

  • MySQL Workbench: Outil officiel de MySQL, offre une interface graphique puissante et des fonctionnalités avancées.
  • Adminer: outil open source léger et facile à utiliser.
  • Dbeaver : pour SQL Lite
  • HeidiSQL : outil gratuit pour Windows, convient aux débutants
  • Sequel Pro: outil payant pour macOS avec une interface intuitive et des fonctionnalités avancées.
  • Table Plus : outil payant sur Mac
  • Datagrip : outil payant de Jetbrain

Décompressez l’archive et placez son contenu dans votre dossier utilisateur pour Herd.

herd dossier

PhpMyAdmin doit être visible à cette adresse dans votre navigateur : http://phpmyadmin.test/

herd phpmyadmin

Ajoutez une nouvelle base de donnée, intitulée par exemple wordpress

herd wordpress

Installer WordPress

Récupérez WordPress sur https://fr.wordpress.org/download/

obtenir wordpress

Décompressez WordPress dans un dossier wordpress sur votre ordinateur.

Ce dossier comme celui de PhpMyAdmin doit être renseigné dans Herd dans General. Le bouton Add path permet d’ajouter plusieurs chemins d’accès.

Chemins Herd

Lancez l’installation de WordPress depuis votre navigateur à l’adresse : http://wordpress.test/

Avec Herd, vous pouvez enfin vous détendre et oublier tous ces tracas de gestion de la charge serveur. Fini les plaintes incessantes sur les soi-disant plugins buggés ou les fonctionnalités qui ne fonctionnent pas. Vous pourrez enfin laisser vos oreilles se reposer de ce concert perpétuel de lamentations.

Ajouter un certificat SSL

L’ajout d’un certificat est un jeu d’enfants. Vous cliquez sur le cadenas dans la colonne Secured dans l’onglet Sites.

herd ssl

Utiliser un autre serveur local en simultanée

Herd et LocalWP s’avèrent des outils formidables pour les développeurs WordPress. Leur nature isolée permet d’utiliser simultanément plusieurs serveurs HTTP sur la même machine, comme par exemple :

  • http://projet.test sur Herd
  • http://autre-projet.local/ sur LocalWP

Partager son site

Pour partager votre site avec Expose, vous devez d’abord créer un compte Expose gratuit.

Une fois que vous avez obtenu votre jeton d’authentification, vous pouvez le configurer dans l’onglet « Expose » de la fenêtre des préférences.

https://herd.laravel.com/docs/windows/1/advanced-usage/sharing-sites

Installer les outils de développement pour WordPress

Herd inclut le support de Xdebug, un débogueur populaire et puissant pour PHP.

Vous devez activer manuellement l’extension lorsque vous en avez besoin en version gratuite.

Par défaut, Herd n’installe pas et ne gère pas directement WP-CLI dans vos projets WordPress contrairement à LocalWP.

Documentation WP-CLI

Site de WP-CLI

Herd est un outil puissant pour la gestion de tests unitaires, mais il ne fournit pas les outils de test unitaires eux-mêmes. Vous devez donc les installer manuellement pour pouvoir utiliser Herd avec PHP et JavaScript.

Le cœur de WordPress est livré avec une suite de tests unitaires PHPUnit pour PHP et QUnit pour JavaScript. Vous n’avez pas forcément besoin de les installer avec Herd.

Documentation PHPUnit avec WordPress : https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

Documentation Qunit avec WordPress : https://make.wordpress.org/core/handbook/testing/automated-testing/qunit/

 L’interface en ligne de commande pour WordPress offre des commandes pour exécuter la suite de tests avec WordPress.

Pour conclure

Laravel Herd simplifie le processus de développement et de déploiement. Herd a su me séduire grâce à sa flexibilité et sa puissance qui s’adaptent parfaitement à mes besoins en développement local.

Laravel Herd est une solution puissante et flexible qui s’adresse avant tout à vous, développeurs de niveau intermédiaire ou expérimenté, qui recherchez des environnements de développement isolés et sécurisés pour vos projets WordPress. Que vous soyez en train de construire un nouveau site WordPress complexe ou de travailler sur des fonctionnalités avancées pour un site existant, Herd simplifie le processus de développement et de déploiement, tout en vous offrant un contrôle total sur votre environnement de développement local.

Herd, à l’instar de tout nouvel outil qui émerge n’échappe pas aux critiques. Diffusé depuis juillet 2023 des correctifs sont très rapidement appliqués par l’équipe de développeurs de Beyond Code.

Avec Herd, vous pouvez créer et gérer facilement des environnements de développement isolés, ce qui vous permet d’expérimenter en toute sécurité sans affecter vos autres projets ou votre environnement de production. Que vous travailliez sur un site WordPress simple ou sur une application web plus complexe, Herd vous offre la flexibilité nécessaire pour personnaliser votre environnement de développement selon vos besoins spécifiques.

Retour en haut