LogoKalli
Web

Web Pages Explained

Pages de l'application Web

Routes publiques

RouteFichierDescription
/(public)/index.tsxPage d'accueil
/faq(public)/faq.tsxFoire aux questions

Routes auth (non authentifié)

RouteFichierDescription
/sign-in(auth)/sign-in.tsxConnexion email/password + OAuth
/sign-up(auth)/sign-up.tsxInscription
/forgot-password(auth)/forgot-password.tsxDemande de réinitialisation
/reset-password(auth)/reset-password.tsxSaisie nouveau mot de passe

Routes protégées (auth requis)

Guard dans (protected)/route.tsxbeforeLoad: appel orpc.getMe, redirige vers /sign-in si non authentifié.

Zone commune (user + admin)

RouteFichierDescription
/dashboard(protected)/dashboard.tsxTableau de bord principal
/files(protected)/files.tsxListe des fichiers assignés à l'utilisateur
/chunk-visualisation/$fileId(protected)/chunk-visualisation.$fileId.tsxVisualisation et annotation des chunks d'un fichier

Zone admin (rôle admin requis)

RouteFichierDescription
/admin(protected)/admin/admin.tsxDashboard admin
/admin/files(protected)/admin/files.tsxGestion de tous les fichiers (upload, suppression, assignation)
/admin/qa-visualisation/$fileId(protected)/admin/qa-visualisation.$fileId.tsxVisualisation et annotation des Q&A pairs
/admin/assignments(protected)/admin/assignments.tsxGestion des assignations fichiers → utilisateurs
/admin/chunks(protected)/admin/chunks.tsxAjout de chunks manuels
/admin/tags(protected)/admin/tags.tsxGestion des tags (CRUD)
/admin/roles(protected)/admin/roles.tsxGestion des rôles applicatifs et associations role-tag

Notes d'implémentation

  • Guard RBAC: le guard protégé vérifie uniquement l'authentification. Le contrôle admin est fait par route individuelle ou via adminProcedure côté serveur.
  • Contexte ORPC: __root.tsx crée le client ORPC et l'injecte dans le contexte TanStack Router, accessible dans tous les beforeLoad et loaders.
  • TanStack Router: le routage est file-based. Les groupes (public), (auth), (protected) sont des route groups (pas de segment URL).
  • Sources chunks: depuis chunk-visualisation, les admins voient des liens directs vers les chunks dans les réponses du chatbot (via WEB_APP_BASE_URL).