Microsoft apporte le shell Unix Bash à Windows 10
Le résultat d'une collaboration avec Canonical

Le , par Stéphane le calme, Chroniqueur Actualités
Mise à jour du 20 / 10 / 2016 : la build 14951 de Windows 10 apporte le support d'Ubuntu 16.04

Si le Windows Subsystem for Linux (WSL) a été implémenté pour la première fois sur Windows 10 avec la mise à jour anniversaire et est toujours en version bêta, Microsoft continue de l’améliorer en proposant par exemple de nouvelles fonctionnalités. La dernière build de WSL s’accompagne du support d’Ubuntu 16.04, qui vient donc remplacer Ubuntu 14.04 sur les nouvelles installations sur Bash.

Cette build apporte également une interopérabilité entre Windows et WSL étant donné que les utilisateurs peuvent lancer des binaires Windows directement depuis une commande prompt WSL. « Dans un sens large, l'interopérabilité est la capacité à mélanger et assortir les binaires NT et Linux à partir du même shell. Par exemple, en utilisant bash.exe pour naviguer dans votre système de fichiers et lancer un éditeur graphique de texte NT depuis le répertoire. Un autre aspect est la possibilité pour les binaires NT et Linux de rediriger leur entrées et sorties ».



Source : blog Microsoft (interopérabilité), blog Microsoft (annonce build 14951 pour mobiles et PC)

En préambule de l’édition 2016 de la conférence Build, Kevin Gallo, corporate vice president for Microsoft’s Windows and Devices Group, a annoncé que « le shell Bash débarque sur Windows. Oui le vrai Bash arrive sur Windows », annonce qui a été saluée par une ovation de la salle.

Il faut rappeler que Bash (l’acronyme de Bourne Again Shell) est un interpréteur de ligne de commande de type script et le shell Unix du projet GNU. Ses opérations fondamentales sont semblables à celles de tous les interpréteurs de ligne de commande :
  • il fournit une liste de commandes permettant d'opérer sur l'ordinateur (lancement de programmes, copie de fichiers, etc.) ;
  • il permet de regrouper ces commandes dans un fichier unique appelé script ;
  • il vérifie la ligne de commande lors de son exécution ou lors d'une éventuelle procédure de vérification et renvoie un message d'erreur en cas d'erreur de syntaxe ;
  • en cas de validation, chaque ligne de commande est interprétée, c'est-à-dire traduite dans un langage compréhensible par le système d'exploitation, qui l'exécute alors.

« Ce n'est pas une compilation croisée, ce n'est pas une machine virtuelle, c’est natif », a-t-il précisé. « Nous avons développé un partenariat avec Canonical pour apporter cette grande expérience, et vous serez en mesure de le télécharger depuis le Windows Store c'est le vrai, le véritable Bash sur Windows 10 ».

Comme Microsoft l'a expliqué, l'opération a été réalisée en partenariat avec Canonical, la société qui est le sponsor officiel de la distribution Ubuntu (dont elle assure le support technique et la certification), et passe par la création d'un sous-système dédié (Windows Subsystem for Linux) capable d'exécuter des binaires Linux. WSL a été silencieusement embarqué dans la build 14251 de Windows 10. À ce propos, Microsoft avait expliqué que « nous avons conçu une nouvelle infrastructure dans Windows, WSL, sur laquelle nous avons exécuté un véritable mode image utilisateur Ubuntu fourni par nos partenaires Canonical, créateurs d’Ubuntu Linux. La résultante est qu’il vous est désormais possible d’exécuter du Bash natif Ubuntu sur Windows ».

Du côté de Canonical, c’est Dustin Kirkland qui va venir rappeler qu’il ne s’agit pas là d’une variante Cygwin, le projet par lequel il a été porté sur Windows. « Une équipe de développeurs pointus chez Microsoft a travaillé dur pour adapter une technologie de Microsoft Research pour effectuer essentiellement la traduction en temps réel de Linux syscalls en syscalls Windows. Les geeks Linux peuvent penser à cela comme étant l'inverse de "WINE" - des binaires Ubuntu qui s’exécutent en mode natif sur Windows. Microsoft l’appelle un "sous-système Windows pour Linux" ».

Quant à savoir ce qui peut avoir motivé Microsoft à le faire, Kirkland a déclaré « développeurs, développeurs, développeurs. Microsoft reconnaît que si les développeurs de nos jours pouvaient se servir de Windows ou Mac (voire Ubuntu) sur leur desktop, inévitablement plusieurs d’entre eux vont finir par passer beaucoup de leur temps dans un shell Linux. Avant cette nouvelle fonctionnalité de Windows 10, les utilisateurs Windows avaient besoin d'exécuter une machine virtuelle (gourmande en ressources), un ssh à une instance de cloud (nécessite une connexion), ou bidouiller avec Cygwin (ce qui s’avère lent). Avec cette nouvelle fonctionnalité, un utilisateur de Windows appuie simplement sur le menu Démarrer et tape "bash" ou "ubuntu". Il sera alors dirigé vers un shell Ubuntu riche, qui va s’exécuter nativement et sans virtualisation ou recompilation ».

Et de poursuivre : « c’est une décision presque surréaliste de la part de Microsoft sur l'importance de l'open source pour les développeurs. Il s’agit là d’une opportunité fantastique d’incorporer la technologie libre et open source directement dans un desktop Windows 10 sur la planète. Et quel vecteur merveilleux dans l'apprentissage et l'utilisation que de faire usage de plus d’Ubuntu et de Linux dans les clouds ​​publics ».

