Oh oui, en voilà une belle question.
Il n'est pas toujours évident d'avoir un Linux, Unix, BSD ou autre avec un petit shell bien sympa sous la main. Et parfois coder sous Windows est une nécessité voire un désir. (Ouais, je ne vous parlerai pas ici de changer de boulot si Windows vous est imposé(e). Je ne vous expliquerai pas non plus votre masochisme d'apprécier cet OS pour développer, ce n'est pas le sujet).
Étant un homme de challenge, j'aime me mettre dans des contextes limités et voir comment je me débrouille pour sortir d'une situation pénible à une situation acceptable voire agréable. Je me suis alors lancé pour vous dans cette aventure.
Oh mais pourquoi j'ai dû faire ça à la base ?
Après avoir créé mon propre système de synchronisation de machines sous Mac OS X (plus souvent communément appelé dotfiles mais faisant un peu plus), j'ai voulu faire de même sous Windows au cas où mon système crasherait et où je devrais tout réinstaller. On n'est jamais à l'abri.
Pour cela, plusieurs outils vont vous être nécessaires. Un chef sans bons outils, c'est drôlement handicapant. (Déjà que l'OS en question n'aide pas).
Chocolatey. Ouais, chocolatey, ce petit script vous permettra de télécharger tout et n'importe quoi en CLI (ligne de commandes). Pour ceux qui ont l'habitude de Mac ou Linux, c'est le brew / apt-get de Windows.
Comment l'installer ?
Lancez cmd.exe
en mode administrateur (touche windows puis "cmd" puis
shift+ctrl+enter) et exécutez ce code :
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
Ou PowerShell
en mode administrateur (touche windows puis "powershell" puis
shift+ctrl+enter) et éxecutez :
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
Une fois installé, vous pourrez installer n'importe quel logiciel listé sur leur site.
Passons à la suite.
Yes, on a donc Chocolatey qui va nous simplifier grandement l'installation de logiciels. Passons maintenant aux outils pour bien développer.
Lorsque tu joues à un jeu vidéo, tu sauvegardes régulièrement ton avancement non ? Bah là, c'est pareil mais pour le code.
choco install git.install
Faire du JavaScript côté serveur ou en shell, le pied. Surtout pour faire des scripts Windows, plutôt que de passer par Batch.
choco install nodejs.install
Sublime Text, l'éditeur préféré des Franç... je m'égare. Bref, un bon éditeur.
choco install sublimetext3
Vous pouvez aussi installer Atom si vous préférez.
HeidiSQL, un logiciel avec une interface qui se rapproche de phpMyAdmin.
choco install HeidiSQL
Ou encore MySQL Workbench un excellent soft pour gérer une base de données:
choco install mysql.workbench
Cmder va vous permettre quelques fonctionnalités intéressantes que le shell de
Windows n'a pas de base, comme taper <tab>
pour l'autocomplétion, avoir un
historique persistant entre 2 sessions, des onglets, le split de console,
l'intégration de PuTTY et d'autres choses venu de la banquise. (le lieu de vie
des pinguins)
choco install Cmder
Pour le SSH sous Windows c'est assez complexe, il faut quelques outils dont le principal, putty (un terminal et +).
choco install putty
Putty vient avec une suite de logiciels :
Pour que le ssh soit agréable, je vous recommande pageant et ensuite un terminal comme Clink ou encore git bash qui s'installe via git.
On a toujours une intégration à tester sous IE pour ça Microsoft nous donne accès à des machines virtuelles gratuitement sur ModernIE. Il nous faut donc Virtualbox pour les lancer.
choco install virtualbox
choco install VirtualBox.ExtensionPack
l'Extension Pack est utile pour une intégration parfaite avec votre machine si vous installez votre propre VM GNU/Linux ou Windows.
7zip, le logiciel de référence pour ce genre de pratique.
choco install 7zip.install
Sumatra pour les lire. PDFCreator pour faire une imprimante virtuelle sortant des PDFs.
choco install sumatrapdf.install
choco install pdfcreator
Nous sommes en 2014 ça fait des années que Microsoft sait mais, ce n'est toujours pas disponible. C'est là que Clover rentre en jeu.
choco install Clover
Parce qu'avoir plusieurs bureaux / espaces, c'est plus pratique pour gérer ses
fenêtres, je vous propose VirtuaWin. Cela vous permettra de garder en plein
écran vos logiciels et de zapper d'un logiciel à un autre sans passer par
alt+tab
mais en allant d'un bureau à un autre.
choco install virtuawin
Je sais pas vous mais moi, les raccourcis qui me gâchent mon beau wallpaper choisi avec goût, ça m'énerve. Et puis le clickodrome, c'est lent et chiant. Du coup, lancer ses logiciels à partir d'un moteur de recherche, c'est quand même vachement bien. Ca permet aussi de faire des recherches de fichier, des calculs, et tout un tas d'autres choses. Voici alors Launchy.
choco install launchy-beta
L'indispensable PhotoFiltre qui, bien qu'il ne soit plus mis à jour depuis 2012, est très stable et efficace. Il fait peu mais, le fait bien.
Et surtout, il est ultra léger et démarre en moins d'une seconde.
On va commencer par f.lux. Ce petit logiciel permettant de gérer la colorimétrie de votre écran en fonction de l'heure. Typiquement, les écrans rendent un blanc digne d'un soleil à midi. Sauf que le soir, on allume la lumière et celle-ci n'a pas du coup une couleur blanche mais souvent plutôt rouge. f.lux permet alors d'ajuster votre écran afin que la couleur soit identique à la lumière ambiante pour réduire les différences de couleurs et éviter de vous abimer les yeux. En plus, ça permet au cerveau de se préparer à aller se coucher. :D
choco install f.lux
Et surtout, MacType. Oh oui MacType. Je pense que seule une personne venant de Mac OS X peut comprendre. Dieu sait que le font rendering sous Windows est vraiment pourri et que Steve Jobs depuis le départ de Mac a fait en sorte sur le rendering des fonts sous son OS soit de qualité.
Pour réduire cette différence entre un Windows et un Mac OS X, je vous propose MacType qui permet de remplacer le font rendering de Windows et d'apprécier lire à nouveau sur cet OS.
choco install mactype
Je vous conseille le profil XMac.LCD.Default
.
On est bon, on a tous les outils nécessaires pour pouvoir coder correctement sur Windows.
Si vous souhaitez en savoir plus et surtout vous tenir à jour d'éventuels logiciels que je pourrais installer, n'hésitez pas à vous rendre sur mon projet my-unfortunately qui est le synchroniser dont je vous ai parlé tout à l'heure.
Bon code !