Developpez.com - Rubrique PHP

Le Club des Développeurs et IT Pro

Quel EDI (Environnements de Développement Intégré) utilisez-vous pour coder avec Symfony ?

Le 2011-01-25 14:16:48, par dourouc05, Responsable Qt & Livres
Quel EDI utilisez-vous pour coder avec Symfony ?


Cela fait déjà un petit temps que je développe avec symfony, en utilisant un bon vieux Notepad++. Et je remarque que, pour le C++, je code quand même bien plus vite avec un EDI plus que correct (Visual Studio) qu'avec Notepad++. Ce n'est pas le premier que je tente d'utiliser mais c'est le seul qui me convient.

J'ai déjà essayé NetBeans avec support de symfony, mais je n'ai pas vraiment réussi à le prendre en main, pas hypra intuitif, etc. Ce qui fait que je suis retourné vite fait à mon Notepad++. Mais c'était au tout début du support de symfony (6.5, il me semble). Depuis, on en est à la 6.9 (7.0 en beta), est-ce que ça vaut la peine de réessayer cet EDI ?

Mais une question me taraude l'esprit quand même : quels sont les avantages d'un EDI par rapport à un "simple" éditeur de texte ? Il y a l'autocomplétion, bien pratique quand on ne veut pas retourner dans la doc vérifier le nom précis et exact de la méthode qu'on veut utiliser ; aussi souvent couplé avec la doc, on voit les paramètres à fournir à la fonction et un petit mot d'explication. Bon, c'est déjà ça, mais c'est un peu léger pour pousser à l'EDI. Il y a aussi le débogage visuel, on peut voir le contenu des variables à l'exécution, je suppose aussi avec des breakpoints et tout le toutim. C'est intéressant en C++ par exemple, là où il n'y a pas de var_dump ; mais en PHP, avec un bon vieux var_dump, quels sont les avantages de cette pratique ? Voyez-vous d'autres fonctionnalités intéressantes/dont vous ne sauriez plus vous passer dans les EDI ?

Aussi, quels EDI avec symfony ? J'ai déjà cité NetBeans, il y en a d'autres comme Eclipse et encore une bonne centaine. Lesquels recommanderiez-vous ? Pour quelles raisons ? Quelle est la fonction clé qui vous paraît aujourd'hui indispensable dans cet EDI, qui seule vous empêche d'aller voir ailleurs ?

!
  Discussion forum
