View Sidebar
Il étais une fois … les IDE de Jetbrain (PyCharm, PHPStorm, …)

Il étais une fois … les IDE de Jetbrain (PyCharm, PHPStorm, …)

24 janvier 2014 21 h 00 min0 comments

Salut tout le monde,

Aujourd’hui je vais vous parler d’un sujet de discussion revenant régulièrement chez les développeurs.
La fameuse question « Et toi, quel IDE t’utilises » ?

anigif_enhanced-buzz-10691-1389736605-13
Au fil du temps et comme beaucoup de monde, j’ai fini par en utiliser pas mal (Netbean, Eclipse et ses dérivés, Zend studio, sublimetext, …) et c’est sans parler des plus light servant encore régulièrement comme gedit, notepad++, mais là ce sont juste des éditeurs.
Mais petit à petit, je m’en suis de plus en plus détourné n’en trouvant aucun qui réponde à mes besoins.
Mais voilà, c’est chose révolue maintenant, j’ai découvert Jetbrain.

Bah alors ils ne sont pas bien les autres IDE ?

Pour moi un éditeur doit avant tout :

  • être cross-plateforme (Windows/Linux utilisant les 2 OS suivant le lieu)
  • gérer plusieurs langages (eh oui il arrive souvent d’enchaîner les projets et changer d’éditeur à chaque fois est épuisant).
  • souligner/indiquer les erreurs de syntax/compilation (ça permet de perdre du temps sur des erreurs bénignes)
  • gérer correctement les outils de versionning (cvs, svn, git, mercurial, …)
  • avoir de bon outils de recherche et de déplacement dans le code
  • être rapide tout simplement

Ça, ce sont juste les prérequis sans lesquels je ne teste même plus un éditeur.
Voir un eclipse devenir inutilisable après avoir simplement ajouté le support de 3~4 langages et d’un gestionnaire de versionning m’énerve au plus haut point.
c_140124085351_4
Mais ce n’est pas tout, j’ai aussi pris quelques habitudes au fil du temps (du confort), et j’aime bien avoir quelques points supplémentaires :

  • l’autocomplétion dans chaque langage utilisé
  • des outils de synchro nfs/ftp/sftp pour gérer des serveurs distants (préprod, serveurs de dev)
  • un manager de DB intégré (phpmyadmin m’a usé à force et j’aime bien avoir un truc intégré)
  • une vérification intégré des normes de code en vigueur
  • un système de plugin pour les cas particuliers

Et là je ne cite que les points que personnellement je juge importants.
Après je ne crache pas sur les feature un peu plus tunning proposé par certains éditeurs.

Et alors charmé ?

En me mettant à django il y a 2 mois (et donc faire du python), j’ai aussi eu l’occasion de tester un IDE que je n’avais jamais utilisé jusque-là. Un petit soft qui répond au doux nom de « PyCharm » (testable gratuitement)

pycharm

Quel ne fut pas ma surprise. Je n’avais pas vu de longue date un IDE aussi bien fichu.
Au premier contact, l’interface parait légèrement austère, mais elle reste simple et compréhensible.
Pour faire simple, on reprend les bases d’autres IDE et typiquement, pour les fans d’eclipse, on reste dans le même genre d’IHM.
Après le choix habituel d’un thème et de quelques préférences visuel, on peut enfin rentrer dans le vif du sujet.

Et alors ? Et alors ?

Première surprise, c’est bougrement rapide.
En réimportant d’anciens projets assez complets, la vitesse d’import et de parsing saute au yeux.
Projet lancé et utilisable en moins de 10 secondes avec une auto-complétion directement fonctionnel, ce n’est pas habituel.
D’habitude il y a plutôt 15~30 sec de CPU max où l’IDE réindexe tous les fichiers, mais là ça a l’air rapide.
Ma surprise a été d’autant plus grande quand j’ai appris bien après que l’IDE tourne en Java.
Pourtant, on est vraiment à des années-lumière d’autres IDE en java ayant la fâcheuse tendance à devenir obèse.

Deuxième grosse surprise, l’ide s’occupe de moi.
PyCharm intègre nativement PEP8 (une norme de codage en python), et ça parait bête, mais ses suggestions de corrections sont pertinentes et efficace.
C’est assez déroutant, car la plupart des IDE signalent les erreurs, mais inclus souvent trop de warning abusif et mal expliqué qui viennent polluer l’utilisation de cette fonction.
Pour pousser l’idée plus loin, Pycharm fournit une fonction automatique de correction/reformatage de code qui marche très bien.
C’est puissant et ça permet de ne pas se prendre la tête. Tu codes comme d’habitude, « ctrl+A » -> « reformat code » et c’est réglé.
Dans le même style, aux commit de code, il te prévient en cas d’erreur de syntax pour éviter la boulette.
Ce n’est pas de l’assistanat, mais plein de petites bonnes idées qui rendent l’expérience confortable.

Troisième grosse surprise, le support natif de nombreux cms/framework.
Je ne m’y attendais pas ne cherchant qu’un IDE python, mais le support natif de django m’a été fort utile.
Cela rajoute pas mal de petite fonctionnalité du framework directement dans l’IDE et évite de taper quelques commandes fastidieuses.

banner_jetbrains_index

Mais c’est que du python tout ça …

À côté de ce projet perso, je continue d’avoir des obligations pro qui me forcent à voir d’sautre projets.
Après l’expérience réussie sur PyCharm, je me suis dit qu’il fallait peut-être que je regarde pour les autres langages.
Et c’est ainsi que j’ai utilisé mon second IDE de la société PhpStorm.

Second IDE … pas vraiment en fait, à l’instar d’éclipse et de ses bundles, les différents soft de jetbrains ont une énorme base commune.
Finalement, les différentes versions par langage permettent juste d’avoir une IHM plus simple et de mettre en avant les fonctionnalités de chaque langage.
Mais sinon, on est toujours devant le même IDE et on peut même passer ses préférences de l’un à l’autre.
On finit donc avec le même look, et quasiment les mêmes raccourcis sur tous les langages.

Seule différence notable par rapport à PyCharm, en php pas de norme stricte au niveau du code.
L’outil de suggestion/reformatage du code et donc un poil moins nazi et j’ai du passer du temps à le configurer pour le rendre plus méchant.
Oui je suis masochiste du code et j’aime quand mon IDE me parle mal …

Le revers de la médaille

Et oui, après toutes ces éloges, il y a bien un revers de la médaille à l’utilisation de cette série de logiciels.
Le principal problème est pécunier. Pycharm en license individuel coûte 89€. Il en est de même pour phpstorm (89€) et rubymine (89€). Et sinon pour ne pas tous les acheter, il y a la possibilité d’acheter IntelliJ Idea (179€), la version Java de l’IDE qui permet d’intégrer sous forme de plugin, les fonctionnalités des autres IDE.
Dans tous les cas, ça revient vite cher et je vous conseille de bien les tester avant de passer par la case achat.

Take-my-money

Conclusion

Bah du coup j’ai plus ou moins renoncer aux autres éditeurs que j’utilisais jusque-là.
Le seul qui fait de la résistance pour le moment est éclipse pour de vieux projets en java, mais il finira par succomber.
Bien entendu, je ne vous ai parlé de la plupart des fonctionnalités des logiciels, mais d’un ressenti général.
Certaines fonctions comme le liveedit de webstorm sont assez bestiales et très addictives.

Voilà, c’est fini pour cet article non sponsorisé, mais où j’étais un peu trop élogieux.
Promis, j’essayerai d’être plus méchant au prochain article 😛

Leave a reply


Trackbacks