cavo789 🐳
banner
avonture.be
cavo789 🐳
@avonture.be
Markdown, WSL and Docker lover ~ PHP developer ~ Insatiable curious.
👉 https://www.avonture.be
How I did to refactor my #Docusaurus blog using #Docker to setup a fast production image and a development one (using #VScode #DevContainer), enabling an editable environment with pre-loaded extensions and tools like #LanguageTool for content quality checks, #cspell or #markdownlint.
Running Docusaurus using Docker | Christophe Avonture
Streamline Docusaurus blog development! Build a single Docker image for production and use VS Code Dev Containers for consistent, fast, and isolated editing.
www.avonture.be
November 11, 2025 at 1:57 PM
I have updated the image of my #Docusaurus blog on #Docker Hub.
If you want to try it out: in a DOS or Linux console, run “docker pull cavo789/blog” then “docker run -d -p 443:443 --name blog cavo789/blog.” Wait a few. Open a browser and go to localhost, and voilà, my blog is running offline. 🐋🐋
hub.docker.com
November 10, 2025 at 5:10 PM
Let's see how to create a static website using #VSCode and #Docker. The #devcontainer will be based on an image of the #Quarto software.

Everything will be preconfigured so that all you have to do is write your website from VSCode, and hot reload will allow you to see the changes in real time.
Make your Quarto project Devcontainer-Ready — No More Setup Headaches | Christophe Avonture
Convert any Quarto project into a fully portable, VSCode-powered devcontainer in minutes.
www.avonture.be
November 3, 2025 at 7:20 AM
In the professional world, there are still #MSAccess databases everywhere, created by business users with little or no technical skills. The last time I was called in to help because the database was slow and under-optimized, I created a tutorial to enable users to optimize their other databases.
How to optimize an existing MS Access database | Christophe Avonture
Speed up your slow Microsoft Access database with this step-by-step optimization guide. Learn to improve table structure, use indexes, optimize queries, and compact your database for better performanc...
www.avonture.be
November 1, 2025 at 9:03 AM
If you are or have been a #VBA programmer for Excel, here is a script that allows you to extract the code from modules as text files. The idea is to take a backup and send them to #GitHub, for example, for code versioning.
MS Excel - Get the list of references used in your modules | Christophe Avonture
MS Excel - Get the list of references used in your modules
www.avonture.be
October 27, 2025 at 8:36 AM
Reposted by cavo789 🐳
🐳 En train de créer une formation Docker complète – du niveau débutant à intermédiaire !

➡️ 12 chapitres progressifs
➡️ Compatible Windows & Ubuntu
➡️ 100% en français 🇫🇷

🔗 github.com/NDXDeveloper...

#Docker #DevOps #Container #OpenSource
GitHub - NDXDeveloper/formation-docker: 🐳 Formation Docker - De débutant à intermédiaire | Guide progressif en français couvrant Docker Engine, Docker Compose, volumes, réseaux et bonnes pratiques | C...
🐳 Formation Docker - De débutant à intermédiaire | Guide progressif en français couvrant Docker Engine, Docker Compose, volumes, réseaux et bonnes pratiques | Compatible Windows & Ubuntu - NDXD...
github.com
October 22, 2025 at 5:01 PM
#CaesiumCLT is a Linux batch image optimization program. For my part, I foolishly used the png format to take screenshots, which were then included in my articles. Compressing and saving them in #webp format without any loss of quality resulted in a 90% gain in file size—huge!
CaesiumCLT – Effortlessly compress your images right on your device | Christophe Avonture
Fast and efficient lossy/lossless image compression tool
www.avonture.be
October 20, 2025 at 6:34 AM
How should you structure your program to have a #Docker image for production and, when working locally, extend it with development tools (#devcontainer)?

In this article, let's see how to proceed. One image for the deployment and, locally, using VSCode and the devcontainer feature.
One Docker Image for Production and Devcontainers - The Clean Way | Christophe Avonture
Learn how to design a Docker setup that delivers a secure, minimal production image while enabling effortless local development through VS Code Devcontainers with clean overrides and environment isola...
www.avonture.be
October 13, 2025 at 6:12 AM
Can tasks be executed in parallel using a #linux #bash script? Yes! You can launch multiple processes, wait for them to finish, and start new ones. When you need to manage thousands of input files to, f.i., check data quality, process them, download them somewhere, this tip will boost your script.
Linux - Take advantage of the number of CPUs you have; start concurrent jobs | Christophe Avonture
Optimize your Bash scripts! Learn how to run concurrent jobs and leverage all your CPU cores using process IDs (pids), wait, and nproc to dramatically reduce execution time.
www.avonture.be
October 10, 2025 at 6:14 AM
How to write a #progressbar in a #bash shell? In my use case, I need to download and process one or more zip, they'll contains one or till thousands of csv files. How to show the progression to the user? With a progress bar for sure; even in a #linux script.
Linux - Using a progression bar in your script | Christophe Avonture
Add a visual progression bar to your Bash scripts on Linux. This guide shows you how to easily implement a progress bar to track concurrent jobs, visualize progress, and improve your terminal user int...
www.avonture.be
October 10, 2025 at 6:10 AM
When you launch several different tools with #Docker, you get several independent containers, meaning that with the Docker Desktop tool, you see them as if they were "files" (easy comparison). In my case, I like to group them by “folder”: my ‘tools’ in a “tools” folder. Can this be done with Docker?
Docker - How to group containers together | Christophe Avonture
Learn how to organize Docker containers into logical groups using compose.yaml for a cleaner workflow.
www.avonture.be
October 10, 2025 at 6:07 AM
When a #Docusaurus technical blog post was written a year or more ago, perhaps some things are no longer entirely relevant; versions may have changed, a particular tool may generate a deprecation notice, or something else may have happened.

