Retour au portfolio

Gestionnaire de déploiement d’applications

Outil interne conçu pour automatiser la création, le déploiement et la gestion d’applications Next.js sur VPS, via une interface centralisée et des workflows automatisés.

Next.jsTypeScriptPostgreSQLCI/CD

Contexte & Objectifs

Le besoin était de simplifier et d’automatiser le processus de création et de déploiement d’applications sur serveur VPS, afin de réduire les configurations manuelles et les risques d’erreur.

L’objectif principal était de concevoir un gestionnaire capable de générer, configurer et déployer automatiquement des applications avec un minimum d’intervention manuelle, tout en garantissant sécurité et scalabilité.

Mon rôle

J’ai conçu l’architecture du gestionnaire, développé l’interface et les API associées, et mis en place les pipelines CI/CD pour automatiser les déploiements.

J'ai également géré l'intégration avec les services VPS et la configuration des environnements de déploiement.

Fonctionnalités principales

  • Génération automatique de projets applicatifs à partir d’un template standardisé
  • Configuration automatique des environnements
  • Déploiement continu via CI/CD
  • Gestion centralisée des applications
  • Vérification de l’état des applications via endpoints de santé

Architecture

Le gestionnaire repose sur une architecture full-stack unifiée permettant d’orchestrer les déploiements tout en séparant clairement les responsabilités entre interface et exécution.

  • Frontend : Next.js avec TypeScript
  • Backend : API REST avec Next.js API Routes
  • Base de données : PostgreSQL avec Prisma ORM
  • Déploiement : GitHub Actions + VPS
  • Authentification : NextAuth.js

Réflexions techniques

Le choix d’une architecture unifiée avec Next.js a permis de centraliser la logique métier, l’interface et les API au sein d’un même projet, tout en conservant une séparation claire avec le runner exécutant les scripts côté serveur.

Les pipelines CI/CD avec GitHub Actions ont automatisé efficacement les déploiements, réduisant considérablement le temps de mise en production.

Ce que ce projet démontre

  • Conception et mise en place d'une architecture complète en production
  • Automatisation du cycle de vie d'applications Next.js
  • Séparation claire entre orchestration (dashboard) et exécution (runner)
  • Mise en place d'un système sécurisé (authentification + 2FA)
  • Gestion d'infrastructure sur VPS
  • Capacité à concevoir un outil interne évolutif

Images

Retour au portfolio