<aside> 💡
</aside>
Sommaire :
Les mises à niveau de Joomla étant toujours rock n’ roll, je dois toujours faire un essai en local. Ainsi au passage de 3 à 4, mon template n’était plus reconnu. J’ai donc du en faire un nouveau avant de refaire toute la manip en production.

https://infodocbib.net/2022/01/bagad-elven-20-ans-sur-la-toile/
Pour la mise à niveau de Joomla 4 vers 5, j’ai donc voulu tester en local également. Sauf que…
… Joomla 5 nécessite PHP 8 et MySQL 8 (ou MariaDB 10), et j’ai bien galéré avec Xampp.
Solution possible :
Installé dans C:\Program Files\Docker , Docker Desktop pour Windows est **intégré à WSL : \\wsl.localhost\docker-desktop**
Lancer Docker Desktop lance donc automatiquement WSL

Sauf par la ligne de commande, donc à éviter
Choisir le mode administrateur et l’interface graphique :

Fermer la fenêtre n’arrête pas Docker Desktop
Eviter de passer par le terminal quand la fenêtre est ouverte : wsl -t docker-desktop finit en message d’erreur
Arrêter une distri : wsl -t <distri> (-t : --terminate)
La bonne méthode, par la barre des tâches :

Même en fermant la fenêtre, Docker continue à tourner. Aller à droite de la barre des tâches pour l’éteindre complètement
Le nombre d’endroits où on trouve des fichiers de Docker Desktop est assez effarant :
\\\\wsl.localhost\\docker-desktop
C:\\Program Files\\Docker
Les images virtualisées des conteneurs se trouvent ailleurs dans C :
C:\\Users\\tadko\\.docker
Il y a du Docker dans le Ubuntu par défaut :
\\\\wsl.localhost\\Ubuntu\\home\\lurin\\.docker
D’autres données personnelles encore sont stockées dans AppData :
C:\\Users\\tadko\\AppData\\Roaming\\Docker C:\\Users\\tadko\\AppData\\Roaming\\Docker Desktop
C:\\Users\\tadko\\AppData\\Local\\Docker Desktop Installer
C:\\Users\\tadko\\AppData\\Local\\Docker
On trouve deux fichier .vdhx dans ce dernier répertoire C:\\Users\\tadko\\AppData\\Local\\Docker :
C:\\Users\\tadko\\AppData\\Local\\Docker\\wsl\\disk\\docker_data.vhdx (5,74 Go)
C:\\Users\\tadko\\AppData\\Local\\Docker\\wsl\\main\\ext4.vhdx (131 Mo)
C’est le même nom que le disque virtuel d’Ubuntu par défaut, mais pas la même taille :
C:\\Users\\tadko\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\\LocalState\\ext4.vhdx (8,73 Go)

3 fichiers .vhdx dans tout le lecteur C
Format de fichier VHDX - Qu'est-ce qu'un fichier VHDX ?
De plus, les volumes peuvent être associés à n’importe quel endroit du système :
D:\\DockerLamp\\docker-compose-lamp
Autant dire que supprimer Docker Desktop totalement du système doit relever de l’exploit !
On peut changer l’emplacement des fichiers vhdx, ce qui peut faire gagner de la place sur C:

Possibilité de déplacer tout le dossier de
C:\\Users\\tadko\\AppData\\Local\\Docker\\wsl
vers
D:\\DockerWSL
Il semble que l’intégration par défaut de docker soit avec la distri par défaut :
Docker : exécuter un container Linux sous Windows avec WSL 2
D’une part, arrêter docker-desktop arrête automatiquement l’Ubuntu par défaut :

D’ailleurs, c’est le navigateur de la distri par défaut qu’il faut utiliser pour voir les résultats des containers Docker (cf Docker LAMP ci-dessous)
En outre, Il y a des fichiers Docker dans les données utilisateur du Ubuntu par défaut :
\\\\wsl.localhost\\Ubuntu\\home\\lurin\\.docker
Enfin, le lien avec WSL peut-être paramétré :

