Aller au contenu

Blog

2026

Ce que je publie sur le blog DataKhi

Depuis début 2026, je publie des articles techniques sur le blog de DataKhi, le cabinet de conseil data où je travaille en CDI depuis 2025. Ces articles sont issus de problèmes concrets rencontrés en mission — pas de la théorie, du retour d’expérience. Je ne vais pas les résumer ici (ils sont déjà écrits et accessibles), juste donner le contexte dans lequel chacun a été rédigé. Les articles # Construire une plateforme de données souveraine # Écrit après avoir déployé une plateforme data complète pour un client télécom (mission Nyukom). L’article couvre l’architecture MinIO / PostgreSQL / Airflow / K3s et les choix techniques qui ont mené à une stack 100% open source et auto-hébergeable. C’est le retour d’expérience le plus complet que j’ai écrit à ce jour.

2025

Homelab : Stockage et Hébergement

Après avoir mis en place le monitoring et la supervision, une étape tout aussi essentielle pour mon homelab est la mise en place d’un système de stockage fiable et adapté à mes besoins. Mon infrastructure repose sur quatre piliers principaux : PostgreSQL pour la gestion des vecteurs et autres données applicatives. Gitea pour l’hébergement de mon code et l’intégration CI/CD. Docker Registry pour un stockage léger et efficace des images Docker. Stockage FTP sur mon NAS Synology pour héberger datasets, modèles et autres fichiers nécessaires. Dans cet article, je vais détailler mon approche et les outils utilisés.

Homelab : Monitoring et Supervision

Après avoir mis en place l’infrastructure de base et l’exposition sécurisée des services, une étape cruciale dans la gestion d’un homelab est la mise en place d’un système de monitoring complet. Dans cet article, je vais détailler les différents outils que j’utilise pour surveiller et gérer mon infrastructure : Portainer pour la gestion des conteneurs, Prometheus et Grafana pour la collecte et la visualisation des métriques, et Glance pour avoir une vue d’ensemble rapide de mon homelab.

Homelab : Exposition des Services et Automatisation

Après avoir mis en place l’infrastructure de base de mon homelab avec Proxmox, l’étape suivante consiste à exposer les services de manière sécurisée et à automatiser leur déploiement. Pour cela, j’utilise Nginx Proxy Manager comme reverse proxy et Ansible pour l’automatisation. Cette configuration permet d’exposer facilement mes services en HTTPS tout en maintenant une gestion centralisée des certificats SSL. Architecture d’Exposition des Services # Nginx Proxy Manager # Le reverse proxy est installé sur la VM stargate (192.168.1.134) qui sert de point d’entrée pour tous les services exposés. Cette configuration présente plusieurs avantages :

Book Reco : Déploiement et Orchestration

Pour finaliser mon projet de recommandation de livres, j’ai mis en place une stratégie de déploiement basée sur Docker et orchestrée via un Makefile. L’ensemble du système est hébergé dans mon homelab, avec une API accessible à l’adresse https://app.bookfarm.spacesheep.ovh/. Tout est sur le dépôt Github. Architecture de Déploiement # Le déploiement s’articule autour de trois composants principaux : Pipeline de données : Gère la collecte et le traitement des données Microservices : Services de vectorisation, clustering et gestion des images API : Point d’entrée pour les requêtes clients Chaque composant est conteneurisé avec Docker et peut être déployé indépendamment grâce à un Makefile qui orchestre l’ensemble.

2024

Homelab : Bios, proxmox et ip locales

Dans le cadre de mon projet homelab, qui vise à créer un environnement informatique personnel pour héberger divers services et expérimenter avec différentes technologies, la première étape consistait à installer et configurer Proxmox VE comme hyperviseur sur mes deux serveurs. Ce choix s’inscrit dans une architecture plus large comprenant un routeur, deux serveurs de virtualisation et un NAS Synology, permettant de centraliser et d’automatiser la gestion de mes services personnels.

Homelab : Outils et Choix d’Hébergement

·3 mins
Avec mon homelab, mon objectif est de créer un environnement flexible, scalable et automatisé, couvrant des besoins variés : développement, stockage, monitoring, et auto-hébergement de services personnels. Voici une présentation des choix technologiques et de la structure que j’ai adoptés pour répondre à ces besoins. Architecture # Mon homelab se compose de quatre éléments principaux : Routeur : Héberge une petite VM avec des services réseau essentiels. Serveur avec GPU (Proxmox) : Conçu pour des tâches exigeantes comme l’hébergement de modèles IA, le développement, et les services gourmands en calcul. Serveur sans GPU (Proxmox) : Optimisé pour l’automatisation, le monitoring, et le stockage rapide (Redis, bases de données). NAS Synology : Principalement utilisé pour le stockage et quelques services légers. Objectifs principaux # Centraliser mes services avec une gestion simplifiée. Automatiser les configurations pour faciliter les déploiements futurs. Exploiter des outils modernes pour l’efficacité et la sécurité. Le but n’est pas d’en faire trop mais de créer un environnement de développement que je controle parfaitement et qui ne se met pas en travers de mon chemin, avec en bonus des services qui pourront améliorer mon confort et me permettre d’éviter d’utiliser des logiciels propriétaires.

Book Reco : Serveur API

Après avoir organisé les données en base, il s’agit maintenant de les exposer pour les futurs services. Le module “expose” est dédié à cette tâche. Il sert de serveur API pour requêter la base de données PostgreSQL et fournir des informations détaillées sur les livres ainsi que des recommandations basées sur des vecteurs. Tout est sur le dépôt Github. Il permet de : Récupérer des informations détaillées sur les livres en utilisant divers filtres. Générer des recommandations de livres similaires en utilisant des méthodes de similarité vectorielle comme la distance euclidienne, la distance de Manhattan (taxicab) et la similarité cosinus. Ce module est conçu pour être intégré dans un pipeline d’analyse asynchrone et supervisé via FastAPI, offrant une API RESTful performante et facile à utiliser.

Book Reco : Génération de Vecteurs

Dans le cadre de mon projet de recommandation de livres, un élément clé pour offrir des suggestions pertinentes repose sur la représentation vectorielle des données textuelles, comme les résumés et les titres des livres. Le module Vectorizer, développé en tant que microservice, est dédié à cette tâche. Grâce à ce microservice, nous pouvons générer deux types de représentations vectorielles : TF-IDF, pour capturer l’importance des termes au sein des textes. Cela permettra d’entrainer des modèles pour labelliser rapidement les livres et les clusteriser dynamiquement dans un soucis de performance. Embeddings réduits par PCA, pour une représentation dense des contenus basée sur des modèles de type transformers. Cela permettra, combiné à des filtres, d’utiliser les moteur SQL pour générer les recommandations. Ce module est conçu pour être intégré dans un pipeline d’analyse asynchrone et supervisé via MLflow, comme le bloc précédent. Tout est sur le dépôt Github.

Book Reco : Transformation et Stockage des Données

Après avoir mis en place un module de collecte de données à l’aide de Scrapy, la prochaine étape de mon projet de recommandation de livres consiste à traiter, transformer et stocker les données. Cette étape repose sur le module store, qui organise les données collectées et les prépare pour les prochaines phases d’analyse et de modélisation. Tout est sur le dépôt Github. En plus d’optimiser les données, ce module intègre MLflow pour suivre et documenter chaque étape du pipeline, garantissant une traçabilité et une reproductibilité complètes. Je ne vais pas détailler son utilisation dans cette article, un post sera dédié à ce service qui permet à la fois de monitorer et de versionner le service pour empêcher la dérive des modéles ou leur régression potentielle.