{{it.t}}
{{it.s}}
Mon homelab, posé sur la table. Survolez un objet, cliquez pour explorer.
{{previewDesc}}
Un homelab, c'est un laboratoire personnel : un endroit où l'on monte, casse et remonte des systèmes informatiques pour apprendre en faisant.
Apprendre l'administration de serveurs uniquement dans les livres, c'est comme apprendre la mécanique sans voiture. Le homelab, c'est le garage : un endroit à soi où l'on démonte, où l'on se trompe, et où une erreur n'a de conséquence pour personne. On y installe les mêmes outils que ceux utilisés en entreprise, mais sur une machine dont on est seul responsable, du premier réglage jusqu'à la panne comprise et corrigée.
Ce homelab ne tourne pas dans une machine virtuelle isolée sur un ordinateur portable. C'est un vrai serveur loué (un VPS chez OVH), branché sur Internet avec une adresse publique. Concrètement : dès sa mise en ligne, il est scanné en continu par des robots qui cherchent des serveurs mal protégés. Les journaux de connexion en gardent la trace, heure par heure.
C'est un choix délibéré. Sécuriser une machine réellement exposée n'est pas le même exercice qu'en simulation : chaque protection mise en place ici répond à une menace observée dans les journaux, pas à un cas d'école.
L'histoire et la méthode du projet sont dans le carnet, l'avancement au jour le jour dans le journal, et tous les termes techniques sont expliqués simplement dans le glossaire.
Un serveur, une feuille de route en neuf phases, et une règle : tout documenter, y compris les erreurs.
Ce homelab accompagne mon cursus à l'école 42, où l'administration système et la cybersécurité sont abordées en environnement contrôlé — sur machine virtuelle, comme dans le projet Born2beRoot. Ici, les mêmes principes sont appliqués sur un serveur réel et exposé, où une erreur de configuration a de vraies conséquences. L'objectif : monter en compétences sur l'infrastructure, la sécurité et les pratiques DevOps, en conditions réelles.
Le projet avance phase par phase, dans un ordre volontairement classique : sécuriser la base avant d'empiler quoi que ce soit dessus. Chaque décision technique est expliquée et documentée. Les erreurs rencontrées ne sont pas effacées : elles sont gardées et analysées, parce qu'un problème compris en dit plus long qu'une installation qui se passe bien. C'est un projet vivant, encore en cours — ce site est sa documentation, il évolue avec lui.
La topologie cible du lab — et, honnêtement, ce qui existe déjà par rapport à ce qui reste à construire.
Seul le socle système est en service aujourd'hui : accès SSH par clé uniquement, connexion root désactivée, pare-feu en liste blanche et bannissement automatique des adresses insistantes. Le déploiement se fait encore manuellement en SSH. Tout le reste de la topologie — reverse proxy, conteneurs, monitoring, automatisation — est planifié mais pas encore construit. Ce schéma sera mis à jour à chaque phase livrée.
Des briques simples et standard, celles que l'on retrouve en entreprise. Le couvercle est ouvert : vous regardez l'intérieur de la caisse, plateau par plateau — chaque plateau range un étage du projet.
L'observabilité du lab n'est pas encore en service. Cette page présente ce qui est prévu — rien de plus.
Aucune donnée réelle n'est affichée ici pour l'instant : le monitoring sera branché quand la phase 5 démarrera.
Prometheus collectera les métriques du serveur et des conteneurs : processeur, mémoire, disque, réseau, état des services. Grafana les mettra en forme dans des tableaux de bord lisibles en un coup d'œil — santé de la machine, trafic bloqué par le pare-feu, activité de fail2ban.
Prometheus et Grafana tourneront eux-mêmes dans des conteneurs, derrière le reverse proxy. Le monitoring arrive donc logiquement après la conteneurisation (phase 2) et l'exposition web (phase 3) : on ne monte pas la vigie avant les fondations.
L'avancement du lab, dans l'ordre où il s'est vraiment passé — trouvailles et pièges compris. Un feuillet par étape.
{{it.s}}
Réception du VPS OVH sous Debian 13, et première surprise avant même de commencer : impossible de se connecter en root, y compris depuis la console web du fournisseur. En réalité, OVH livre la machine avec un utilisateur « debian », et c'est par lui qu'il faut passer. Premier réflexe appris : lire la documentation du fournisseur avant de soupçonner sa propre configuration.
Authentification par clé Ed25519 uniquement, connexion root totalement désactivée. En auditant la configuration, découverte d'un piège : un fichier généré par cloud-init réautorisait discrètement les mots de passe, alors que la configuration principale les interdisait. Les deux fichiers sont désormais alignés — et vérifiés.
ufw activé : tout est bloqué en entrée, sauf SSH. En observant les journaux en direct, le constat est immédiat : scans permanents (Telnet, ports de jeux, VPN) dès la mise en ligne. Un serveur « vide » est déjà une cible — c'est exactement ce que ce lab voulait rendre visible.
Bannissement progressif configuré : plus une adresse insiste, plus elle reste dehors longtemps. L'audit a révélé un bug important : le paquet nftables manquait, si bien que fail2ban « décidait » de bannir des adresses sans jamais appliquer le blocage réseau. Corrigé après vérification. La leçon vaut pour toutes les protections : vérifier qu'elles agissent, pas seulement qu'elles tournent.
Prochaines étapes : mises à jour automatiques et hygiène système, puis conteneurisation (Docker) et exposition HTTPS derrière Caddy.
Les termes rencontrés dans ce projet, expliqués sans jargon. Cliquez sur un mot pour dérouler sa définition.
{{g.def}}
{{g.def}}
Ce lab est un projet d'apprentissage mené sérieusement. Si vous recrutez — ou si vous avez simplement un avis sur l'architecture — écrivez-moi.
Ce site documente mon homelab : un vrai serveur, administré et sécurisé pas à pas, avec chaque décision expliquée et chaque erreur analysée.
[2-3 LIGNES À PERSONNALISER : parcours, ce que vous recherchez — stage, alternance, poste — et votre disponibilité.]
Les sections techniques de ce site reflètent l'état réel du projet à juillet 2026 — rien n'y est présenté comme fait s'il ne l'est pas.