WSL 2 / Machine virtuelle

Le problème exposé dans ce sujet a été résolu.

Bonjour, et bonnes fêtes à tous.

Je viens demander quelques conseils SVP.

Jusqu’à aujourd’hui j’avais l’habitude de travailler su un VPS de dév distant (et d’utiliser un plugin SFTP avec mon éditeur). Ceci me convenais bien car ça me permettais d’avoir exact le même environnement en dév et en prod.

Mais vu que chez moi je n’ai pas la fibre, il y a des jours où j’ai des ralentissement… Donc maintenant je veux travailler en local pour ne plus avoir ce gène.

J’ai un Windows 10, et je n’ai franchement pas envie de le quitter, ni de passer en double boot.

Vous me conseillez quoi SVP ? Utiliser WSL 2 (Windows Subsystem for Linux) ? Ou une machine virtuelle ?

Il parais que WSL 2 est plus performant qu’une machine virtuelle. Mais je n’ai jamais testé l’un, ni l’autre.

Pour le moment j’utilise le logiciel Laragon, mais ça reste du dév sous Windows.

Merci d’avance.

WSL 1 traduit à la volée les appels systèmes Linux en leur équivalent Windows. WSL 2 est quand à lui une machine virtuelle optimisée et prévue exprès pour, donc moins lourde qu’un VirtualBox ou autre.

Pour l’instant, WSL 2 souffre de gros problèmes de vitesse quant à l’accès aux fichiers Windows (genre /mnt/c/Users) mais fonctionne très bien si tu mets ton code dans le système de fichier Linux.

WSL 1 n’a pas ce problème de vitesse, mais doit composer avec l’absence de Docker par exemple (enfin c’est possible, mais ça demande du bricolage).

Dans tous les cas, tu peux l’installer et l’utiliser, c’est le meilleur moyen de te faire un avis. :)

Merci à tous pour vos réponses.

Ou utiliser directement apache sur Windows. En utilisant wamp par exemple.

A-312

Laragon est mieux que Wamp. Mais ça reste de dév sur windows (Si par exemple j’oublie une majuscule à un nom de fichier, sous windows ça marche. Alors qu’en prod sur un Linux ça pétera).

Je pense que je vais tester les 2. Je vais d’abord tester un VM.

Merci à tous pour vos réponses.

Ou utiliser directement apache sur Windows. En utilisant wamp par exemple.

A-312

Laragon est mieux que Wamp. Mais ça reste de dév sur windows (Si par exemple j’oublie une majuscule à un nom de fichier, sous windows ça marche. Alors qu’en prod sur un Linux ça pétera).

Je pense que je vais tester les 2. Je vais d’abord tester un VM.

stephweb

Normalement même sur linux, la convention ne veut pas de majuscule dans les noms de fichiers (sauf si tu utilises Symfony).

Merci à tous pour vos réponses.

Ou utiliser directement apache sur Windows. En utilisant wamp par exemple.

A-312

Laragon est mieux que Wamp. Mais ça reste de dév sur windows (Si par exemple j’oublie une majuscule à un nom de fichier, sous windows ça marche. Alors qu’en prod sur un Linux ça pétera).

Je pense que je vais tester les 2. Je vais d’abord tester un VM.

stephweb

Normalement même sur linux, la convention ne veut pas de majuscule dans les noms de fichiers (sauf si tu utilises Symfony).

A-312

Ok merci. J’utilise Laravel. De toute façon avec la POO de PHP on a aussi pour convention d’utiliser des majuscules pour des noms de classe.

Mais humainement je peut mettre une majuscule au l’ieu d’un miniscule ou vice versa.

Ou dans un Controller, je peux faire par exemple ceci :

return view('admin.user.Index');

(alors que le fichier index est en minuscule, donc ce code passerai sous windows, mais pas en prod sous Linux).

Et sous windows on peut avoir d’autres galères aussi : simuler des cron, install l’extension PHP imagick par exemple (pour imagick avec Laragon j’y suis arrivé, mais ça n’a pas été de tout repos alors que sous Linux c’est fait en moins d’1 min.).

Aujourd’hui j’ai testé Virtualbox, et il fait planter mon PC… J’y ai installé Debian 10 et quand je le lance au bout d’un moment mon clavier et ma souris de mon PC se retrouvent bloqués (obligé d’éteindre mon PC en appuyant sur le bouton power…).

Bref, ça ne donne pas envie… Pourtant mon PC est "puissant". C’est un SSD avec 16go de RAM. Et à ma VM je lui avais attribué que 2go de RAM.

J’avais aussi test WSL 2, quand je lançais une commande (quand je faisais un apt-get install par exemple), parfois mon terminal restait bloqué… Obligé d’ouvrir un autre terminal dans un nouvel onglet pour finir l’install…

Bref, ça ne donne pas envie…

Je viens de test WSL 2 pour de vrai, avec un vrai projet PHP / Laravel.

J’ai réussis à faire tourner le projet sur la distrib Debien 10 de WSL 2 (j’y ai donc installé PHP 7.4 + Nginx + MariaDB).

Mais WSL ne règle pas les problèmes d’incompatibilité Windows/Linux.

Si par exemple à un nom de fichier je met une majuscule au lieu d une minuscule : ça passe sous Debian WSL, alors que sur un Debian d’un vrai serveur Linux de prod, ça casse (erreur 500).

