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.
33 lines
1.1 KiB
TypeScript
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}`;
|
|
}
|