Pour être bien vu par votre client, vous devez être prêt à travailler rapidement sur son projet.
C’est là que docker entre en jeu pour avoir un environnement PHP flexible. Chaque projet client a sa propre complexité, vous devez donc être flexible, sans pour autant ruiner votre machine en installant 40 logiciels différents.

Préparation de l’environnement
J’ai déjà fait un article sur le sujet que vous pouvez retrouver ici Plus loin avec Symfony et docker.
L’idée étant de partir d’un environnement que vous maîtrisez.
La problématique c’est que tout le monde a un « legacy ».
Chez nous il y a apache avec un .htaccess, qui redirige les requêtes vers React.
Nous utilisons un script en GO pour la génération des fichiers.
Bref, c’est différent chez tout le monde.
Les choses qui changent
La configuration Redis
Je pense qu’avec les articles Un mot de passe Redis via docker-compose et Les sentinelles Redis avec docker-compose vous êtes prêts pour ce cas ?
La base de données
C’est un élément super simple à changer. Certains clients ont une DB centralisée, d’autres une DB locale.
Le changement de MySQL -> Postgresql très simple dans votre fichier docker-compose
services:
db:
image: postgres
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASS}
db-volume:/data/postgres
La partie front
Sauf la version de npm, pour cette partie, rien à faire. Sauf si votre client utilise yarn.
npm install --global yarn
Le serveur web
Pour le moment, j’ai toujours réussi à éviter l’installation d’apache. Mais il y a toujours des choses à faire. Des headers spéciaux, des redirections ou un nom de domaine local spécifique.
nginx:
image: kiora/nginx:sf4-3
ports:
- ${NGNIX_PORT}:80
- 443:443
depends_on:
- tools
volumes:
-./client.conf:/etc/nginx/conf.d/client.conf
Vous pouvez monter la config spécifique de votre client.
Voila, vous êtes prêts ! Vous avez un environnement PHP à éprouver ?