# Installation de l'environnement sous windows

## 1. Installation des prérequis

Pour l'utilisation de ce projet, il est nécessaire d'installer :

### a. PHP 

Installer la version de votre choix, pas besoin de WAMP ou de EasyPHP); par exemple pour la version 8.4 : https://windows.php.net/downloads/releases/php-8.4.7-nts-Win32-vs17-x64.zip
Créer le dossier "PHP" sous C:

Dans C:\PHP créer le dossier "8.4.7" (version de PHP utilisée)

Dézipper le contenu de l'archive téléchargée dans 8.4.7 (attention on ne voudra pas de sous dossier)

Renommer php.ini-development en php.ini

Ajuster les paramètre dans le fichier php.ini en fonction des besoins de votre machine.

Ajouter dans le fichier php.ini (avant les extensions), la ligne :
```apacheconf
extension_dir = "c:\PHP\8.4.7\ext"
```

Cette ligne permet d'indiquer où aller chercher les extensions

### b. Composer

On peut aller télécharger l'executable de composer sur le net : https://getcomposer.org/download/

### c. Git

Installer GitBash depuis le net : https://git-scm.com/downloads

On peut si on le souhaite installer un utilitaire type GitKraken ou SourceTree

### d. Symfony

Créer sous C: un répertoire "Symfony".

Télécharger le zip suivant : https://github.com/symfony-cli/symfony-cli/releases/download/v5.11.0/symfony-cli_windows_amd64.zip

Décompresser le contenu de l'archive dans C:\Symfony

### e. WSL2

Prérequis : Windows 10 versions 2004 et ultérieures (build 19041 et versions ultérieures) ou Windows 11

Lancer powershell en **Administrateur**. Exécuter les commandes suivantes :

Activer virtualMachinPlatform :
```powershell
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
```

Activer WindowsSubSystemForLinux :
```powershell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
```

Redémarrer et relancer powershell en Administrateur.

Exécuter la commande suivante pour définir la V2 de WSL comme version par défaut

```powershell
wsl.exe --set-default-version 2
```

Si un message apparait indiquant qu'une mise à jour est nécessaire, télécharger et installer la mise à jour, puis redémarrer.
Lien de téléchargement de la MAJ : https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi



On va télécharger une distribution Debian :

```powershell
Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile Debian.appx -UseBasicParsing
```

puis l'installer :
```powershell
Add-AppPackage Debian.appx
```

Redémarrer.

Dans le menu démarrer on trouvera "Debian 12". Cliquer dessus et suivre les instructions au premier lancement.

### f. Docker Desktop

Télécharger et installer Docker Desktop : https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe

Lancer le logiciel et se créer un compte pour Docker Hub (ou se connecter).

## 2. Configuration de Windows

Ajouter aux variables d'environnement PATH les valeurs suivantes :
- C:\PHP\8.4.7
- C:\Symfony