Checkpoint: Ajout d'une page de paramètres pour gérer l'URL des QR codes

Modifications apportées :
- Création de la table parametres dans la base de données
- Création du fichier server/parametresDb.ts avec les fonctions getParametres et updateUrlPublique
- Ajout du router parametres dans server/routers.ts avec les procédures get et updateUrlPublique
- Création de la page client/src/pages/AdminParametres.tsx avec formulaire de modification
- Ajout de la route /admin/parametres dans App.tsx
- Ajout du lien "Paramètres" dans le menu après "Configuration SMTP" dans DashboardLayout
- Modification de server/qrCodeGenerator.ts pour utiliser l'URL de la BDD au lieu de getAppBaseUrl
- URL par défaut définie : https://formations.itinova.org

Fonctionnalités :
- Interface graphique pour modifier l'URL publique de l'application
- Les QR codes d'émargement utilisent maintenant l'URL configurée dans la base de données
- Validation de l'URL avant enregistrement
- Message d'information sur l'impact des modifications
This commit is contained in:
Manus
2026-01-12 02:24:59 -05:00
parent 3922b8fd5b
commit 0bebe04eea
12 changed files with 2493 additions and 5 deletions

View File

@@ -30,6 +30,7 @@ import AdminRappelsStats from "./pages/admin/AdminRappelsStats";
import AdminFormateurs from "./pages/admin/AdminFormateurs";
import AdminNotifications from "./pages/admin/AdminNotifications";
import AdminAttestations from "./pages/admin/AdminAttestations";
import AdminParametres from "./pages/AdminParametres";
import QuestionnaireReponse from "./pages/QuestionnaireReponse";
import Inscription from "./pages/Inscription";
import Login from "./pages/Login";
@@ -57,6 +58,7 @@ function Router() {
<Route path={"/admin/attestations"} component={AdminAttestations} />
<Route path={"/admin/email-templates"} component={AdminEmailTemplates} />
<Route path={"/admin/email-config"} component={AdminEmailConfig} />
<Route path={"/admin/parametres"} component={AdminParametres} />
<Route path={"/admin/calendrier"} component={AdminCalendrier} />
<Route path={"/admin/rappels"} component={AdminRappels} />
<Route path={"/admin/rappels/historique"} component={AdminRappelsHistorique} />