Link : “Développeur web en 3 mois”


Use @fabpot’s php-cs-fixer tool in PhpStorm, in 2 steps

1 - Install php-cs-fixer globally - 3 available ways: manual / composer / homebrew) : cf.

2 - Add php-cs-fixer as an external tool in PhpStorm : Open Settings (or “Preferences” on OS X) > External Tools & setup a new tool :


Fill with accurate paths & options:

  • Program: /my/homeDir/.composer/vendor/bin/php-cs-fixer
  • Parameters: (by example) —level=all —verbose —config=sf23 fix “$FileDir$/$FileName$”
  • Working directory: $ProjectFileDir$

To setup other php-cs-fixer options, check the one-page manual

BTW, have a look at [Settings/Preferences] > Code Style > PHP : PhpStorm can rearrange your code style with other nice style rules too.

Tested OK in PhpStorm 7.1 stable with php-cs-fixer 0.5-DEV (july ‘14).

To add a keyboard shortcut to your PhpStorm external tool, check manual page this (it’s damn simple). 


LAMP stack for OS X 10.6/10.7/10.8/10.9 (no vagrant, no docker)

It’s easy, it’s in your OS X & it runs faster than in a vm box 

  • Install PHP 5.5/5.4/5.3 for OS X 10.6/10.7/10.8/10.9 as binary package using the amazing php-liip (one-line command):

    curl -s | bash -s 5.5

  • in /etc/apache2/http.conf, change the php5 path:

    LoadModule php5_module /usr/local/php5/

    as explained in the php-liip doc (but they’re talking about uninstall, so do the opposite)
  • Use Brew to install MySql

    brew install mysql

  • launch mysql: 

    /usr/local/bin/mysql.server start

  • check root login without password is ok :

    mysql -u root -p

    and then exit

  • brew install phpmyadmin

    (Note: Someone may prefer Sequel for OS X)

  • create a /etc/apache2/other/phpmyadmin.conf file containing this directives
  • restart apache2:

    sudo apachectl restart

  • Allow phpmyadmin to log you in without root password sudo cp /usr/local/share/phpmyadmin/ /usr/local/share/phpmyadmin/, then edit it and change this as true:

    $cfg['Servers'][$i]['AllowNoPassword'] = true

    Note that mysql root user has no password in the default brew-based mysql instance

Your new command-line binaries pathes are:

  • Your own Apache2 vhosts can now be created in


    or elsewhere (see /etc/apache2/httpd.conf). Just run

    sudo apachectl restart

    to take them in account.

  • Your MySQL server command is now in 


    but just mysql.server command should work as well

    Usage example:

    mysql.server restart

    PS: ZSH users, mind the native oh-my-zsh aliases & check your own ~/.oh-my-zsh/lib/correction.zsh conf.

  • Your PHP 5.5 instance is now installed in


    Usage example:

    php -v

Here you are. In case you fucked something up, is your best friend.

Tags: mysql osx lamp php


This is a post I authored on Zumba’s engineering blog about how to use composer to install a git pre-commit hook that will run PHP codesniffer rules before allowing commits.


Using HHVM on Mac OS X : Composer example

Install Hhvm (45 minutes compilation) :

    $ brew tap homebrew/dupes
    $ brew tap homebrew/versions
    $ brew tap mcuadros/homebrew-hhvm
    $ brew install hhvm

Set new aliases, including a “SlowTimer error” fix (see details):

    $ alias composer="hhvm -v ResourceLimit.SocketDefaultTimeout=30 -v Http.SlowQueryThreshold=30000 /usr/local/bin/composer"

More with hhvm: “Building a Better PHP" by Davey Shafik



Tags: techwatch
One year of my Gihtub open-source code contributions.
This nice isometric pixel art version come from the asonlong/isometric-contributions Chrome addon.

One year of my Gihtub open-source code contributions.

This nice isometric pixel art version come from the asonlong/isometric-contributions Chrome addon.

Tags: github


Grunt is an extremely useful Node.js package to automate lots of development and continuous integration tasks. The Grunt eco-system has lots of packages available on npm. This enables us to quickly setup our development/continuous integration environment.

Tags: grunt js


Bonus track:


Silicon Valley’s Youth Problem

[New-York Times] In start-up land, the young barely talk to the old (and vice versa). That makes for a lot of cool apps. But great technology? Not so much.

Tags: techwatch


Bonus track: Popcorn Time!

Tags: techwatch