Let's display a banner to inform the reader.
A Docusaurus component that alerts readers the article is over a year old | Christophe Avonture
Displays a warning banner when the page content is over a year old
www.avonture.be
October 3, 2025 at 7:20 AM
Over the last few days, I've redone all the images on my blog using Google Nano Banana, where you can upload one or more images, ask it to isolate one or more characters, include one or more logos, etc. and generate a new image that uses the same style as the others. In short, it's incredibly easy.
How I used Google Gemini Nano Banana on my blog | Christophe Avonture
How I used Google Gemini Nano Banana on my blog
www.avonture.be
September 29, 2025 at 6:06 AM
Learn how to start a HTML site with #Docker in just one CLI. Even using MS-DOS.
Running a HTML site in seconds using Docker | Christophe Avonture
Running a HTML site in seconds using Docker
www.avonture.be
September 29, 2025 at 6:04 AM
#Docusaurus Build a dynamic #Snippet component that auto-updates code from your source files, ensuring your articles are always current and impactful.

Thanks to @docuxlab.com for his LogoIcon component.
A component for showing code snippets in a Docusaurus blog | Christophe Avonture
Learn how to build a custom React component to embed dynamic code snippets in your Docusaurus blog for a more interactive reader experience.
www.avonture.be
September 24, 2025 at 6:15 AM
Creation of a #Docusaurus plugin to perform Search&Replace, i.e., during the HTML code generation phase of the site, replace certain defined values with another string of characters.

One could imagine a snippets-type use case for this i.e. you put things like $CLIENT_ID$ and replace it on-the-fly.
Creating a search&replace plugin for Docusaurus | Christophe Avonture
Creating a search&replace plugin for Docusaurus
www.avonture.be
September 18, 2025 at 6:17 AM
Updating my #Docusaurus tips article by adding a chapter about the #Highlight React component.
Some tips and tricks when written articles for Docusaurus | Christophe Avonture
Some tips and tricks when written articles for Docusaurus
www.avonture.be
September 13, 2025 at 5:57 PM
Adding a #ScrollToTopButton feature on my #Docusaurus website.

Now, a nice meerkat will be displayed during the vertical scroll on long articles. Just click on it and you'll jump back to the top with a smooth animation.

React component created by @docuxlab.com
Providing a go to the top button in Docusaurus posts | Christophe Avonture
Providing a go to the top button in Docusaurus posts
www.avonture.be
September 12, 2025 at 3:22 PM
When you're already using #Docker and #vscode , you can code inside a #devcontainer.

You'll open your project with VSCode but everything will already be configured for that specific project: extensions, configuration, tools (like enabling XDebug here).
PHP development in a devcontainer with preinstalled code quality tools | Christophe Avonture
PHP development in a devcontainer with preinstalled code quality tools
www.avonture.be
September 12, 2025 at 7:45 AM
List of #CodeQuality tools I'm using for #Python

1. Pylint
2. Autoflake
3. isort
4. vulture
5. pydocstyle
6. mypy
7. Pyright
8. Black
9. prospector
10. Extra - Ruff
Python - Code Quality tools | Christophe Avonture
Python - Code Quality tools
www.avonture.be
September 12, 2025 at 7:42 AM
My new #Docusaurus component (and plugin) to be able to create a list of articles as part of a series.

Also, create a /series and /series/:slug pages to promote them.

Creating series will allow authors to cut off very big articles in smaller ones, increase SEO and it's more professional, no? ;)
Organize Your Docusaurus Content with a Custom Series Component | Christophe Avonture
Organize Your Docusaurus Content with a Custom Series Component
www.avonture.be
September 10, 2025 at 8:49 AM
Overriding the native #Docusaurus tags page to display articles as cards; much nicer when there are a large number of articles.

The Cards component is the one of @docuxlab.com

Learn how to proceed by reading my latest article.
Display Docusaurus Blog Posts as Cards - A Step-by-Step Guide | Christophe Avonture
Display Docusaurus Blog Posts as Cards - A Step-by-Step Guide
www.avonture.be
September 8, 2025 at 9:17 AM
Because this doesn't exist natively in #Docusaurus, I created a React component called RelatedBlogPosts that displays related articles.

It increases the interest of each post (and their visibility) when a visitor comes for a specific post and sees that there are other things that may interest them.
Displaying related posts below our Docusaurus article | Christophe Avonture
Displaying related posts below our Docusaurus article
www.avonture.be
September 3, 2025 at 5:42 AM
After #Behat, after #Cypress let's play with #Pest and write some browser tests.

Such functional tests will allow you to automate actions on your website like navigating, filling in forms, ... and do assertions like checking DOM elements.

In this article, let's do everything in #Docker. No config.
Writing functional tests with Pest | Christophe Avonture
Writing functional tests with Pest
www.avonture.be
August 30, 2025 at 7:26 AM
Introduction to #Behat which is a PHP framework to allow functional tests on your website.

Behat is perhaps quite old now (but still working).

Let's see in deep how to implement it and make some checks .
Introduction to Behat | Christophe Avonture
Introduction to Behat
www.avonture.be
August 30, 2025 at 7:22 AM