Kit du développeur libre sous Windows

Date: 31/10/2011 | Catégories: Developpement,Open-source,Planet-libre | Tags: ,,,,,,

Devant le nombre important de commentaires intéressants sur le billet de ma trousse à outils libres sous Windows, il était impensable d'en rester là. Manifestement beaucoup de libristes travaillent (ou sont forcés de travailler) sous un système d'exploitation de Microsoft. Nous allons donc reprendre dans ce billet les logiciels libres (et seulement libre) permettant de développer dans ce milieu hostile. Comme toujours, les commentaires seront là pour partager d'autres pépites !

Les compilateurs / langages

C: Cygwin fait la passerelle entre le monde Windows et GNU/Linux. Ils apportent un certain nombre d'outils et de librairies permettant notamment de compiler vos programmes en C. On peut également citer MinGW, un fork plus léger de Cygwin, offrant un environnement de développement minimal (GCC).

Python: Pas de problème ici, Windows dispose de la dernière version du langage Python. A télécharger ici pour Python 2 et pour Python 3.

Perl: On présente plus le langage Perl. Vous pouvez télécharger la dernière version sous Windows à partir du site officiel. Je vous conseille la version Strawberry Perl.

NodeJS: C'est le framework implémentant, coté serveur, la version 8 du moteur Javascript de Google (j'en parle dans certains de mes billets). On peut télécharger la version de développement qui propose un binaire Windows ici.

Les consoles / terminaux

En tant qu'utilisateur GNU, le plus gros choc quand j'ai dans les mains une machine Windows est la qualité déplorable du terminal par défaut (le fameux cmd.exe). Non seulement c'est une hérésie complète au niveau de l'ergonomie mais en plus c'est le seul logiciel qui n'évolue pas d'une version à l'autre de Windows. Voici donc quelques alternatives obligatoires...

Console2: Avec ce logiciel libre on retrouve enfin une vrai console sous Windows. A vous les copier/coller, les agrandissements de fenêtres, les tabs...

Attention, ce n'est qu'une interface graphique permettant de saisir des commandes. Si vous ne disposez pas d'un client SSH, il vous sera impossible d'accéder avec ce protocole à vos machines sous Windows. Personnellement, pour résoudre ce besoin j'ai installé Plink (la couche SSH de Putty) puis j'ai automatisé le lancement de la commande suivante:

[cc]doskey ssh="C:Program FilesPuTTYplink.exe" $*[/cc]

PuTTY: Pour ceux qui utilisent la console uniquement comme un terminal SSH/Telnet, PuTTY reste un très bon choix. Il est léger, transportable facilement sur une clé USB (il nécessite seulement un exécutable). A noter qu'il existe une extension à PuTTY nommé PuTTY Connection Manager et qui propose la gestion des tabs et autres améliorations (non libre !). Il existe également un fork de PuTTY nommé KiTTY qui semble proposer toutes ces fonctions mais je ne l'ai pas testé.

MobaXterm:  C'est un package tout en un (dans un unique exécutable) intégrant à la fois un serveur X, un terminal et une version intégrée de Cygwin. C'est la solution idéale (bien qu'un peu lourde) si vous avez besoin de travailler sous Windows comme vous le feriez (à peu près) sous GNU/Linux.  A noter qu'il existe un certain nombre de plugins permettant d'adapter votre MobbaXterm à vos besoins (GCC, Perl, Emacs...).

Les éditeurs

Vu le nombre de solutions que l'on peut trouver sur le marché des éditeurs de texte, le choix est plus une affaire de goût que de qualité. Voici donc une petite sélection hétéroclite d'éditeurs libres.

Notepad++: Concurrent direct de PSPad, qui est un freeware non libre, dans la catégorie des éditeurs de texte "grand public" (noter les guillemets). Notepad++ offre tout ce que l'on peut attendre d'un éditeur orienté développement en 2011.

Vim: A l'opposé de Notepadd++ en ce qui concerne l'UE ("user experience"), Gvim, le portage de Vim sous Windows, permettra à nos chers barbus condamnés au bagne en travaillant sous Windows à ne pas tomber dans une déprime complète et irrémédiable. Dans la même mouvance, on peut également utiliser la version Windows d'Emacs, à télécharger ici.

Winmerge: Même si ce logiciel n'est pas un éditeur à part entière, il a largement sa place dans ce kit. Il permet de comparer visuellement deux fichiers et de lancer des actions pour les synchroniser. Un must have qui a le bon goût d'être libre...

Eclipse: Difficile de faire une billet parlant de développement, de logiciel libre et de Windows sans évoquer Eclipe... Certains le touve usine à gaze, d'autres indispensable pour un "gros" développement. La vérité est surement entre les deux.

Les gestionnaires de versions

Je n'aborderai ici que la partie cliente des gestionnaires de versions tant il me semble aberrant  de vouloir héberger un serveur sur une machine Windows... On va les prendre un par un (enfin les plus connus):

CVS (oui oui il y en a encore qui utilise CVS...): TortoiseCVS intègre parfaitement CVS dans gestionnaire de fichier de Windows.

SVN: TortoiseSVN est a SVN ce que TortoiseCVS est à CVS...

Git: Si vous voulez rester dans le même style d'interface pour votre gestionnaire sous GIT, je vous conseille d'utiliser TortoiseGIT. Si le changement ne vous gène pas, il y a GitExtensions qui pour moi est la solution idéale sous Windows.

Mercurial: Je dois avouer que je n'utilise pas Mercurial. J'ai trouvé (mais donc pas testé) le pendant de Tortoise pour HG, j'ai nommé... TortoiseHG (que c'est original).

