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

57 lines
No EOL
2 KiB
Markdown

## 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 :
```typescript
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.