Préparez l'environnement
Mettez en place les outils indispensables pour travailler sereinement avec Sylius en préparant Docker, les conteneurs de développement et les premières commandes utiles au projet.
Salut, tu te sens prêt à travailler avec Sylius ?
Je n'en doutais pas un instant !
Mais...
Et ton ordi, il est prêt, lui ? 😅
T'inquiète, on va vérifier ça ensemble, en se référant aux prérequis officiels :
Commençons par ton système d'exploitation, sur quoi tourne ton ordinateur ?
Parfait, ton OS est déjà compatible.
Sur Windows, la documentation recommande d'installer le sous-système WSL
As-tu déjà WSL installé, ou veux-tu un coup de main ?
Parfait !
Ok, tiens-moi au courant
Ok, je vais t'aider, commence par ouvrir PowerShell, et tape la commande suivante :
Très bien, tu seras invité à enregistrer ton mot de passe utilisateur, ne l'oublie pas 😅
Voici un aperçu de ce que tu devrais avoir :
Ok, je t'ai fait installer la distribution Ubuntu, mais libre à toi de choisir celle que tu préfères.
Il est cependant conseillé de définir la distribution par défaut, vu qu'il est possible d'en installer plusieurs.
Relance le terminal PowerShell et saisis la commande suivante :
Bien, à présent, chaque fois que tu auras besoin de te connecter à WSL, il te suffira d'ouvrir PowerShell et de taper la commande
Passons aux autres prérequis... accroche-toi...
- PHP...
- ...avec les extensions gd, exif, fileinfo, intl, sodium
- MySQL, MariaDB ou PostgreSQL
- Composer
- Node.js
- Git
- Symfony CLI
- Symfony Local Web Server
Je ne sais pas pour toi, mais moi, je n'en aurais pas la patience !
Heureusement, la Sylius Team a pensé à notre santé mentale et a intégré des conteneurs Docker prêts à l'emploi !
Docker est un système de "conteneurs" qui va nous permettre d'exécuter des services prêts à l'emploi plutôt que de tout devoir installer sur notre machine.
Je te présenterai les services disponibles lorsque nous installerons Sylius ; pour le moment, il faut installer Docker !
Avant, je dois t'expliquer un point très important concernant Docker...
Deux procédures d'installation se distinguent :
- Installer "Docker Desktop" : recommandé par Docker, contient un package complet, avec une interface graphique pour observer et interagir avec les conteneurs (très pratique)
- Installer unitairement le moteur docker "Docker Engine" et ses éventuels plugins (nous aurons besoin du plugin "Docker Compose")
Oui, le plus simple à installer...
...mais pas le plus performant, car il ajoute une couche VM qui provoque un goulot d'étranglement à cause des nombreuses entrées/sorties Sylius (Composer, cache Symfony, vendor, logs, parfois node build)
Même sur un très bon ordinateur Windows, avec WSL + Docker Desktop (donc 2 couches de virtualisation), j'ai vu des pages mettre plus de 15 secondes à s'afficher... crispant...
J'en fais encore des cauchemars !
Puisque tu es sur Windows, tu es directement concerné : Docker Desktop est à bannir !
Tu es sur Linux, tu es sauvé! Le moteur Docker y tourne nativement, aucune couche de virtualisation inutile !
Malheureusement, sur macOS, le moteur Docker ne peut pas être installé seul à ce jour. Il n'existe pas d'autre solution que d'installer Docker Desktop. Ce n'est pas la catastrophe pour autant, car ce sera la seule couche de virtualisation (pas de WSL comme sur Windows).
En résumé, du plus performant au moins performant :
- Linux + Docker Engine : 0VM 🚀
- macOS + Docker Desktop : 1VM ✈️
- Windows WSL + Docker Engine : 1VM 🏎️
- Windows WSL + Docker Desktop : 2VM (à éviter !) 🐢
Suis les instructions d'installation suivantes pour Docker Desktop et dis-moi quand c'est fait :
https://docs.docker.com/desktop/setup/install/mac-install/
Suis les instructions d'installation de Docker Engine en fonction de ta distribution et dis-moi quand c'est fait :
https://docs.docker.com/engine/install
Commence par te connecter à WSL, puis suis la procédure d'installation de Docker Engine pour la distribution Ubuntu (ou une autre si tu n'as pas choisi Ubuntu lors de l'installation de WSL) :
https://docs.docker.com/engine/install
Ok, tu peux tester que docker est bien installé avec la commande suivante :
Parfait, installons maintenant le plugin Docker Compose, nous en aurons besoin et c'est simple à ajouter.
Voici l'instruction d'installation :
Tu peux vérifier que l'installation se soit bien passée avec
Presque ! Dernier détail, et pas des moindres : il faut ajouter ton utilisateur au groupe Docker, pour éviter tout problème de droits :
Excellent !
Ça peut sembler fastidieux, mais ça va nous simplifier la suite...
Lorsque nous installerons Sylius, nous travaillerons sur le même environnement avec les mêmes services, quelle que soit notre machine.
Et crois-moi, pour avoir passé des heures à aider des collègues, il vaut mieux éviter de multiplier les sources de problèmes possibles 😅
Maintenant, bien que ce ne soit pas indispensable, il est parfois utile de connecter son IDE à Docker.
Même pour ceux qui utilisent Docker Desktop et son interface graphique, beaucoup de devs apprécient d'avoir un accès rapide depuis l'IDE.
Tu pourras ainsi voir tes conteneurs. Si tu n'en as pas encore, tu peux essayer le classique "Hello World" :
Pour la suite, j'ai besoin de savoir quel IDE tu utilises ?
Alors désolé, je ne connais pas assez bien les autres IDE. Tu veux que je te montre tout de même comment faire sur VS Code ou PhpStorm ?
Ouvre VS Code et installe l'extension Remote Development.
Clique sur l'icône de l'extension, puis choisis de te connecter à ta distribution WSL.
Maintenant, tu devrais voir les conteneurs et les images Docker via le "REMOTE EXPLORER".
Ouvre VS Code et installe l'extension Docker.
Maintenant, tu devrais voir les conteneurs et les images Docker en cliquant sur l'icône "Containers".
Ouvre PhpStorm et clique sur l'icône des "Services" pour ajouter une connexion Docker.
Choisis WSL pour te connecter à Docker.
Choisis Unix socket pour te connecter à Docker.
Maintenant, tu devrais voir les conteneurs et les images Docker via la section "Services".
Tu as fait le plus dur, maintenant tu as tous les outils pour travailler confortablement avec Docker 👏
Dernier outil nécessaire : "make", tu connais ?
Sylius met à disposition les commandes docker les plus courantes dans un fichier "Makefile"
Pour pouvoir les exécuter, l'outil "make" doit être installé (promis, c'est le dernier !)
Au moins, l'installation est très simple :
Au moins, l'installation est très simple :
Parfait, vérifions alors qu'il fonctionne bien.
Un simple fera l'affaire 👍
Tu vas pouvoir souffler, TOUT est prêt sur ton environnement 🎉
C'était un effort loin d'être négligeable, mais ça en valait la peine : nous pourrons installer Sylius en une seule commande !
Je te propose d'en rester là pour aujourd'hui, nous verrons ça ensemble lors de notre prochain point, je te souhaite une bonne journée !