Amélioration i18n et navigation catégories

- Add English translations for presentation page and homepage
- Remove project numbers (P02-P13) from OpenClassrooms project titles
- Convert category pages to show content with DocCardList component
- Fix broken links to category pages
This commit is contained in:
Tellsanguis 2025-11-22 18:07:34 +01:00
parent ed989ff004
commit 816e50ae84
25 changed files with 282 additions and 88 deletions

View file

@ -38,15 +38,21 @@ La documentation détaille :
## Avantages de cette approche
Simple à mettre en place et maintenir
Ansible permet une automatisation complète
Docker Compose facilite la gestion des services
Reproductible et versionné avec Git
- Simple à mettre en place et maintenir
- Ansible permet une automatisation complète
- Docker Compose facilite la gestion des services
- Reproductible et versionné avec Git
## Limitations
Scalabilité limitée
Pas de haute disponibilité native
Orchestration manuelle pour certaines tâches
- Scalabilité limitée
- Pas de haute disponibilité native
- Orchestration manuelle pour certaines tâches
Ces limitations motivent l'évolution vers Kubernetes (voir section "Futur Homelab").
## Articles
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -70,3 +70,9 @@ Cette migration représente :
- **Apprentissage pratique** : Expérimentation en conditions réelles
- **Évolution technique** : Passage à des solutions modernes et scalables
- **Portfolio** : Démonstration de compétences DevOps avancées
## Articles
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -37,4 +37,8 @@ Les notions couvertes incluent :
- Service mesh
- Load balancing et scaling
Explorez les sous-sections pour découvrir chaque notion en détail !
## Articles
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -54,7 +54,7 @@ Cette formation, sanctionnée par une **certification RNCP niveau 6** (équivale
J'ai obtenu ma certification par anticipation le **6 novembre 2025**, après moins d'un an de formation.
Le détail de chaque projet est disponible dans la section [Projets OpenClassrooms](/docs/category/projets-openclassrooms).
Le détail de chaque projet est disponible dans la section [Projets OpenClassrooms](/docs/projets-openclassrooms).
## Vers l'Infrastructure as Code et le DevOps

View file

@ -1,3 +1,7 @@
---
sidebar_position: 1
---
# Projets OpenClassrooms
Cette section regroupe les **12 projets techniques** réalisés dans le cadre de ma formation **Administrateur Systèmes, Réseaux et Sécurité** chez OpenClassrooms (novembre 2024 - novembre 2025).
@ -8,17 +12,23 @@ Chaque projet correspond à une mise en situation professionnelle avec des livra
## Vue d'ensemble
| Projet | Thématique | Technologies clés |
|--------|------------|-------------------|
| P2 | Gestion ITSM | GLPI, ITIL |
| P3 | Architecture réseau | VLAN, Firewall, Draw.io |
| P4 | Architecture n-tiers | Docker, LAMP, DNS |
| P5 | Sécurisation web | Apache, Fail2ban, SSL, vsftpd |
| P6 | Site distant | VPN IPsec, AD DS, RODC, GPO |
| P7 | Réseau Cisco | VLAN, ACL, NAT, IPv6, Packet Tracer |
| P8 | Supervision | Nagios, Rsyslog |
| P9 | Gestion de parc | Ansible, GLPI, AGDLP |
| P10 | Sauvegardes | Bash, Rsync, Cron |
| P11 | Conformité ANSSI | Cartographie SI, Architecture |
| P12 | Audit sécurité AD | Pentesting, Mimikatz, Kerberoasting |
| P13 | Migration Cloud | AWS, DAT, Gantt |
| Thématique | Technologies clés |
|------------|-------------------|
| Gestion ITSM | GLPI, ITIL |
| Architecture réseau | VLAN, Firewall, Draw.io |
| Architecture n-tiers | Docker, LAMP, DNS |
| Sécurisation web | Apache, Fail2ban, SSL, vsftpd |
| Site distant | VPN IPsec, AD DS, RODC, GPO |
| Réseau Cisco | VLAN, ACL, NAT, IPv6, Packet Tracer |
| Supervision | Nagios, Rsyslog |
| Gestion de parc | Ansible, GLPI, AGDLP |
| Sauvegardes | Bash, Rsync, Cron |
| Conformité ANSSI | Cartographie SI, Architecture |
| Audit sécurité AD | Pentesting, Mimikatz, Kerberoasting |
| Migration Cloud | AWS, DAT, Gantt |
## Liste des projets
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -7,5 +7,45 @@
},
"theme.NotFound.p2": {
"message": "Please contact the owner of the site that linked you to the original URL and let them know their link is broken."
},
"homepage.title": {
"message": "Home",
"description": "The homepage title"
},
"homepage.description": {
"message": "Technical blog to document my research and reflections on technical challenges",
"description": "The homepage meta description"
},
"homepage.discoverDocs": {
"message": "Discover the documentation",
"description": "The homepage button to discover the documentation"
},
"homepage.readBlog": {
"message": "Read the blog",
"description": "The homepage button to read the blog"
},
"homepage.feature1.title": {
"message": "Technical Documentation",
"description": "Title of feature 1 (technical documentation) on the homepage"
},
"homepage.feature1.description": {
"message": "In-depth documentation of my projects and technical solutions.",
"description": "Description of feature 1 (technical documentation) on the homepage"
},
"homepage.feature2.title": {
"message": "Blog Posts",
"description": "Title of feature 2 (blog posts) on the homepage"
},
"homepage.feature2.description": {
"message": "Reflections and analysis on technical challenges encountered.",
"description": "Description of feature 2 (blog posts) on the homepage"
},
"homepage.feature3.title": {
"message": "Knowledge Sharing",
"description": "Title of feature 3 (knowledge sharing) on the homepage"
},
"homepage.feature3.description": {
"message": "Sharing experiences and solutions with the community.",
"description": "Description of feature 3 (knowledge sharing) on the homepage"
}
}

