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.
// 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