76 commentaires
  • Michel Rotta
    Expert éminent
    Moi j'utilise NetBeams. Mais s'il est éliminé d'office... Je vais le défendre malgré et contre tous !

    Avantages ?
    • simplicité d'installation (par rapport à un monstre comme eclipse que j'utilisais avant)
    • gestion intégré et simplifier du suivi des versions de fichier d'un projet
    • autocompletion des fonctions (simple) mais aussi des méthodes, des propriétés, des variables et utilisation de la doc des fichiers pour afficher un bon ambrions d'aide
    • L'intégration de symfony est un petit plus agréable mais pourrait être largement amélioré. Et en plus, rien pour symfony2
    • Un support de xdebug (quant xdebug veut bien marcher. Snif, impossible a configurer, pour l'instant, avec php 5.3.5
    • L'intégration d'un explorateur dans l'interface pour simplifier les tests rapide (pour le reste, rien ne vaut un firebug)
    • Un système intégré de service qui permet notamment de se connecter et de gérer les bases MySql sans quitter l'EDI. Et sans pester contre phpMyAdmin.
    • La possibilité de le configurer pour accéder directement à des services extérieur de gestion de projet, de gestion de version, de gestion de bug et à tous avoir directement dans l'interface.
    • Possibilité de prévoir et gérer de multiple template de code.
    • Un bon outil pour rendre le code plus lisible, sauf dans les documents mélangeant allégrement le php et je http, comme les templates, où il ne gère que l’arborescence html
    • un pas trop mauvais outil de gestion des fichiers css. Je n'en ais jamais vu un bon du moins pour moi.
    • Edition du html, php, yaml, xml, css, java-script,.. Tout ce qu'il faut pour un projet sous symfony.


    Dans les défauts :
    • Il faut y consacrer un temps d'apprentissage.
    • Il est un peu lourd a lancer
    • Il manque parfois un peu de stabilité, quoique la 6.9 soit bien stable.


    Vais-je changer dans les mois à venir, peut probable, sauf si je trouve la perle qui présentes tous les avantages (et un peu plus pour me motiver) et aucun des inconvénients.
  • Michel Rotta
    Expert éminent
    Pour IE
    Menu outils, outils de développement. Ou F12.

    NetBeans
    Ce qui me manque fortement
    En un an avec netbeans ça ne m'a jamais manqué.
    La sélection de plusieurs ligne et la tabulation sont parfait pour cela.
    Et encore mieux, après paramètrage, l'option source - format fait tout pour toi... Adieu sélection en colonne.
    En fait, cela existe peut-être, mais je n'en ai jamais eu besoin.

    Ce qui fait tache
    Un des faiblesses. Si le code n'est pas correcte, il ne gère pas. Même chose en pure php s'il manque un ;
    J'ai pris l'habitude d'utiliser "<echo" qui, en html me retourne "<?php echo | ?>" en plaçant le curseur là |. C'est sur on est loin de l'utilisation d'un éditeur de texte. Mais il faut une longue vie commune pour en profiter.
    "<if" est bien aussi --> "<?php if ( | ): ?>" ça permet d’accélérer et simplifier la saisie du code. Seul problème, quant tu dois le taper sur dvp, impossible de te rappeler la syntaxe !

    Ce que j'apprécie
    C'est sur que l'autocomplétion à ce niveau, c'est agréable. Et depuis la 6.8 elle est vraiment effective, y compris pour php 5.3. Et pour le carré blanc, et bien, il ne reste plus qu'à prendre la bonne habitude de commenter !

    Autre petit plus agréable. Pouvoir vérifier d'un coup d’œil s'il y a une erreur de syntaxe dans un projet. Être averti des variables initialisée et non utilisée, ou utilisée mais pas initialisée, que d'erreurs de frappe découverte rapidement. Avoir dans la barre de déplacement les emplacements des erreurs, alerte, signet, points d'arrêt. Pouvoir retrouver sa méthode rapidement depuis le navigateur. Pouvoir vérifier en deux clique, sans sortir de l'EDI se qu'il y a dans la base. Pouvoir relancer une commande symfony à l'infini, ou presque. Un système de recherche rapide et un autre étendu. Un système de comparaison de fichier. Un système d'historisation de gestion des versions de fichier intégré (il m'a déjà sauvé lui). L’embellissement du code automatique. Un accès immédiat au code d'un objet parent, d'une méthode. Un bout de documentation PHP inclu.

    Et tant que j'y suis, ce que j'aimerais trouver. La possibilité de coder en passant des nom de variables du mode underscore au mode camel, de "nom_de_variable" à "NomDeVariable" et vice versa. Pouvoir pré-paramétrer des options de symfony rien de pire que d'avoir à retaper les options de build à chaque session de travail. Pouvoir figer l'interface, rien de pire qu'une fenêtre qui s'envole parce que l'on a cliqué trop vite. Un firebug dans la fenêtre de navigation web. Des onglets dans cette même fenètre. Des raccourcis liés au programme toujours dans cette fenêtre.

    Conclusion
    Deux heures, c'est bien peu pour un produit comme un EDI, quel qu'il soit. Il faut commencer à le paramétrer à sa manière, le plier à ses volonté, comprendre et accepter, parfois à contre cœur, ses limites. Une bonne semaine de tests me semble un minimum, c'est du moins ainsi que j'avais procédé entre NetBeans, Eclipse et PhpEdit. Je pense que trouver un outil qui convienne demande le temps d'apprendre à connaître l'outil.
  • Michel Rotta
    Expert éminent
    Envoyé par dourouc05
    La version 6.5 est éliminée d'office. Depuis, il doit bien avoir changé un peu (enfin, j'espère).
    Pas de chance, c'est celle là que j'ai sélectionné à l'époque, la meilleur par rapport au reste.

    Envoyé par dourouc05
    Ça, c'est géré par Notepad++, par contre !
    J'ai essayé d'être objectif. Sous entendre que Notepad++ (bon éditeur que j'utilise régulièrement) fait tous ce que fait NetBeans et en plus il est capable de faire de faire de l'embellissement de code html et php en un seul raccourcis clavier. Perso, je ne l'ai jamais vu faire, mais je ne le lui ai jamais demandé non plus...

    Pour le reste, on ne peut décemment comparer un éditeur évolué de texte à un EDI. S'il fait de l'embellissement, il ne fait ni l'autocomplétion, ni l'auto documentation ni....

    Il ne reste pas grand chose.

    Envoyé par dourouc05
    Qu'entends-tu par là ? Un éditeur de CSS ? Avec visualisation en temps réel des changements ? Pour ça, il y a Opera Dragonfly : http://www.opera.com/dragonfly/.
    Pour le débug, tous les explorateurs on des outils similaires, même si je préfère firebug par habitude.

    Non, un outil d'assistance à l'écriture du fichier css, et pas juste une assistance à la complétion. Avec un début d'idée de ce que pourra donner le rendu (très petite idée, mais c'est mieux de voir la couleur que de lire #22ee4d .

    Envoyé par dourouc05
    Il y a aussi PHPEdit dont on parle assez bien (http://www.phpedit.com/en) (en plus, l'interface de la nouvelle beta n'a pas l'air trop mal, je me suis vite fait au ruban d'Office). Apparemment, licence personnelle possible : http://www.phpedit.com/en/register/p...sonal-licences (ou comment brider les étudiants pour qu'ils ne puissent utiliser que ce soft ).

    PHP Storm n'a pas l'air mal non plus (http://www.jetbrains.com/phpstorm/) mais est aussi payant.

    Voilà déjà pas mal de concurrents, mais une grande majorité de payants... Il y a aussi Visual Studio, qui intègre un support de PHP dans sa dernière version, à voir... mais rien comme uspport de symfony.
    J'ai travaillé avec phpEdit jusqu'à la sortie de symfony 1.1 et j'ai commencé à le trouver trop limité et trop orienté vers php 4 à ce moment là. D'où un passage par eclipse réinstallé et reconfiguré à de multiples reprises. Pour finir sur NetBeans. Après tout, mon travail est de pondre du php principalement, pas de configurer des EDI

    Pour les autres, je n'ai pas d'idée. Sauf l'éditeur de texte de base d'Ubuntu qui est très bien, a de l'autocomplétion, y compris de méthode, quant elle ne sont pas trop loin dans la parenté et est gratuit et fourni avec un système d'exploitation en prime Mais on reste plus près d'un très bon éditeur que d'un EDI.
  • dourouc05
    Responsable Qt & Livres
    Envoyé par Michel Rotta
    Moi j'utilise NetBeams. Mais s'il est éliminé d'office... Je vais le défendre malgré et contre tous !
    La version 6.5 est éliminée d'office. Depuis, il doit bien avoir changé un peu (enfin, j'espère).

    Envoyé par Michel Rotta
    Un bon outil pour rendre le code plus lisible, sauf dans les documents mélangeant allégrement le php et je http, comme les templates, où il ne gère que l’arborescence html
    Ça, c'est géré par Notepad++, par contre !

    Envoyé par Michel Rotta
    un pas trop mauvais outil de gestion des fichiers css. Je n'en ais jamais vu un bon du moins pour moi.
    Qu'entends-tu par là ? Un éditeur de CSS ? Avec visualisation en temps réel des changements ? Pour ça, il y a Opera Dragonfly : http://www.opera.com/dragonfly/.

    J'ai aussi pu trouver Komodo (http://www.activestate.com/komodo-ide) mais payant, avec plug-in symfony (http://code.google.com/p/ksf/).

    Il y a aussi PHPEdit dont on parle assez bien (http://www.phpedit.com/en) (en plus, l'interface de la nouvelle beta n'a pas l'air trop mal, je me suis vite fait au ruban d'Office). Apparemment, licence personnelle possible : http://www.phpedit.com/en/register/p...sonal-licences (ou comment brider les étudiants pour qu'ils ne puissent utiliser que ce soft ).

    PHP Storm n'a pas l'air mal non plus (http://www.jetbrains.com/phpstorm/) mais est aussi payant.

    Voilà déjà pas mal de concurrents, mais une grande majorité de payants... Il y a aussi Visual Studio, qui intègre un support de PHP dans sa dernière version, à voir... mais rien comme uspport de symfony.
  • dourouc05
    Responsable Qt & Livres
    Envoyé par Michel Rotta
    J'ai essayé d'être objectif. Sous entendre que Notepad++ (bon éditeur que j'utilise régulièrement) fait tous ce que fait NetBeans et en plus il est capable de faire de faire de l'embellissement de code html et php en un seul raccourcis clavier. Perso, je ne l'ai jamais vu faire, mais je ne le lui ai jamais demandé non plus...
    Je n'ai jamais prétendu que Notepad++ faisait tout ce que fait NetBeans. Sinon, je n'aurais déjà pas posté ceci. Mais corriger ça doit relever du copier-coller massif (fichiers de colorisation syntaxique de PHP et du XHTML fusionnés, ça devrait le faire, avec bien sûr de l'adaptation, c'est quand même du balisé et du structuré...).

    Envoyé par Michel Rotta
    Pour le débug, tous les explorateurs on des outils similaires, même si je préfère firebug par habitude.
    Je n'en ai jamais vu de base dans IE (et de base non plus dans Firefox, mais ça relève plus d'un début de troll).

    Envoyé par Michel Rotta
    Non, un outil d'assistance à l'écriture du fichier css, et pas juste une assistance à la complétion. Avec un début d'idée de ce que pourra donner le rendu (très petite idée, mais c'est mieux de voir la couleur que de lire #22ee4d .
    Pour celui qui connaît un peu les effets du CSS, ça devrait être bien utile (comme je fais royalement du essai-erreur là-dedans jusqu'à ce que tout ne se chevauche plus ).

    Je vais retenter l'expérience NetBeans, on verra bien ce que ça va donner !
  • Michel Rotta
    Expert éminent
    Envoyé par dourouc05
    Je n'en ai jamais vu de base dans IE (et de base non plus dans Firefox, mais ça relève plus d'un début de troll).
    Je laisse le troll pour FF dormir...

    Et depuis la 8 d'IE, il y a un outil intégré qui est, ma fois, très bien fichu, parfois même mieux que Firebug.

    Pour Netbeans, je ne dis pas que c'est le meilleur. Aujourd'hui c'est mon choix mais je ne veux pas l'imposer... Quoique
  • dourouc05
    Responsable Qt & Livres
    Envoyé par Michel Rotta
    Et depuis la 8 d'IE, il y a un outil intégré qui est, ma fois, très bien fichu, parfois même mieux que Firebug.
    Ah bon ? C'est caché où ?

    Envoyé par Michel Rotta
    Pour Netbeans, je ne dis pas que c'est le meilleur. Aujourd'hui c'est mon choix mais je ne veux pas l'imposer... Quoique
    Là, je me perds dans toutes les options qui se trouvent un peu partout ! Bon, quand j'aurai commencer à écrire un peu de code avec, ça devrait déjà aller mieux (ouf, il ne faut pas changer de clavier ).
  • dourouc05
    Responsable Qt & Livres
    Premier retour sur NetBeans : c'est choquant. En bon et en mauvais.

    Ce qui me manque fortement

    La sélection en colonnes. Ça, c'est une fonctionnalité indispensable pour tout éditeur de texte, catégorisé EDI ou éditeur évolué ou Word. Surtout lors de refactoring au copier-coller (on parle plus alors de factorisation : déplacer ce qui est redondant dans des fonctions), on est parfois amené à changer l'indentation. Et c'est alors que la magique touche Alt vient nous sauver la mise. Mais ça doit être possible. Le tout est que je n'ai pas trouvé comment (pour le line wrap, il faut déjà aller voir dans les options, alors que c'est très généralement dans le menu Edit).

    Ce qui fait tache

    Les nombreuses exceptions lors d'édition de texte quand on n'a pas encore fermé le tag PHP (?>. Mais j'avoue utiliser la beta de la 7.0, ce qui explique sûrement ceci.

    Ce que j'apprécie

    L'autocomplétion de code, ça peut être un grand plus. Surtout quand il affiche où la fonction est définie (c'est un helper ou une fonction de base ?). Par contre, quand il tente d'afficher la PHP Doc à côté des fonctions qui n'ont pas été commentées (du tout ), ça affiche un grand rectangle blanc et vide.

    On peut uploader facilement de l'interface de base (il y a des plug-ins pour ça dans Notepad++, je n'ai jamais réussi à les utiliser). C'est tellement facile une fois tout configuré qu'on se demande pourquoi la modification ne va pas en ligne : c'est qu'on a oublié d'uploader...

    Conclusion

    Je ne sais pas si je vais rester sur cet EDI ou si je vais voir la concurrence ; je ne sais pas si j'ai gagné en productivité ou non (à peine deux heures d'utilisation, aussi) ; en tout cas, le bilan actuel est entre mitigé et bon.
  • Vivian Pennel
    Membre actif
    J'utilise EclipsePDT (au boulot comme chez moi), mais j'ai aussi utilisé Netbeans pendant quelques temps.

    Eclipse PDT :
    Les + :
    - Selon moi bien supérieur pour une utilisation pro, bien plus paramétrage et configurable que Netbeans,
    - Très personnalisable via les nombreux plugins (Mylyn par exemple pour connexion à un bugtracker)
    - Bonne gestion de gros projets

    Les - :
    Assez lourd de façon générale, il faut paramétrer correctement la mémoire utilisée pour ne pas rencontrer de problèmes.

    Il est possible d'intégrer plus ou moins symfony via un peu de configuration, ca peut-être utile en cas de développement sous windows, j'ai écrit un article à ce sujet => http://blog.developpez.com/vivian-pe...dows/#more8307

    Netbeans
    Les +
    - Auto complétion un poil au dessus de celle d'EclipsePDT
    - Environnement bien intégré (pas besoin d'installer de plugins ou presque)
    - Support de symfony (inutile à mon sens)

    Les -
    - Bien intégré mais peu de plugins existants si le besoin est
    - Plugin SVN vraiment pas terrible
    - A du mal à supporter la charge sur de très gros projets (l'IDE rame à mort), c'est surtout à cause de ce point que je ne l'utilise pas.

    Après en commun des deux IDE, sur l'utilisation par rapport à un notepad :

    - Ouverture de Classe, méthode, fichier ressource via raccourci clavier
    - gestion de dépendance inter projet (working set sur eclipse)
    - Intégration de débugger interactif pas à pas (plus simple à configurer sur netbeans)
    - Exécution de tâches externe, très utile si vous êtes sur Windows
    - Auto complétion
    - Parcours de hiérarchie de classes héritées via un raccourci
    - etc..
  • grunk
    Modérateur
    J'utilise Netbeans également , je viens rajouter quelques petits avantages :

    - Template de fichier (peut être np++ le fait il ?) : C'est pour moi indispensable. J'ai défini des template pour les fichier php, les class , les fichier css. Ainsi dès que je crée l'un de ces fichiers il est automatiquement remplie avec les truc que je met constamment dedans (bloc de commentaire, structure de classe ...)

    - Template de code : Tout simplement des raccourics. On défini par exemple que taper switch() nous générera toute la structure avec le default. Un truc pour feignant mais j'aime

    - Refactoring : Limité au fichier avant la version 7 et dans tout le projet ensuite, le refactoring est juste un bonheur. Besoin de changer le nom d'une fonction ? Pas de souçis Netbeans s'en charge tout seul sans en oublier !

    - Historique local : Ca semble inutile à première vue mais ca m'a sauver la vie une fois. Chaque fichier à un historique local , un peu l'équivalent d'un mini subversion intégrer qui permet de revenir dans le temps tant que le fichier n'est pas fermé.