Quand on n'a pas le choix que de coder sous Windows alors qu'on aimerait pouvoir coder sous Unix/Linux, peu d'offres sont disponibles pour développer dans des conditions correctes. Il y en a globalement 2 : soit on crée une machine virtuelle qui fait tourner son OS préféré (ce qui consomme pas mal de ressources du PC & de réglages en amont, et est interdit dans la plupart des entreprises), soit on utilise un outil Windows (qui jusqu'à il y a 2 ans était suffisamment peu fiable pour que je ne fasse pas d'article sur le sujet).
La bonne nouvelle c'est que Microsoft a beaucoup amélioré son outil interne, le sous-système Windows pour Linux (WSL pour les intimes, on en est à la version 2 donc WSL2) qui permet d’exécuter (en théorie) n'importe quelle distribution GNU/Linux sur Windows (comme un dualboot mais sans avoir à rebooter pour passer de l'un à l'autre), ainsi que sa documentation. Pour exemple, il y a 2 ans, j'ai mis 2 mois à avoir un environnement sans avoir de gros problèmes avec (j'avais surtout des soucis de certificats); la dernière fois que je l'ai installé, je n'ai eu aucun soucis.
Installer WSL2
Il faut avoir les droits administrateurs et une version Windows supérieur à 10 (si vous avez un OS plus vieux mettez le à jour. Non seulement c'est mieux au niveau de la sécurité, ça vous changera également la vie, WSL1 n'étant vraiment pas conseillé).
Ouvrez l'invite de commande PowerShell ou Windows en mode administrateur donc, puis lancez la commande suivante :
1 |
$ wsl –install <nom de la distribution Linux de votre choix> |
Si vous n'ajoutez aucun nom de distribution, la dernière version stable d'Ubuntu sera installée. Pour vérifier les distributions officielles disponibles (pour les autres distributions, il faudra suivre la documentation officielle Microsoft), tapez cette ligne dans l'invite de commande :
1 |
$ wsl –list –online |
Lorsque l'installation est finie, redémarrez votre ordinateur. WSL2 est installé et prêt à l'emploi. Pour vérifier qu'il est bien installé vous pouvez ouvrir le command prompt (via le raccourcis clavier windows‑R, tapez
1 |
cmd |
et la touche enter) et lancer la commande
1 |
wsl |
. Vous devriez voir une ligne de prompt différente. Pour savoir quelle version d'OS est installée, tapez cette commande (vous trouverez mes résultats actuels comme exemple) :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.3 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.3 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy |
Vous pourrez tout de même constater qu'il s'agit de WSL2 via la commande
1 |
uname |
1 |
-r |
.
Le terminal fonctionne exactement comme un terminal de la distribution choisie, il est donc approprié de le customiser selon vos habitudes.
Si vous avez besoin d'utiliser des applications graphiques, il vous faudra installer un groupe d'outil supplémentaire (qui contient plusieurs outils) :
1 |
$ sudo apt install x11-apps -y |
Puis vous pourrez lancer l'application (par exemple gimp) via le terminal (à condition de l'avoir installé sur WLS2).
Quel éditeur de code utiliser
Sous Windows, je conseille la solution Microsoft : Visual Studio Code (ou VScode). Il permet le switch entre WSL2 et Windows (selon ce qu'on veut faire) et la prise en main très simplement, et a pas mal de plugins spécialisés dans les différents langages et usages possibles. Pour utiliser VScode sous WSL2, cliquez en bas à gauche de la fenêtre de VScode :
Puis en haut cliquez sur "Se connecter à WSL" :
Vous verrez en bas une indication de la distribution qu'il lance et/ou est en cours :
Vous pourrez voir visuellement vos dossiers en ouvrant le dossier "source" de votre choix via l'explorer, avoir un terminal (de la distribution en cours) fonctionnel dans la même fenêtre, et avoir plusieurs fichiers ouverts côte à côte si le besoin s'en fait sentir.
En pratique
VScode contient un terminal intégré :
Il vous permet de garder tous vos alias/habitudes de terminal bash/shell et votre prompt PS1 préféré. Vous pouvez par exemple directement copier-coller votre fichier
1 |
.bash_aliases |
dans votre
1 |
$HOME |
WSL2.
Votre
1 |
$HOME |
se trouve généralement dans
1 |
\wsl$\[OS, e.g.: Ubuntu]-[version, e.g.: 22.04]\home\[username] |
via le navigateur de fichier Windows (mais vous pouvez également le trouver directement sur le terminal de WSL2 en tapant ce qui suit :
1 |
explorer.exe . |
dans le dossier de votre choix, et l'explorateur de fichier Windows s'ouvrira dans le dossier en question). Vous pouvez aussi faire l'inverse : le chemin vers vos fichiers Windows peuvent être accédés du terminal WSL2 via ce chemin :
1 |
/mnt/[disque, e.g.: C]/[reste du chemin du dossier ou fichier voulu] |
Conclusion
Il est maintenant possible de coder sous Windows sans perdre toutes ses habitudes ni perdre tout son CPU, grâce à WSL2. À titre personnel, l'OS Linux/Unix est préférable en natif (ça évite les surcouches) mais la version actuelle fait bien le café, que ce soit parce que vous n'avez pas le choix de l'OS ou que vous vouliez éviter le dualboot.
Laisser un commentaire