Accueil > Blog-notes > Zend Studio ? Netbeans ? PHPStorm !

Zend Studio ? Netbeans ? PHPStorm !

Ayant développé pendant quelques années en C++, et habitué à utiliser un IDE, j’ai cherché un outil efficace quand j’ai commencé à faire intensivement du PHP.

Zend Studio, naturellement

Je me suis d’abord tourné, assez naturellement, vers le Zend Studio, qui était alors dans sa version 5 puis 5.5. A l’époque je travaillais alternativement sur un PC et sur un Mac, et le fait de retrouver le même outil dans les deux environnements me convenait bien.

J’ai aussi beaucoup apprécié ses outils de débogage et de profilage (qui restent les meilleurs que j’ai trouvé jusqu’ici).

PNG - 30.4 ko
Le profileur de Zend Studio est son point fort
PNG - 29.4 ko
Tableau synthétique des appels sur un hit

Mais avec une licence de base à 300€ il n’est pas donné, et je n’ai pas vraiment apprécié de devoir remettre la main au portefeuille lorsque la version 6 est sortie (première version basée sur Eclipse, au contraire de la version précédente).

Par ailleurs, comme je contribue à un projet libre bénévole, j’ai cherché un outil plus abordable que j’aurais pu partager plus facilement avec d’autres contributeurs.

Netbeans bloque

Aussi, après avoir lu un bon comparatif sur Smashing magazine je me suis tourné vers Netbeans. Projet libre, issu du monde Java et de Sun, mais avec une distribution pour PHP, cet éditeur m’a tout d’abord satisfait.

L’ergonomie est moins bonne que celle du Zend Studio que j’ai quitté, et j’ai du ré-apprendre des raccourcis claviers pas toujours naturels. Mais j’étais content d’adopter un outil libre malgré les efforts que cela demandait ici encore.

Associé à la librairie Xdebug, les fonctionnalités de debogage sont correctes [1]. En revanche aucune fonction de profilage.

Un des points forts de Netbeans est son outil de diff. J’ai rarement vu aussi pratique et efficace à lire et manipuler.

PNG - 127.8 ko
Netbeans intègre un très bon outil de diff

J’ai trouvé des fonctions de recherche/remplacement multi-fichiers, y compris avec expression régulières, et j’ai aimé les facilités de navigation intra-projet qui permettent d’aller directement à la déclaration d’une fonction depuis son appel par un CTRL+clic sur le nom.

L’auto-complétion des noms de fonction argumentées est agréable à l’usage.
Netbeans étant disponible lui aussi sur Mac et PC, c’était encore une fois assez pratique (même si depuis j’ai délaissé le dernier PC qu’il me restait).

Des nouvelles versions sont régulièrement publiées et tout pourrait sembler pour le mieux.

Mais un gros point noir gâche le tableau : Netbeans se bloque parfois de façon imprévue, pendant un temps important, lorsqu’il scan les projets. Et j’ai trouvé personnellement que le problème empirait avec le temps, ne parvenant pas à savoir si c’était lié au grossissement de mes projets, ou aux nouvelles versions de Netbeans.

J’ai d’abord pensé que c’était lié au disque peu rapide de mon Macbook, mais depuis quelques mois j’utilise une machine de course avec disque SSD, et je suis bien obligé de constater que ça n’arrange rien. Quel que soit le nombre de processeurs et la vitesse du disque, Netbeans parvient à consommer 100% de CPU et à se bloquer, obligeant à attendre de nombreuses minutes qu’il soit de nouveau disponible.

Je suis finalement arrivé au point de rupture. Par acquis de conscience, j’ai téléchargé la beta de la version 7.0, espérant secrètement que l’item du changelog Less intrusive checking for external changes when switching between the IDE and other programs. résolve mon problème, mais des erreurs et exceptions à répétition à la première ouverture de cette beta ont eu raison de moi.

Il était temps d’aller voir ailleurs.

PHPStorm : que du bon !

