Commit initial : blog Docusaurus avec i18n (FR/EN)
This commit is contained in:
commit
f6e32464d9
27 changed files with 18900 additions and 0 deletions
27
.gitignore
vendored
Normal file
27
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Dependencies
|
||||
/node_modules
|
||||
|
||||
# Production
|
||||
/build
|
||||
|
||||
# Generated files
|
||||
.docusaurus
|
||||
.cache-loader
|
||||
|
||||
# Misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# IDE
|
||||
.idea
|
||||
.vscode
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
1
.node-version
Normal file
1
.node-version
Normal file
|
|
@ -0,0 +1 @@
|
|||
18
|
||||
35
README.md
Normal file
35
README.md
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# TellServ Tech Blog
|
||||
|
||||
Blog technique pour documenter mes recherches et réflexions sur des défis techniques.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Développement local
|
||||
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
Cette commande démarre un serveur de développement local et ouvre une fenêtre de navigateur. La plupart des modifications sont reflétées en direct sans avoir à redémarrer le serveur.
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
Cette commande génère le contenu statique dans le répertoire `build` et peut être servie avec n'importe quel hébergeur de contenu statique.
|
||||
|
||||
## Déploiement
|
||||
|
||||
Le site est automatiquement déployé sur Cloudflare Pages lors d'un push sur la branche `main`.
|
||||
|
||||
## Liens
|
||||
|
||||
- Site web : [https://docs.tellserv.fr](https://docs.tellserv.fr)
|
||||
- Forgejo : [https://forgejo.tellserv.fr](https://forgejo.tellserv.fr)
|
||||
- GitHub : [https://github.com/Tellsanguis/blog_tech](https://github.com/Tellsanguis/blog_tech)
|
||||
45
blog/2025-01-14-bienvenue.md
Normal file
45
blog/2025-01-14-bienvenue.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
---
|
||||
slug: bienvenue
|
||||
title: Bienvenue sur TellServ Tech Blog
|
||||
authors: [tellserv]
|
||||
tags: [introduction, blog]
|
||||
---
|
||||
|
||||
# Bienvenue sur TellServ Tech Blog
|
||||
|
||||
Bienvenue sur mon blog technique ! Cet espace a été créé pour documenter mes recherches et réflexions sur divers défis techniques.
|
||||
|
||||
<!--truncate-->
|
||||
|
||||
## Objectif du blog
|
||||
|
||||
L'objectif principal de ce blog est de :
|
||||
|
||||
1. **Documenter mes projets** : Partager les solutions techniques que je développe
|
||||
2. **Analyser les défis** : Expliquer ma démarche de résolution de problèmes
|
||||
3. **Démontrer mes compétences** : Appuyer mon CV avec des exemples concrets
|
||||
4. **Partager avec la communauté** : Contribuer au partage de connaissances
|
||||
|
||||
## Thématiques abordées
|
||||
|
||||
Vous trouverez sur ce blog des articles sur :
|
||||
|
||||
- **Infrastructure** : Serveurs, Docker, Kubernetes, networking
|
||||
- **Développement** : Applications web, APIs, bases de données
|
||||
- **DevOps** : CI/CD, automatisation, monitoring
|
||||
- **Sécurité** : Bonnes pratiques, authentification, chiffrement
|
||||
- **Cloud** : Cloudflare, services cloud, CDN
|
||||
|
||||
## Technologies
|
||||
|
||||
Ce blog est construit avec :
|
||||
|
||||
- **Docusaurus** pour la génération du site statique
|
||||
- **TypeScript** et **React** pour les composants
|
||||
- **Forgejo** pour l'hébergement Git
|
||||
- **GitHub** comme miroir public
|
||||
- **Cloudflare Pages** pour l'hébergement et le déploiement
|
||||
|
||||
## À suivre
|
||||
|
||||
Les prochains articles documenteront mes projets en cours et les solutions techniques que je développe. Restez à l'écoute !
|
||||
5
blog/authors.yml
Normal file
5
blog/authors.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
tellserv:
|
||||
name: BENE Maël
|
||||
title: Administrateur Système
|
||||
url: https://github.com/Tellsanguis
|
||||
image_url: https://github.com/Tellsanguis.png
|
||||
52
docs/homelab-actuel/index.md
Normal file
52
docs/homelab-actuel/index.md
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Homelab actuel - Docker Compose & Ansible
|
||||
|
||||
Documentation de mon infrastructure homelab actuelle, basée sur Docker Compose et Ansible.
|
||||
|
||||
## Vue d'ensemble
|
||||
|
||||
Mon homelab actuel utilise une approche simple et efficace :
|
||||
- **Docker Compose** : Orchestration des conteneurs
|
||||
- **Ansible** : Automatisation de la configuration et du déploiement
|
||||
- **Services auto-hébergés** : Forgejo, monitoring, applications diverses
|
||||
|
||||
## Architecture
|
||||
|
||||
### Infrastructure physique/virtuelle
|
||||
- Serveurs dédiés ou VM
|
||||
- Réseau local sécurisé
|
||||
- Stockage et sauvegardes
|
||||
|
||||
### Stack technique
|
||||
- **OS** : Linux (Debian/Ubuntu)
|
||||
- **Conteneurisation** : Docker & Docker Compose
|
||||
- **Automatisation** : Ansible playbooks
|
||||
- **Reverse proxy** : Traefik ou Nginx
|
||||
- **Monitoring** : Prometheus, Grafana
|
||||
|
||||
## Services déployés
|
||||
|
||||
La documentation détaille :
|
||||
- Configuration des services
|
||||
- Playbooks Ansible utilisés
|
||||
- Docker Compose files
|
||||
- Gestion des secrets et sécurité
|
||||
- Sauvegardes et disaster recovery
|
||||
|
||||
## 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
|
||||
|
||||
## Limitations
|
||||
|
||||
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").
|
||||
72
docs/homelab-futur/index.md
Normal file
72
docs/homelab-futur/index.md
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Futur Homelab - OpenTofu, K3S, Ansible & DevOps
|
||||
|
||||
Documentation de la migration vers une infrastructure moderne basée sur Kubernetes et les pratiques DevOps.
|
||||
|
||||
## Vision
|
||||
|
||||
Faire évoluer mon homelab vers une infrastructure :
|
||||
- **Cloud-native** avec Kubernetes (K3S)
|
||||
- **Infrastructure as Code** avec OpenTofu
|
||||
- **Hautement automatisée** avec Ansible et GitOps
|
||||
- **Observable** avec monitoring et logging avancés
|
||||
|
||||
## Stack technique cible
|
||||
|
||||
### Orchestration
|
||||
- **K3S** : Distribution Kubernetes légère et performante
|
||||
- **Helm** : Gestionnaire de packages pour Kubernetes
|
||||
- **ArgoCD** : GitOps pour le déploiement continu
|
||||
|
||||
### Infrastructure as Code
|
||||
- **OpenTofu** : Fork open-source de Terraform pour l'IaC
|
||||
- **Ansible** : Configuration management et provisioning
|
||||
- **Git** : Versionnement de toute l'infrastructure
|
||||
|
||||
### DevOps & CI/CD
|
||||
- **Forgejo Actions** : CI/CD intégré
|
||||
- **GitOps** : Déploiement déclaratif et versionné
|
||||
- **Kustomize** : Gestion des configurations Kubernetes
|
||||
|
||||
### Observabilité
|
||||
- **Prometheus** : Métriques et alerting
|
||||
- **Grafana** : Visualisation et dashboards
|
||||
- **Loki** : Agrégation de logs
|
||||
- **Tempo** : Tracing distribué
|
||||
|
||||
## Objectifs de la migration
|
||||
|
||||
### Technique
|
||||
- Scalabilité horizontale
|
||||
- Haute disponibilité
|
||||
- Déploiements automatisés
|
||||
- Observabilité complète
|
||||
|
||||
### Apprentissage
|
||||
- Maîtriser Kubernetes en production
|
||||
- Pratiquer l'Infrastructure as Code
|
||||
- Implémenter les bonnes pratiques DevOps
|
||||
- Explorer les technologies cloud-native
|
||||
|
||||
## Roadmap
|
||||
|
||||
La migration se fait par étapes :
|
||||
|
||||
1. **Phase 1** : Setup de base K3S
|
||||
2. **Phase 2** : Migration des services critiques
|
||||
3. **Phase 3** : Mise en place GitOps (ArgoCD)
|
||||
4. **Phase 4** : Observabilité et monitoring
|
||||
5. **Phase 5** : Automatisation complète avec OpenTofu
|
||||
|
||||
Chaque étape est documentée avec les défis rencontrés et les solutions apportées.
|
||||
|
||||
## Pourquoi cette évolution ?
|
||||
|
||||
Cette migration représente :
|
||||
- **Compétences professionnelles** : Technologies utilisées en entreprise
|
||||
- **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
|
||||
32
docs/intro.md
Normal file
32
docs/intro.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
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).
|
||||
40
docs/notions/index.md
Normal file
40
docs/notions/index.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Notions
|
||||
|
||||
Cette section regroupe des concepts et notions techniques fondamentales utilisées dans mes projets.
|
||||
|
||||
## Objectif
|
||||
|
||||
Documenter et expliquer les concepts clés pour :
|
||||
- Faciliter la compréhension des choix techniques
|
||||
- Servir de référence pour les projets
|
||||
- Partager des connaissances théoriques et pratiques
|
||||
|
||||
## Thématiques abordées
|
||||
|
||||
Les notions couvertes incluent :
|
||||
|
||||
### Infrastructure
|
||||
- Virtualisation et conteneurisation
|
||||
- Réseaux et sécurité
|
||||
- Stockage et sauvegarde
|
||||
|
||||
### Automatisation
|
||||
- Infrastructure as Code (IaC)
|
||||
- Configuration Management
|
||||
- CI/CD et pipelines
|
||||
|
||||
### DevOps
|
||||
- GitOps et versionnement
|
||||
- Observabilité (monitoring, logging, tracing)
|
||||
- Pratiques et méthodologies
|
||||
|
||||
### Orchestration
|
||||
- Kubernetes et conteneurs
|
||||
- Service mesh
|
||||
- Load balancing et scaling
|
||||
|
||||
Explorez les sous-sections pour découvrir chaque notion en détail !
|
||||
7
docs/presentation.md
Normal file
7
docs/presentation.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Présentation
|
||||
|
||||
Présentation à venir.
|
||||
129
docusaurus.config.ts
Normal file
129
docusaurus.config.ts
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
import {themes as prismThemes} from 'prism-react-renderer';
|
||||
import type {Config} from '@docusaurus/types';
|
||||
import type * as Preset from '@docusaurus/preset-classic';
|
||||
|
||||
const config: Config = {
|
||||
title: 'TellServ Tech Blog',
|
||||
tagline: 'Recherches et réflexions sur les défis techniques',
|
||||
favicon: 'img/favicon.ico',
|
||||
|
||||
url: 'https://docs.tellserv.fr',
|
||||
baseUrl: '/',
|
||||
|
||||
organizationName: 'Tellserv',
|
||||
projectName: 'blog_technique',
|
||||
|
||||
onBrokenLinks: 'throw',
|
||||
|
||||
markdown: {
|
||||
hooks: {
|
||||
onBrokenMarkdownLinks: 'warn',
|
||||
},
|
||||
},
|
||||
|
||||
i18n: {
|
||||
defaultLocale: 'fr',
|
||||
locales: ['fr', 'en'],
|
||||
localeConfigs: {
|
||||
fr: {
|
||||
label: 'Français',
|
||||
direction: 'ltr',
|
||||
htmlLang: 'fr-FR',
|
||||
},
|
||||
en: {
|
||||
label: 'English',
|
||||
direction: 'ltr',
|
||||
htmlLang: 'en-US',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
presets: [
|
||||
[
|
||||
'classic',
|
||||
{
|
||||
docs: {
|
||||
sidebarPath: './sidebars.ts',
|
||||
editUrl: 'https://github.com/Tellsanguis/blog_technique/tree/main/',
|
||||
},
|
||||
blog: {
|
||||
showReadingTime: true,
|
||||
editUrl: 'https://github.com/Tellsanguis/blog_technique/tree/main/',
|
||||
blogSidebarTitle: 'Articles récents',
|
||||
blogSidebarCount: 'ALL',
|
||||
},
|
||||
theme: {
|
||||
customCss: './src/css/custom.css',
|
||||
},
|
||||
} satisfies Preset.Options,
|
||||
],
|
||||
],
|
||||
|
||||
themeConfig: {
|
||||
image: 'img/docusaurus-social-card.jpg',
|
||||
navbar: {
|
||||
title: 'TellServ Tech Blog',
|
||||
logo: {
|
||||
alt: 'TellServ Logo',
|
||||
src: 'img/logo.svg',
|
||||
},
|
||||
items: [
|
||||
{
|
||||
type: 'docSidebar',
|
||||
sidebarId: 'tutorialSidebar',
|
||||
position: 'left',
|
||||
label: 'Documentation',
|
||||
},
|
||||
{to: '/blog', label: 'Blog', position: 'left'},
|
||||
{
|
||||
href: 'https://github.com/Tellsanguis/blog_technique',
|
||||
label: 'GitHub',
|
||||
position: 'right',
|
||||
},
|
||||
],
|
||||
},
|
||||
footer: {
|
||||
style: 'dark',
|
||||
links: [
|
||||
{
|
||||
title: 'Documentation',
|
||||
items: [
|
||||
{
|
||||
label: 'Introduction',
|
||||
to: '/docs/intro',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Blog',
|
||||
items: [
|
||||
{
|
||||
label: 'Articles',
|
||||
to: '/blog',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Liens',
|
||||
items: [
|
||||
{
|
||||
label: 'GitHub',
|
||||
href: 'https://github.com/Tellsanguis/blog_technique',
|
||||
},
|
||||
{
|
||||
label: 'Forgejo',
|
||||
href: 'https://forgejo.tellserv.fr',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
copyright: `Copyright © ${new Date().getFullYear()} TellServ. Built with Docusaurus.`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
darkTheme: prismThemes.dracula,
|
||||
},
|
||||
} satisfies Preset.ThemeConfig,
|
||||
};
|
||||
|
||||
export default config;
|
||||
11
i18n/en/code.json
Normal file
11
i18n/en/code.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"theme.NotFound.title": {
|
||||
"message": "Page Not Found"
|
||||
},
|
||||
"theme.NotFound.p1": {
|
||||
"message": "We could not find what you were looking for."
|
||||
},
|
||||
"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."
|
||||
}
|
||||
}
|
||||
18
i18n/en/docusaurus-plugin-content-docs/current.json
Normal file
18
i18n/en/docusaurus-plugin-content-docs/current.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"version.label": {
|
||||
"message": "Next",
|
||||
"description": "The label for version current"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Notions": {
|
||||
"message": "Concepts",
|
||||
"description": "The label for category Notions in sidebar tutorialSidebar"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Homelab actuel - Docker Compose & Ansible": {
|
||||
"message": "Current Homelab - Docker Compose & Ansible",
|
||||
"description": "The label for category Homelab actuel in sidebar tutorialSidebar"
|
||||
},
|
||||
"sidebar.tutorialSidebar.category.Futur Homelab - OpenTofu, K3S, Ansible & DevOps": {
|
||||
"message": "Future Homelab - OpenTofu, K3S, Ansible & DevOps",
|
||||
"description": "The label for category Futur Homelab in sidebar tutorialSidebar"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Current Homelab - Docker Compose & Ansible
|
||||
|
||||
Documentation of my current homelab infrastructure, based on Docker Compose and Ansible.
|
||||
|
||||
## Overview
|
||||
|
||||
My current homelab uses a simple and effective approach:
|
||||
- **Docker Compose**: Container orchestration
|
||||
- **Ansible**: Configuration and deployment automation
|
||||
- **Self-hosted services**: Forgejo, monitoring, various applications
|
||||
|
||||
## Architecture
|
||||
|
||||
### Physical/Virtual Infrastructure
|
||||
- Dedicated servers or VMs
|
||||
- Secure local network
|
||||
- Storage and backups
|
||||
|
||||
### Tech Stack
|
||||
- **OS**: Linux (Debian/Ubuntu)
|
||||
- **Containerization**: Docker & Docker Compose
|
||||
- **Automation**: Ansible playbooks
|
||||
- **Reverse proxy**: Traefik or Nginx
|
||||
- **Monitoring**: Prometheus, Grafana
|
||||
|
||||
## Deployed Services
|
||||
|
||||
The documentation details:
|
||||
- Service configuration
|
||||
- Ansible playbooks used
|
||||
- Docker Compose files
|
||||
- Secrets and security management
|
||||
- Backups and disaster recovery
|
||||
|
||||
## Advantages of This Approach
|
||||
|
||||
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
|
||||
|
||||
These limitations motivate the evolution towards Kubernetes (see "Future Homelab" section).
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Future Homelab - OpenTofu, K3S, Ansible & DevOps
|
||||
|
||||
Documentation of the migration to a modern infrastructure based on Kubernetes and DevOps practices.
|
||||
|
||||
## Vision
|
||||
|
||||
Evolve my homelab towards an infrastructure that is:
|
||||
- **Cloud-native** with Kubernetes (K3S)
|
||||
- **Infrastructure as Code** with OpenTofu
|
||||
- **Highly automated** with Ansible and GitOps
|
||||
- **Observable** with advanced monitoring and logging
|
||||
|
||||
## Target Tech Stack
|
||||
|
||||
### Orchestration
|
||||
- **K3S**: Lightweight and performant Kubernetes distribution
|
||||
- **Helm**: Package manager for Kubernetes
|
||||
- **ArgoCD**: GitOps for continuous deployment
|
||||
|
||||
### Infrastructure as Code
|
||||
- **OpenTofu**: Open-source fork of Terraform for IaC
|
||||
- **Ansible**: Configuration management and provisioning
|
||||
- **Git**: Version control for all infrastructure
|
||||
|
||||
### DevOps & CI/CD
|
||||
- **Forgejo Actions**: Integrated CI/CD
|
||||
- **GitOps**: Declarative and versioned deployment
|
||||
- **Kustomize**: Kubernetes configuration management
|
||||
|
||||
### Observability
|
||||
- **Prometheus**: Metrics and alerting
|
||||
- **Grafana**: Visualization and dashboards
|
||||
- **Loki**: Log aggregation
|
||||
- **Tempo**: Distributed tracing
|
||||
|
||||
## Migration Goals
|
||||
|
||||
### Technical
|
||||
- Horizontal scalability
|
||||
- High availability
|
||||
- Automated deployments
|
||||
- Complete observability
|
||||
|
||||
### Learning
|
||||
- Master Kubernetes in production
|
||||
- Practice Infrastructure as Code
|
||||
- Implement DevOps best practices
|
||||
- Explore cloud-native technologies
|
||||
|
||||
## Roadmap
|
||||
|
||||
The migration happens in stages:
|
||||
|
||||
1. **Phase 1**: Basic K3S setup
|
||||
2. **Phase 2**: Migration of critical services
|
||||
3. **Phase 3**: GitOps implementation (ArgoCD)
|
||||
4. **Phase 4**: Observability and monitoring
|
||||
5. **Phase 5**: Complete automation with OpenTofu
|
||||
|
||||
Each step is documented with encountered challenges and solutions provided.
|
||||
|
||||
## Why This Evolution?
|
||||
|
||||
This migration represents:
|
||||
- **Professional skills**: Technologies used in enterprise
|
||||
- **Practical learning**: Experimentation in real conditions
|
||||
- **Technical evolution**: Moving to modern and scalable solutions
|
||||
- **Portfolio**: Demonstration of advanced DevOps skills
|
||||
32
i18n/en/docusaurus-plugin-content-docs/current/intro.md
Normal file
32
i18n/en/docusaurus-plugin-content-docs/current/intro.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Introduction
|
||||
|
||||
Welcome to **TellServ Tech Blog**!
|
||||
|
||||
This technical blog documents my research, thoughts and solutions to technical challenges encountered in my projects. The goal is to:
|
||||
|
||||
- 📚 **Document** my learnings and discoveries
|
||||
- 🔍 **Share** my analyses and solutions
|
||||
- 💡 **Demonstrate** my technical skills
|
||||
- 🤝 **Contribute** to the community
|
||||
|
||||
## Site Structure
|
||||
|
||||
### Documentation
|
||||
|
||||
The documentation section contains in-depth technical guides, tutorials and references for my projects.
|
||||
|
||||
### Blog
|
||||
|
||||
The blog features articles on:
|
||||
- Technical problem solving
|
||||
- Architecture analysis
|
||||
- Experience feedback
|
||||
- New technologies and tools
|
||||
|
||||
## About
|
||||
|
||||
This site is built with [Docusaurus](https://docusaurus.io/), hosted on Cloudflare Pages and the source code is available on [GitHub](https://github.com/Tellsanguis/blog_technique) and [Forgejo](https://forgejo.tellserv.fr).
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Concepts
|
||||
|
||||
This section groups fundamental technical concepts and notions used in my projects.
|
||||
|
||||
## Objective
|
||||
|
||||
Document and explain key concepts to:
|
||||
- Facilitate understanding of technical choices
|
||||
- Serve as reference for projects
|
||||
- Share theoretical and practical knowledge
|
||||
|
||||
## Topics Covered
|
||||
|
||||
Covered concepts include:
|
||||
|
||||
### Infrastructure
|
||||
- Virtualization and containerization
|
||||
- Networking and security
|
||||
- Storage and backup
|
||||
|
||||
### Automation
|
||||
- Infrastructure as Code (IaC)
|
||||
- Configuration Management
|
||||
- CI/CD and pipelines
|
||||
|
||||
### DevOps
|
||||
- GitOps and versioning
|
||||
- Observability (monitoring, logging, tracing)
|
||||
- Practices and methodologies
|
||||
|
||||
### Orchestration
|
||||
- Kubernetes and containers
|
||||
- Service mesh
|
||||
- Load balancing and scaling
|
||||
|
||||
Explore the subsections to discover each concept in detail!
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# About Me
|
||||
|
||||
Coming soon.
|
||||
18006
package-lock.json
generated
Normal file
18006
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
39
package.json
Normal file
39
package.json
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"name": "blog_technique",
|
||||
"version": "1.0.0",
|
||||
"description": "TellServ Tech Blog - Blog technique pour montrer mes recherches et réflexions",
|
||||
"scripts": {
|
||||
"docusaurus": "docusaurus",
|
||||
"start": "docusaurus start",
|
||||
"build": "docusaurus build",
|
||||
"swizzle": "docusaurus swizzle",
|
||||
"deploy": "docusaurus deploy",
|
||||
"clear": "docusaurus clear",
|
||||
"serve": "docusaurus serve",
|
||||
"write-translations": "docusaurus write-translations",
|
||||
"write-heading-ids": "docusaurus write-heading-ids"
|
||||
},
|
||||
"keywords": [
|
||||
"docusaurus",
|
||||
"blog",
|
||||
"technique"
|
||||
],
|
||||
"author": "TellServ",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.9.2",
|
||||
"@docusaurus/preset-classic": "^3.9.2",
|
||||
"clsx": "^2.1.1",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "^3.9.2",
|
||||
"@docusaurus/tsconfig": "^3.9.2",
|
||||
"@docusaurus/types": "^3.9.2",
|
||||
"typescript": "~5.7.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0"
|
||||
}
|
||||
}
|
||||
37
sidebars.ts
Normal file
37
sidebars.ts
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
||||
|
||||
const sidebars: SidebarsConfig = {
|
||||
tutorialSidebar: [
|
||||
'intro',
|
||||
'presentation',
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Notions',
|
||||
link: {
|
||||
type: 'doc',
|
||||
id: 'notions/index',
|
||||
},
|
||||
items: [],
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Homelab actuel - Docker Compose & Ansible',
|
||||
link: {
|
||||
type: 'doc',
|
||||
id: 'homelab-actuel/index',
|
||||
},
|
||||
items: [],
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Futur Homelab - OpenTofu, K3S, Ansible & DevOps',
|
||||
link: {
|
||||
type: 'doc',
|
||||
id: 'homelab-futur/index',
|
||||
},
|
||||
items: [],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default sidebars;
|
||||
22
src/css/custom.css
Normal file
22
src/css/custom.css
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
:root {
|
||||
--ifm-color-primary: #2e8555;
|
||||
--ifm-color-primary-dark: #29784c;
|
||||
--ifm-color-primary-darker: #277148;
|
||||
--ifm-color-primary-darkest: #205d3b;
|
||||
--ifm-color-primary-light: #33925d;
|
||||
--ifm-color-primary-lighter: #359962;
|
||||
--ifm-color-primary-lightest: #3cad6e;
|
||||
--ifm-code-font-size: 95%;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
[data-theme='dark'] {
|
||||
--ifm-color-primary: #25c2a0;
|
||||
--ifm-color-primary-dark: #21af90;
|
||||
--ifm-color-primary-darker: #1fa588;
|
||||
--ifm-color-primary-darkest: #1a8870;
|
||||
--ifm-color-primary-light: #29d5b0;
|
||||
--ifm-color-primary-lighter: #32d8b4;
|
||||
--ifm-color-primary-lightest: #4fddbf;
|
||||
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
36
src/pages/index.module.css
Normal file
36
src/pages/index.module.css
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
.heroBanner {
|
||||
padding: 4rem 0;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.features {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 2rem 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.features h3 {
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.features p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 996px) {
|
||||
.heroBanner {
|
||||
padding: 2rem;
|
||||
}
|
||||
}
|
||||
71
src/pages/index.tsx
Normal file
71
src/pages/index.tsx
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
import React from 'react';
|
||||
import clsx from 'clsx';
|
||||
import Link from '@docusaurus/Link';
|
||||
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
||||
import Layout from '@theme/Layout';
|
||||
import Heading from '@theme/Heading';
|
||||
|
||||
import styles from './index.module.css';
|
||||
|
||||
function HomepageHeader() {
|
||||
const {siteConfig} = useDocusaurusContext();
|
||||
return (
|
||||
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
||||
<div className="container">
|
||||
<Heading as="h1" className="hero__title">
|
||||
{siteConfig.title}
|
||||
</Heading>
|
||||
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
||||
<div className={styles.buttons}>
|
||||
<Link
|
||||
className="button button--secondary button--lg"
|
||||
to="/docs/intro">
|
||||
Découvrir la documentation
|
||||
</Link>
|
||||
<Link
|
||||
className="button button--secondary button--lg margin-left--md"
|
||||
to="/blog">
|
||||
Lire le blog
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
);
|
||||
}
|
||||
|
||||
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">
|
||||
<HomepageHeader />
|
||||
<main>
|
||||
<section className={styles.features}>
|
||||
<div className="container">
|
||||
<div className="row">
|
||||
<div className="col col--4">
|
||||
<h3>Documentation Technique</h3>
|
||||
<p>
|
||||
Documentation approfondie de mes projets et solutions techniques.
|
||||
</p>
|
||||
</div>
|
||||
<div className="col col--4">
|
||||
<h3>Articles de Blog</h3>
|
||||
<p>
|
||||
Réflexions et analyses sur les défis techniques rencontrés.
|
||||
</p>
|
||||
</div>
|
||||
<div className="col col--4">
|
||||
<h3>Partage de Connaissances</h3>
|
||||
<p>
|
||||
Partage d'expériences et de solutions pour la communauté.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
0
static/img/.gitkeep
Normal file
0
static/img/.gitkeep
Normal file
6
tsconfig.json
Normal file
6
tsconfig.json
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"extends": "@docusaurus/tsconfig",
|
||||
"compilerOptions": {
|
||||
"baseUrl": "."
|
||||
}
|
||||
}
|
||||
6
wrangler.toml
Normal file
6
wrangler.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Configuration pour Cloudflare Pages
|
||||
name = "blog-technique-tellserv"
|
||||
compatibility_date = "2024-01-01"
|
||||
|
||||
[site]
|
||||
bucket = "./build"
|
||||
Loading…
Add table
Add a link
Reference in a new issue