Je viens de test avec ce projet PHP de faire la même faute à un path sous WSL + sous Laragon (c’est comme wamp) + Sous debian sur un VPS de prod.

Donc pour le dév en local sous windows je ne vois pas l’intérêt d utiliser WSL plutôt que Laragon (ou wamp).

Donc pour faire du PHP fiable en local, pas le choix, faut passer sous Linux (et je n’ai pas envie d’abandonner mon windows 10 pro…).

Ou faut la fibre pour travailler en étant loggé sur un serveur Linux distant en SFTP. mais quand on a pas la fibre…

Donc pour faire du PHP fiable en local,

Quand tu es sur Windows, tu as en tête la différence de case, tu gardes ça en tête quand tu programmes. Je n’ai jamais eu de soucis de mise en prod de site web comportant le problème que tu crains.

Tu peux toujours modifier le classLoader et le rendre le sensible à la case.

EDIT : Tu ne peux pas mettre en place 2–3 tests à exécuter avec un CI ? Comme ça tu seras vite au courant d’un oubli.

+1 -0

Salut,

Je ne comprends pas pourquoi tu ne veux pas te mettre en dual boot. Ton but c’est d’avoir un Linux; installe un Linux. À mon avis, avec le temps passé sur ce topic plus tes essais sur ton Windows, tu aurais largement eu le temps de mettre un dual boot avec la distribution Linux désirée.

+0 -0

Donc pour faire du PHP fiable en local,

Quand tu es sur Windows, tu as en tête la différence de case, tu gardes ça en tête quand tu programmes. Je n’ai jamais eu de soucis de mise en prod de site web comportant le problème que tu crains.

Tu peux toujours modifier le classLoader et le rendre le sensible à la case.

EDIT : Tu ne peux pas mettre en place 2–3 tests à exécuter avec un CI ? Comme ça tu seras vite au courant d’un oubli. Source:A-312 Les test sous windows, de 1 c’est plutot lent, et de 2 ça ne règle pas les problèmes incomparabilité windows/linux.

Salut,

Je ne comprends pas pourquoi tu ne veux pas te mettre en dual boot. Ton but c’est d’avoir un Linux; installe un Linux. À mon avis, avec le temps passé sur ce topic plus tes essais sur ton Windows, tu aurais largement eu le temps de mettre un dual boot avec la distribution Linux désirée.

John

Je suis effectivement (en direct, aujourd’hui) en train de regarder comment installer un dual boot proprement.

Je viens de créer un 3è disque (du moins, une partition. comme ça j’aurai "C" pour mon Windows, "D" pour mes codes sources car je veux les avoir à ma dispo sur mon OS Windwos + sur mon OS Linux, et "U" pour le Ubuntu que je vais m’installer.). Je v’ai l’installe ce soir?

Encore merci pour vos réponses.

Bonjour, et bonne année à tous.

Pour faire suite à cette discussion : j’ai installé Xubuntu en dual boot.

Et j’ai le problème du ventilateur bruyant…

J’ai une carte Nvidia, apparemment, de ce que j’ai pu lire dans Google, ça viens de ça. Que les distributions d’Ubuntu ne sont pas très compatibles avec les cartes graphiques Nvidia. Et dans Google je n’ai pas trouvé de solution (et j’ai l’impression que parmi ceux qui ont eu le même problème que moi, rare sont ceux qui ont trouvés la solution).

J’ai installé le même Xubuntu sur un vieux PC portable DELL 1er prix (qui lui n’a pas Nvidia), et sur ce PC Xubuntu tourne nickel et le ventilateur ne fait pas de bruit.

Plusieurs disent qu’il faut désactiver Nvidia pour passer seulement à Intel… Bref, quand on paye chère un PC haut de gamme, ce n’est pas pour désactiver ses composants.

Je ne pensais pas que c’était aussi compliqué de faire de Linux son PC principal de travail. Dommage, à croire que les logiciels propriétaires sont souvent mieux fait que les logiciels open-source.

Bref, je retourne sous Windows 10, avec lui au moins le PC tourne nickel (même si on ne peut pas trop dév du PHP en local sous Windows…).

Re à tous.

Du coup sujet résolu.

Xubuntu 18 (LTS) n’était visiblement pas compatible avec mon MSI, et je n’ai jamais trouvé la solution malgré de nombreuses recherches… (problème du ventilateur bruyant, surement du à mon Nvidia pas compatible avec cette version de Xubuntu).

Mais au bout d’un moment j’ai testé d’installé la version 19.10 de Xubuntu, et là, ça marche.

J’ai lu au fin fond d’un forum qu’un utilisateur de MSI avait eu le même problème que moi. Il avait écrit que quand on achète un PC portable qui est + récent que la sortie d’une version d’Ubuntu, que ce genre de problème arrive + souvent. Mais quand on installe une version d’Ubuntu qui est plus récente que son PC portable, qu’on a moins de chance d’avoir ce genre de problème.

Bref, sujet résolu. En espérant que mon Linux tienne longtemps, car dév sous Linux ç’a l’air d’être le top pour dév en PHP. D’ailleurs je suis impressionné par les perfs de Linux par rapport à Windows quand on dév en Local. Avec Windows, que ce soit en utilisant Wamp ou Laragon, les perfs étaient nettement moins bonnes que Linux.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte