SlideShare a Scribd company logo
1 of 29
WINDOWS OU LINUX :
IL FAUT CHOISIR… OU PAS
17/03/2021
Léo Lozach
1
UN PEU D’HISTOIRE
1969 : PREMIÈRE VERSION D’UNIX
Laboratoire Bell ou Bell Labs, New Jersey, États-Unis
Kenneth Lane Thompson
Logo d’UNIX dans les années 70
1981 : LANCEMENT DE MS-DOS PAR MICROSOFT
Logo de MS-DOS
Logo de Microsoft en 1981
Bill Gates, co-fondateur de Microsoft
Paul Allen, co-fondateur de Microsoft
1984 : LANCEMENT DE MAC OS PAR APPLE
Logo de Mac OS
Logo d’Apple en 1984
Les trois fondateurs d’Apple, Steve Jobs, Ronald Wayne et Steve Wozniak en 1986
1991 : PREMIÈRE VERSION DE LINUX, CRÉÉ PAR LINUS
TORVALDS
Linus Torvalds, créateur du noyau Linux
Tux, premier logo de Linux, créé en 1996 par Larry Ewing
UN PEU D’HISTOIRE
De nombreux OS se basant sur Linux apparaissent : Solaris, Debian, CentOS, …
Trois familles de systèmes d’exploitations dominent le marché des particuliers
et des professionnels : Windows, OS X et Linux.
La « guerre des OS » se déplace petit à petit sur le marché des mobiles dans
les années 2000 et 2010.
2001 : MICROSOFT VS LINUX
« Linux est un cancer qui se fixe, au
sens de la propriété intellectuelle, à
tout ce qu’il touche »
« Si vous utilisez un logiciel open
source, vous devez rendre le reste
de votre logiciel open source »
Steve Ballmer, PDG de Microsoft de 2000 à 2014
Steve Ballmer, 2001
Steve Ballmer, 2001
2016 : MICROSOFT REJOINT LA LINUX FONDATION
Satya Nadella, actuel PDG de Microsoft en 2016
MICROSOFT « RETOURNE SA VESTE »
Microsoft « investit » massivement sur Linux dès 2016.
En mars 2016, la première version de SQL Server compatible pour Linux sort.
Le 2 août 2016, première version de Windows Subsystem for Linux dont les
sources sont disponibles en open source.
Le 4 Juin 2018, Microsoft rachète GitHub et s’implique de plus en plus dans le
monde de l’open source.
En mai 2019, WSL 2 sort et permet une comptabilité quasi-complète des
applications Linux sous Windows.
2
LE QUOTIDIEN D’UN DÉVELOPPEUR
LE QUOTIDIEN D’UN DÉVELOPPEUR
Un développeur est souvent amené à « jongler » pour différentes raisons entre
Windows et une distribution Linux :
Windows possède certains outils en exclusivité, comme la suite Office.
Windows est souvent le système d’exploitation imposé en entreprise.
Linux est souvent la cible et la compatibilité doit être assurée.
Comment les développeurs se débrouillent-ils pour « naviguer » entre
Windows et Linux ?
LES DÉVELOPPEURS SONT ASTUCIEUX
1. Développer depuis Windows en accédant à une machine virtuelle Linux
Les + :
Fonctionne très bien, permet un développement en local et permet d’émuler une interface graphique.
Les - :
Les ressources (CPU, RAM, espace disque) doivent être allouées et sont réservées même lorsque la VM n’est
pas utilisée. Beaucoup de configuration, redirection de ports à mettre en place, …
VirtualBox, logiciel libre de virtualisation publié par Oracle
LES DÉVELOPPEURS SONT ASTUCIEUX
2. Développer depuis Linux et remplacer les « indispensables » de Microsoft
Les + :
Le développeur développe directement sur le système d’exploitation cible, pas de perte de performance
contrairement à une machine virtuelle.
Les - :
LibreOffice par exemple, ne peut pas totalement remplacer la suite Office de Microsoft, d’autres logiciels
peuvent manquer et collaborer avec des collègues (majoritairement sous Windows) peut être plus difficile.
Ubuntu, système d’exploitation maintenu par la société Canonical
LibreOffice, suite bureautique dérivée du projet OpenOffice
LES DÉVELOPPEURS SONT ASTUCIEUX
3. Développer depuis Linux en utilisant un bureau à distance (RDP)
Configuration d’un RDP à l’aide de Gnome sur Ubuntu 18.04
Les + :
Le développeur développe directement sur Linux et peut accéder à une machine sous Windows.
Les - :
Il est nécessaire d’avoir une machine sous Windows accessible et configurée pour du RDP, les performance
peuvent être dégradées et un accès réseau est indispensable.
NOS DÉVELOPPEURS SONT ASTUCIEUX
4. Développer depuis Linux et utiliser Wine pour les applications Windows
Wine, émulateur Windows
fonctionnant sur Linux ou Mac OS X Microsoft Office fonctionnant sous Wine
Les + :
Le développeur développe directement sur Linux et peut utiliser des applications normalement exclusives à
Windows.
Les - :
Certaines incompatibilités sont présentes, certaines applications ne sont pas pleinement fonctionnelles, perte
de performances…
LES DÉVELOPPEURS SONT ASTUCIEUX
5. Mettre en place un « dual boot » pour choisir Linux ou Windows au
démarrage
Grub, un « bootloader » permettant d’amorcer un ordinateur sous différents
systèmes d’exploitation
Les + :
Des installations complètes de chaque système d’exploitation, possibilité (avec certains réglages) d’accéder
aux fichiers entre les systèmes.
Les - :
Il faut redémarrer l’ordinateur lorsque l’on souhaite basculer d’un OS à l’autre.
LES DÉVELOPPEURS SONT ASTUCIEUX
6. Développer sur une VM distante en SSH depuis Windows
Exemple de connexion à une machine virtuelle distante à travers SSH
Les + :
La puissance de calcul dépend de la machine distante et il est possible de développer sur un environnement
identique à la cible.
Les - :
De la configuration est nécessaire, des problématiques de sécurité peuvent intervenir, il faut parfois mettre en
place des redirections de ports, …
UNE ALTERNATIVE : WSL
Un choix de distribution Linux :
Kali Linux, Alpine, Debian, Ubuntu …
Une installation simple et gratuite
depuis le Microsoft Store
WSL implémente l’API du noyau
Linux
Le système Linux est directement
intégré au système Windows Hôte
UNE ALTERNATIVE : WSL
Schéma simplifié du fonctionnement de WSL
UNE ALTERNATIVE : WSL
La version 1 sortie en 2016 souffrait
de quelques problèmes de
compatibilités.
La version 2 disponible au grand
public depuis août 2020 règle ces
soucis. La version 2 fait tourner un
véritable noyau Linux, maintenu par
Microsoft.
Il tourne dans l’hyperviseur
« maison » de Microsoft : Hyper-V
(qui est un hyperviseur de type 1). Schéma détaillé du fonctionnement de WSL
WSL DEVIENT UN STANDARD DE DÉVELOPPEMENT
WSL depuis la version 2 supporte la totalité des API du noyau Linux, ce qui
permet, par exemple, l’exécution de Docker.
Visual Studio Code et le nouveau Windows Terminal intègrent nativement
une « extension » WSL. Ce qui rend possible le développement sur une cible Linux
depuis une machine Windows avec un minimum de configuration.
Extension WSL de Visual Studio Code Windows Terminal, nouveau terminal de Microsoft, supportant nativement WSL
WSL : LES DÉFAUTS
Des performances à améliorer lorsque l’on accède à des fichiers de Windows depuis une
instance WSL.
Seules certaines distributions Linux sont pour l’instant disponibles.
Uniquement disponible sur les versions les plus récentes de Windows 10.
Des incompatibilités avec VirtualBox.
Une solution encore récente, il ne s’est espacé que 4 ans entre la version 1 et la version 2.
Est dépendant d’Hyper-V et nécessite donc une édition Entreprise, Professionnelle ou
Education pour être installée.
Cependant, Microsoft développe activement WSL et compte s’en servir pour ne plus à
développer des applications « compatibles » Windows.
Par exemple PHP 8 n’est officiellement supporté sur Windows que par l’intermédiaire de
WSL 2.
WSL : LES AVANTAGES
Plus besoin d’allouer les ressources comme pour une machine virtuelle.
Un « passthrough » total :
Pas besoin de rediriger les ports, ils sont accessibles directement.
WSL embarque un système de fichier en « ext4 » par défaut accessible depuis
l’explorateur de fichier Windows.
Inversement, on peut accéder aux fichier de Windows depuis l’instance WSL.
Il est possible d’accéder directement à la carte graphique pour l’utiliser pour des
traitements lourds (par exemple un entrainement avec TensorFlow).
Tout est donc disponible localement pour le développeur, pas besoin d’accès
réseau.
Il est possible de démarrer simultanément plusieurs instances de WSL.
EXEMPLE : INSTALLER UBUNTU
DES QUESTIONS ?
POUR ALLER PLUS LOIN
• https://www.zdnet.fr/actualites/linux-supplante-desormais-windows-sur-le-cloud-microsoft-
39886847.htm
• https://pandorafms.com/blog/fr/historique-des-systemes-dexploitation/
• https://www.developpez.com/actu/96831/Steve-Ballmer-aime-Linux-l-ancien-PDG-de-Microsoft-
change-d-opinion-sur-Linux-quinze-ans-apres-l-avoir-traite-de-cancer/
• https://thecodeblogger.com/2020/08/17/installing-the-windows-subsystem-for-linux-wsl/
• https://blog.eleven-labs.com/fr/le-developpement-sous-linux-depuis-windows-10-avec-wsl-2/
• https://fr.wikipedia.org/wiki/Unix
• https://fr.wikipedia.org/wiki/Linux
• https://fr.wikipedia.org/wiki/Windows_Subsystem_for_Linux
• https://www.axido.fr/microsoft-strategie-cloud-3-en-1/
• https://kinsta.com/fr/blog/parts-de-marche-du-cloud/
• https://thecodeblogger.com/2020/08/17/installing-the-windows-subsystem-for-linux-wsl/
Straight to
the point
www.spikeelabs.fr

More Related Content

Similar to Windows ou Linux : il faut choisir... ou pas !

Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectChristian Charreyre
 
Présentation de Linux et des logiciels libres
Présentation de Linux et des logiciels libresPrésentation de Linux et des logiciels libres
Présentation de Linux et des logiciels libresGreg Siebrand
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...jihbed
 
974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configuration974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configurationYounes Hajji
 
Présentation de la pile réseau sous gnu linux
Présentation de la pile réseau sous gnu linuxPrésentation de la pile réseau sous gnu linux
Présentation de la pile réseau sous gnu linuxThierry Gayet
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Christian Charreyre
 
Le Système Linux (1992)
Le Système Linux (1992)Le Système Linux (1992)
Le Système Linux (1992)Julien SIMON
 
Le poste de travail sous Linux
Le poste de travail sous LinuxLe poste de travail sous Linux
Le poste de travail sous LinuxParis, France
 
Install Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic ClubInstall Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic ClubAdel Belbekri
 
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1mazurus
 
Les Logiciels Libres et Open Sources
Les Logiciels Libres et Open SourcesLes Logiciels Libres et Open Sources
Les Logiciels Libres et Open SourcesJibril Touzi
 
33435307 administration-sous-linux
33435307 administration-sous-linux33435307 administration-sous-linux
33435307 administration-sous-linuxdonzerci
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeChristian Charreyre
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Mame Cheikh Ibra Niang
 
