Stylebook

Charte graphique, palette de couleurs, typographie et composants d'interface de mon portfolio.

Palette de Couleurs (Thème Sombre)

#611a64 (Purple Brand)

Couleur primaire, actions d'ancrage

#b80e7d (Pink Brand)

Couleur secondaire, survol et accents

#0f0c1b (Dark BG)

Arrière-plan global du site

#171424 (Dark Card)

Arrière-plan des cartes & encadrés

Typographie & Titrages

Titre principal (Display 4)

Titre dégradé d'accent (H2 Gradient)

Sous-titre de section (H3 White)

Texte d'introduction de premier niveau (lead, 1.25rem).

Texte de paragraphe courant (body, 1rem). Notre police par défaut est Segoe UI, system-ui, offrant une excellente lisibilité à la fois sur mobile et écran haute définition.

Texte secondaire d'appoint (small, 0.875rem).

Boutons & Éléments Interactifs

Badge Warning Badge Info Badge Success

Composant Cartes (Card Brand)

Carte interactive

Passez votre curseur sur cette carte pour tester la transition fluide de translation verticale, la modification de couleur de bordure et l'effet de lueur pourpre (glowing shadow).

Code

#!/bin/bash
# ---------------------------------------------------------------
# Sauvegarde et Chiffrement Automatisés - Frédéric THIZY
# Rétention : 7 jours - Exécution quotidienne via Cron
# ---------------------------------------------------------------

BACKUP_DIR="/var/backups/infra"
DATA_DIR="/var/www/html/data"
DATE=$(date +"%Y-%m-%d_%H%M%S")
RETENTION_DAYS=7

# Initialisation du log
log_message() {
    echo "[$DATE] $1" >> "$BACKUP_DIR/backup_log.txt"
}

# Création du dossier si inexistant
mkdir -p "$BACKUP_DIR"

log_message "Début du script de sauvegarde..."

# 1. Sauvegarde base de données MySQL
log_message "Dump de la base de données..."
docker exec database-container mysqldump -u root -p"secret" my_db > "$BACKUP_DIR/db_$DATE.sql"

if [ $? -eq 0 ]; then
    log_message "Dump de la base de données effectué avec succès."
else
    log_message "ERREUR lors du dump de la base de données."
fi

# 2. Archivage et compression des fichiers
log_message "Compression des répertoires de données..."
tar -czf "$BACKUP_DIR/data_$DATE.tar.gz" "$DATA_DIR"

if [ $? -eq 0 ]; then
    log_message "Compression terminée."
else
    log_message "ERREUR lors de la compression."
fi

# 3. Nettoyage des sauvegardes de plus de 7 jours (Rétention)
log_message "Application de la rétention de $RETENTION_DAYS jours..."
find "$BACKUP_DIR" -type f \( -name "db_*.sql" -o -name "data_*.tar.gz" \) -mtime +$RETENTION_DAYS -delete

log_message "Fin du processus de sauvegarde."

Composant Alert

Note d'expert :

L'accès au socket Docker (docker.sock) par le conteneur Traefik est défini en lecture seule (:ro) pour des raisons évidentes de sécurité. Le reverse proxy n'a pas à interagir de manière active avec l'API Docker.

Sidebar vertical Tab Panes

Configuration Docker Compose & Routage Traefik

Ce fichier docker-compose.yml modélise la façon dont je configure et déploie mes services web derrière le reverse-proxy Traefik avec gestion automatique des certificats SSL Let's Encrypt.

Script Bash de Sauvegarde Automatisée

Script d'automatisation d'archivage, de compression de répertoires de données et de bases de données, avec rétention de 7 jours et notification intégrée.

Script PHP d'analyse et de filtrage de logs

Script PHP utilisé en local pour parser un fichier log d'accès Apache à la recherche de scans agressifs ou d'erreurs récurrentes 404, afin de configurer des filtres Fail2Ban adéquats.