Mike Harsh de chez Microsoft a quand même tenu à apporter quelques éléments de précision :
  • tout d’abord, c’est la première fois que cet outil est proposé (et est catégorisé « bêta » pour cette raison) : nous savons qu’il y aura des choses qui ne fonctionneront pas comme vous vous y attendiez. N’espérez pas voir des scripts Bash qui vont fonctionner à la perfection. Mais essayer cette fonctionnalité nous permet de savoir ce sur quoi nous avons besoin de travailler afin de l’améliorer ;
  • ensuite, bien que vous serez en mesure d’exécuter du Bash en natif ainsi que plusieurs lignes de commande Linux sur Windows, il est important de garder à l’esprit que c’est une boîte à outils développeurs qui a été pensée pour vous aider à écrire et concevoir vos codes pour vos scénarios et plateformes. Il ne s’agit pas là d’une plateforme serveur sur laquelle vous pourrez héberger vos sites, exécuter des infrastructures serveur, etc. ;
  • enfin, rappelez-vous que Bash et les outils Linux ne peuvent pas interagir avec les applications et outils Windows. Alors vous ne serez pas en mesure de lancer Notepad depuis Bash ou de lancer Ruby sur Bash depuis PowerShell.


Source : vidéo de présentation, blog Dustin Kirkland, blog Mike Harsh


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de transgohan transgohan - Expert éminent https://www.developpez.com
le 31/03/2016 à 15:52
Un Dieu m'aurait-il écouté ? A quelle religion dois-je me convertir !!!!?
C'est une grande nouvelle.

Non parce que ça fait longtemps que j'ai remplacé n'importe quel script windows par des scripts Python...
Avatar de AoCannaille AoCannaille - Membre émérite https://www.developpez.com
le 31/03/2016 à 16:20
J'ai du vérifier.... non, le premier avril, c'est bien demain...
Avatar de alves1993 alves1993 - Membre confirmé https://www.developpez.com
le 31/03/2016 à 16:32
Microsoft et Canonical ont travaillé ensemble Vraiment étonnant.
Avatar de Conan Lord Conan Lord - Membre émérite https://www.developpez.com
le 31/03/2016 à 16:32
Citation Envoyé par Stéphane le calme Voir le message
enfin, rappelez vous que Bash et les outils Linux ne peuvent pas interagir avec les applications et outils Windows.
C'est-à-dire, seulement les outils Windows ? À défaut d'interagir avec Excel, est-ce que je pourrai interagir avec un autre tableur par exemple ? Autre question, j'imagine que je ne pourrai pas non plus interagir avec des fichiers XLSX ?
Sinon, c'est une très bonne nouvelle, mais ce sont des points qui m'auraient intéressée davantage.
Avatar de koyosama koyosama - Membre éprouvé https://www.developpez.com
le 31/03/2016 à 16:34
Une tres bonne nouvelle. Pas mal d'outil que je peux utiliser maintenant.
Avatar de AoCannaille AoCannaille - Membre émérite https://www.developpez.com
le 31/03/2016 à 16:46
Citation Envoyé par Conan Lord Voir le message
C'est-à-dire, seulement les outils Windows ? À défaut d'interagir avec Excel, est-ce que je pourrai interagir avec un autre tableur par exemple ? Autre question, j'imagine que je ne pourrai pas non plus interagir avec des fichiers XLSX ?
Sinon, c'est une très bonne nouvelle, mais ce sont des points qui m'auraient intéressée davantage.
Pour ça, tu as toujours powershell, inclu dans windows depuis Windows 7

Et encore avant, le VBS, toujours fonctionnel!
Avatar de Conan Lord Conan Lord - Membre émérite https://www.developpez.com
le 31/03/2016 à 17:06
Citation Envoyé par AoCannaille Voir le message
Pour ça, tu as toujours powershell, inclu dans windows depuis Windows 7

Et encore avant, le VBS, toujours fonctionnel!
Tout à fait, je me sers pas mal du powershell ! Cela dit, le temps d'apprentissage est chaque fois super long pour moi qui ne suis pas du métier (comme j'ai besoin d'un nouveau script tous les 6 mois environ, il faut que je réapprenne tout à chaque fois). Le Bash, je m'en sers à la maison pour faire joujou, et comme je suis plus portée sur le divertissement que sur le travail, je le connais mieux.
Avatar de twoitipoints twoitipoints - Membre à l'essai https://www.developpez.com
le 31/03/2016 à 18:04
Poisson d'avril !
Avatar de JackJnr JackJnr - Membre confirmé https://www.developpez.com
le 31/03/2016 à 18:13
Citation Envoyé par twoitipoints Voir le message
Poisson d'avril !
La veille du 1er oui. Bien joué de la part de microsoft, j'y ai cru, honte à moi
Avatar de hymenoby hymenoby - Candidat au Club https://www.developpez.com
le 31/03/2016 à 19:17
je suis un grand fan de windows mais en tant qu'administrateur réseaux et système je regrette souvent certains outils linux que je ne peux pas avoir sous windows; mais là c'est trop top si cette information s'avère véridique là windows marque un grand coup face à linux
Contacter le responsable de la rubrique Accueil