1 les logicielslibres
1 les logicielslibres1 les logicielslibres
1 les logicielslibresSylvain DENIS
 

Similar to Windows ou Linux : il faut choisir... ou pas ! (20)

Concevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto ProjectConcevoir un système Linux embarqué avec Yocto Project
Concevoir un système Linux embarqué avec Yocto Project
 
Présentation de Linux et des logiciels libres
Présentation de Linux et des logiciels libresPrésentation de Linux et des logiciels libres
Présentation de Linux et des logiciels libres
 
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
NetBSD operating system: Clean Code, Ports, Anykernel, pkgsrc and Desktop pro...
 
974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configuration974267 ubuntu-documentation-installation-configuration
974267 ubuntu-documentation-installation-configuration
 
Présentation de la pile réseau sous gnu linux
Présentation de la pile réseau sous gnu linuxPrésentation de la pile réseau sous gnu linux
Présentation de la pile réseau sous gnu linux
 
Linux_Cours.ppt
Linux_Cours.pptLinux_Cours.ppt
Linux_Cours.ppt
 
Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015Séminaire Captronic Yocto 24 février 2015
Séminaire Captronic Yocto 24 février 2015
 
Le Système Linux (1992)
Le Système Linux (1992)Le Système Linux (1992)
Le Système Linux (1992)
 
Le poste de travail sous Linux
Le poste de travail sous LinuxLe poste de travail sous Linux
Le poste de travail sous Linux
 
Install Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic ClubInstall Party Linux (Université Constantine 2) - Clic Club
Install Party Linux (Université Constantine 2) - Clic Club
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
Tgosp006dveloppement Noyau Et Driver Sous Gnu Linux 1234984890078859 1
 
Les Logiciels Libres et Open Sources
Les Logiciels Libres et Open SourcesLes Logiciels Libres et Open Sources
Les Logiciels Libres et Open Sources
 
33435307 administration-sous-linux
33435307 administration-sous-linux33435307 administration-sous-linux
33435307 administration-sous-linux
 
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version réviséeConcevoir un système Linux embarqué avec Yocto Project - Version révisée
Concevoir un système Linux embarqué avec Yocto Project - Version révisée
 
Linux.debut
Linux.debutLinux.debut
Linux.debut
 
Linux modules d
Linux modules dLinux modules d
Linux modules d
 
Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5Rapport d'installation de Linux Engine X MariaDB PHP5
Rapport d'installation de Linux Engine X MariaDB PHP5
 
1 les logicielslibres
1 les logicielslibres1 les logicielslibres
1 les logicielslibres
 
cours Lunix
cours Lunixcours Lunix
cours Lunix
 

More from SpikeeLabs

VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023SpikeeLabs
 
Novu _ La cloche de l'intranet va enfin faire _Dring🔔
Novu _ La cloche de l'intranet va enfin faire _Dring🔔Novu _ La cloche de l'intranet va enfin faire _Dring🔔
Novu _ La cloche de l'intranet va enfin faire _Dring🔔SpikeeLabs
 
Power BI _ La data n'a plus de secret pour vous
Power BI _ La data n'a plus de secret pour vousPower BI _ La data n'a plus de secret pour vous
Power BI _ La data n'a plus de secret pour vousSpikeeLabs
 
Retour BreizhCamp 2023
Retour BreizhCamp 2023 Retour BreizhCamp 2023
Retour BreizhCamp 2023 SpikeeLabs
 
Mots de passe : Protégez-les, gérez-les, oubliez-les !
Mots de passe : Protégez-les, gérez-les, oubliez-les !Mots de passe : Protégez-les, gérez-les, oubliez-les !
Mots de passe : Protégez-les, gérez-les, oubliez-les !SpikeeLabs
 
Domain_Driven_Design
Domain_Driven_DesignDomain_Driven_Design
Domain_Driven_DesignSpikeeLabs
 
Retour sur les conférences du DevFest de Nantes 2022
Retour sur les conférences du DevFest de Nantes 2022Retour sur les conférences du DevFest de Nantes 2022
Retour sur les conférences du DevFest de Nantes 2022SpikeeLabs
 
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...SpikeeLabs
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022SpikeeLabs
 
Méthodologie de tests et qualité
Méthodologie de tests et qualitéMéthodologie de tests et qualité
Méthodologie de tests et qualitéSpikeeLabs
 
Salesforce : les pouvoirs d’un empire
Salesforce : les pouvoirs d’un empireSalesforce : les pouvoirs d’un empire
Salesforce : les pouvoirs d’un empireSpikeeLabs
 
9 choses que vous ignorez sur Alice et Bob
9 choses que vous ignorez sur Alice et Bob9 choses que vous ignorez sur Alice et Bob
9 choses que vous ignorez sur Alice et BobSpikeeLabs
 
Kit de survie en Production
Kit de survie en ProductionKit de survie en Production
Kit de survie en ProductionSpikeeLabs
 
Déploiement Kubernetes
Déploiement KubernetesDéploiement Kubernetes
Déploiement KubernetesSpikeeLabs
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec MulesoftSpikeeLabs
 

