Michaël Perrin

Développeur web freelance.
Bonjour,

Je suis un développeur web full-stack spécialisé en développement Symfony.
J’apprécie participer à l’ensemble d’un projet et je mets un accent particulier sur la qualité du code et sa maintenabilité.


Mes compétences

Front-end

Développement des interfaces web avec JavaScript et React, HTML5, CSS3 / Sass, …


Back-end

Développement d'applications web avec PHP 7 et Symfony 3. Bases de données PostgreSQL, MySQL, MongoDB, Elasticsearch.

Outils

Mise en place de tests unitaires et fonctionnels avec PHPUnit et Behat. Outils de développement : Git, Docker, …

Derniers articles de blog

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.

Lire l'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.

Lire l'article

Yarn, the next package manager for JavaScript

  • JavaScript

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

Lire l'article

Contact

Vous souhaitez faire appel à mes services pour le développement de votre application web ? Contactez-moi par email ou retrouvez-moi sur les réseaux sociaux.

E-mail
contact@michaelperrin.fr
Réseaux sociaux

Envoyer un message

<?php

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(
          $this->get('knp_snappy.pdf')->getOutputFromHtml($html),
          200,
          [
              'Content-Type'        => 'application/pdf',
              'Content-Disposition' => sprintf('attachment; filename="%s"', $filename),
          ]
      );
  }
}