Introduction
laravel/multiplex est une interface terminal (TUI) permettant d’exécuter plusieurs commandes en parallèle. Utilisée par php artisan dev de Laravel 13, elle permet de gérer dans un unique terminal l’ensemble des processus nécessaires au développement local : serveur PHP, worker de file d’attente, surveillance des logs, Vite, etc.
Chaque processus dispose de son propre onglet pour afficher sa sortie, avec prise en charge de la recherche et du défilement. À la fermeture, la sortie de chaque processus est réécrite dans le scrollback classique du terminal, ce qui permet de consulter les logs même après avoir quitté le TUI.
Installation et exécution directe
Dans une application Laravel,php artisan dev effectue la configuration nécessaire, ce qui vous évite en général d’installer Multiplex directement. Pour l’utiliser de manière autonome, installez-le avec npm après avoir installé Node.js 22.13 ou plus récent.
label,command.
Mode TUI et mode inline
Lorsque l’entrée et la sortie standard sont un TTY, l’interface TUI par onglets est lancée.s bascule vers l’affichage en flux, / recherche dans la sortie et r redémarre le processus sélectionné. q permet de quitter.
En l’absence de TTY (CI ou pipeline), Multiplex bascule automatiquement en mode inline. Chaque ligne est préfixée du label du processus et les sorties s’affichent dans leur ordre d’arrivée. Pour forcer explicitement le mode inline, utilisez -i.
--json.
Redémarrage automatique et fin d’exécution
Un processus qui plante est redémarré automatiquement jusqu’à cinq fois, après une seconde d’attente. Un processus qui se termine dans la seconde qui suit son démarrage n’est pas relancé, car cela indique généralement qu’il n’a jamais pu démarrer correctement (exécutable manquant, port déjà utilisé, etc.). Pour les commandes destinées à être exécutées une seule fois, comme un build ou une migration, utilisez--no-restart.
Points d’attention
L’entrée standard n’est pas transmise aux processus enfants. Les commandes qui exigent une saisie —php artisan tinker, invite de confirmation des migrations, etc. — ne peuvent donc pas être lancées depuis Multiplex. Les commandes interactives doivent être exécutées dans un autre terminal.
Multiplex expose également une API programmatique, mais les commandes sont exécutées via sh -c. N’insérez pas dans les chaînes de commande des valeurs provenant de sources non fiables (fichiers de configuration, requêtes utilisateur, etc.).