Author(s): Louis Ouellet
In this third installment of our Building a Modular PHP Framework series, we will cover:
We'll build upon the groundwork set up in the previous parts, focusing on security (CSRF), setting up API routes, and more advanced database handling.
Author(s): Louis Ouellet
Time for part 2! In our previous part, we set up the groundwork of our modular PHP framework. This time, we will focus on expanding its capabilities to support the following objectives:
These enhancements will provide the flexibility we need to build modular, maintainable, and extensible applications. Let's walk through each update step by step.
Author(s): Louis Ouellet
So, if you haven't lived under a rock, you should know by now about the existence of AI (Artificial Intelligence) and LLMs (Large Language Models). They have become integral parts of many creative and technical workflows, and they’re here to stay.
Author(s): Louis Ouellet
Have you ever worked with popular PHP frameworks like CakePHP or Symfony and thought, “I wonder how these were built?” PHP frameworks can be tremendous time-savers, but they are truly powerful only when you know them inside and out. Developing your own mini-framework can be a great learning exercise, giving you deeper insight into best practices, modularity, and maintainability.
In this article, I share how I’ve started building my own PHP framework from the ground up. This includes constructing a Bootstrap class, handling configuration, setting up modules, creating a logging system, and finally wrapping requests into a tidy Request class. By walking through each piece, you’ll see the value of a well-structured, modular approach that can be extended with custom modules as needed.
Author(s): Louis Ouellet
In this project, we will repurpose an old Canon Color ImageClass MF8350CDN printer using a Raspberry Pi. Since Canon no longer supports Windows 11 for this device, using a Raspberry Pi as a print server allows us to extend the printer’s lifespan. It also enables features such as AirPrint for convenient wireless printing from Apple devices.
Below is a step-by-step guide to:
Author(s): Louis Ouellet
DokuWiki is a fantastic tool for creating and managing content collaboratively. However, working with custom markdown can sometimes be a hurdle, especially for users who aren’t familiar with its nuances. For instance, when dealing with form inputs, DokuWiki users often encounter issues with preserving newlines (\n) during form submission. To simplify this, I’ve developed a JavaScript solution that automatically converts \n to \, ensuring that forms work seamlessly with DokuWiki’s markdown syntax.
This script not only streamlines the user experience by handling markdown transformations but also makes it easier to display form inputs correctly. It’s particularly useful when forms are used in namespaces requiring strict markdown compliance. In this tutorial, I’ll show you how to set up and use this script in your DokuWiki instance.
Author(s): Louis Ouellet
iSCSI (Internet Small Computer System Interface) is a protocol that allows you to connect storage devices over a network. This can be useful for sharing storage between multiple servers or for creating a shared storage pool. iSCSI offers a cost-effective way to connect storage devices over a network, and it is widely used in data centers and enterprise environments.
In this guide, we will show you how to connect an iSCSI target on Windows Server 2022.
Author(s): Louis Ouellet
Backups are an essential part of any server management strategy. They provide a way to recover data and system configurations in case of data loss or system failure. In this guide, we will be setting up server backups on Windows Server 2022. This will allow you to create regular backups of your server's data and system state, which can be used to restore the server in case of data loss or system failure.
In this guide, we will be setting up server backups on Windows Server 2022. This will allow you to create regular backups of your server's data and system state, which can be used to restore the server in case of data loss or system failure.