Tous les projets

2023 — en cours

projetsdev.fr — Hébergement de Projets Demo

Serveur personnel pour déployer et exposer les projets de démonstration en ligne — un VPS mutualisé entre plusieurs apps Symfony, géré via un back-office EasyAdmin.

Symfony PHP EasyAdmin MySQL VPS Linux

// niveau de départ

  • Linux : usage basique — jamais administré un serveur de production
  • Nginx : connu de nom — jamais configuré de virtualhost
  • SSL : utilisé en dev, jamais configuré en production

Contexte

Pour pouvoir partager des démos de mes projets Symfony sans dépendre de Heroku ou de plateformes tierces, j’ai configuré un VPS dédié à l’hébergement de projets de démonstration.

L’idée : un seul serveur, plusieurs sous-domaines, chaque projet accessible en un clic depuis ce portfolio.

Architecture serveur

projetsdev.fr (VPS Apache)
├── easyadmin.projetsdev.fr  → App Symfony EasyAdmin + Docker
├── [projet].projetsdev.fr   → Autres projets déployés
└── projetsdev.fr            → Page d'accueil / back-office

Chaque sous-domaine est un virtualhost Apache qui redirige vers le bon répertoire ou port Docker.

Déploiement

Le processus de déploiement est intentionnellement simple :

# Sur le serveur
cd /var/www/mon-projet
git pull origin main
composer install --no-dev
php bin/console doctrine:migrations:migrate --no-interaction
php bin/console cache:clear --env=prod

Pas de CI/CD pour ce serveur — un déploiement manuel suffit pour des projets de démonstration.

Back-office EasyAdmin

Le back-office (accessible sur projetsdev.fr/admin) permet de gérer les accès aux projets hébergés : création de comptes de démonstration, activation/désactivation de projets, logs de connexions.

// points forts

  • Hébergement multi-projets sur un seul VPS (Nginx virtualhosting)
  • Back-office de gestion des accès et des déploiements
  • Déploiement continu : git pull + composer install + cache:clear
  • Certificats SSL Let's Encrypt pour chaque sous-domaine

// ce que j'ai appris

  • Administration Linux / Nginx : virtualhosting, reverse proxy, permissions
  • Gestion de certificats SSL avec Certbot
  • Déploiement de plusieurs apps Symfony sur un même serveur
  • Supervision basique : logs Nginx, monitoring de l'espace disque