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.
This commit is contained in:
Manus
2026-01-11 15:11:24 -05:00
parent 3981d719e3
commit 3922b8fd5b
5 changed files with 168 additions and 2 deletions

View File

@@ -0,0 +1,66 @@
# Configuration de l'URL publique pour les QR codes
## Problème
Les QR codes générés pointent vers `http://localhost:3000` au lieu de l'URL publique de l'application.
## Solution
Configurer la variable d'environnement `APP_PUBLIC_URL` sur le serveur VPS.
## Étapes de configuration sur le serveur VPS
### 1. Se connecter au serveur
```bash
ssh votre-utilisateur@votre-serveur
```
### 2. Éditer le fichier .env
```bash
cd /chemin/vers/formation-manager-itinova
nano .env
```
### 3. Ajouter la variable APP_PUBLIC_URL
Ajoutez cette ligne dans le fichier `.env` :
```
APP_PUBLIC_URL=https://formations.itinova.org
```
### 4. Redémarrer l'application
```bash
# Si vous utilisez PM2
pm2 restart formation-manager-itinova
# Ou si vous utilisez systemd
sudo systemctl restart formation-manager-itinova
```
### 5. Vérifier que ça fonctionne
1. Connectez-vous à l'interface formateur
2. Générez un nouveau QR code pour une séquence
3. Scannez le QR code avec votre téléphone
4. Vérifiez que l'URL commence par `https://formations.itinova.org/emargement/...`
## Alternative : Utiliser DOMAIN_NAME
Si vous préférez, vous pouvez aussi utiliser :
```
DOMAIN_NAME=formations.itinova.org
```
Le système ajoutera automatiquement le `https://` devant.
## Vérification rapide
Pour vérifier que la variable est bien prise en compte, vous pouvez :
```bash
# Afficher les variables d'environnement de l'application
pm2 env 0 # ou le numéro de votre processus
# Ou redémarrer et vérifier les logs
pm2 restart formation-manager-itinova
pm2 logs formation-manager-itinova
```
## Note importante
⚠️ **Après avoir ajouté la variable d'environnement, vous DEVEZ redémarrer l'application** pour que les changements soient pris en compte.
## Fichiers modifiés
- `server/_core/appUrl.ts` : Nouvelle fonction pour gérer l'URL de base
- `server/qrCodeGenerator.ts` : Utilise maintenant `getAppBaseUrl()` au lieu de `localhost`