View file

@ -38,15 +38,21 @@ The documentation details:
## Advantages of This Approach
Simple to set up and maintain
Ansible enables complete automation
Docker Compose facilitates service management
Reproducible and versioned with Git
- Simple to set up and maintain
- Ansible enables complete automation
- Docker Compose facilitates service management
- Reproducible and versioned with Git
## Limitations
Limited scalability
No native high availability
Manual orchestration for certain tasks
- Limited scalability
- No native high availability
- Manual orchestration for certain tasks
These limitations motivate the evolution towards Kubernetes (see "Future Homelab" section).
## Articles
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -70,3 +70,9 @@ This migration represents:
- **Practical learning**: Experimentation in real conditions
- **Technical evolution**: Moving to modern and scalable solutions
- **Portfolio**: Demonstration of advanced DevOps skills
## Articles
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -37,4 +37,8 @@ Covered concepts include:
- Service mesh
- Load balancing and scaling
Explore the subsections to discover each concept in detail!
## Articles
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -1,3 +1,70 @@
# About Me
Coming soon.
Systems and network administrator specializing in **cross-platform automation** (Ansible/PowerShell/Bash), **virtualization & containerization** (Proxmox/Docker), and **Active Directory**. RNCP Level 6 certified through OpenClassrooms, with skills acquired through 12 technical projects covering enterprise networking, monitoring, backup/disaster recovery, and offensive security. Running a production homelab for continuous R&D.
---
## The Beginning
It all started as a simple hobby with my first **Minecraft servers** back in 2013: custom game launchers, configuration file management, and my first Bash scripts, followed by Python around 2015.
In 2017, I built my first homelab with a **Raspberry Pi** that I used for various projects:
- Bluetooth audio server
- AirPlay
- UPnP
- Retro gaming console
## Discovering Self-Hosting
Initially, I was motivated by the desire to test and experiment: seeing if I could access my files or services remotely. Then came the practical aspect and the desire to keep my data on my own machines.
It was around **2020** that I discovered **Docker**. My first server was very simple: a few `docker run` commands with **Nginx Proxy Manager** and admin access via **WireGuard**.
Over time, I deepened my knowledge:
- Transitioning to **Docker Compose** files
- Networking concepts: subnets, VLANs, ACLs
- Moving from bare metal to **virtualization**
This led me to my current architecture: an Ubuntu server deployed under **Proxmox**, automated with **Ansible** and Docker Compose files.
## Career Change
Before IT, I pursued a path in **Literature**: a degree from the University of Caen, then working as a contract French teacher in the National Education system for sophomore, STMG junior, and vocational degree classes.
In parallel, I worked as a civic service coordinator in health prevention at LMDE, and as a BAFA-certified youth worker for several years.
After a period of travel and seasonal work, I decided to turn what had been a passionate hobby into my profession: making systems and network administration my career. In **November 2024**, I enrolled in the **Systems, Network, and Security Administrator** program at **OpenClassrooms**.
## The OpenClassrooms Program
This program, leading to an **RNCP Level 6 certification** (equivalent to a Bachelor's/Master's degree), allowed me to formalize and deepen my skills through **12 technical projects** covering the full SysAdmin/DevOps spectrum:
- **ITSM Management**: GLPI ticketing, ITIL methodology
- **Network Architecture**: multi-VLAN LAN design, firewalls, IP addressing plans
- **Containerization**: deploying n-tier architectures with Docker
- **Security Hardening**: Apache hardening, Fail2ban, SSL certificates, encrypted FTP
- **Windows Infrastructure**: site-to-site VPN, Active Directory, RODC, GPO
- **Cisco Networking**: VLAN, ACL, EtherChannel, NAT/PAT, IPv6
- **Monitoring**: Nagios, custom probes, syslog centralization
- **Automation**: cross-platform Ansible, GLPI integration
- **Backups**: Bash rsync scripts (FULL/INC/DIFF), disaster recovery planning
- **Compliance**: applying ANSSI guidelines for healthcare IT systems
- **Offensive Security**: Active Directory auditing, pentesting (nmap, Mimikatz, Kerberoasting)
- **Cloud**: AWS migration, technical architecture, cost estimation
I obtained my certification ahead of schedule on **November 6, 2025**, after less than a year of training.
Details for each project are available in the [OpenClassrooms Projects](/docs/projets-openclassrooms) section.
## Toward Infrastructure as Code and DevOps
The **Infrastructure as Code** aspect immediately appealed to me and led me to explore:
- The **DevOps** philosophy
- **Terraform** and its open-source counterpart **OpenTofu**
- **Git** and **CI/CD** pipelines
- **Kubernetes**
- Distributed storage and high availability
My current goal: a **three-node Proxmox cluster** (two production machines and one witness for quorum), after initially considering running all these tools on a single machine for cost reasons.
This architecture is currently being implemented in my [Homelab repository](https://forgejo.tellserv.fr/Tellsanguis/Homelab). The previous architecture remains deployed in parallel to ensure a smooth migration.

View file

@ -1,3 +1,7 @@
---
sidebar_position: 1
---
# OpenClassrooms Projects
This section brings together the **12 technical projects** completed as part of my **Systems, Networks and Security Administrator** training at OpenClassrooms (November 2024 - November 2025).
@ -8,17 +12,23 @@ Each project corresponds to a professional simulation with concrete deliverables
## Overview
| Project | Topic | Key Technologies |
|---------|-------|------------------|
| P2 | ITSM Management | GLPI, ITIL |
| P3 | Network Architecture | VLAN, Firewall, Draw.io |
| P4 | N-tier Architecture | Docker, LAMP, DNS |
| P5 | Web Security | Apache, Fail2ban, SSL, vsftpd |
| P6 | Remote Site | VPN IPsec, AD DS, RODC, GPO |
| P7 | Cisco Network | VLAN, ACL, NAT, IPv6, Packet Tracer |
| P8 | Monitoring | Nagios, Rsyslog |
| P9 | Fleet Management | Ansible, GLPI, AGDLP |
| P10 | Backups | Bash, Rsync, Cron |
| P11 | ANSSI Compliance | IS Mapping, Architecture |
| P12 | AD Security Audit | Pentesting, Mimikatz, Kerberoasting |
| P13 | Cloud Migration | AWS, TAD, Gantt |
| Topic | Key Technologies |
|-------|------------------|
| ITSM Management | GLPI, ITIL |
| Network Architecture | VLAN, Firewall, Draw.io |
| N-tier Architecture | Docker, LAMP, DNS |
| Web Security | Apache, Fail2ban, SSL, vsftpd |
| Remote Site | VPN IPsec, AD DS, RODC, GPO |
| Cisco Network | VLAN, ACL, NAT, IPv6, Packet Tracer |
| Monitoring | Nagios, Rsyslog |
| Fleet Management | Ansible, GLPI, AGDLP |
| Backups | Bash, Rsync, Cron |
| ANSSI Compliance | IS Mapping, Architecture |
| AD Security Audit | Pentesting, Mimikatz, Kerberoasting |
| Cloud Migration | AWS, TAD, Gantt |
## Project List
import DocCardList from '@theme/DocCardList';
<DocCardList />

View file

@ -2,7 +2,7 @@
sidebar_position: 2
---
# P2 - Daily Request Management
# Daily Request Management
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 3
---
# P3 - Enterprise Network Design
# Enterprise Network Design
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 4
---
# P4 - Docker N-tier Architecture
# Docker N-tier Architecture
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 5
---
# P5 - Web Services Security
# Web Services Security
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 6
---
# P6 - Remote Site Connection
# Remote Site Connection
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 7
---
# P7 - Cisco Equipment Configuration
# Cisco Equipment Configuration
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 8
---
# P8 - Monitoring with Nagios
# Monitoring with Nagios
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 9
---
# P9 - Fleet Management with Ansible
# Fleet Management with Ansible
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 10
---
# P10 - Robust Backup Solution
# Robust Backup Solution
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 11
---
# P11 - ANSSI Compliance for Healthcare IS
# ANSSI Compliance for Healthcare IS
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 12
---
# P12 - Active Directory Security Audit
# Active Directory Security Audit
## Context

View file

@ -2,7 +2,7 @@
sidebar_position: 13
---
# P13 - Cloud Migration to AWS
# Cloud Migration to AWS
## Context

View file

@ -7,13 +7,10 @@ const sidebars: SidebarsConfig = {
type: 'category',
label: 'Projets OpenClassrooms',
link: {
type: 'generated-index',
title: 'Projets OpenClassrooms',
description: 'Les 12 projets techniques réalisés dans le cadre de ma formation Administrateur Systèmes, Réseaux et Sécurité.',
slug: '/category/projets-openclassrooms',
type: 'doc',
id: 'projets-openclassrooms/index',
},
items: [
'projets-openclassrooms/index',
'projets-openclassrooms/p02-gestion-itsm',
'projets-openclassrooms/p03-architecture-reseau',
'projets-openclassrooms/p04-architecture-ntiers',
@ -32,13 +29,10 @@ const sidebars: SidebarsConfig = {
type: 'category',
label: 'Notions',
link: {
type: 'generated-index',
title: 'Notions',
description: 'Concepts et notions techniques fondamentales utilisées dans mes projets.',
slug: '/category/notions',
type: 'doc',
id: 'notions/index',
},
items: [
'notions/index',
'notions/exemple',
],
},
@ -46,13 +40,10 @@ const sidebars: SidebarsConfig = {
type: 'category',
label: 'Homelab actuel - Docker Compose & Ansible',
link: {
type: 'generated-index',
title: 'Homelab actuel - Docker Compose & Ansible',
description: 'Documentation de mon infrastructure homelab actuelle, basée sur Docker Compose et Ansible.',
slug: '/category/homelab-actuel',
type: 'doc',
id: 'homelab-actuel/index',
},
items: [
'homelab-actuel/index',
'homelab-actuel/exemple',
],
},
@ -60,13 +51,10 @@ const sidebars: SidebarsConfig = {
type: 'category',
label: 'Futur Homelab - OpenTofu, K3S, Ansible & DevOps',
link: {
type: 'generated-index',
title: 'Futur Homelab - OpenTofu, K3S, Ansible & DevOps',
description: 'Documentation de la migration vers une infrastructure moderne basée sur Kubernetes et les pratiques DevOps.',
slug: '/category/homelab-futur',
type: 'doc',
id: 'homelab-futur/index',
},
items: [
'homelab-futur/index',
'homelab-futur/exemple',
],
},

View file

@ -1,6 +1,7 @@
import React from 'react';
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import Translate, {translate} from '@docusaurus/Translate';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from '@theme/Layout';
import Heading from '@theme/Heading';
@ -20,12 +21,20 @@ function HomepageHeader() {
<Link
className="button button--secondary button--lg"
to="/docs/presentation">
Découvrir la documentation
<Translate
id="homepage.discoverDocs"
description="The homepage button to discover the documentation">
Découvrir la documentation
</Translate>
</Link>
<Link
className="button button--secondary button--lg margin-left--md"
to="/blog">
Lire le blog
<Translate
id="homepage.readBlog"
description="The homepage button to read the blog">
Lire le blog
</Translate>
</Link>
</div>
</div>
@ -37,29 +46,67 @@ export default function Home(): JSX.Element {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Accueil`}
description="Blog technique pour documenter mes recherches et réflexions sur des défis techniques">
title={translate({
id: 'homepage.title',
message: 'Accueil',
description: 'The homepage title',
})}
description={translate({
id: 'homepage.description',
message: 'Blog technique pour documenter mes recherches et réflexions sur des défis techniques',
description: 'The homepage meta description',
})}>
<HomepageHeader />
<main>
<section className={styles.features}>
<div className="container">
<div className="row">
<div className="col col--4">
<h3>Documentation Technique</h3>
<h3>
<Translate
id="homepage.feature1.title"
description="Title of feature 1 (technical documentation) on the homepage">
Documentation Technique
</Translate>
</h3>
<p>
Documentation approfondie de mes projets et solutions techniques.
<Translate
id="homepage.feature1.description"
description="Description of feature 1 (technical documentation) on the homepage">
Documentation approfondie de mes projets et solutions techniques.
</Translate>
</p>
</div>
<div className="col col--4">
<h3>Articles de Blog</h3>
<h3>
<Translate
id="homepage.feature2.title"
description="Title of feature 2 (blog posts) on the homepage">
Articles de Blog
</Translate>
</h3>
<p>
Réflexions et analyses sur les défis techniques rencontrés.
<Translate
id="homepage.feature2.description"
description="Description of feature 2 (blog posts) on the homepage">
Réflexions et analyses sur les défis techniques rencontrés.
</Translate>
</p>
</div>
<div className="col col--4">
<h3>Partage de Connaissances</h3>
<h3>
<Translate
id="homepage.feature3.title"
description="Title of feature 3 (knowledge sharing) on the homepage">
Partage de Connaissances
</Translate>
</h3>
<p>
Partage d'expériences et de solutions pour la communauté.
<Translate
id="homepage.feature3.description"
description="Description of feature 3 (knowledge sharing) on the homepage">
Partage d'expériences et de solutions pour la communauté.
</Translate>
</p>
</div>
</div>