par Maxime, Développeur Symfony à l’Agence Dn’D
Voici différents outils et tricks pour simplifier les tâches des développeurs PHP au quotidien. Il s’agit bien sûr d’une liste non exhaustive.
NB : Les logiciels et commandes cités dans cet article sont issus d’un environnement sous Ubuntu.
SHELL WHAT ? TERMINATOR
Terminator est un terminal virtuel très intéressant. Il permet d’ouvrir et de synchroniser plusieurs fenêtres dans un unique onglet. Par exemple, il est possible d’être connecté en SSH, de monitorer et d’être en local en même temps.
Quelques raccourcis sur Terminator :
- Séparer verticalement : Ctrl+Shift+E
- Séparer horizontalement : Ctrl+Shift+0
- Nouvel onglet : Ctrl+Shift+T
- Naviguer entre les onglets : Ctrl+Page haut/Page bas
- Naviguer entre les fenêtres : Ctrl+Tab / Ctrl+Shift+Tab
- Fenêtre en plein écran : Ctrl+Shift+X
BASH TO ZSH
Couplé au Shell et à Oh My Zsh, l’interpréteur de commande Zsh peut remplacer Bash. Il est personnalisable et propose un large éventail de possibilités, comme par exemple l’intégration de Git qui offre une meilleure visibilité concernant les branches. Il apporte également des plugins qui fournissent des Alias.
Exemples d’Alias pour Git/Symfony :
Alias | Commandes |
g | git |
ga | git add |
gaa | git add -all |
gcmsg | git commit -m |
gco | git checkout |
sf | php app/console |
sfcl | php app/console cache:clear |
sfroute | php app/console router:debug |
sfgb | php app/console generate:bundle |
GIT
Quelques commandes utiles sur Git :
git commit –amend #permet de modifier le dernier commit
git branch -m #permet de renommer la branche courante
git rebase -i #permet de modifier, renommer, supprimer, rassembler des commit
https://git-scm.com/docs/git rebase#_interactive_mode
git pull –rebase #permet de pull en réordonnant les commits
De nombreuses configurations d’alias sont également disponibles sur internet et plus particulièrement sur Github.
La gestion des conflits peut se réaliser grâce à Meld. Et Giggle permet de visualiser les branches. Ces deux outils sont Open Source, indépendants de PhpStorm et nécessitent moins de ressources que ce dernier.
De même il existe d’autres GUI pour gérer vos GIT, tel que GitKraken ou SourceTree mais ce dernier n’est malheureusement pas disponible sous linux.
Xdebug ou var_dump ?
Il existe différents outils pour debuguer, notamment Xdebug qui est intéressant lorsqu’il s’agit d’entrer dans les couches basses du code. En revanche, il utilise beaucoup de mémoire, surtout pour Composer. Il est donc possible de le réactiver seulement en cas de besoin grâce à la création de deux Alias :
alias xdebug-on=’sudo phpenmod -s cli xdebug’
alias xdebug-off=’sudo phpdismod -s cli xdebug’
Puis sur l’interface en ligne de commande (CLI), au lancement de Xdebug :
XDEBUG_CONFIG= »remote_enable=1″ php app/console ma:commande
Ou encore une fois, il est possible de créer un alias :
alias sfxd=’XDEBUG_CONFIG= »remote_enable=1″ php app/console’
Astuce : pour voir les points d’arrêt à un état précis de la variable, il est possible de supprimer tous les points d’arrêt et de faire une condition avec le point en question, suivis des autres si nécessaire :
Astuce : il est possible de mettre plusieurs variables dans les var_dump(). Par exemple : var_dump(__METHOD__, $var1, $var2);die;
NB : il en est de même pour les isset :
if (isset($foo) && isset($bar)) revient à if (isset($foo, $bar))
Le test avant les tests :
Il est possible de tester les portions de code, et notamment les algorithmes, sur une Sandbox PHP.
Composer
L’utilisation de Composer est une action courante pour le développement. Il existe différents Plugins comme Prestissimo qui permettent de télécharger les dépendances en asynchrone.
Ce dernier sera d’ailleurs prochainement intégré nativement à Composer. Il existe également Composer License, une commande qui liste les paquets installés et indique leur version et leur licence.
Afin de maîtriser son développement, il existe des outils tels que cs-fixer, phpmetric et bien d’autres. Ces outils sont généralement installés en global sur Composer. Pour avoir plus facilement la main dessus, il suffit d’exporter le dossier bin de composer dans une variable d’environnement : export PATH= »$PATH:$HOME/.composer/vendor/bin ».
Gestionnaire de base de données
Adminer est une alternative à phpMyAdmin qui permet la gestion de différents types de bases de données en un seul fichier PHP. Cependant, il est difficile, voire impossible de se connecter via SSH.
Il existe alors Dbeaver qui peut gérer tous les types de bases de données, dont NoSQL qui est Open Source. Ce client bénéficie :
- d’une interface propre
- d’une interprétation des tables en diagrammes
- de la connexion SSH
- de la gestion du MySQL, PostgreSQL, MongoDB, SAP, Apache Cassandra, Sqlite, etc.
NB : la version enterprise permet de bénéficier de bases de données de type NoSQL. Cette version est aussi gratuite, mais pas open source.
Sous un environnement Unix, il est habituel d’utiliser Postfix comme serveur de messagerie électronique. Mais ce dernier n’est pas toujours simple à configurer.
MailCatcher est un logiciel développé en Ruby écoutant le port 1025, simple d’installation et de configuration, compatible avec PHP, Symfony, etc, et qui peut être intégré dans Vagrant via PuPHPet. L’aspect négatif réside dans l’impossibilité de faire suivre les mails reçus.
MailDev est un logiciel équivalent, fait en NodeJS. Il propose une interface propre ainsi que la possibilité de rediriger les mails vers un système de messagerie comme Gmail, par exemple.
Ces deux logiciels éviteront d’envoyer accidentellement des mails de test aux clients, ces derniers étant récupérés sur le local.
Veille
Voici quelques événements à suivre :
- Forum PHP et PHP Tour organisés par l’Association Française des utilisateurs de PHP (AFUP)
- Symfony Live
- Open Source Summit
- Web2day
- BlendWebMix
6 comptes Twitter :
Youtube
La chaîne Youtube de l’AFUP PHP
Github
Fabien Potencier
Kevin Dunglas
Conclusion
N’hésitez pas à nous soumettre vos astuces et tricks pour nous permettre d’enrichir cet article !
Restez curieux !