Files
formation-manager-itinova/server/_core/appUrl.ts
Manus 3922b8fd5b Checkpoint: Correction du lien QR code pour utiliser l'URL publique
Modifications apportées :
- Création de server/_core/appUrl.ts : fonction getAppBaseUrl() pour gérer l'URL de base
- Modification de server/qrCodeGenerator.ts : utilise getAppBaseUrl() au lieu de localhost
- Support de plusieurs variables d'environnement (APP_PUBLIC_URL, DOMAIN_NAME, SERVER_URL)
- Création du guide CONFIGURATION_URL_PUBLIQUE.md avec instructions détaillées
- Création du script configure-public-url.sh pour faciliter la configuration

Configuration requise sur le serveur VPS :
Ajouter dans le fichier .env : APP_PUBLIC_URL=https://formations.itinova.org
Puis redémarrer l'application avec PM2 ou systemd.

Les QR codes générés utiliseront maintenant l'URL publique configurée au lieu de localhost.
2026-01-11 15:11:24 -05:00

33 lines
1.1 KiB
TypeScript

/**
* Récupère l'URL de base de l'application
* En production, utilise l'URL publique configurée
* En développement, utilise localhost
*/
export function getAppBaseUrl(): string {
// Si une URL publique est configurée, l'utiliser
if (process.env.APP_PUBLIC_URL) {
return process.env.APP_PUBLIC_URL;
}
// En production, essayer de détecter l'URL depuis les variables d'environnement Manus
if (process.env.NODE_ENV === "production") {
// Pour les applications Manus déployées, l'URL est généralement disponible
// via les variables d'environnement du système
const port = process.env.PORT || 3000;
// Si on est sur un serveur VPS avec un domaine configuré
if (process.env.DOMAIN_NAME) {
return `https://${process.env.DOMAIN_NAME}`;
}
// Sinon, utiliser l'URL du serveur si disponible
if (process.env.SERVER_URL) {
return process.env.SERVER_URL;
}
}
// Par défaut, utiliser localhost (développement)
const port = process.env.PORT || 3000;
return `http://localhost:${port}`;
}