Articles

You will find here all the articles that I have published, happy reading!

9 minutes

DevOps

Deploying 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

DevOps

Deploying 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

DevOps

How 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

Dev

Build 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

Dev

How 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

DevOps

How 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

DevOps

How 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

DevOps

How 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

Dev

Rspec: 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

Tips

Best 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

Dev

Hotwire: 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

Dev

Hotwire: 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

Posts

Installing 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

PostsFrench

Je 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

Dev

Why 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

Dev

Introducing 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

Dev

13 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

Dev

Using 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

Dev

Rendering 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

Posts

How 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

Dev

Free 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

DevOps

Managing 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

DevOps

Backing 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

Dev

Signing 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

Dev

Laravel & 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

Dev

Laravel & 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

Dev

Relative 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

DevOps

Using 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

Dev

Laravel: 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

DevOps

How 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…