Articles
You will find here all the articles that I have published, happy reading!
9 minutes
DevOpsDeploying production, staging and review apps environments automatically with Kamal on CI/CD
One of the features I truly appreciate about PaaS platforms like Heroku, Netlify, or Vercel is review apps. The idea is simple but powerful: spin up a…
5 minutes
DevOpsDeploying Nuxt 3 with Kamal 2 on Docker: Statically or with SSR
I often deploy static websites and have experience with various tools like Nuxt, Next, Jekyll, and Gatsby. Platforms like Netlify, Vercel, and…
6 minutes
DevOpsHow to deploy Laravel with Kamal 2 and SSL certificate on any VPS
I recently purchased a new dedicated server and decided to deploy my most-starred GitHub project, laravel-blog. Since this project has never been in…
3 minutes
DevBuild Magic link authentication for Devise natively in Rails 7.1 thanks to generates_token_for
Today, I decided to implement a Magic Link authentication system for my SaaS app, Timecop-app. The app’s authentication is powered by Devise and Rails…
5 minutes
DevHow I use OpenAI to translate my Rails application into multiple languages
I recently decided to add multiple languages to my time tracking application, Timecop-app.com, to expand its market reach. The application is a…
7 minutes
DevOpsHow to Deploy and Scale your Rails application with Kamal
For bigger projects, it might be a good idea to split the workload among multiple servers based on their specific purposes. For instance, in our case…
7 minutes
DevOpsHow to deploy Rails with Kamal, PostgreSQL, Sidekiq and Backups on a single host
In the previous post, How to deploy Rails with Kamal and SSL certificate on any VPS, we saw how to deploy a simple Rails application with Kamal and…
7 minutes
DevOpsHow to deploy Rails with Kamal and SSL certificate on any VPS
Kamal is a tool to help you deploy your Web applications anywhere in the cloud or your own machines with Docker. To quote their headline: Kamal offers…
1 minute
DevRspec: Natively control Time with Rails
You can natively control Time in your specs with Rails. You don't need additional gems like the really good Timecop. Rails has a built-in mechanism to…
1 minute
TipsBest way to keep two folders in sync
Sometime, you have to keep two folders in sync. They can be on external devices like SSDs or HDDs, on remote servers or on NAS for instance. It could…
1 minute
DevHotwire: Lazy load content with a <turbo-frame>
I recently wrote a blog post on Per Angusta's blog to show you how use Hotwire to lazy load content in your application with no effort. Take a look…
3 minutes
DevHotwire: Reactive search form without JavaScript
You don't need complicated yet fancy front-end frameworks like React or Vue to create reactive index. Let's see how we can do it with Hotwire, a dead…
2 minutes
PostsInstalling Pi-hole on a headless Raspberry Pi Zero W from scratch
If you want to install Pi-hole on your network, you might be interested in using a Raspberry PI. It's cheap and easy to set up. If you already have a…
1 minute
PostsFrenchJe commence un Podcast
J'écoute des Podcast depuis plus de dix ans maintenant et ce format m'a toujours plu. Je suis un passionné du Web et j'ai envie de parler de beaucoup…
4 minutes
DevWhy I stopped using Docker for local development
I've been using Docker for almost 5 years now. I wrote blog posts on it and I enjoyed using it for a long time, it solved many of my problems and…
1 minute
DevIntroducing Stimulus components
I'm a huge fan of the Stimulus JavaScript framework. If you never heard about it, you should read The Origin of Stimulus. Stimulus has a very…
7 minutes
Dev13 tips to write better Rails code
Writing clean code is the key for maintainable and sustainable code. Here's some of my favorite tips I could give you after many years working on…
4 minutes
DevUsing Vue.JS in backend application with Scoped Slots
If you ever have implement Vue.JS or any others UI libraries like React in your backend application, you probably know that there are multiples ways…
3 minutes
DevRendering React Components With Custom Elements
A common approach to render a component in React is to call the ReactDOM.render method on a DOM element. If you want to use both React and your…
4 minutes
PostsHow I efficiently stay up-to-date
I’m often asked how I stay up-to-date, what my tips and tools are, and how I’ve spent years refining a system that works for me. In this article, I’ll…
3 minutes
DevFree up space on your SSD as a developer
If you're a developer with a Mac, it's very likely you've experienced a lack of space on your SSD. Modern tools like Docker, Node, or Brew can be very…
2 minutes
DevOpsManaging DNS for a reverse proxy
If you use multiple web applications on one or more servers, you will need to use a reverse proxy like Nginx or Traefik. (We'll have the opportunity…
2 minutes
DevOpsBacking up a Linux server to a Synology NAS with Active Backup
Synology recently updated its enterprise backup solution, Active Backup Suite. This package can be used to back up multiple services such as virtual…
3 minutes
DevSigning your Git commits with GPG
On Git, there's a way to prove that you are indeed the author of a commit, allowing others to verify that it comes from a trusted source. Today, we…
3 minutes
DevLaravel & Vue.js - Building a Todo list, Part 6: Some Refactoring
I've taken the time to refactor some parts of the code since the last article. No major changes, but updating dependencies forced me to make several…
7 minutes
DevLaravel & Vue.js - Building a Todo list, Part 7: Managing tasks with Vuex and Axios
We have reached the heart of the application: task management. This is the central part of the project and the most important for end users. I've gone…
3 minutes
DevRelative dates in PHP
Managing dates has never been an easy task, and the programming language doesn't change much about that challenge. There are libraries like Carbon…
4 minutes
DevOpsUsing Docker Networks from the Host
If you use Docker and Docker Compose extensively, you know there are a few inconveniences, including managing networks from the host and between…
2 minutes
DevLaravel: How to better organize your routes
By default, Laravel comes with four route files to manage the entry points of our application. These files handle routes for APIs, WebSockets, console…
3 minutes
DevOpsHow to install and use GitLab Runners
If you've ever worked with GitLab, you might have had the opportunity to explore continuous integration (CI). Today, we’ll discuss what a Runner is…