Accueil

PiNAS v2 – Progression du design (cage HDD & caddies validés)

Auteur(s) : Louis Ouellet


PiNAS est de retour — et cette fois, il ne s’agit pas seulement d’une itération.

Au cours des dernières semaines, j’ai entièrement repensé mon NAS basé sur Raspberry Pi. Ce qui a commencé comme une idée simple s’est rapidement transformé en une série de défis de conception, de tests d’impression et de leçons inattendues.

Cet article ne parle pas seulement de ce qui fonctionne — mais aussi de ce qui n’a pas fonctionné, de ce qui a changé, et pourquoi.


Read more

Quand ce n'est pas le réseau : une enquête RDP qui a mené ailleurs

Auteur(s) : Louis Ouellet


Dans le cadre d'un déploiement récent, on m'a demandé d'enquêter sur des sessions Remote Desktop (RDP) instables vers un serveur distant accessible au moyen d'un VPN site-à-site.

Au départ, l'explication semblait simple : le VPN était instable. Les utilisateurs étaient déconnectés, le serveur cible était distant, et tous les symptômes semblaient pointer dans la même direction.

Sur papier, l'environnement était pourtant simple :

  • Réseau local : 192.168.115.0/24
  • Réseau distant : 192.168.201.0/24
  • VPN initial : IPsec
  • VPN temporaire de remplacement : WireGuard
  • Serveur cible : 192.168.201.100
  • Plusieurs utilisateurs se connectant en RDP

Mais comme c'est souvent le cas en infrastructure, la première explication s'est révélée être la plus pratique — pas la plus exacte.

C'est le genre de situation où tout ressemble à un problème réseau — jusqu'à ce qu'on commence à prouver ce qui fonctionne réellement, et ce qui ne fonctionne pas.


Read more

2026/03/22 20:40 · Louis Ouellet · 0 Comments

Redécouvrir l’ingénierie grâce à l’impression 3D

Auteur(s) : Louis Ouellet


Je n’ai pas acheté une imprimante 3D pour imprimer des jouets. Je l’ai achetée pour prototyper des systèmes.

Au début d’octobre, j’ai ajouté une BambuLab P1S à mon atelier. La plupart des gens commencent par un Benchy — un cube de calibration, un serre-câble, quelque chose de simple et indulgent. Moi, j’ai ouvert FreeCAD et je me suis mis à concevoir un boîtier NAS à partir de zéro.

Probablement pas le premier projet le plus subtil.

Mais je n’étais pas intéressé par des babioles. Je voulais des contraintes. Je voulais des tolérances. Je voulais me poser des questions sur le flux d’air, la rigidité de la structure, l’alignement des vis — bref, vivre ce genre d’itérations qui t’obligent à réfléchir avant d’appuyer sur « imprimer ». Je voulais réveiller des réflexes d’ingénierie que je n’avais pas utilisés depuis le secondaire — ceux qui te font penser à la répartition des charges, aux dégagements, à l’épaisseur des matériaux et à l’ordre d’assemblage.

Pendant des années, la majorité de ce que je construisais était invisible : serveurs, scripts, schémas d’infrastructure, pipelines d’automatisation. Des systèmes qui vivent dans des racks ou dans le cloud. Avec l’impression 3D, pour la première fois depuis longtemps, je pouvais concevoir quelque chose le matin et tenir le résultat dans mes mains le soir.

Quelque chose de fonctionnel. Quelque chose de structurel. Quelque chose de tangible.

Cette décision — commencer par un boîtier NAS plutôt qu’un objet décoratif — a donné le ton à tout ce qui a suivi.

Read more

2026/02/14 12:28 · Louis Ouellet · 0 Comments

Parlons-en - Construire un Framework PHP Modulaire, partie 3

Auteur(s) : Louis Ouellet


