> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Installer PHP, Composer et Node.js avec Homebrew (macOS)

> Guide pas à pas pour installer PHP, Composer et Node.js avec Homebrew sur macOS et préparer un environnement de développement Laravel.

## Introduction

L'équipe Laravel propose [Herd](https://herd.laravel.com/) ou `php.new` pour les débutants, mais les ingénieurs seniors préfèrent souvent gérer chaque outil individuellement avec un gestionnaire de paquets. Vous contrôlez vous-même les versions et vous pouvez facilement basculer entre plusieurs versions de PHP selon les projets.

Ce guide explique comment installer PHP, Composer et Node.js (via nvm) avec **Homebrew** jusqu'à obtenir un environnement où `laravel new` fonctionne.

<Info>
  Environnement cible : macOS 13 Ventura ou supérieur. Compatible Apple Silicon (M1/M2/M3) et Intel.
</Info>

***

## Installation de Homebrew

Homebrew est le gestionnaire de paquets pour macOS. S'il n'est pas encore installé, exécutez la commande suivante dans le terminal.

```bash theme={null}
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

Après l'installation, sur Apple Silicon, la ligne suivante est ajoutée automatiquement au fichier de configuration du shell (par exemple `~/.zprofile`). Si vous l'avez ajoutée à la main, rechargez la configuration.

```bash theme={null}
eval "$(/opt/homebrew/bin/brew shellenv)"
```

Vérifiez l'installation.

```bash theme={null}
brew --version
```

***

## Installation de PHP

<Steps>
  <Step title="Installer la dernière version de PHP">
    La formule Homebrew `php` pointe toujours vers la dernière version stable. Laravel 13 nécessite PHP 8.3 ou supérieur.

    ```bash theme={null}
    brew install php
    ```
  </Step>

  <Step title="Vérifier la version">
    ```bash theme={null}
    php --version
    ```

    L'affichage de `PHP 8.3.x` ou supérieur confirme le succès.
  </Step>

  <Step title="(optionnel) Utiliser une version spécifique">
    Pour gérer plusieurs versions, installez la formule avec le numéro de version.

    ```bash theme={null}
    brew install php@8.3
    ```

    Pour changer de version, utilisez `brew link`.

    ```bash theme={null}
    brew unlink php
    brew link php@8.3 --force --overwrite
    ```

    Vérifiez la version actuellement liée.

    ```bash theme={null}
    php --version
    ```
  </Step>
</Steps>

***

## Installation de Composer

<Steps>
  <Step title="Installer Composer">
    Vous pouvez l'installer directement via Homebrew.

    ```bash theme={null}
    brew install composer
    ```
  </Step>

  <Step title="Vérifier la version">
    ```bash theme={null}
    composer --version
    ```
  </Step>

  <Step title="Configurer le chemin des installations globales">
    Pour utiliser les paquets installés via `composer global require` (comme l'installer Laravel), ajoutez `~/.composer/vendor/bin` à votre `PATH`.

    Ajoutez la ligne suivante à `~/.zshrc` (ou `~/.bashrc`).

    ```bash theme={null}
    export PATH="$HOME/.composer/vendor/bin:$PATH"
    ```

    Rechargez la configuration.

    ```bash theme={null}
    source ~/.zshrc
    ```
  </Step>
</Steps>

***

## Installation de nvm

Installez Node.js par utilisateur avec nvm (Node Version Manager). Comme il ne nécessite pas les droits `root`, il est très compatible avec les outils AI ou CLI qui utilisent des paquets npm globaux.

<Steps>
  <Step title="Installer nvm">
    Le script d'installation le plus récent se trouve sur le [dépôt GitHub de nvm](https://github.com/nvm-sh/nvm).

    ```bash theme={null}
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
    ```
  </Step>

  <Step title="Ajouter les lignes au fichier de configuration du shell">
    Le script ajoute automatiquement les lignes ci-dessous à `~/.zshrc` (ou `~/.bashrc`). Ajoutez-les à la main si ce n'est pas le cas.

    ```bash theme={null}
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
    ```

    Rechargez la configuration.

    ```bash theme={null}
    source ~/.zshrc
    ```
  </Step>

  <Step title="Vérifier l'installation">
    ```bash theme={null}
    nvm --version
    ```
  </Step>
</Steps>

***

## Installation de Node.js

<Steps>
  <Step title="Installer la version LTS">
    ```bash theme={null}
    nvm install --lts
    ```
  </Step>

  <Step title="La définir par défaut">
    Pour que la version soit utilisée automatiquement dans une nouvelle session de terminal, définissez-la par défaut.

    ```bash theme={null}
    nvm alias default node
    ```
  </Step>

  <Step title="Vérifier la version">
    ```bash theme={null}
    node --version
    npm --version
    ```
  </Step>
</Steps>

***

## Vérification de l'installation Laravel

<Steps>
  <Step title="Installer l'installer Laravel">
    ```bash theme={null}
    composer global require laravel/installer
    ```
  </Step>

  <Step title="Créer un nouveau projet">
    ```bash theme={null}
    laravel new my-app
    ```

    Un setup interactif démarre. Vous pouvez y choisir un starter kit, activer ou non l'authentification, etc.
  </Step>

  <Step title="Démarrer le serveur de développement">
    ```bash theme={null}
    cd my-app
    php artisan serve
    ```

    Ouvrez `http://localhost:8000` dans le navigateur : si la page d'accueil Laravel s'affiche, l'installation est terminée.
  </Step>
</Steps>

***

## Homebrew vs Herd

|                               | Homebrew (installation manuelle)                                             | Herd                                         |
| ----------------------------- | ---------------------------------------------------------------------------- | -------------------------------------------- |
| **Public**                    | Développeurs qui veulent contrôler finement les versions et la configuration | Débutants et solos qui veulent démarrer vite |
| **Changement de version PHP** | Manuel avec `brew link`                                                      | Simple via GUI                               |
| **Domaines locaux**           | Édition manuelle de `/etc/hosts`                                             | Domaines `.test` configurés automatiquement  |
| **Gestion des services**      | `brew services`                                                              | Démarrage/arrêt via GUI                      |
| **Personnalisation**          | Élevée                                                                       | Limitée                                      |

Pour aligner la configuration avec le développement en équipe ou l'environnement CI, ou pour basculer souvent entre plusieurs versions de PHP, l'installation manuelle via Homebrew est plus adaptée.


## Related topics

- [Installer PHP, Composer et Node.js avec WSL (Windows)](/fr/blog/windows-setup.md)
- [Laravel Sail](/fr/sail.md)
- [Installation](/fr/installation.md)
- [Bundling des assets avec Vite](/fr/vite.md)
- [Construire une SPA avec Inertia.js](/fr/blog/inertia-introduction.md)
