Étude de cas Nuxt & Supabase11 min de lecture

Progrify : développer un SaaS moderne avec Nuxt 4, Supabase et Coolify

Étude de cas technique de Progrify : une application SaaS Full Stack conçue avec Nuxt 4, Supabase, PostgreSQL et déployée par Coolify.

Nuxt 4SupabaseSaaSPostgreSQLCoolifyDevOps
Progrify : développer un SaaS moderne avec Nuxt 4, Supabase et Coolify

Progrify est une plateforme SaaS pensée pour aider des coachs à piloter leur activité, suivre leurs clients et proposer une expérience digitale cohérente, du premier contact jusqu’au suivi quotidien.

Derrière l’interface, le projet réunit les enjeux typiques d’une application web métier : authentification, gestion de rôles, données sensibles, stockage de fichiers, paiements, temps réel, responsive, APIs sécurisées et déploiement continu.

Cette étude de cas ne cherche donc pas à détailler chaque ligne de code. Elle montre comment je conçois un produit Full Stack de A à Z : traduire un besoin métier en architecture, choisir les bonnes briques, sécuriser les flux et construire un socle capable d’évoluer sans devenir inutilement complexe.

Une architecture SaaS claire et évolutive

L’architecture de Progrify sépare les responsabilités sans multiplier les services. Nuxt 4 porte l’expérience utilisateur et les traitements serveur spécifiques. Supabase fournit les services backend structurants. PostgreSQL reste la source de vérité métier.

Architecture technique de Progrify avec Nuxt 4, API serveur, Supabase et PostgreSQL
Une architecture lisible : l’interface Nuxt, la logique serveur nécessaire et les services Supabase reliés à PostgreSQL.

Utilisateurs → Nuxt 4 / Vue 3 → Server Routes Nuxt → Supabase Auth + PostgreSQL + Storage + Realtime

Nuxt 4 pour le frontend et le serveur applicatif

Nuxt 4 constitue la couche visible du produit. Vue 3 et TypeScript permettent de construire des interfaces modulaires, typées et réutilisables. Tailwind CSS apporte un système visuel cohérent, suffisamment flexible pour traiter aussi bien un dashboard dense qu’un espace client mobile.

Nuxt ne se limite pas au frontend. Ses Server Routes accueillent les opérations qui ne doivent pas être exécutées directement dans le navigateur : validation métier, orchestration de plusieurs services, webhooks Stripe, envoi d’emails ou actions nécessitant des secrets serveur.

Cette frontière est importante. Le client accède uniquement à ce dont il a besoin. Les clés privilégiées et les décisions sensibles restent côté serveur.

Supabase comme socle backend

Supabase regroupe plusieurs capacités indispensables à Progrify : authentification, base PostgreSQL, stockage de fichiers et fonctionnalités temps réel. L’intérêt n’est pas seulement de démarrer plus vite. Ces services partagent un même modèle de données et un même système d’autorisations.

Les règles d’accès sont définies au plus près de la donnée avec la Row Level Security. Un coach, un client et un administrateur n’ont ni les mêmes écrans, ni les mêmes droits. Cette séparation ne doit pas reposer uniquement sur l’interface : elle doit être garantie par la base et complétée par les APIs serveur.

PostgreSQL comme source de vérité

PostgreSQL stocke les utilisateurs applicatifs, les relations coach-client, les programmes, les séances, la progression, les prospects, la messagerie et les informations de facturation utiles au produit.

Le schéma est versionné avec des migrations. Une nouvelle fonctionnalité ne se résume donc pas à ajouter un écran : elle fait évoluer explicitement les tables, contraintes, index, politiques RLS et droits d’accès nécessaires.

Supabase accélère le développement, mais ne remplace pas la conception backend. Le modèle de données, les politiques RLS, les responsabilités serveur et la gestion des secrets restent des choix d’architecture.

Pourquoi Nuxt 4 ?

Nuxt 4 répond bien à un produit qui mélange acquisition, espace authentifié et logique applicative.