Pour le coup, j’avais noté dans un coin le nom de cet IDE dont j’avais vu un utilisateur dire du bien sur Twitter, et je me suis décidé à le tester.

Première bonne surprise au moment de télécharger PHPStorm, une version 2.0 est en gestation, et déjà proposée au téléchargement. Je choisi donc celle-ci, et commence à la tester sur les projets en cours sur lesquels je travaille.

Habituellement, lorsqu’on teste un nouvel outil comme un IDE, les premiers jours sont frustrants : on cherche parfois plusieurs minutes comment faire une action qui ne devrait prendre qu’une seconde, et il faut faire l’effort d’apprendre de nouvelles habitudes. Mais ici, je dois avouer, agréable surprise, que cette phase n’a duré qu’une heure ou deux.

En premier lieu, les préférences d’édition sont très riches en possibilités de personnalisation. J’ai ainsi pu paramétrer l’outil pour que très vite ma fenêtre d’édition me soit familière.

Ensuite, la gestion d’un projet, la navigation dans les fichiers, dans le source... fonctionnent très bien et sont très naturelles. J’ai juste l’impression de retrouver le meilleur de chaque outil que j’ai pu tester.

Le scrolling progressif permet de bien suivre le déplacement dans les fichiers lorsqu’on clic sur un nom de fonction pour aller à sa déclaration. L’auto-complétion et le rappel des arguments d’une fonction sont clairs.

Le débogage repose aussi sur Xdebug, et fonctionne très bien, même si je ne retrouve toujours pas le profileur de Zend Studio.

J’ai aussi trouvé le support natif de SVN et de GIT qui sont les deux outils de versionnage que j’utilise habituellement. Leur utilisation dans PHPStorm est très simple, limitant vraiment le besoin de recourir à la ligne de commande en complément.

Mais, en plus de tout cela, PHPStorm a l’avantage d’être une déclinaison PHP de WebStorm, un éditeur dédié HTML/CSS.

Du coup, les fonctions d’édition HTML et CSS sont très efficaces :

  • l’auto complétion des tags html, des attributs ou des propriétés CSS est au poil
  • l’édition des CSS dispose d’une prévisualisation de toutes les couleurs utilisées dans la feuille de style, en marge, qui permet de compléter très utilement la navigation dans les feuilles. Qui plus est, ces pastilles sont éditables par un sélecteur, qui modifie directement le code
    PNG - 68.3 ko
    Edition d’une feuille de style
  • LESS CSS est pris en charge dans la coloration syntaxique
  • Zen-coding est également natif, ce qui me ravit car je n’avais pas encore eu l’occasion d’essayer avec Netbeans.
    PNG - 7.5 ko
    Zend Coding a l’œuvre
    PNG - 37.2 ko
    Zend Coding a l’œuvre

Au bout de quelques jours, je dois dire que je me sens déjà comme dans de vieux chaussons, et je vais de bonne surprise en bonne surprise en utilisant cet outil.

Enfer et purgatoire
Seul bémol, évidemment, il s’agit d’un outil propriétaire, et je vais devoir acheter une licence. La disponibilité d’une licence « Open source » gratuite pour les contributeurs de projets libres permettra peut-être à son éditeur Jetbrains d’aller au purgatoire au lieu de l’enfer promis par les intégristes du logiciel libre.

En attendant, si votre morale vous le permet, et si vous cherchez toujours l’éditeur ou l’IDE idéal pour votre pratique quotidienne, n’hésitez pas à tester ce PHPStorm, ou sa déclinaison WebStorm, il en vaut vraiment le coû[pt] !

Mais peut-être avez vous déjà déniché une perle rare ?

— 26 novembre 2010

Notes

