Exploitation d'environnements serveur personnalisés avec clients contrôlés, runtimes modifiés, logique d'accès spécifique et outils d'administration. Le travail couvre la maintenance système, l'automatisation, la supervision, les sauvegardes et le développement de services backend utiles à l'exploitation quotidienne.
Les environnements exploités ne se limitent pas à l'installation d'un serveur standard. Ils impliquent des clients adaptés, des mod loaders ou forks, des paramètres d'exécution maîtrisés et des règles d'accès propres à chaque usage. Les changements doivent être testés avant déploiement pour éviter les incompatibilités entre client, serveur et configuration runtime.
Les objectifs techniques sont :
Scripts permettant de démarrer, arrêter, sauvegarder, vérifier et mettre à jour des services avec journalisation des erreurs. Les actions critiques sont séparées des commandes courantes afin de limiter les erreurs d'exécution.
# Exemple simplifié de script d'automatisation
import subprocess
import logging
import schedule
import time
def backup_server(server_id):
logging.info(f"Starting backup for server {server_id}")
try:
subprocess.run(["./backup.sh", server_id], check=True)
logging.info(f"Backup completed for server {server_id}")
except Exception as e:
logging.error(f"Backup failed: {e}")
# Planification des sauvegardes
schedule.every().day.at("03:00").do(backup_server, "server-a")
schedule.every().day.at("04:00").do(backup_server, "server-b")
while True:
schedule.run_pending()
time.sleep(60)
Mise en place de flux d'accès restreints, contrôles d'intégrité et vérifications de configuration pour éviter l'utilisation de clients ou paramètres non conformes.
Collecte de métriques système et applicatives avec visualisation Grafana. Les tableaux de bord servent à repérer les saturations, comparer l'état avant/après modification et accélérer le diagnostic lors d'un ralentissement.
Analyse de logs pour identifier erreurs récurrentes, comportements anormaux et causes probables d'incidents. Développement de bots Discord avancés avec commandes extensibles, recherche et logique modulaire.
Scripts, bots, intégrations API, traitement d'erreurs et logique backend orientée usage réel.
Gestion de services, processus, droits, fichiers de configuration, logs et ressources système.
Suivi de métriques, analyse de latence, saturation CPU/mémoire/disque et investigation d'incidents.
Exposition contrôlée, restrictions client, secrets, authentification et limitation des accès directs.
Ces environnements ont permis de travailler sur des contraintes proches de l'exploitation : compatibilité entre versions, performances variables selon la charge, fiabilité des sauvegardes, gestion des accès et diagnostic à partir de métriques ou journaux.
Les résultats observables sont :
Les difficultés principales concernent la gestion des incompatibilités, les performances sous charge et la capacité à distinguer rapidement un problème réseau, système, applicatif ou de configuration.