More from SpikeeLabs (16)

VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023VDLT - Retour DevFest 2023
VDLT - Retour DevFest 2023
 
Novu _ La cloche de l'intranet va enfin faire _Dring🔔
Novu _ La cloche de l'intranet va enfin faire _Dring🔔Novu _ La cloche de l'intranet va enfin faire _Dring🔔
Novu _ La cloche de l'intranet va enfin faire _Dring🔔
 
Power BI _ La data n'a plus de secret pour vous
Power BI _ La data n'a plus de secret pour vousPower BI _ La data n'a plus de secret pour vous
Power BI _ La data n'a plus de secret pour vous
 
Retour BreizhCamp 2023
Retour BreizhCamp 2023 Retour BreizhCamp 2023
Retour BreizhCamp 2023
 
Mots de passe : Protégez-les, gérez-les, oubliez-les !
Mots de passe : Protégez-les, gérez-les, oubliez-les !Mots de passe : Protégez-les, gérez-les, oubliez-les !
Mots de passe : Protégez-les, gérez-les, oubliez-les !
 
DesignSystem
DesignSystemDesignSystem
DesignSystem
 
Domain_Driven_Design
Domain_Driven_DesignDomain_Driven_Design
Domain_Driven_Design
 
Retour sur les conférences du DevFest de Nantes 2022
Retour sur les conférences du DevFest de Nantes 2022Retour sur les conférences du DevFest de Nantes 2022
Retour sur les conférences du DevFest de Nantes 2022
 
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
 
BreizhCamp 2022
BreizhCamp 2022BreizhCamp 2022
BreizhCamp 2022
 
Méthodologie de tests et qualité
Méthodologie de tests et qualitéMéthodologie de tests et qualité
Méthodologie de tests et qualité
 
Salesforce : les pouvoirs d’un empire
Salesforce : les pouvoirs d’un empireSalesforce : les pouvoirs d’un empire
Salesforce : les pouvoirs d’un empire
 
9 choses que vous ignorez sur Alice et Bob
9 choses que vous ignorez sur Alice et Bob9 choses que vous ignorez sur Alice et Bob
9 choses que vous ignorez sur Alice et Bob
 
Kit de survie en Production
Kit de survie en ProductionKit de survie en Production
Kit de survie en Production
 
Déploiement Kubernetes
Déploiement KubernetesDéploiement Kubernetes
Déploiement Kubernetes
 
Le design d'API avec Mulesoft
Le design d'API avec MulesoftLe design d'API avec Mulesoft
Le design d'API avec Mulesoft
 

