> ## 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 WSL (Windows)

> Guide pas à pas pour préparer un environnement de développement Laravel en installant PHP, Composer et Node.js avec WSL 2 sur Windows 10/11.

## Introduction

Pour développer avec Laravel sous Windows, la meilleure pratique consiste à utiliser **WSL (Windows Subsystem for Linux)**. Vous pouvez utiliser la chaîne d'outils Linux telle quelle, ce qui permet d'exécuter les mêmes commandes que sur macOS ou sur un serveur de production.

Ce guide explique comment installer PHP, Composer et Node.js (via nvm) sur Ubuntu dans WSL 2, jusqu'à obtenir un état où `laravel new` fonctionne.

<Info>
  Environnement cible : Windows 10 (version 2004 ou ultérieure) ou Windows 11. WSL 2 est utilisé.
</Info>

***

## Installation de WSL

<Steps>
  <Step title="Ouvrez PowerShell en tant qu'administrateur">
    Recherchez « PowerShell » dans le menu Démarrer et choisissez « Exécuter en tant qu'administrateur ».
  </Step>

  <Step title="Installez WSL et Ubuntu">
    ```powershell theme={null}
    wsl --install
    ```

    Cette commande installe WSL 2 et Ubuntu (la distribution par défaut). Redémarrez le PC une fois l'opération terminée.
  </Step>

  <Step title="Configurez Ubuntu">
    Après le redémarrage, Ubuntu démarre automatiquement. Définissez un nom d'utilisateur et un mot de passe. Ce mot de passe sera utilisé avec la commande `sudo`.

    <Warning>
      Le mot de passe ne s'affiche pas à l'écran pendant la saisie. Saisissez-le avec précision.
    </Warning>
  </Step>

  <Step title="Mettez à jour la liste des paquets">
    Exécutez ce qui suit dans le terminal Ubuntu.

    ```bash theme={null}
    sudo apt update && sudo apt upgrade -y
    ```
  </Step>
</Steps>

***

## Installation de PHP

Les dépôts standard d'Ubuntu peuvent contenir une version ancienne de PHP. Nous installons la dernière version en utilisant le PPA `ondrej/php`.

<Steps>
  <Step title="Installez les paquets nécessaires">
    ```bash theme={null}
    sudo apt install -y software-properties-common
    ```
  </Step>

  <Step title="Ajoutez le PPA ondrej/php">
    ```bash theme={null}
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    ```
  </Step>

  <Step title="Installez PHP 8.3 et les extensions nécessaires">
    Laravel 13 nécessite PHP 8.3 ou supérieur.

    ```bash theme={null}
    sudo apt install -y php8.3 php8.3-cli php8.3-mbstring php8.3-xml php8.3-curl php8.3-zip php8.3-sqlite3 php8.3-mysql
    ```
  </Step>

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

    Si `PHP 8.3.x` ou une version supérieure s'affiche, l'installation a réussi.
  </Step>

  <Step title="(Optionnel) Basculer entre plusieurs versions">
    Si vous avez besoin de plusieurs versions de PHP, vous pouvez les commuter avec `update-alternatives`.

    ```bash theme={null}
    sudo update-alternatives --config php
    ```

    Une liste des versions installées s'affiche ; entrez le numéro de la version que vous souhaitez utiliser.
  </Step>
</Steps>

***

## Installation de Composer

Composer s'installe avec l'installeur officiel.

<Steps>
  <Step title="Vérifiez les paquets requis">
    ```bash theme={null}
    sudo apt install -y curl php8.3-cli unzip
    ```
  </Step>

  <Step title="Téléchargez et exécutez l'installeur officiel">
    ```bash theme={null}
    curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
    sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer
    ```
  </Step>

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

  <Step title="Configurez le PATH pour l'installation globale">
    Pour pouvoir utiliser les paquets installés avec `composer global require` (comme l'installateur Laravel), ajoutez `~/.composer/vendor/bin` à votre `PATH`.

    Ajoutez ce qui suit à `~/.bashrc` (ou `~/.zshrc`).

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

    Rechargez la configuration.

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

***

## Installation de nvm

Node.js est installé par utilisateur avec nvm (Node Version Manager). Il ne nécessite pas `sudo` et permet une bonne compatibilité avec les outils IA et CLI utilisant des paquets npm globaux.

<Steps>
  <Step title="Installez nvm">
    Vous pouvez consulter le script d'installation le plus récent 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="Ajoutez la configuration au fichier de shell">
    Le script d'installation ajoute automatiquement ce qui suit à `~/.bashrc`. Si ce n'est pas le cas, ajoutez-le manuellement.

    ```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 ~/.bashrc
    ```

    Si vous utilisez zsh, ajoutez la même chose à `~/.zshrc` et rechargez avec `source ~/.zshrc`.
  </Step>

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

***

## Installation de Node.js

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

  <Step title="Définissez la version par défaut">
    Définissez la version par défaut pour qu'elle soit automatiquement utilisée dans les nouvelles sessions de terminal.

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

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

***

## Vérification de l'installation de Laravel

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

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

    Un assistant interactif démarre. Vous pouvez choisir le starter kit et l'inclusion ou non de l'authentification.
  </Step>

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

    Ouvrez `http://localhost:8000` dans votre navigateur ; si la page d'accueil de Laravel s'affiche, tout est terminé.

    <Tip>
      Si vous ne pouvez pas accéder à `localhost` depuis le navigateur Windows via WSL, essayez de démarrer avec `php artisan serve --host=0.0.0.0`.
    </Tip>
  </Step>
</Steps>

***

## Annexe : outils pour améliorer la productivité

### Windows Terminal

Avec Windows Terminal, vous pouvez gérer WSL, PowerShell et l'invite de commandes dans plusieurs onglets à partir d'une interface unifiée. Il est disponible gratuitement sur le Microsoft Store.

* Utilisation parallèle de plusieurs shells dans des onglets
* Possibilité de définir le shell Ubuntu par défaut
* Police et palette de couleurs entièrement personnalisables

### Extension VS Code Remote - WSL

Avec l'extension [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl) de VS Code, vous pouvez éditer les fichiers de WSL directement depuis VS Code sur Windows.

```bash theme={null}
# Ouvrir le projet dans VS Code depuis le terminal WSL
code .
```

Lors du premier lancement, le serveur VS Code s'installe automatiquement dans WSL. Ensuite, vous développez avec une expérience équivalente à un environnement natif.


## Related topics

- [Installer PHP, Composer et Node.js avec Homebrew (macOS)](/fr/blog/mac-setup.md)
- [Bundling des assets avec Vite](/fr/vite.md)
- [Construire une SPA avec Inertia.js](/fr/blog/inertia-introduction.md)
- [Laravel Sail](/fr/sail.md)
- [Installation et configuration - VOICEVOX for Laravel](/fr/packages/laravel-voicevox/installation.md)
