Postvoro
Social AI Platform
v32 — VPS choisi, emails externalisés, publication réelle verrouillée
Deployment readiness
Points prêts
8/13
Checklist v32
À préparer
4
Avant domaine public
Bloqués
1
Meta + production
Domaine cible
postvoro.com
HTTPS obligatoire
Décision v32
On choisit le VPS pour grandir sans ouvrir la publication réelle
Cette page garde les variables de production, les valeurs à copier dans Meta Developers et le plan de test. En v31, le choix est fixé: Postvoro part sur une architecture VPS séparant App/API, PostgreSQL, Cloudflare et backups externes. En v32, les emails sont externalisés: aucun serveur mail sur le VPS App/API ni sur le VPS PostgreSQL. La publication réelle Facebook reste volontairement désactivée jusqu’à validation de pages_manage_posts par Meta.
Checklist déploiement v32
Les points bloqués ne doivent être validés qu’après publication réelle du domaine et configuration Meta Developers.
Domaine public
Le domaine postvoro.com doit pointer vers l’hébergement choisi et répondre en HTTPS.
https://postvoro.com
DNS et HTTPS
Cloudflare ou le provider DNS doit avoir les bons enregistrements et un certificat SSL actif.
A/AAAA ou CNAME selon l’hébergeur, SSL Full ou équivalent
Application URL production
NEXT_PUBLIC_APP_URL ou APP_URL doit utiliser le domaine final, pas localhost.
https://postvoro.com
Base PostgreSQL production
DATABASE_URL doit pointer vers une base PostgreSQL production séparée de la base locale.
Préparer une URL PostgreSQL production avec sauvegardes
Migrations Prisma
La base production doit recevoir le schéma Prisma avant les tests OAuth et publications.
npx prisma migrate deploy puis npx prisma generate
Variables Meta production
META_APP_ID, META_APP_SECRET et META_REDIRECT_URI doivent exister côté production.
Variables Meta locales détectées
Redirect URI production
Meta OAuth doit rediriger vers postvoro.com avant le dossier App Review final.
https://postvoro.com/api/integrations/meta/callback
Meta App Domains
Dans Meta Developers, ajouter les domaines officiels de l’application.
postvoro.com, www.postvoro.com
Pages publiques légales
Les pages /privacy, /terms et /data-deletion sont prêtes dans le projet.
https://postvoro.com/privacy · https://postvoro.com/terms · https://postvoro.com/data-deletion
Branding et icône Meta
L’icône officielle 1024×1024 et les emails Postvoro sont préparés.
public/postvoro-app-icon-1024.png · support@postvoro.com · privacy@postvoro.com
Email hosting externalisé
Les emails officiels et transactionnels ne doivent pas être hébergés sur les VPS Postvoro.
Email hosting externe + transactional provider + SPF/DKIM/DMARC dans Cloudflare
Publication réelle verrouillée
Le bouton réel doit rester bloqué tant que pages_manage_posts n’est pas validé par Meta.
pages_manage_posts absent: verrou sûr
Plan de rollback
Garder un ZIP stable avant toute publication publique.
postvoro_stable_v29.zip puis postvoro_stable_v30.zip après validation
.env.production à préparer
Ces valeurs servent de base. Les secrets doivent rester uniquement côté serveur.
NEXT_PUBLIC_APP_URL
https://postvoro.com
APP_URL
https://postvoro.com
DATABASE_URL
postgresql://USER:PASSWORD@HOST:5432/postvoro_production?schema=public
META_APP_ID
À copier depuis Meta Developers
META_APP_SECRET
À garder secret côté serveur
META_REDIRECT_URI
https://postvoro.com/api/integrations/meta/callback
META_SCOPES
public_profile,pages_show_list,pages_read_engagement
NEXT_PUBLIC_PRIVACY_URL
https://postvoro.com/privacy
NEXT_PUBLIC_TERMS_URL
https://postvoro.com/terms
NEXT_PUBLIC_DATA_DELETION_URL
https://postvoro.com/data-deletion
SUPPORT_EMAIL
support@postvoro.com
PRIVACY_EMAIL
privacy@postvoro.com
TRANSACTIONAL_EMAIL_PROVIDER
Resend / Postmark / Amazon SES
Valeurs Meta Developers
App Domains: postvoro.com, www.postvoro.com
Site URL: https://postvoro.com
Privacy Policy: https://postvoro.com/privacy
Terms: https://postvoro.com/terms
Data deletion: https://postvoro.com/data-deletion
Valid OAuth Redirect URI: https://postvoro.com/api/integrations/meta/callback
Décision infrastructure v32
VPS retenu: App/API séparé de PostgreSQL et emails externalisés
La stratégie retenue est VPS pour garder le contrôle et pouvoir agrandir progressivement: un serveur App/API, un serveur PostgreSQL, Cloudflare devant postvoro.com, des backups externes et un provider email dédié.
Simple pour Next.js
Option A — Vercel
Étape 1
Connecter le repository ou uploader une version propre du projet.
Étape 2
Ajouter les variables .env.production dans Project Settings.
Étape 3
Ajouter postvoro.com dans Domains et attendre la validation DNS.
Étape 4
Tester /privacy, /terms, /data-deletion, OAuth Meta et pages synchronisées.
Choix retenu pour grandir
Option retenue — VPS Node.js
Étape 1
Installer Node.js, PostgreSQL client, PM2 et Nginx.
Étape 2
Uploader le ZIP stable, installer les dépendances et faire npm run build.
Étape 3
Lancer avec PM2 derrière Nginx + HTTPS Let’s Encrypt.
Étape 4
Créer des sauvegardes automatiques PostgreSQL et fichiers .env hors du repo.
Évolutif
Option C — Hybride
Étape 1
Front/Next.js sur Vercel ou VPS App.
Étape 2
PostgreSQL sur VPS dédié ou base managée.
Étape 3
Cloudflare pour DNS, SSL, protection et cache statique.
Étape 4
Backups externes séparés de l’hébergement principal.
Tests obligatoires après déploiement
Test 1
Ouvrir https://postvoro.com et vérifier le chargement sans erreur navigateur.
Test 2
Ouvrir /privacy, /terms et /data-deletion depuis le domaine public.
Test 3
Vérifier que l’icône /postvoro-app-icon-1024.png s’ouvre publiquement.
Test 4
Vérifier que support@postvoro.com et privacy@postvoro.com reçoivent les emails via le provider externe.
Test 5
Connecter Meta OAuth avec une Page Facebook de test.
Test 6
Vérifier que les Pages Facebook synchronisées apparaissent dans Intégrations sociales.
Test 7
Créer une publication en brouillon, envoyer en approbation, approuver puis vérifier que le bouton réel reste verrouillé.
Test 8
Télécharger le dossier App Review v26/v30 et garder les captures vidéo.
Sécurité avant activation réelle
Même après déploiement de postvoro.com, la publication réelle doit rester désactivée. Le bouton réel ne doit jamais appeler l’API Graph pour publier tant que Meta n’a pas validé pages_manage_posts et tant qu’un audit log + confirmation explicite ne sont pas en place.