Avant de commencer
Je tiens à préciser que cet article n’est pas là pour dire que Windows est mieux que Linux ou l’inverse.
J’ai ma préférence pour Linux, c’est pourquoi, il se peut, que, vous, lecteur, ressentiez cette préférence.
Introduction
Windows et Linux sont deux systèmes d’exploitation assez répandu dans le monde du développement.
Bien que Linux ne soit pas un système d’exploitation à lui-même, ici j’utiliserai sa nomination pour englober les distributions basées sur un noyau Linux
Il n’est pas rare que des développeurs et des entreprises utilisent Windows professionnellement et personnellement. Cependant étant Linuxien il est d’usage (au début) de se sentir noyé parmi tous ces utilisateurs de Windows et de se sentir seul au monde à utiliser Linux.
De plus, lorsqu’une majorité des développeurs autour de nous font le choix d’utiliser Windows, il est parfois pour nous (Linuxien), obligatoire d’utiliser cet OS.
Comment j’ai connu Linux
Pour commencer je vais expliquer comment j’ai connu Linux.
C’était lorsque j’étais en seconde, je ne m’y retrouvais pas dans Windows, je galérais comme pas possible pour programmer et je souhaitais ne plus utiliser de souris.
De ce fait, j’ai demandé à un proche une alternative à Windows. C’est ainsi que j’ai commencé à utiliser Linux (Ubuntu 14.04).
C’est à partir de ce moment que j’ai commencé à apprendre la programmation plutôt sérieusement car je m’y retrouvais bien dans le fonctionnement de ce système.
En école d'informatique
Le premier semestre
Au premier semestre de l’école dans laquelle je suis allé, nous utilisions une machine virtuelle Debian avec tous les outils préinstallés pour travailler sans passer de longs moments à installer les outils.
Nous devions utiliser au maximum le terminal bien que Mate soit installé comme interface graphique.
Pour éditer notre code nous devions utiliser Vim.
Pour moi c’était parfait car j’étais déjà sous Linux depuis quelque temps et j’utilisais déjà Vim.
Cependant cette machine virtuelle est souvent mal accueillie des étudiants car la plupart préfèrent utiliser des outils sous Windows qu’ils connaissent déjà.
Le deuxième semestre
Au deuxième semestre les étudiants ont la liberté totale sur les outils qu’ils utilisent.
Comme ce semestre ils utilisent XAMPP, les étudiants, peuvent, au sein d’un même groupe, travaillé sous des OS différents.
Du troisième au cinquième semestre
Pour ces trois semestres les étudiant qui ont choisi la filière du développement font du C#.
Bien que .NET Core ou encore Mono existent, nous devions utiliser Visual Studio (VS).
Il s’est alors posé la question de comment faire puisque mon ordinateur qui était déjà sous Linux.
Mes camarades me suggèrent d’installer Windows en dual-boot avec mon Ubuntu de l’époque (Ubuntu 16.04).
Cependant, l’installeur de Windows ne reconnaît pas les partitions en ext4.
De ce fait il m’était impossible d’installer Windows à moins de formater entièrement mon disque, d’installer Windows, puis de réinstaller un Linux.
La solution
Pour moi la solution a été de me crée une machine virtuelle Windows.
J’ai utilisé VirtualBox pendant un an et demi pour utiliser Visual Studio.
J’avais créé un répertoire partagé entre la machine virtuelle et le système hôte pour accéder à mes fichiers depuis les deux systèmes.
Les inconvénients
Pour utiliser une machine virtuelle Windows fluide, il faut donner à la machine virtuelle des ressources conséquentes. Cela vous demande donc d’avoir un ordinateur relativement puissant juste pour utiliser Windows. La machine virtuelle va aussi affecter les performances de votre ordinateur par rapport aux autres programmes.
En entreprise
Comment faire en entreprise ?
Lorsque j’ai posé la question sur le serveur discord de ZdS voici ce qu’on ma répondu:
La solution c’est pas "changez de travail" ?
Et bien j’aurai bien aimé, cependant lorsque l’on recherche une entreprise pour une alternance on a rarement le choix.
Là où j’effectue mon alternance ils utilisent Windows 10 et ce choix est imposé.
La solution
Premièrement j’ai pensé à installer VirtualBox et m’installé une machine virtuelle Linux avec des fichiers partagé pour pouvoir travailler depuis la VM (machine virtuelle).
Cependant, le fait d’utiliser Docker ne permet pas l’utilisation de Virtual Box.
Je n’ai pas cherché plus loin et je me suis dirigé vers Windows Subsystem for Linux (WSL).
J’utilise donc WSL (Ubuntu) pour travailler avec mes outils favoris (Vim, Screen, …).
Les inconvénients
Pour le moment il n’est pas possible d’utiliser Docker au travers WSL mais cela ne saurait tarder.
Il est aussi peu commode de démarrer des applications utilisant le serveur X bien que ce soit possible.
Le gestionnaire de paquets Snap n’est pas disponible même si la commande le reste pour la documentation.
Les solutions que je retiens
Aujourd’hui je retiens 3 solutions:
- virtualiser Windows sous Linux
- virtualiser Linux sous Windows
- utiliser WSL
Ce sont trois solutions que j’ai utilisées sur du long terme et qui me semblent assez fiables.
Il en existe surement d’autres.
Conclusion
Bien que des solutions existent pour couplé Windows et Linux ensemble, je n’ai jamais ressenti la même aisance en utilisant Linux depuis un Windows qu’en utilisant directement un Linux. À vrai dire, je n’ai jamais été à l’aise en utilisant Windows et je ne le suis toujours pas.
Je souhaite utiliser Linux et pouvoir être complètement à mon aise lorsque je travaille.
J’ai eu la chance de pouvoir choisir mes outils durant un stage de 6 mois. C’est pourquoi, je sais que ce qui me convient le mieux, pour le moment, est un environnement Linux avec Vim.
Le choix de ses outils me semble essentiel, cependant ce n’est pas toujours le cas, néanmoins, il y a toujours moyen de composer avec les outils qui nous sont disponibles.