Conclusion

La liste de logiciels que nous venons d'évoquer n'est bien sûr pas exhaustive et ciblée sur mes besoins. N'hésitez pas à partager votre expérience de "développeur libre sous Windows" (sic) avec nous !

  • Pingback: Kit du développeur libre sous Windows | ALN : Arpege Learning Network | Scoop.it

  • Pingback: Kit du développeur libre sous Windows | formation 2.0 | Scoop.it

  • http://www.danstoncanap.fr NourSs

    Salut Nico !

    Super ce billet, j’ai trouvé 2-3 softs trés intéressant et que je ne connaissais pas !

    Par contre, quand tu dis que command.exe est le seul utilitaire qui n’évolue pas, c’est un peu faux, petit à petit Microsoft remplace le cmd par le Powershell :-)

  • http://tanguy.ortolo.eu/ Elessar

    Attention, PuTTY Connection Manager n’est pas du tout libre…

    • http://www.nicolargo.com NicoLargo

      Oopss… je le retire de ce pas de ma liste !

  • 3po

    Dans les packages de cygwin, il y a “mintty”, c’est le terminal que j’utilise sous windows.
    Pour les gestionnaire de version, j’utilise les plugins d’Eclipse.
    Pour les comparaisons de fichier, j’utilise soit Eclipse, soit “Meld” à travers cygwin (pas simple à faire tourner par contre).

  • http://boli-blogfolio.tuxfamily.org boli

    Mon développement libre sous Windows : Je lance l’IDE, je commence à coder, le moment fatidique arrive où j’aurai besoin d’une ligne de commande, et d’outils exclusivement GNU, je reboot alors sous GNU/Linux.
    Avec ces outils dont j’avais aucune idée peut être le réflexe sera différent (j’en doute).

    Sinon comme le laisse entendre, GVim n’est pas un port sous Windows de Vim mais seulement une interface graphique pour Vim.

    • Vincent

      gvim est une interface graphique pour vim (qui est génial, rappelons le !). Cette interface est disponible sous GNU/Linux et sous Windows (entre autres).

      Vim comme Emacs sont compliqués à prendre en main, mais une fois le pas franchi, on est tellement plus performant qu’avec un éditeur basique (genre notepad++ ou eclipse… oui ça sent le troll ;-) )

  • http://gdmedia.fr MrPifPaf

    On peut d’ailleurs noter qu’il est très facile de transformer gVim pour windows en application portable ce qui est bigrement pratique si on est amené à coder parfois sur un PC qui ne nous appartient pas ;)

    http://stackoverflow.com/questions/4600009/making-vim-portable

  • http://geekdefrance.fr TimCruz

    Par contre, dans l’autre sens, quelqu’un connaîtrait un équivalent sous Linux à Notepad++ (me répondez pas Vim ou Emacs, je vous prie) que j’utilise quotidiennement sous Windows et que j’apprécie tout particulièrement.

    • http://gdmedia.fr MrPifPaf

      Heu de tête je dirais geany. Sinon gedit avec quelques plugins et bien configuré.

      • http://geekdefrance.fr TimCruz

        Merci, ça a l’air d’être ce que je cherche! :-)

  • MaitrePylos

    Il manque l’excellent IDE Netbeans.

  • http://www.eauland.com EauLand

    Pour résoudre ce problème j’ai installé cygwin et c’est loin d’être un gadget entre le client ftp pour accéder au serveur et lftp pour synchroniser mes dossiers sur mon serveur… sans compter tous le reste (bashrc et quelques commandes qui font gagner un temps précieux).

    • http://www.eauland.com Eauland

      je parle ici juste pour le terminal.

  • Patrice Oliver

    Bonjour Nicol,

    Moi aussi je suis parfois dans des situations où je suis obligé entreposer windows. Le monde de la santé fait d’ailleurs peu d’efforts (surtout les éditeurs).
    Notepad++ gère aussi les comparaisons entre deux fichiers. ;)

  • Kegeruneku

    Si je peux me permettre, Cygwin et MinGW ce n’est absolument pas la même chose :
    – Cygwin est une couche d’abstraction qui tient en une DLL qui permet de mapper les fonctions UNIX de base en appels Windows, on développe donc “unix-style”, alors que MinGW est un compilateur natif qui utilise l’API Win32 directement.

    Prenons l’exemple des sockets: l’API WinSock et l’API sockets UNIX sont assez différentes a utiliser.

    Utiliser MinGW implique donc de porter son code sur l’API Win32, mais on a ainsi un code natif, donc plus efficace et moins lourd (la DLL cygwin est assez grosse).

  • Pingback: Kit du développeur libre sous Windows | Actualités de l'open source | Scoop.it

  • http://fatiha.canalblog.com Fatiha

    Excellent article, je retrouve quelques logiciels que j’utilise déjà comme winmerge, eclipse, putty, tortoise cvs ou encore notepad++. Je vais tester cygwin, python, strawberry (perl) et console2.

    Merci !

  • http://twitter.com/t_bores T_Bores

    Comme autres logiciels libres pour le développement, j’utilise:
    – Dia, pour les diagrammes UML
    – Doxygen, pour générer la documentation
    – CMake, gestion des makefiles cross-platform

  • Frans

    Un petite faute d’orthographe dans ton billet, le produit s’appelle MobaXterm avant un seul B. Merci pour cette liste de softs !

  • MaMA

    “Il est légé, transportable facilement sur une clés USB” Mes yeux se sont posé sur cette phrase et je me rend compte que certaines personnes ne sont pas faites pour écrire des billets…

    • http://www.nicolargo.com NicoLargo

      Cool j’ai trouvé mon maître Capelo du mois !

    • http://gdmedia.fr MrPifPaf

      Oh comme j’aime les Grammar Nazis qui font des fautes…

      Tes yeux se sont poséS avec un S parce qu’ils sont plusieurs tes yeux.

      Et je me rendS encore avec un S parce que le présent de l’indicatif c’est un truc de malade quoi !

  • mx3208

    Un outil bien pratique aussi

    winscp, client ftp sftp … auquel on peut ajouter notepad ++ en editeur, hop ctrl+p une session putty

    apres ca se complique lorsque on refuse la cnx ssh en root, pour editer les fichiers

    voila

  • joelaloose

    pour eclipse : usine à gaz

  • Morbius

    Salut Nico, très bon billet.
    Je voulais juste rajouter un petit quelque chose, sur notepad++ il existe un plugin nommé “Compare” qui remplie à peu près la même fonction que Winmerge. Je dis à peu près car je ne suis pas certain de la possibilité de fusion/syncro. En revanche la comparaison se présente sous la même forme avec en plus une frise sur le côté montrant les parties différentes sous forme de blocs de couleur.

  • http://blog.sckyzo.com SckyzO

    Je validerai aussi un autre programme sous windows qui est aussi sous linux (vu que je l’utilise sous linux déjà) :
    Geany (multi plateforme), un éditeur de texte.
    Perso je le trouve plus puissant que Notepad++

    • Kegeruneku

      Hum, Geany n’est pas un éditeur de texte, c’est un IDE, ça ne joue pas du tout dans la même catégorie :)

      • http://gdmedia.fr Guillaume Denormandie

        C’est vrai, mais de mémoire, c’est un IDE suffisamment léger pour faire office d’éditeur de texte ;)

  • http://mobaxterm.mobatek.net Mobatek

    Salut Nico et merci de faire connaitre MobaXterm au travers de ton blog ! Nous venons de sortir une nouvelle version majeure de ce logiciel dont nous sommes plutôt fiers (parce qu’on y a beaucoup travaillé) avec plein de nouveautés (clients RDP, VNC, …).

    Du coup, désolé de profiter des commentaires pour faire un peu d’auto-promo, mais étant donné que MobaXterm est encore méconnu, on en a besoin…

    En attendant, merci encore pour ce super blog !

  • Pingback: Informatique by bibliotheques - Pearltrees

  • Nicooo

    Mmh, je ne pense pas que MobaXterm soit un logiciel libre. Par contre effectivement, c’est un super logiciel gratuit (avec une version payante permettant de customiser et d’avoir un support technique), qui fait tout (avec les plugins, c’est pas loin d’être vrai) sans même avoir à l’installer (transportable sur clé usb par exemple). Vraiment top et très facile à utiliser.

  • yann

    Comme dit par ailleurs, Geany est vraiment excellent et multiplateforme. C’est vraiment le bon compromis léger et riche en fonctionnalités entre un éditeur (même les pas mauvais type notaped++ et autres Scite, basés en général sur la lib scintilla) classique et une grosse IDE.

    Pour les allergiques à l’usine à gaz Eclipes qui en plus reste souvent incompatible avec les gestions de conf et le outils de génération (en général des scripts) en entreprise => on traine un tas de m… qui oblige à créer un projet, juste pour éditer un fichier. L’autre cata, c’est d’y inclure les debuggers: Quand on n’utilise pas l’aspect IDE, devoir créer un projet à la con simplement pour debugger, perso ça me sort par les trous de nez.

    Là, on a surtout un éditeur (mais capable de lancer des compils si on en a l’utilité), avec gestion de tags sur ses fichiers en prime (évite de devoir intégrer un Gnu Global dans les menus d’un Scite par exemple)… et tout bon dès l’install.

  • Pingback: Kit du développeur libre sous Windows - Le blog de NicoLargo | ma veille | Scoop.it