Notre blog
Nous partageons nos découvertes, nos retours d’expérience et plus généralement nos bonnes pratiques, dans l’objectif de diffuser la connaissance à tous.
Ce blog technique est le fruit de notre veille constante sur les technologies que nous employons.
Symfony, reverse proxies et protection par IP
Suite à un souci rencontré sur un de mes projets, j’ai dû me plonger dans le fonctionnement de la protection par IP dans nos applicatifs Symfony lorsque des reverse proxies se trouvent devant. Après quelques recherches et tâtonnements, je me suis dit que c’était l’occasion parfaite…
Lire la suite de l’article Symfony, reverse proxies et protection par IP
How to use mock with Symfony’s WebTestCase and PHPUnit
We faced a problematic situation while testing our application, and we may have found a super cool solution. It’s a bit experimental, but we want to share it with you anyway. The context We have a service that usually makes calls to an external API. It’s a wrapper around the Stripe…
Lire la suite de l’article How to use mock with Symfony’s WebTestCase and PHPUnit
Retour d’expérience : quand Doctrine Collections rencontre de grandes cardinalités
Dans le cadre d’un gros projet, sur lequel nous intervenons en support, une réécriture du mécanisme des codes promo a été mise en ligne. Nous sommes souvent assez sereins sur le déploiement de nouveau code, car nous avons mis tous les atouts de notre côté : Tout est tracé et logué, …
Symfony Webhook & RemoteEvent, or how to simplify external event management
During the SymfonyCon 2022 conference at Disneyland Paris, Fabien Potencier unveiled two new components to the Symfony community: Webhook and RemoteEvent. They have recently (March 2023) been merged into the 6.3 branch, so we can start testing them, which is what we’ll do in the…
Astuces pour traiter des gros volumes de données dans Symfony
Dans la vie d’un développeur, il arrive forcément un moment où l’on doit traiter un volume important de données via une ligne de commande. Et les premières fois, ça fait BOOM 💥, on utilise du memory_limit=-1, des optimisations… Dans cet article, je dresse une liste des différents…
Lire la suite de l’article Astuces pour traiter des gros volumes de données dans Symfony
Symfony Webhook et RemoteEvent, ou comment simplifier la gestion d’événements externes
Lors de la conférence SymfonyCon 2022 à Disneyland Paris, Fabien Potencier a dévoilé à la communauté Symfony deux nouveaux composants : Webhook et RemoteEvent. Ces derniers ont récemment (mars 2023) été mergés dans la branche 6.3 et nous pouvons donc commencer à les tester, c’est…
Rendez-vous service et optimisez votre environnement de développement
Ceci est le transcript d’un lightning talk donné par Bastien lors du SymfonyLive Paris 2023. On monitore toujours la production. Mais qui monitore l’environnement de développement ? Il paraît évident de monitorer les performances de la production, c’est une pratique quasiment…
Lire la suite de l’article Rendez-vous service et optimisez votre environnement de développement
Notre retour sur le SymfonyLive Paris 2023
Nous étions nombreux de JoliCode à assister, la semaine dernière, à une nouvelle édition du SymfonyLive Paris. Cette conférence se déroule depuis des années au sein de la magnifique Cité Universitaire de Paris. Voici notre retour sur ces 2 jours de conférences dans l’écosystème Symfony.…
Lire la suite de l’article Notre retour sur le SymfonyLive Paris 2023
Leverage Symfony VarDumper Component to Enhance your Dumps
Symfony’s VarDumper Component is a game changer when it comes to debugging. It allows us to dump variables in a clean and efficient way. We hope you already use it in your projects. If not, you should definitely give it a try! Today, we’ll see how we can extend it to dump our objects, …
Lire la suite de l’article Leverage Symfony VarDumper Component to Enhance your Dumps
Comprendre et éviter les attaques CSRF grâce à Symfony
CSRF veut dire Cross-Site Request Forgery en anglais, une traduction française pourrait être « Falsification de requêtes inter-sites ». Dans cet article, nous allons faire un rappel de ce qu’est une attaque CSRF et comment Symfony nous en protège. Puis au travers d’un exemple…
Lire la suite de l’article Comprendre et éviter les attaques CSRF grâce à Symfony
Handling signal with Symfony Command
A few years ago, we wrote an article (in french) about how POSIX signals work in PHP. Today, we want to share with you how to handle signals with Symfony Command. ⚠ This works only as of Symfony 6.3. Symfony 6.3 will be released in May 2023. By default, Symfony Command does not handle…
Lire la suite de l’article Handling signal with Symfony Command
Aggressive Caching with Symfony HTTP Client
The Symfony CachingHttpClient The HttpClient component comes with a client that can cache responses when possible. It means the client won’t issue another request to the server if the response is already available in the cache. It works like your browser by reading some headers like…
Lire la suite de l’article Aggressive Caching with Symfony HTTP Client
How to Configure DNS for Developing Webapp with Dnsmaqs once for all
When you install a new project, you often need to edit your /etc/hosts file. It isn’t really painful but wouldn’t it be better if we could avoid it? I have used Dnsmasq for a decade to solve these kinds of problems, and I’m really happy with it. I asked around me, and it does not…
Lire la suite de l’article How to Configure DNS for Developing Webapp with Dnsmaqs once for all
Quick PHP tip: Initialize a DateTime object from string, but with time resetted
Initialize the PHP DateTime object For a variety of reasons, we all have to initialize DateTime objects from strings like 2023–02–14. The quick and clean way to get an object from this kind of string is to use createFromFormat method of DateTime (or DateTimeImmutable): If I run…
FOSDEM 2023, it’s back IRL!
After two years online, the FOSDEM is back in the ULB in Bruxelles. The biggest European meeting for developers of free and open source softwares reunited thousands of developers and other tech enthusiasts. Coming from all Europe and beyond, they gathered for two days, to watch for…
How to Fix Memory Leak in Doctrine Migrations
I had to write a Doctrine migration to fix some bad data. Unfortunately there was so much data (~600K records) that the migration leaked. The memory consumption reaches about 12Gb! That’s not really acceptable! Usually, when there is a leak in Doctrine DBAL (not the ORM), it comes…
Lire la suite de l’article How to Fix Memory Leak in Doctrine Migrations
How to build a OR condition in Elasticsearch Query DSL
Today I want to share a little piece of information about the Elasticsearch Query DSL we all love and cherish. There is no « or » or « and » query. There was one in Elasticsearch <= 2.4 but it’s long gone now. So how do you build a « or » condition then?…
Lire la suite de l’article How to build a OR condition in Elasticsearch Query DSL
Dites-nous tout !
Un de nos articles vous a aidé dans votre travail et vous voulez nous remercier ?
Vous avez trouvé une typo ou une erreur ?
N’hésitez pas à nous le faire savoir
en nous envoyant un message