Ce cours explique pas à pas comment déployer un projet fullstack Spring Boot + Angular sur un VPS Ubuntu. Il couvre les prérequis, la préparation du serveur, l'installation de Java, Maven, Node.js, Angular CLI, PostgreSQL et Nginx, la configuration de la base de données, la préparation de Spring Boot pour la production, la génération du JAR, la création d'un service systemd, le build Angular, la configuration Nginx pour servir le frontend et proxifier l'API vers Spring Boot, l'installation HTTPS avec Certbot, les variables d'environnement, les logs, les erreurs fréquentes, les sauvegardes PostgreSQL, la restauration et la checklist finale de production.
✓Comprendre l'architecture production Spring Boot + Angular
✓Préparer un VPS Ubuntu pour une application fullstack
✓Installer Java JDK, Maven, Node.js, npm, Angular CLI, PostgreSQL, Nginx et Certbot
✓Créer une base PostgreSQL et un utilisateur dédié
✓Configurer Spring Boot pour PostgreSQL en production
✓Utiliser application.properties, application-prod.properties et variables d'environnement
✓Builder Spring Boot avec Maven
✓Tester un JAR Spring Boot avec java -jar
✓Créer un service systemd pour Spring Boot
✓Builder Angular avec ng build
✓Servir Angular avec Nginx
✓Configurer Nginx pour gérer les routes Angular avec try_files
✓Configurer Nginx comme reverse proxy vers Spring Boot
✓Séparer frontend public et API backend
✓Configurer CORS correctement
✓Installer SSL HTTPS avec Certbot
✓Forcer HTTP vers HTTPS
✓Lire les logs Spring Boot, Nginx, systemd et PostgreSQL
✓Corriger les erreurs 502, 404 Angular refresh, CORS, base inaccessible et static frontend absent
✓Sauvegarder PostgreSQL avec pg_dump
✓Sauvegarder les fichiers de configuration
✓Créer une procédure de mise à jour production
✓Créer une checklist finale de production