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.
Des copeaux de bois, de la soudure, de l’impression 3D et des tatouages – c’était JoliDay 2023
Comme tous les ans, nous avons profité d’un jour férié (en application de la journée de solidarité) pour nous retrouver tous ensemble et faire des projets ni Web ni Mobile, mais toujours de qualité 👌. Nous avons un gros faible pour le DIY et retrouvons la même gratification à résoudre…
Making a Single-Page Application with HTMX and Symfony
With the plethora of Javascript frameworks available today, web pages became smoother and smoother in terms of User Experience, a field Symfony has been trying to improve too with initiatives like Symfony UX. That’s great for users, as it provides them with a seamless and intuitive…
Lire la suite de l’article Making a Single-Page Application with HTMX and Symfony
Nous étions chez Mickey pour le Forum PHP 2023, notre rapport complet !
Comme chaque année l’équipe de JoliCode était présente au Forum PHP de l’Afup, le plus gros événement PHP de l’Hexagone, pour deux jours de conférence sur l’éco-système ! Dans cet article nous allons vous partager les clés de ce que nous avons entendu au centre de conférence The…
Lire la suite de l’article Nous étions chez Mickey pour le Forum PHP 2023, notre rapport complet !
Ce que Paris Web 2023 nous apprend
Pour cette rentrée 2023, nous étions, une fois de plus, au rendez-vous pour une dix-huitième édition de Paris Web se déroulant à l’Institut Pasteur, en plein cœur de Paris. Accessibilité et IA Lors de ces deux journées, nous avons pu assister à divers sujets portant sur le thème…
Lire la suite de l’article Ce que Paris Web 2023 nous apprend
Pro-tip: Using wget Mirror Mode with Custom HTML Attributes
In this quick post I will explain how to edit an external website transparently, allowing wget to follow links it would not have seen otherwise. Wget mirror issues You may already know this, wget has an awesome—mirror option allowing to capture an entire website with all the images, …
Lire la suite de l’article Pro-tip: Using wget Mirror Mode with Custom HTML Attributes
Mitiger une attaque sur un site en quelques commandes avec fail2ban
Un vendredi après-midi, le site d’un client devient lent, des notifications d’erreurs venant de nos différents outils de monitoring commencent à arriver sur Slack, les graphes de redirection.io montrent un nombre de requêtes qui explose, … Avec un WAF (Web Application Firewall)…
Lire la suite de l’article Mitiger une attaque sur un site en quelques commandes avec fail2ban
State replication with Symfony Workflow, Messenger, and RabbitMQ
In this article, we’ll see how we can replicate some data between two different applications that live in two different locations. But the special thing is that the network is not reliable! Yeah, network is never reliable, but here, it’s really not 😁 The project has two applications:…
Lire la suite de l’article State replication with Symfony Workflow, Messenger, and RabbitMQ
About Symfony Messenger and Interoperability
The Messenger component has been merged into Symfony 4.1, released in May 2018. It adds an abstraction layer between a data producer (or publisher) and its data consumer. Symfony is thus able to send messages (the data) in a bus, usually asynchronous. In concrete terms: our controller…
Lire la suite de l’article About Symfony Messenger and Interoperability
A new way to squash your Doctrine migrations
As time flies, Doctrine migrations stacks. After many years of working on a project, you’ll have a high number of migrations. Even if it’s not a big issue, It takes a lot of space in your code sources, and it can take some time in your CI (Continuous Integration). Doctrine already…
Lire la suite de l’article A new way to squash your Doctrine migrations
Des panneaux dépliants flexibles en CSS
État des lieux L’arrivée du module CSS Grid Layout (modèle de disposition en grille) et sa prise en charge par la majorité des navigateurs modernes a véritablement révolutionné notre façon de réaliser des mises en page, mais pas seulement… Parallèlement, plusieurs astuces ont également…
Lire la suite de l’article Des panneaux dépliants flexibles en CSS
Castor, a journey across the sea of task runners
At JoliCode we were early adopters of Docker (since late 2013). When we discovered it, we strongly believed that this tool would fit perfectly in our dev environment and allow teams to work under the same clean and reproducible environment. However, like each new piece of software, …
Lire la suite de l’article Castor, a journey across the sea of task runners
Make Your Entities Sortable in EasyAdmin
Imagine that your EasyAdmin administration backend contains an entity (Sponsor in our example) and that you want to give the user the possibility to choose the order in which these sponsors are displayed on the application frontend (maybe because alphabetical sorting is not relevant).…
Lire la suite de l’article Make Your Entities Sortable in EasyAdmin
Un ch’ti récap de l’AFUP Day 2023 à Lille
Si vous nous lisez régulièrement ici, vous le savez, nous ne ratons quasiment jamais une conférence AFUP. Ce printemps ne déroge pas à la règle, nous étions à Lille pour l’AFUP Day 2023 dans un lieu aux allures de château anglais dans lequel on enseignerait la magie. Et c’était presque…
Lire la suite de l’article Un ch’ti récap de l’AFUP Day 2023 à Lille
We are open-sourcing our QOTD application
At JoliCode, we like to share our knowledge and our tools. We also like to have fun. That’s why we created a QOTD application for our Slack workspace. We are happy to announce that we are open sourcing it so you can use it in your own workspace. This project is a « pet project ».…
Lire la suite de l’article We are open-sourcing our QOTD application
Simplifier la génération de certificats SSL avec Let’s Encrypt
Lorsque que nous devons assurer nous-mêmes l’hébergement de certains projets (pour des clients ou des projets internes), nous utilisons Ansible pour provisionner les serveurs et/ou déployer nos applications. Au fil des années, nous avons rassemblé notre expérience avec Ansible au…
Lire la suite de l’article Simplifier la génération de certificats SSL avec Let’s Encrypt
Create your own shiny Open Graph images with Imagine PHP
You might not have noticed, but we use our own custom Open Graph preview images for our articles. Some of you asked us how we did it, so here you go! In this article we will explain how to use the php-imagine/Imagine library to create some preview images suited to your needs like…
Lire la suite de l’article Create your own shiny Open Graph images with Imagine PHP
Symfony, reverse proxies and IP protection
Following an issue encountered on one of my projects, I had to dive into how IP protection works in Symfony applications when at least one reverse proxy is in front of them. After some research, trial and error, I thought it was the perfect opportunity to go back to the basics, then…
Lire la suite de l’article Symfony, reverse proxies and IP protection
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