Modifier la structure des tables mysql sans bloquer l'utilisation avec pt-online de Percona

Les modifications de structure de table (alter table) en base de donnée peuvent parfois prendre beaucoup de temps et deviennent une tache sans cesse repoussée par les admins pour finalement être souvent jouée à des heures tardives. Pourtant il existe des outils pour répondre à cette problématique ; pt-online de Percona Toolkit est l'un d'entre eux.

Compte rendu du Forum PHP 2017 à Paris de l'AFUP

J'étais à Paris la semaine dernière pour le Forum PHP organisé par l'AFUP. Encore une belle édition avec beaucoup de conférences intéressantes. Voici un résumé des conférences auxquelles j'ai assisté. MAJ 14/11/17: ajout des vidéos

Manipuler des JSON en ligne de commande grace à JQ exemple avec cURL

Je n'utilise quasiment plus que la ligne de commande pour faire des appels sur des APIs en utilisant cURL. C'est pratique et rapide, facilement scriptable si besoin et l'historique du bash me permet de gagner du temps. Seulement la réponse fournie par cURL n'est pas toujours très lisible surtout quand il s'agit de JSON. Dans cet article je vais donc vous présenter JQ que j'utilise pour afficher un JSON facilement lisible et plus encore.

RabbitMQ ne plus perdre de message avec l'utilisation d'Alternate Exchange et fanout

Publier un message dans RabbitMQ est très facile, malheureusement RabbitMQ ne fournis en retour aucune information sur la réussite ou non de la publication dans une queue. Une simple faute de frappe dans la routing key et le message sera perdu à jamais sans pouvoir en être informé. L'option Alternate Exchange permet de récupérer les messages dans une queue spécifique.

Controler automatiquement la sécurité de ses dépendances avec SensioLabs security checker, Jenkins et Phing

Aujourd'hui, nous incluons toujours plus de librairies externes dans nos projets. Même si l'on y gagne beaucoup de temps, il n'est pas exclut que nous introduisions des failles de sécurité. Ce contrôle n'est malheureusement pas systématique mais surtout rarement automatisé. Je montre dans cet article comment automatiser ce contrôle en utilisant l'outil Security Checker de SensioLabs à travers une tâche Phing. C'est aussi l'occasion de parler un peu plus des tâches sous Phing qui permettent de faire beaucoup de chose.

Protéger son authentification symfony3 contre les attaques par force brute

Tout formulaire d'authentification est susceptible d'être attaqué par un hacker (enfin plus un robot) via une brute force. Cette attaque consiste à tester des couples login/password jusqu'à en trouver un qui permet de s'authentifier. Dans cette article je vais vous montrer comment se protéger facilement de ces attaques dans une application Symfony3 ou 2 via l'utilisation des Events de Symfony. C'est aussi l'occasion d'utiliser le composant cache introduit dans Symfony 3.1.

Tags et CompilerPass de Symfony2 expliqués par l'exemple

Le container de dépendance est le composant central de Symfony2, tout le monde l'utilise. Moins sont les développeurs qui utilisent les tags dans la définition d'un service et malheureusement peu savent comment ça marche. C'est l'object de cet article, montrer par l'exemple l'utilité des tags et leur utilisation via le CompilerPass. Cela permet de réduire les dépendances entre les classe facilite la maintenabilité du site.

Packager son code dans une archive PHP: PHAR

Dans cet article, je montre comment regrouper son code dans une archive PHP Phar. Cette étape un peu compliqué, est aujourd'hui grandement facilité par des outils disponibles sur Github. J'illustre ici, l'utilisation de clue/phar-composer.