Le rendu serveur offre une base solide pour le SEO des pages publiques. Le routage, les layouts et les middlewares structurent les différents espaces du produit. Le chargement des données peut être adapté à chaque page, côté serveur ou côté client, sans imposer une architecture parallèle.

Pour Progrify, les principaux bénéfices sont concrets :

  • SEO et SSR pour les pages publiques et les futurs contenus d’acquisition ;
  • performances grâce à un rendu maîtrisé et au chargement ciblé des données ;
  • TypeScript pour fiabiliser les contrats entre composants, APIs et modèle métier ;
  • composants réutilisables pour garder une expérience homogène entre dashboard, portail client et pages publiques ;
  • architecture claire avec une convention unique pour les pages, middlewares, composants et routes serveur ;
  • excellente Developer Experience pour livrer, tester et faire évoluer rapidement le produit.

Page marketing

Rendu serveur, contenu indexable, performance, responsive et parcours de conversion.

Application métier

Authentification, données privées, interactions riches, APIs serveur et mises à jour en temps réel.

Nuxt permet de réunir ces deux dimensions dans un même projet. C’est un avantage fort pour un SaaS : la vitrine et le produit évoluent ensemble, sans dupliquer le design system, la configuration ou les compétences nécessaires.

Pourquoi Supabase ?

Construire séparément une authentification, une API CRUD, une base PostgreSQL, un stockage objet et une couche temps réel aurait ajouté beaucoup de travail d’infrastructure avant même de traiter le métier de Progrify.

Supabase fournit ces briques dans un environnement cohérent :

Supabase Auth PostgreSQL Row Level Security Supabase Storage Realtime Data API

Auth gère les sessions et l’identité des utilisateurs. PostgreSQL apporte un modèle relationnel robuste pour les données métier. Storage reçoit les photos et fichiers avec des règles d’accès dédiées. Realtime alimente notamment les interactions qui doivent se mettre à jour sans rechargement complet.

Cette approche réduit le temps passé à reconstruire des services génériques. Elle permet de concentrer l’effort sur les parcours qui différencient réellement le produit : créer un programme, inviter un client, suivre sa progression, échanger, qualifier un prospect ou gérer un abonnement.

Le gain de vitesse reste compatible avec une architecture sérieuse : migrations versionnées, RLS, validations côté serveur et secrets strictement séparés du code client.

Des Server Routes pour les opérations sensibles

Une application Supabase ne doit pas nécessairement appeler la base directement depuis chaque écran. Certaines opérations méritent une couche serveur explicite.

Dans Progrify, les routes Nuxt permettent par exemple de valider les entrées, vérifier le contexte utilisateur, agréger plusieurs requêtes, déclencher un email, piloter Stripe ou convertir un prospect en client sans ressaisie.

Ce découpage évite deux écueils : exposer une logique sensible dans le navigateur et transformer le frontend en chef d’orchestre de workflows complexes.

Interface → Validation serveur → Autorisation → Opération métier → Base / Storage / Stripe / Email → Réponse

Un déploiement simple avec Git, Coolify et un VPS OVH

L’infrastructure a été volontairement gardée simple. Le dépôt Git constitue la source du code. Coolify automatise la construction et le déploiement de l’application sur un VPS OVH. La production reste contrôlable sans empiler les services managés.

Pipeline de déploiement continu de Progrify depuis Git vers Coolify, un VPS OVH et la production
Un pipeline court et lisible : le code validé déclenche le déploiement, Coolify orchestre l’application et le VPS OVH l’exécute en production.

Git → Coolify → Build de l’application → VPS OVH → SSL → Production

Coolify centralise les opérations utiles au quotidien : connexion au dépôt, déploiement automatique, certificats SSL, variables d’environnement, redémarrage des services et gestion de l’application.

Ce choix apporte plusieurs bénéfices :

  • CI/CD automatique depuis Git
  • Déploiements rapides et reproductibles
  • Certificats SSL gérés simplement
  • Variables d’environnement séparées du dépôt
  • Redémarrage automatique des services
  • Coût d’infrastructure contenu
  • Contrôle direct du serveur
  • Maintenance centralisée dans Coolify