[1A ce sujet, j’avais présenté l’utilisation du debogage dans Netbeans lors d’un atelier SPIP. Les slides sont disponibles au téléchargement ici

Vos commentaires

  • Le 26 novembre 2010 à 11:25, par Stéphane Deschamps En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Par la bande (même si je suis satisfait d’Aptana dans sa version gratuite et que je suis un développeur du dimanche, hein), je n’avais jamais regardé Zen Coding bien qu’entendu parler évidemment.

    Tes deux simples saisies d’écran sont lumineuses, je m’y mets demain. :)

  • Le 26 novembre 2010 à 16:27, par Cedric En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Tiens, je viens de tomber sur un billet qui relate une impression semblable : PHPStorm est simplement un outil auquel il ne manque rien, et dans lequel tout semble tomber bien sous la main.

  • Le 29 novembre 2010 à 18:01, par Nicolas Hoizey En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Suite à cette lecture, j’ai installé PhpStorm pour tester en remplacement de NetBeans (je suis obligé de bosser sur un Windows alors que j’ai Espresso sur mon Mac), et je dois dire que je suis très séduit !

  • Le 7 avril 2011 à 15:02, par tetue En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    J’ai adopté PhpStorm suite à cet article (depuis plus de 4 mois, donc) et c’est effectivement pas mal. L’autocomplétion est très satisfaisante en HTML/CSS, la coloration syntaxique très nerd mais supportable (et paramétrable). La prévisualisation des couleurs en marge est très séduisante, mais assez inutile en pratique.

    Par contre, la recherche et les rechercher/remplacer restent inutilement laborieux, nettement moins maniables que dans Dreamweaver, qui recommence à sérieusement me manquer, du coup. Pour changer, j’essaye Notepad++, plus satisfaisant sur ce point.

  • Le 7 mai 2011 à 17:31, par Nicolas Chevallier En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Et pourquoi pas Eclipse,(ou PHP Eclipse ou Easy Eclipse) ? Personnellement je n’utilise plus que ca, après avoir longtemps cherché l’éditeur parfait. Ce que j’aime : l’extensibilité avec des plugins svn, ... Les moins : une certaine lourdeur.

  • Le 24 août 2011 à 18:01, par lexterikane En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Je viens de commencer avec phpstorm seulement aujourd’hui et je dois dire que pour le moment je suis vraiment tenté d’acheter la licence. petit bémol quand on ouvre deux projets ou plus, il y autant de fenetres ouvertes

  • Le 4 janvier 2012 à 11:18, par Ulysse En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Bonjour,
    Je sais que ce billet date un peu, mais ... ^^

    Juste pour sauver netbeans, la fonction qui check tout les fichiers du projet est en effet très lourde, cependant, la désactiver est un jeu d’enfant ! Et on obtient le meilleur IDE ( à mon gout ).

    Voila tu peux abandonner PhpStorm pour retourner sur NetBeans :p (joke)
    Je vais d’ailleurs essayer PhpStorm étant sur un nouveau poste de dev.

  • Le 16 août 2012 à 14:05, par Wadoo En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    LoL, bin pour moi c’est l’inverse.

    Tu peux oublier netbeans pour aller chez phpStorm ;)

    A la base je prefere le libre. Mais je n’ai trouvé aucun IDE aussi complet et RAPIDE que lui.

    moi j’ai horreur des temps de latence dans l’autocompletion ou dans le GOTO DECLARATION. Bref, je ne supporte pas que mon ide lague (et en plus large mon pc, c’est pour ca que je ne suis plus sous windobe depuis des années ^^).

    En plus d’etre super complet et bien pensé, phpstrom ne lague pas.

    J’ai pu, avec le projet sur lequel je suis, avoir une licence opensource. Bin franchement, a 90euro annuel, vu le vrai benefice de cet IDE. Le jour ou je change de projet, je me paierai surement la licence pour continuer a l’utiliser en perso.

    PS : a la base j’utilisais le ZEND studio mais, toujours pour des raisons de lag, quand ils sont passé en tant que plugin eclipse, je leur ai fait mes adieux (enfin j’ai plutot gardé tres longtemps la v5.5 mais bon elle faisait pas php 5.3 donc a un moment .... ^^)

    PPS : @lexterikane je ne sais pas sur quelle version tu as le souci, mais moi quand j’ouvre un projet il me demande toujours si je veux remplacer la fenetre existante ou en ouvrir une autre (peut etre est ce une feature apportée récemment. Ma version : 4.0.3)

  • Le 16 août 2012 à 14:06, par Wadoo En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Mais euh,

    Pourquoi mon gravatar est pas pris ?

  • Le 23 août 2012 à 09:58, par Cyril En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Hello ;-)

    En vue de recenser les trucs/astuces/outils que des développeurs SPIP utilisant PhPStorm auraient mis au point et souhaiteraient partager, j’ai posté un sujet de discussion sur le forum PhPStorm.

    Pour l’instant il n’y a pas grand chose concernant SPIP, alors qu’on trouve de nombreuses discussions autour de Joomla, Drupal ou Wordpress (tel celle-ci).

    Prêt à initier la dynamique ? Alors postez vos commentaires sur le forum SPIP de PhPStorm !

    — 
    Cyril

  • Le 13 septembre 2012 à 21:48, par naeh En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    Hello,

    comme beaucoup je suis passé sous phpstorm et je ne suis pas prêt de le quitter :)

    j’ai commencé avec zend studio 5.5, après leur passage à eclipse (zend neon) ce fut la catastrophe (surtout quand les projets sont ouverts depuis le réseau directement^^)

    avec netbeans ce fut un peu mieux mais les lags occasionnels étaient de plus en plus lourds, et le pire c’est que pendant le chargement d’un projet (ou l’indexation) il devient comme un pauvre bloc note (on voit même pas les erreurs de syntaxe^^)

    mais le pire quand même reste qu’on n’a pas de barre de titre, je déteste ne pas voir ni path ni nom du fichier en cours d’édition.

    pour moi il reste un point très important sur lequel netbeans reste meilleur que phpstorm ; le cas d’un projet avec fichiers en utf8 pour certains et iso pour d’autres (oui ça peut arriver^^) lui il ne branche pas (comme notepad++ par exemple et affichera chaque fichier dans son encodage) alors que phpstorm va prendre en compte l’encodage défini pour le projet et du coup affichera des caractères pétés sur les fichiers pas dans le bon encodage.

    c’est la raison pour laquelle je garde les 2 sur mon poste :)

  • Le 9 mars 2013 à 06:29, par davidmars En réponse à : Zend Studio ? Netbeans ? PHPStorm !

    /**
    * @var MaClasse[] Un array typé d'objets MaClasse
    */
    public $plusieursMaClasse=array();
    ...
    //Ça c'est le bonheur et ça marche pareil en js!
    $this->plusieursMaClasse[$i]->mes propriétés auto complétées.

    J’ai fait à peu près le même historique en terme d’éditeurs. Pour faire de l’as3 je suis qd même passé par flash déveloop qui m’a fait comprendre ce qu’un éditeur devrai pouvoir faire pour tous les langages. Je suis conquis depuis quelques mois et j’ai fait passer tout mon entourage dessus, j’ai pas eu besoin de trop forcer...la facture en licences commence à se faire sentir, c’est vrai, mais quand je vois le temps gagné sur mon équipe de devs je peux me dire qu’en quelques heures d’utilisation, l’investissement était remboursé. Promis, juré,j’ai pas d’actions chez eux !

    Le plus terrible, c’est qu’en plus de gagner du temps, on gagne en qualité. L’autocomplétion devient tellement addictive que même le plus crado de mes devs se met à mettre du commentaire de typage partout, je croyais pas que ce soit possible.

    Je rajouterai l’autocomplétion javascript est trop bien aussi. On peut éditer des fichiers less comme de la css (enfin).

    La sychronisation avec les différents serveurs : quel bonheur !

    Enfin la génération de graphiques de classes à héritage est juste super pratique.

    Voilà, moi je dirai phpstorm, sublime text (qd même) et flashdevelop pour les dev as3/javascript.

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom