Amélioration configuration Docusaurus et implémentation i18n

- Add language switcher to navbar for bilingual site (FR/EN)
- Remove intro page, use presentation as entry point
- Add example pages to all documentation categories
- Configure categories with generated-index for page listings
- Update footer and homepage links to reference presentation
- Enhance configuration with best practices:
  - Add metadata and SEO keywords
  - Enable RSS/Atom feeds for blog
  - Configure sitemap generation
  - Add syntax highlighting for YAML, HCL, Docker
  - Enable Mermaid diagram support
  - Configure table of contents settings
  - Respect user color scheme preferences
  - Add last update metadata to docs
- Fix deprecated onBrokenMarkdownLinks configuration
- Create bilingual example pages with practical code examples
- Update all i18n translations for consistency

This update brings the site in line with Docusaurus 3.x best practices
and provides a solid foundation for documentation growth.
This commit is contained in:
Tellsanguis 2025-11-15 14:57:36 +01:00
parent fda75fdd28
commit aba46f671c
13 changed files with 558 additions and 85 deletions

View file

@ -0,0 +1,60 @@
---
sidebar_position: 2
---
# Exemple
Ceci est une page d'exemple dans la catégorie Homelab actuel.
## Description
Cette page démontre comment documenter un service ou une configuration du homelab actuel.
## Configuration Docker Compose
Exemple de configuration d'un service :
```yaml
version: '3.8'
services:
exemple-service:
image: nginx:latest
container_name: exemple
ports:
- "8080:80"
volumes:
- ./config:/etc/nginx/conf.d
restart: unless-stopped
```
## Playbook Ansible
Exemple de déploiement avec Ansible :
```yaml
---
- name: Déployer le service exemple
hosts: homelab
become: yes
tasks:
- name: Copier le fichier docker-compose
copy:
src: docker-compose.yml
dest: /opt/exemple/docker-compose.yml
- name: Démarrer le service
command: docker-compose up -d
args:
chdir: /opt/exemple
```
## Maintenance
Points importants pour la maintenance :
- Sauvegardes régulières
- Mises à jour de l'image Docker
- Surveillance des logs
- Tests de restauration

View file

@ -0,0 +1,153 @@
---
sidebar_position: 2
---
# Exemple
Ceci est une page d'exemple dans la catégorie Futur Homelab.
## Description
Cette page démontre comment documenter les configurations et déploiements Kubernetes du futur homelab.
## Déploiement Kubernetes
Exemple de manifeste pour un déploiement :
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: exemple-app
namespace: production
spec:
replicas: 3
selector:
matchLabels:
app: exemple
template:
metadata:
labels:
app: exemple
spec:
containers:
- name: app
image: nginx:latest
ports:
- containerPort: 80
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 50m
memory: 64Mi
---
apiVersion: v1
kind: Service
metadata:
name: exemple-service
namespace: production
spec:
selector:
app: exemple
ports:
- port: 80
targetPort: 80
type: ClusterIP
```
## Configuration OpenTofu
Exemple de ressource infrastructure :
```hcl
resource "kubernetes_namespace" "production" {
metadata {
name = "production"
labels = {
environment = "production"
managed-by = "opentofu"
}
}
}
resource "kubernetes_deployment" "exemple" {
metadata {
name = "exemple-app"
namespace = kubernetes_namespace.production.metadata[0].name
}
spec {
replicas = 3
selector {
match_labels = {
app = "exemple"
}
}
template {
metadata {
labels = {
app = "exemple"
}
}
spec {
container {
image = "nginx:latest"
name = "app"
resources {
limits = {
cpu = "100m"
memory = "128Mi"
}
requests = {
cpu = "50m"
memory = "64Mi"
}
}
}
}
}
}
}
```
## GitOps avec ArgoCD
Configuration ArgoCD Application :
```yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: exemple-app
namespace: argocd
spec:
project: default
source:
repoURL: https://forgejo.tellserv.fr/Tellsanguis/k8s-manifests.git
targetRevision: HEAD
path: apps/exemple
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
```
## Observabilité
Points de surveillance pour ce service :
- Métriques Prometheus exposées sur `/metrics`
- Logs agrégés dans Loki
- Traces distribuées avec Tempo
- Alertes configurées dans Prometheus AlertManager

View file

@ -1,32 +0,0 @@
---
sidebar_position: 1
---
# Introduction
Bienvenue sur **TellServ Tech Blog** !
Ce blog technique documente mes recherches, réflexions et solutions aux défis techniques rencontrés dans mes projets. L'objectif est de :
- 📚 **Documenter** mes apprentissages et découvertes
- 🔍 **Partager** mes analyses et solutions
- 💡 **Démontrer** mes compétences techniques
- 🤝 **Contribuer** à la communauté
## Structure du site
### Documentation
La section documentation contient des guides techniques approfondis, des tutoriels et des références pour mes projets.
### Blog
Le blog présente des articles sur :
- Résolution de problèmes techniques
- Analyse d'architectures
- Retours d'expérience
- Nouvelles technologies et outils
## À propos
Ce site est construit avec [Docusaurus](https://docusaurus.io/), hébergé sur Cloudflare Pages et le code source est disponible sur [GitHub](https://github.com/Tellsanguis/blog_technique) et [Forgejo](https://forgejo.tellserv.fr).

34
docs/notions/exemple.md Normal file
View file

@ -0,0 +1,34 @@
---
sidebar_position: 2
---
# Exemple
Ceci est une page d'exemple dans la catégorie Notions.
## Description
Cette page démontre comment structurer du contenu dans une catégorie. Elle peut contenir :
- Des explications détaillées
- Des exemples de code
- Des diagrammes
- Des références
## Utilisation
Vous pouvez dupliquer cette page pour créer de nouveaux articles dans cette catégorie.
### Configuration
Pour ajouter une nouvelle page, créez un fichier `.md` dans le dossier `docs/notions/` avec le front matter approprié :
```yaml
---
sidebar_position: 3
---
```
### Contenu
Le contenu peut être écrit en Markdown ou MDX pour inclure des composants React personnalisés.

View file

@ -1,7 +1,3 @@
---
sidebar_position: 1
---
# Présentation
Présentation à venir.