L’objectif n’est pas de reproduire une plateforme cloud complexe sur un seul serveur. Il est d’adapter l’infrastructure au niveau de charge réel du produit, tout en conservant un chemin clair pour évoluer lorsque les usages le justifieront.

Les fonctionnalités développées

Progrify couvre déjà plusieurs familles de fonctionnalités qui obligent à penser le produit dans son ensemble.

Expérience produit

  • Dashboard coach et suivi d’activité
  • Gestion des clients, prospects et invitations
  • Programmes, séances et progression
  • Portail client responsive et messagerie

Socle technique

  • Authentification et séparation des rôles
  • Stockage sécurisé de photos et fichiers
  • APIs serveur et paiements Stripe
  • Temps réel, RLS et notifications
  • Ces fonctionnalités sont reliées. Une invitation crée un parcours d’activation. Un programme devient visible dans le portail du bon client. Une photo est stockée avec les bonnes autorisations. Un paiement met à jour l’accès au service. Un prospect peut être converti en client sans ressaisir les mêmes informations.

    Ce que ce projet démontre

    Progrify mobilise plusieurs disciplines qui sont souvent traitées séparément : conception produit, développement frontend, backend, base de données, sécurité, DevOps et UX/UI.

    Illustration du développement Full Stack de Progrify, de l’interface au déploiement
    Le développement Full Stack relie l’expérience utilisateur, les APIs, la donnée, la sécurité et la production.
    Développement Full Stack Nuxt 4 Vue 3 TypeScript Supabase PostgreSQL Architecture SaaS UX/UI Sécurité DevOps CI/CD Performance

    Le projet démontre surtout une capacité à prendre en charge la chaîne complète. Cadrer le besoin. Concevoir le modèle de données. Construire les interfaces. Sécuriser les accès. Connecter les services externes. Déployer l’application. Puis faire évoluer le produit sans perdre la lisibilité de l’ensemble.

    Développer un SaaS, ce n’est pas seulement faire fonctionner une application. C’est construire un système que l’on peut comprendre, sécuriser, déployer et faire évoluer.

    Une architecture adaptée aux applications métiers

    Le socle utilisé pour Progrify convient particulièrement aux projets qui ont besoin d’aller au-delà d’un site classique :

    • SaaS B2B ou B2C ;
    • CRM sur mesure ;
    • ERP ciblé sur un métier ;
    • plateforme de services ;
    • outil interne connecté aux opérations ;
    • application web avec espace client ;
    • portail de suivi ou de collaboration.

    La bonne architecture dépend toujours du contexte. Nuxt, Supabase et Coolify ne sont pas une réponse automatique à tous les projets. Ils forment ici un ensemble pertinent parce qu’ils offrent le bon équilibre entre vitesse de développement, maîtrise technique, coût d’infrastructure et capacité d’évolution.

    Conclusion

    Progrify illustre ma manière de construire une application web moderne : partir des usages, garder une architecture lisible, sécuriser la donnée, automatiser le déploiement et réserver la complexité aux endroits où elle crée réellement de la valeur.

    Avec Nuxt 4, Supabase, PostgreSQL, Coolify et un VPS OVH, le projet dispose d’un socle Full Stack cohérent pour continuer à enrichir le produit sans repartir de zéro à chaque évolution.

    Vous avez un SaaS, un CRM, un ERP, une plateforme métier ou un outil interne à concevoir ? Je peux vous aider à cadrer le besoin, choisir l’architecture et livrer une application fiable, de l’interface jusqu’à la production.

    Vous avez une application web à construire ?

    Échangeons sur votre besoin, votre architecture et la meilleure manière de transformer votre projet en produit fiable et évolutif.

    Discuter de mon projet

    Besoin de structurer votre projet ?

    Je peux vous aider a clarifier vos besoins, structurer vos outils et securiser la livraison.

    A lire ensuite

    Articles lies