Windows ou Linux : il faut choisir... ou pas !

  • 1. WINDOWS OU LINUX : IL FAUT CHOISIR… OU PAS 17/03/2021 Léo Lozach
  • 3. 1969 : PREMIÈRE VERSION D’UNIX Laboratoire Bell ou Bell Labs, New Jersey, États-Unis Kenneth Lane Thompson Logo d’UNIX dans les années 70
  • 4. 1981 : LANCEMENT DE MS-DOS PAR MICROSOFT Logo de MS-DOS Logo de Microsoft en 1981 Bill Gates, co-fondateur de Microsoft Paul Allen, co-fondateur de Microsoft
  • 5. 1984 : LANCEMENT DE MAC OS PAR APPLE Logo de Mac OS Logo d’Apple en 1984 Les trois fondateurs d’Apple, Steve Jobs, Ronald Wayne et Steve Wozniak en 1986
  • 6. 1991 : PREMIÈRE VERSION DE LINUX, CRÉÉ PAR LINUS TORVALDS Linus Torvalds, créateur du noyau Linux Tux, premier logo de Linux, créé en 1996 par Larry Ewing
  • 7. UN PEU D’HISTOIRE De nombreux OS se basant sur Linux apparaissent : Solaris, Debian, CentOS, … Trois familles de systèmes d’exploitations dominent le marché des particuliers et des professionnels : Windows, OS X et Linux. La « guerre des OS » se déplace petit à petit sur le marché des mobiles dans les années 2000 et 2010.
  • 8. 2001 : MICROSOFT VS LINUX « Linux est un cancer qui se fixe, au sens de la propriété intellectuelle, à tout ce qu’il touche » « Si vous utilisez un logiciel open source, vous devez rendre le reste de votre logiciel open source » Steve Ballmer, PDG de Microsoft de 2000 à 2014 Steve Ballmer, 2001 Steve Ballmer, 2001
  • 9. 2016 : MICROSOFT REJOINT LA LINUX FONDATION Satya Nadella, actuel PDG de Microsoft en 2016
  • 10. MICROSOFT « RETOURNE SA VESTE » Microsoft « investit » massivement sur Linux dès 2016. En mars 2016, la première version de SQL Server compatible pour Linux sort. Le 2 août 2016, première version de Windows Subsystem for Linux dont les sources sont disponibles en open source. Le 4 Juin 2018, Microsoft rachète GitHub et s’implique de plus en plus dans le monde de l’open source. En mai 2019, WSL 2 sort et permet une comptabilité quasi-complète des applications Linux sous Windows.
  • 11. 2 LE QUOTIDIEN D’UN DÉVELOPPEUR
  • 12. LE QUOTIDIEN D’UN DÉVELOPPEUR Un développeur est souvent amené à « jongler » pour différentes raisons entre Windows et une distribution Linux : Windows possède certains outils en exclusivité, comme la suite Office. Windows est souvent le système d’exploitation imposé en entreprise. Linux est souvent la cible et la compatibilité doit être assurée. Comment les développeurs se débrouillent-ils pour « naviguer » entre Windows et Linux ?
  • 13. LES DÉVELOPPEURS SONT ASTUCIEUX 1. Développer depuis Windows en accédant à une machine virtuelle Linux Les + : Fonctionne très bien, permet un développement en local et permet d’émuler une interface graphique. Les - : Les ressources (CPU, RAM, espace disque) doivent être allouées et sont réservées même lorsque la VM n’est pas utilisée. Beaucoup de configuration, redirection de ports à mettre en place, … VirtualBox, logiciel libre de virtualisation publié par Oracle
  • 14. LES DÉVELOPPEURS SONT ASTUCIEUX 2. Développer depuis Linux et remplacer les « indispensables » de Microsoft Les + : Le développeur développe directement sur le système d’exploitation cible, pas de perte de performance contrairement à une machine virtuelle. Les - : LibreOffice par exemple, ne peut pas totalement remplacer la suite Office de Microsoft, d’autres logiciels peuvent manquer et collaborer avec des collègues (majoritairement sous Windows) peut être plus difficile. Ubuntu, système d’exploitation maintenu par la société Canonical LibreOffice, suite bureautique dérivée du projet OpenOffice
  • 15. LES DÉVELOPPEURS SONT ASTUCIEUX 3. Développer depuis Linux en utilisant un bureau à distance (RDP) Configuration d’un RDP à l’aide de Gnome sur Ubuntu 18.04 Les + : Le développeur développe directement sur Linux et peut accéder à une machine sous Windows. Les - : Il est nécessaire d’avoir une machine sous Windows accessible et configurée pour du RDP, les performance peuvent être dégradées et un accès réseau est indispensable.
  • 16. NOS DÉVELOPPEURS SONT ASTUCIEUX 4. Développer depuis Linux et utiliser Wine pour les applications Windows Wine, émulateur Windows fonctionnant sur Linux ou Mac OS X Microsoft Office fonctionnant sous Wine Les + : Le développeur développe directement sur Linux et peut utiliser des applications normalement exclusives à Windows. Les - : Certaines incompatibilités sont présentes, certaines applications ne sont pas pleinement fonctionnelles, perte de performances…
  • 17. LES DÉVELOPPEURS SONT ASTUCIEUX 5. Mettre en place un « dual boot » pour choisir Linux ou Windows au démarrage Grub, un « bootloader » permettant d’amorcer un ordinateur sous différents systèmes d’exploitation Les + : Des installations complètes de chaque système d’exploitation, possibilité (avec certains réglages) d’accéder aux fichiers entre les systèmes. Les - : Il faut redémarrer l’ordinateur lorsque l’on souhaite basculer d’un OS à l’autre.
  • 18. LES DÉVELOPPEURS SONT ASTUCIEUX 6. Développer sur une VM distante en SSH depuis Windows Exemple de connexion à une machine virtuelle distante à travers SSH Les + : La puissance de calcul dépend de la machine distante et il est possible de développer sur un environnement identique à la cible. Les - : De la configuration est nécessaire, des problématiques de sécurité peuvent intervenir, il faut parfois mettre en place des redirections de ports, …
  • 20. Un choix de distribution Linux : Kali Linux, Alpine, Debian, Ubuntu … Une installation simple et gratuite depuis le Microsoft Store WSL implémente l’API du noyau Linux Le système Linux est directement intégré au système Windows Hôte UNE ALTERNATIVE : WSL Schéma simplifié du fonctionnement de WSL
  • 21. UNE ALTERNATIVE : WSL La version 1 sortie en 2016 souffrait de quelques problèmes de compatibilités. La version 2 disponible au grand public depuis août 2020 règle ces soucis. La version 2 fait tourner un véritable noyau Linux, maintenu par Microsoft. Il tourne dans l’hyperviseur « maison » de Microsoft : Hyper-V (qui est un hyperviseur de type 1). Schéma détaillé du fonctionnement de WSL
  • 22. WSL DEVIENT UN STANDARD DE DÉVELOPPEMENT WSL depuis la version 2 supporte la totalité des API du noyau Linux, ce qui permet, par exemple, l’exécution de Docker. Visual Studio Code et le nouveau Windows Terminal intègrent nativement une « extension » WSL. Ce qui rend possible le développement sur une cible Linux depuis une machine Windows avec un minimum de configuration. Extension WSL de Visual Studio Code Windows Terminal, nouveau terminal de Microsoft, supportant nativement WSL
  • 23. WSL : LES DÉFAUTS Des performances à améliorer lorsque l’on accède à des fichiers de Windows depuis une instance WSL. Seules certaines distributions Linux sont pour l’instant disponibles. Uniquement disponible sur les versions les plus récentes de Windows 10. Des incompatibilités avec VirtualBox. Une solution encore récente, il ne s’est espacé que 4 ans entre la version 1 et la version 2. Est dépendant d’Hyper-V et nécessite donc une édition Entreprise, Professionnelle ou Education pour être installée. Cependant, Microsoft développe activement WSL et compte s’en servir pour ne plus à développer des applications « compatibles » Windows. Par exemple PHP 8 n’est officiellement supporté sur Windows que par l’intermédiaire de WSL 2.
  • 24. WSL : LES AVANTAGES Plus besoin d’allouer les ressources comme pour une machine virtuelle. Un « passthrough » total : Pas besoin de rediriger les ports, ils sont accessibles directement. WSL embarque un système de fichier en « ext4 » par défaut accessible depuis l’explorateur de fichier Windows. Inversement, on peut accéder aux fichier de Windows depuis l’instance WSL. Il est possible d’accéder directement à la carte graphique pour l’utiliser pour des traitements lourds (par exemple un entrainement avec TensorFlow). Tout est donc disponible localement pour le développeur, pas besoin d’accès réseau. Il est possible de démarrer simultanément plusieurs instances de WSL.
  • 26.
  • 28. POUR ALLER PLUS LOIN • https://www.zdnet.fr/actualites/linux-supplante-desormais-windows-sur-le-cloud-microsoft- 39886847.htm • https://pandorafms.com/blog/fr/historique-des-systemes-dexploitation/ • https://www.developpez.com/actu/96831/Steve-Ballmer-aime-Linux-l-ancien-PDG-de-Microsoft- change-d-opinion-sur-Linux-quinze-ans-apres-l-avoir-traite-de-cancer/ • https://thecodeblogger.com/2020/08/17/installing-the-windows-subsystem-for-linux-wsl/ • https://blog.eleven-labs.com/fr/le-developpement-sous-linux-depuis-windows-10-avec-wsl-2/ • https://fr.wikipedia.org/wiki/Unix • https://fr.wikipedia.org/wiki/Linux • https://fr.wikipedia.org/wiki/Windows_Subsystem_for_Linux • https://www.axido.fr/microsoft-strategie-cloud-3-en-1/ • https://kinsta.com/fr/blog/parts-de-marche-du-cloud/ • https://thecodeblogger.com/2020/08/17/installing-the-windows-subsystem-for-linux-wsl/