# AP - Projet FOXTROT / DCS Games

## Intitulé
Hébergement sécurisé d'un tableau de bord PHP/MariaDB de suivi des consommations Cloud.

## Cadre
- Contexte: projet d'école Campus IT mené en 2e année de BTS SIO.
- Organisation: projet collaboratif entre le pôle SLAM et le pôle SISR.
- Pôle SLAM: Raphaël et Ilyes.
- Pôle SISR: Jâsir Bounini-Ghourabi et Adrien.
- Date de présentation: 5 mars 2026.

## Besoin exprimé
Le projet visait à proposer une plateforme web capable de suivre les consommations de ressources Cloud, avec un accès HTTPS stable, une base de données fiable et une infrastructure sécurisée. L'objectif n'était pas uniquement de produire une interface graphique, mais aussi de l'héberger dans des conditions proches d'un contexte réel d'exploitation.

## Mon implication explicite
Au sein du pôle SISR, j'ai participé à:
- la préparation de l'environnement Proxmox VE sur site;
- le déploiement d'une VM Debian 12 dédiée à l'hébergement;
- le durcissement des accès réseau et système;
- la mise en place d'un accès privé via WireGuard pour les déploiements de l'équipe SLAM;
- l'exposition sécurisée de l'application avec Nginx Proxy Manager et Let's Encrypt;
- la préparation de la base MariaDB et du compte de service applicatif;
- la définition d'une stratégie de sauvegarde et de reprise.

Je n'ai pas réalisé seul la partie développement PHP/JavaScript du dashboard: cette partie relevait du pôle SLAM. Mon rôle a porté sur l'infrastructure, la sécurité, l'hébergement et la mise à disposition d'un environnement exploitable.

## Architecture retenue
- Hébergement on-premise sur mini PC Intel N150, 16 Go de RAM, SSD 512 Go et disque externe 2 To.
- Hyperviseur Proxmox VE.
- VM Debian 12 Netinstall sans interface graphique.
- Ressources VM: 2 vCPU, 4 Go de RAM, 30 Go de stockage NVMe.
- Reverse proxy HTTPS via Nginx Proxy Manager en conteneur Docker.
- Backend applicatif Apache / PHP 8.2 écoutant en interne sur le port 8080.
- Base de données MariaDB `campus_it`.
- Nom de domaine publié: `dcsgames.jasir.fr`.

## Sécurisation mise en oeuvre
- Politique UFW restrictive: refus par défaut des connexions entrantes.
- Ouverture contrôlée de `51820/udp`, `80/tcp` et `443/tcp`.
- Mise en place de Fail2Ban.
- Durcissement SSH:
  - désactivation du compte root à distance;
  - désactivation de l'authentification par mot de passe;
  - authentification par clés Ed25519.
- Tunnel WireGuard pour que l'équipe SLAM puisse déposer l'application sans exposer SSH ou SFTP publiquement.

## Base de données et sauvegardes
- Création de la base `campus_it`.
- Mise en place d'un compte applicatif dédié `app_campus` limité à cette base.
- Sauvegardes prévues par snapshots Proxmox et export MariaDB quotidien via `mysqldump`.

## Validation
Les points validés sur cette AP sont les suivants:
- accès HTTPS fonctionnel depuis Internet;
- routage reverse proxy vers le service web interne;
- exploitation correcte de la base MariaDB par l'application;
- déploiement applicatif réalisé via le tunnel WireGuard;
- cohérence entre le besoin SLAM et la solution d'hébergement SISR.

## Compétences mobilisées
- Concevoir et mettre en oeuvre une solution d'infrastructure sécurisée.
- Administrer un service Linux en production.
- Sécuriser les flux réseau et l'exposition Internet.
- Déployer un service web avec reverse proxy et certificat TLS.
- Documenter une architecture et travailler en mode projet avec un autre pôle.

## Résultat
Cette AP montre ma capacité à transformer un projet scolaire en environnement hébergé, sécurisé et démontrable à l'oral. Elle illustre aussi ma capacité à travailler en complémentarité avec des développeurs, en séparant clairement les responsabilités applicatives et les responsabilités d'infrastructure.

## Preuves associées
- Présentation PDF: `docs/ap-dcsgames-foxtrot_presentation.pdf`
- Présentation PPTX: `docs/ap-dcsgames-foxtrot_presentation.pptx`
- Archive source: `docs/ap-dcsgames-foxtrot_source.zip`
- Captures d'écran: `assets/images/ap/dcsgames-foxtrot/`
- Site publié: <https://dcsgames.jasir.fr/>
