Le projet est (presque) entièrement conteneurisé avec la technologie open source Docker. Aussi, il suffit d’installer Docker Desktop pour faire de votre machine une plateforme Docker et l’utiliser.
La technologie de conteneurisation LXC implémentée par Docker nécessite un noyau Linux. Sur GNU/Linux, l’usage de Docker est donc natif, les conteneurs sont executés directement sur le noyau de la machine hôte. Sous Windows (et sous macOS), il faut donc installer une machine virtuelle GNU/Linux.
Sur Windows, Docker Desktop utilise Windows Subsystem for Linux (WSL 2), une machine intégrée native de distribution GNU/Linux sur Windows !
Une fois installée, cette distribution est accessible comme n’importe quelle application. Aujourd’hui sous Windows, on peut travailler sous GNU/Linux très facilement, ce qui est une excellente chose !
Normalement, Docker Desktop installe sa propre machine virtuelle sans vous demander quoi que ce soit. Il faut seulement que la WSL soit activée et mise à jour :
wsl --updateEn soi, on pourrait s’arrêter là. Mais on souhaiterait travailler sous GNU/Linux, pas seulement lancer les conteneurs.
En effet, le projet est configuré pour tirer parti de
fonctionnalités de Linux notamment pour les droits en lecture
et écriture de fichiers, et éviter de lancer le projet en mode
administrateur (avec sudo). Docker a besoin des
droits administrateur pour lancer les conteneurs (c’est son vilain
défaut, contrairement à Podman par
exemple, une autre technologie de conteneurisation). Travailler sous le
compte administrateur vient avec ses désagréments. Par
exemple, dans notre cas, certains fichiers et répertoires de notre
projet WordPress lui appartiendraient, et vous ne pourriez pas
(facilement) les éditer, etc.
Pour être plus heureux, et éviter tous ces désagréments, nous allons donc travailler depuis la WSL afin d’avoir un environnement de travail idéal.
Et, c’est intéressant de mettre la main sur GNU/Linux. Il y aura très peu de choses à faire. Une fois configurée, vous pourrez accéder au système de fichiers de votre distribution depuis l’explorateur de fichiers Windows (
/home/), et utiliser vos outils préférés comme si vous étiez sous Windows.
On pourrait utiliser la distribution WSL installée par Docker Desktop, mais elle n’est pas faite pour servir d’environnement de travail principal :
Aussi, on la laisse à Docker Desktop et on installe la nôtre. Elle servira à la fois pour nos conteneurs ET pour travailler.
Installer Docker Desktop. Paquet logiciel tout en un, publié par Docker Hub. Installe Docker, Compose et un outil d’administration avec interface graphique (et bien d’autres choses).
C’est le moyen le plus simple d’installer Docker sur Windows.
Pour installer une nouvelle distribution GNU/Linux, rien de plus simple. Dans une invite de commandes Windows :
wsl --installPar défaut, WSL installe une distribution Ubuntu, ce qui est très bien. Vous pouvez changer et opter pour une autre distribution (Debian, etc.). Consulter la liste des distributions disponibles :
wsl --list --onlineUne fois votre choix fait :
wsl --install [Nom de la distribution choisie]Lister les distributions installées :
wsl -l -vLa distribution que vous venez d’installer doit apparaître dans la liste.
Dans la suite, on supposera que vous avez installé une distribution Ubuntu (ou Debian).
sudo).
Gardez précieusement le mot de passe.WSL va vous ouvrir un shell (Bash) sur votre instance GNU/Linux. Félicitations, vous êtes sous GNU/Linux !
Exécuter les commandes suivantes pour mettre à jour votre installation :
sudo apt update
sudo apt upgrade
aptest le gestionnaire de paquets sous Ubuntu/Debian. C’est avec lui qu’on installe des logiciels et applications sur la machine.
sudo apt install dockerTester :
docker -vPas utile en soi, car lorsque l’on dira à Docker Desktop d’utiliser notre distribution (WSL integration), docker sera automatiquement installé sur la WSL.
Pour que votre utilisateur puisse se servir de Docker sans nécessiter
des droits administrateur, il faut l’ajouter au groupe
docker :
sudo groupadd docker
sudo usermod -aG docker $USERVérifier que vous faites bien parti du groupe docker
:
groupsdocker doit apparaître dans la liste. Si ce n’est pas le
cas, redémarrez la WSL pour que les changements soient pris en
compte !
Installer PHP et quelques extensions :
sudo apt install php8.4 php8.4-xml php8.4-zipAdapter à la dernière version PHP disponible sur les dépôt de Debian.
Vérifier que PHP est bien installé :
php -vOn va utiliser Composer, le gestionnaire de dépendances de PHP. L’installer en copiant/collant ces instructions dans le shell :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'c8b085408188070d5f52bcfe4ecfbee5f727afa458b2573b8eaaf77b3419b0bf2768dc67c86944da1544f06fa544fd47') { echo 'Installer verified'.PHP_EOL; } else { echo 'Installer corrupt'.PHP_EOL; unlink('composer-setup.php'); exit(1); }"
php composer-setup.php
php -r "unlink('composer-setup.php');"Vous devriez avoir un fichier composer.phar dans le
répertoire courant.
Installez-le globalement en le plaçant dans le
répertoire /usr/local/bin. Ce répertoire est sur le
$PATH. Composer sera donc utilisable depuis n’importe où
sur votre machine :
sudo mv composer.phar /usr/local/bin/composerTester :
composerVous devriez voir la documentation de Composer apparaître.
Il ne reste plus qu’à dire à Docker Desktop d’utiliser NOTRE distribution, plus la sienne. Pour cela, se rendre dans l’interface de Docker Desktop/Réglages (roue dentée)/WSL Integration et cocher votre distribution Ubuntu.
Redémarrer Docker Desktop.
Et voilà !
Depuis le shell GNU/Linux (on travaille là à présent !) :
git clone https://github.com/paul-schuhm/wordpress-php
cd wordpress-php/kit-dev
cp .env.dist .env
composer install
docker compose up -dLe projet WordPress (et tous ses services) est lancé et prêt à l’emploi !
Référez-vous aux instructions du kit de développement en cas de problème (à jour)
Pour travailler avec VS Code, comme si vous étiez sous Windows (de manière transparente), et sans avoir de problèmes de droits lors de la création de fichiers par exemple (par défaut tout fichier crée depuis Windows sur la partition Linux appartient à root, pas à votre utilisateur !), il faut faire une petite configuration :
codeLa WSL va installer des paquets et vous ouvrir l’interface graphique de VS Code. Vous pouvez commencer à travailler !
Comme on travaille sur la WSL, lancer toujours VS Code depuis la WSL.
Conseil : créer un bookmark de l’emplacement de
votre répertoire utilisateur sous linux /home/votre-user
dans votre explorateur de fichiers Windows pour y revenir
facilement.
pwd : (print working directory) Affiche le
répertoire où vous êtes;ls : lister les fichiers et répertoires du répertoire
courant;ls -al : lister tous les fichiers, y compris cachés, au
format long (plus d’info)cd foo/bar : (change directory) Se déplacer dans le
répertoire foo/bar;cd .. : se déplacer dans le répertoire parent;cd : revenir à son répertoire utilisateur
(/home/votre user). C’est votre répertoire de travailtouch un_fichier : créer un fichier
un_fichiermkdir projet : créer le dossier projet;rm fichier : supprimer un fichierrm -R dossier : supprimer un dossier et tout son
contenuSi le répertoire appartient à root (vu avec
ls -al), il faut vous redonner les droits de lecture et
d’écriture sur le dossier avec chown :
sudo apt chown -R <votre user>:<votre user> repertoiresudo apt install <nom du paquet>, on utilise
sudo pour demander les droits admin pour executer cette
commande, ils sont nécessaires pour installer un paquet.En cas de problèmes avec la WSL, veuillez consulter cette page de problèmes connus avant de demander de l’aide. Vous pouvez également consulter la FAQ pour en savoir plus.
Pour exécuter WSL 2, vous devez au préalable activer la
plateforme de machine virtuelle Windows (appelée Hyper-V,
l’hyperviseur natif de VM de Windows). Si ce n’est pas le cas, vous
allez obtenir un message comme celui-ci
"Please enable the virtual Machine Platform WIndows feature and ensure virtualization is enabled in the BIOS".
Pour activer la plateforme de virtualisation :
F2 ou la touche indiquée indiquée par votre carte-mère pour
accéder au BIOS.Vous devez également activer les fonctionnalités
Plateforme de l'hyperviseur Windows et
Plateforme de machine virtuelle. Tapez
“fonctionnalités windows” dans votre barre de recherche,
puis activez-les. Redémarrez votre machine.
Vérifier l’installation en tapant la commande suivante dans l’Invite de commande Wsindows:
systeminfoLa dernière entrée du rapport généré vous indiquera la configuration requise pour Hyper-V. Vérifier que tous les prérequis sont bien remplis.