GitHub - sprintcube/docker-compose-lamp: A basic LAMP stack environment built using Docker Compose.
Installation
git clone [<https://github.com/sprintcube/docker-compose-lamp.git>](<https://github.com/sprintcube/docker-compose-lamp.git>)
cd docker-compose-lamp/
cp sample.env .env
// Dans le fichier .env modifiez les variables d'environnement ou laissez les valeurs par défaut
docker compose up -d
// visit localhost
Le localhost classique lance… le premier Xampp, même avec Docker Desktop allumé ! Donc pour utiliser localhost dans Docker, il faut changer les ports (cf variables d’environnement ci-dessous)

Dans le Firefox d’Ubuntu : http://localhost:88
This package comes with default configuration options. You can modify them by creating .env file in your root directory. To make it easy, just copy the content from sample.env file and update the environment variable values as per your need.
Ca se passe dans le volume : D:\\DockerLamp\\docker-compose-lamp dans le gestionnaire de fichiers

Lancer le localhost classique lance… le premier Xampp, même avec Docker Desktop allumé ! Donc pour utiliser localhost dans Docker, il faut changer les ports :
If you already have the port 80 in use, you can change it (for example if you have Apache) HOST_MACHINE_UNSECURE_HOST_PORT=88
If you already have the port 443 in use, you can change it (for example if you have Apache) HOST_MACHINE_SECURE_HOST_PORT=443
If you already have the port 3306 in use, you can change it (for example if you have MySQL) HOST_MACHINE_MYSQL_PORT=3305
If you already have the port 8080 in use, you can change it (for example if you have PMA) HOST_MACHINE_PMA_PORT=8081 HOST_MACHINE_PMA_SECURE_PORT=8443
If you already has the port 6379 in use, you can change it (for example if you have Redis) HOST_MACHINE_REDIS_PORT=6379
3 moyens, j’ai choisi le premier
Le support des domaines https est intégré mais désactivé par défaut. Il y a trois façons d'activer et de configurer SSL ; https sur localhost étant la plus simple. Si vous essayez de recréer un environnement de test aussi proche que possible d'un environnement de production, n'importe quel nom de domaine peut être supporté avec plus de configuration.
HTTPS on Localhost
To enable https on localhost (https://localhost) you will need to:
localhost:
mkcert, in the terminal run mkcert localhost 127.0.0.1 ::1.cert.pem and cert-key.pem respectively.config/ssl directory.443 vhost in config/vhosts/default.conf.Done. Now any time you turn on your LAMP container https will work on localhost.
Penser à lancer phpMyAdmin, qui ne se lance pas par défaut à l’ouverture de Docker Desktop
phpMyAdmin is configured to run on port 8080. Use following default credentials http://localhost:8081/ (cf variables d’environnement ci-dessus) username : root password : tiger

Ou cliquer sur phpMyAdmin dans l’onglet http://localhost:88 de départ
http://localhost:88/JoomlaElven/
Installation de Joomla! - Joomla! Documentation
D:\\DockerLamp\\docker-compose-lamp\\wwwNom
Pseudo
Mot de passe
Le super utilisateur peut être changé avec les paramètres d’Akeeba
Sélectionnez le type de base de données à utiliser *
Entrez le nom d'hôte, généralement "localhost" ou un nom fourni par votre hébergeur. *
Veuillez saisir le nom d'utilisateur de la base de données que vous avez créé ou un nom d'utilisateur fourni par votre hébergeur. *
Veuillez saisir le mot de passe de la base de données que vous avez créé ou un mot de passe fourni par votre hébergeur.
Saisissez le nom de la base de données * (l’avoir créée au préalable dans phpMyAdmin)
Saisissez un préfixe de table ou utilisez celui généré aléatoirement * Attention, un préfixe différent de celui de l’archive conduira Akeeba à dupliquer toutes les tables.
Vidéo tuto