espace-paie-odentas/MAINTENANCE_PUBLIC_PAGES.md
2025-10-12 17:05:46 +02:00

2 KiB

Test de l'accès aux pages publiques pendant la maintenance

Pages maintenant accessibles en mode maintenance :

  1. /auto-declaration - Formulaire d'auto-déclaration des salariés

    • Permet aux salariés de compléter leurs informations et uploader des justificatifs
    • Accessible via un lien avec matricule : /auto-declaration?matricule=XXX
  2. /dl-contrat-signe - Téléchargement de contrats signés

    • Permet aux salariés de télécharger leurs contrats signés
    • Accessible via des liens sécurisés générés par le système

Pages déjà accessibles en mode maintenance :

  • /api/* - Toutes les API routes (nécessaires pour le fonctionnement)
  • /maintenance - Page de maintenance elle-même
  • /signin - Page de connexion (pour l'accès staff)
  • Ressources statiques (/_next, /favicon, /public)

Comment tester :

  1. Activer le mode maintenance :

    • Se connecter en tant que staff
    • Utiliser le bouton "Mode Maintenance" dans l'interface
  2. Tester l'accès aux pages publiques :

    # Ces URLs doivent être accessibles même en maintenance
    http://localhost:3000/auto-declaration?matricule=TEST123
    http://localhost:3000/dl-contrat-signe?token=xxx
    
  3. Tester les autres pages :

    # Ces URLs doivent rediriger vers /maintenance
    http://localhost:3000/contrats
    http://localhost:3000/salaries
    http://localhost:3000/
    
  4. Accès staff :

    • Sur la page de maintenance, cliquer sur "Accès équipe"
    • Se connecter avec un compte staff
    • Accès complet à l'application

Modification apportée :

Dans middleware.ts, la condition de vérification de maintenance exclut maintenant :

const isPublicPage = path.startsWith('/auto-declaration') || path.startsWith('/dl-contrat-signe');

if (!isApiOrAssets && !isMaintenancePage && !isSigninPage && !isPublicPage) {
  // Vérification du mode maintenance...
}

Cela garantit que ces pages restent accessibles aux salariés même lorsque l'Espace Paie est en maintenance pour les utilisateurs connectés.