Le langage de programmation PHP

C'est avec le PHP que j'ai appris à développer des sites web. Ce langage évolue énormément et je l’utilise depuis plus de 20 ans. Dans ces articles j'aborde des notions de base mais aussi des solutions plus avancées et abouties avec la plus part du temps des cas d'utilisation concret.

Quel outil choisir pour utiliser Elasticsearch dans un projet Symfony

Comment utiliser Elasticsearch dans un projet Symfony? Quelle librairie ou bundle utiliser? Ce sont des questions que je lis fréquemment sur les slack communautaires. Je ne vais pas vous écrire un guide complet mais vous donner mon avis sur les différentes solutions que j'ai utilisées ou rencontrées. Lire la suite

Migration de mes projets Symfony sur Jenkins pipeline pour la CI/CD

Nous sommes en 2022 et oui j'utilise toujours Jenkins pour l'intégration et le déploiement continue de mes projets. Pourquoi? Parce que Jenkins fait le taff et il le fait bien, également car j'aime héberger mes outils et Jenkins me semble plus simple que Gitlab sur le sujet. Lire la suite

Sécuriser ses données via le chiffrement en PHP

Personne n’est à l’abri d’une fuite des données de son application. Le chiffrement est une bonne solution pour rendre cette fuite inexploitable. Dans cette article je vous montre comment y parvenir avec PHP à travers quelques cas d’utilisation. Lire la suite

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

Controler le nombre de réessaie d'un message avec x-death dans RabbitMQ

Parfois le traitement d'un message provoque une erreur. Dans ce cas, il est courant de déplacer ce message dans une autre queue pour réessayer de le traiter plus tard. Tout cela peut être automatisé dans RabbitMQ avec les option DLX/DLK et l'application d'un TTL. Mais attention de ne pas créer une boucle infinie de tentative de traitement, dans cet article je vais vous présenter x-death pour contrôler le nombre de réessaie. 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

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

Compte rendu du PHP Tour 2017 à Nantes de l'AFUP

J'étais à Nantes la semaine dernière pour le PHP Tour 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é. 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

Recherche