Bonjour,
J'ai un tout noveau PC. J'aimerais avoir des conseil sur comment créer un environement de developement sur Windows sans trop poluer mon ordinateur avec PHP, Ngnix, Mysql etc. Avant j'utlisait une machine virtual. Sur mon anciens ordinateur, je les pollué avec trop de techologie (Mysql, php etc)

Je pense que dans mon cas je pourrais utilisé Docker pour configurer toute les techo que j'ai besoin pour faire fonctioner mes projet sans devoir pollué mon ordinateur avec des techo disparcé un peut partout dans mon ordinateur. Dans le passé j'aivais utlisé Docker sur mon Mac et ça été une mauvaise expérience. Est-ce que Docker est mieux sur Window s'achent qui fonctionne mieux sur Linux? Si je me trompe pas pour créer un environement de developpement en local. J'aimerais avoir que piste ou conseil pour avorir un environement de dev propre

Merci et bonne journée

1 réponse


Alors le moyen le plus simple pour ne pas poluer windows en dispersant des technos un peu partout c'est de ne pas disperser les technos un peu partout, suffit d'installer ces technos de manière organisée, quand la techno te propose un repertoire, ne valides pas le repertoir par défaut mais définit un endroit

Ensuite pour mieux isoler ces technos, tu peux partionner le disque et réserver une partie du disque exclusivement aux technos
Pour faire encore mieux, achetes un SSD exclusif et installes toutes tes technos sur ce disque

Pour ce qui est de la VM et de Docker, alors c'est plus un moyen de copier l'environnement de ton hébergeur web pour éviter toute surprise, par exemple sur ton windows tu as installé la dernière version de php (php8) mais ton hebergeur est toujours sur php7.3, tu peux faire une VM avec php7.3, et Docker pour simplifier le montage de la VM, mais si c'est juste pour ne pas mettre de techno sur le disque dur de ton ordi, mieux vaut éviter de mettre une VM, parce que VM ou pas le résultat sera le même qu'avec un partionnement de disque ou un disque dédié, la seule différence c'est que tu vas non seulement installer tes technos sur le disque dur (ce que tu voulais éviter) mais en plus tu va installer un OS, alors sur l'écran vu que tu passes par l'OS tu aura une illusion de ne pas avoir installé les technos sur ton pc, mais ce n'est pas le cas, tes technos sont bien installés sur ton pc, et tu vas rajouter une techno en plus (l'OS) :/
La VM va juste s'assurer que tout s'installe dans le dossier AppData car c'est un dossier invisible par défaut, donc ca te donne l'illusion que ta vm ne se trouve pas dans windows (après tu as d'autres logiciels de VM, par exemple wamp ou laragon c'est des VM aussi, mais ils s'installent par défaut à la racine du disque dur)

La VM n'est utile que dans 3 cas:
-Copier l'environnement de ton hebergeur web
-Si tu travailles en équipe, ça sert à avoir un OS configuré de la même façon pour éviter le "mais ça marche sur ma machine :'("
-Préparer un serveur avant d'appliquer cette config dans ton hebergeur dans le cas ou tu prends un hebergement Cloud a configurer toi même

Dans ton cas le plus pertinent serait soit un partionnement "imaginaire" de disque (bref tu installe toutes les technos au même endroit sans faire de réel partionnement de disque), soit un partionnement du disque (tu dédie une partie du disque pour le dev), soit si tu veut vraiment faire au top acheter un disque dur SSD (très important, faut prendre un SSD vu que tu va beaucoup écrire sur ce disque, et un HDD possède un petit disque qui va se rayer a force de réécrire dessus) et dédier ce disque exclusivement au dev

Si tu veux acheter un SSD dédié, penses a prendre un avec pas mal de Go, et si tu partionnes, penses a dédier beaucoup de Go (quoiqu'il éxiste des logiciel pour faire un partionnement progressif au fur et a mesure où tu installes des trucs dessus, tu dit juste au logiciel que quoi qu'il arrive il faut qu'il y ait toujours 1Go d'espace libre), parce que tu aura besoin de place pour tes VM
La VM n'est pas pertinente dans ton cas en particulier, mais tu aura besoin d'une VM dans d'autres cas

Ensuite pour Docker, normalement il devrait très bien fonctionner sur mac, et il fonctionne bien sur Windows aussi, alors pour un environnement regardes "docker compose", c'est une version de docker spécialisée pour organiser un environnement local tu devrais avoir une meilleur expérience avec ça ;)

Et oui c'est vrai que Windows et Linux ont une meilleure comunication parce que Windows c'est un OS basé sur Unix, et Linux est aussi basé sur Unix, donc ils arrivent mieux à se comprendre x)