Dans ce troisième volet de notre série Construire un Framework PHP Modulaire, nous allons aborder :

  • La protection contre les attaques Cross-Site Request Forgery (CSRF)
  • La création d'une API et de ses Endpoints
  • La gestion de la base de données, incluant :
    • La gestion de la structure de la base via Schema
    • La gestion des requêtes via Query

Nous allons poursuivre le travail entamé précédemment, en mettant l'accent sur la sécurité (CSRF), la configuration des routes pour l'API et une gestion plus avancée de la base de données.

Read more

Parlons-en – Construire un Framework PHP Modulaire, partie 2

Auteur(s) : Louis Ouellet


Il est temps pour la partie 2 ! Dans la partie précédente, nous avons mis en place la base de notre framework PHP modulaire. Cette fois-ci, nous allons nous concentrer sur l’expansion de ses capacités pour prendre en charge les objectifs suivants :

  • Ajouter la prise en charge d’extensions
  • Commencer à mettre en œuvre un module en ligne de commande (CLI)
  • Ajouter la prise en charge de modèles (models) pour créer des méthodes partagées nécessitant une base de données
  • Ajouter la prise en charge de helpers pour créer des méthodes partagées ne nécessitant pas de base de données

Ces améliorations nous offriront la flexibilité dont nous avons besoin pour construire des applications modulaires, maintenables et extensibles. Passons en revue chaque mise à jour étape par étape.

Read more

Parlons-en – Pourquoi et comment j’utilise l’Intelligence Artificielle

Auteur(s): Louis Ouellet


Donc, si vous n’avez pas vécu sous un rocher, vous devriez déjà savoir que l’IA (Intelligence Artificielle) et les LLM (Large Language Models) existent. Elles font désormais partie intégrante de nombreux flux de travail créatifs et techniques, et elles sont là pour rester.

Read more

2025/01/27 16:48 · Louis Ouellet

Parlons-en – Construire un Framework PHP Modulaire de A à Z

Auteur(s) : Louis Ouellet


Avez-vous déjà travaillé avec des frameworks PHP populaires comme CakePHP ou Symfony et pensé : « Comment ont-ils été conçus ? » Les frameworks PHP peuvent être de formidables économies de temps, mais ils révèlent leur plein potentiel seulement quand on les maîtrise en profondeur. Développer votre propre mini-framework est un excellent exercice d’apprentissage, car cela offre une meilleure compréhension des bonnes pratiques, de la modularité et de la maintenabilité.

Dans cet article, je partage comment j’ai commencé à bâtir mon propre framework PHP depuis zéro. Cela inclut la création d’une classe Bootstrap, la gestion de la configuration, la mise en place de modules, la création d’un système de journalisation (logging) et enfin l’encapsulation des requêtes dans une classe Request. En explorant chaque morceau, vous découvrirez l’intérêt d’une approche modulaire et bien structurée, pouvant être étendue grâce à des modules personnalisés.

Read more

Réutiliser d’anciennes imprimantes avec un Raspberry Pi

Auteur(s) : Louis Ouellet


Dans ce projet, nous allons redonner vie à une imprimante Canon Color ImageClass MF8350CDN grâce à un Raspberry Pi. Étant donné que Canon ne prend plus en charge Windows 11 pour ce modèle, l’utilisation d’un Raspberry Pi en tant que serveur d’impression nous permet de prolonger la durée de vie de l’imprimante. Nous pouvons également profiter de fonctionnalités telles que AirPrint pour l’impression sans fil depuis des appareils Apple.

Voici un guide étape par étape pour :

  • Configurer un Raspberry Pi avec les logiciels nécessaires
  • Installer et configurer les pilotes d’impression Canon
  • Utiliser CUPS pour la gestion des impressions
  • Activer AirPrint pour les appareils iOS
  • Configurer Samba pour partager un dossier (utile pour les documents numérisés)
  • Installer et configurer un Python Startup Monitor

Read more

2025/01/21 10:13 · Louis Ouellet

Older entries >>