Utilisation d'Elasticsearch avec Symfony et la librairie elasticsearch-php

Elastic qui édite Elasticsearch met à disposition la librairie elasticsearch-php. Cette lib simple propose un client à l'API avec toutes les options possible pour se connecter. Son avantage étant d'être léger et de laisser aux développeurs le choix de l'implémentation pour l'utiliser. C'est une très bonne alternative à la librairie Elastica et sa couche d'abstration. Pour ce blog, je l'utilise avec Twig pour gérer mes index mais aussi pour requêter l'API. Lire la suite

Sécuriser les cookies de son application web

La plupart des sites utilisent des cookies. Que ce soit pour du tracking ou de la persistance de données, il faut bien avouer que les bonnes pratiques de sécurité ne s'appliquent pas souvent. Dans cet article je vais donc vous présenter les différentes options disponible en PHP et comment les mettre en œuvre avec Symfony. Lire la suite

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. Lire la suite

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. Lire la suite

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. Lire la suite

Utiliser le composant Config de Symfony2 pour valider les fichiers XML et YAML

Cet article parle du composant Config de symfony2 qui permet d'exposer sémantiquement une configuration et de la valider. Pour me casser souvent les dents dessus, j'ai décidé de compiler ici quelques trucs utiles qui n'apparaissent pas dans la documentation officielle. Lire la suite

Comment Doctrine2 ORM a tué le bénéfice de mon cache pour soulager ma base de donnée

Aujourd'hui je vous raconte une petite histoire à propos de MariaDB et Doctrine2 en train de couler et comment Redis, venant les sauver, les coule encore plus vite. Retour d’expérience sur mes déboires avec Redis et Doctrine2 en espérant soulager un MariaDB a bout de souffle. Lire la suite

Pense bête: activer la rotation de logs de Symfony 2 dans la configuration de Monolog

Configurer la rotation de logs de Symfony peut éviter bien des soucis. Voici comment faire. Lire la suite

Symfony2: étendre globalement les options des FormType avec l'injection de dépendance (MAJ)

J'ai eu besoin de modifier les options que l'on peut passer à un Type afin de retrouver l'option help qu'il y avait dans les widgets de symfony 1. Dans cet article je vous présente comment j'ai ajouté cette option dans les Type de symfony2 sans avoir à surcharger tous les Types. Mise A Jour: grace au commentaire j'ai découvert les Forms Extension, l'article les utilise. Lire la suite

Exemple d'utilisation du composant serializer de Symfony2: création d'un sitemap

Petite présentation du composant Serializer de Symfony2 (la version originale du framework, pas la surcharge JMS) par un exemple: la construction en dynamique d'un sitemap d'un site web. Lire la suite

Recherche