Michaël Perrin

Freelance web developer.
Houston, Texas

I am a full-stack web developer specialized in Symfony app development based in Paris, France.
While being mostly focused on the server side development, I am interested in being involved in the whole project design and I am commited to delivering maintainable and optimized web applications.

My skills


Development of web user interfaces with JavaScript and React, HTML5, CSS3 / Sass, …


Development of web applications with PHP 7 and Symfony 4. PostgreSQL, MySQL, MongoDB, Elasticsearch databases.


Unit and functional tests with PHPUnit and Behat. Development tools: Git, Docker, …

Latest blog articles

3 ways to get Docker for Mac faster on your Symfony app.

  • Symfony
  • Docker
  • MacOS

Docker for Mac is very slow when developing a Symfony project. This article explains three techniques to make it usable for your development.

Read article

Migrating users to a secure hashing algorithm in Symfony

  • Symfony
  • Security

In this article, we are going to implement a system that will convert MD5 encoded passwords to a secure password algorithm.

Read article

Yarn, the next package manager for JavaScript

  • JavaScript

A quick introduction to Yarn, the package manager that can replace npm.

Read article


Interested in my services for developing your web application? Don't hesitate to contact me by email or get in touch on social networks.

Social networks

namespace AcmeBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class DemoController extends Controller
   * Export to PDF
   * @Route("/pdf", name="acme_demo_pdf")
  public function pdfAction()
      $html = $this->renderView('AppBundle:Demo:pdf.html.twig');

      $filename = sprintf('test-%s.pdf', date('Y-m-d'));

      return new Response(
              'Content-Type'        => 'application/pdf',
              'Content-Disposition' => sprintf('attachment; filename="%s"', $filename),