4NK_IA_front/docs/polling_frontend.md

28 lines
1012 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Polling Frontend — ETag, Selectors, Cadence
---
# Objectif
Réduire les rafraîchissements inutiles et le « clignotement » via ETag, selectors mémoïsés et cadence contrôlée.
## Implémentation
- ETag/If-None-Match activés dans `src/services/folderApi.ts`
- Sélecteurs Reselect: `src/store/selectors.ts`
- Limitation de polling: `src/App.tsx` (backoff exponentiel, max 30 itérations)
- Pause onglet caché (Page Visibility API)
- Mémos: `UploadView.tsx` et `Layout.tsx` (useMemo/React.memo)
## Bonnes pratiques
- Nactualiser létat Redux que si les données changent réellement (comparaison profonde)
- Afficher Skeletons pour les documents en traitement
- Éviter setState inutiles dans les listes (items mémoïsés)
## Tests à réaliser
1. Vérifier quun 304 Not Modified ne déclenche pas de re-render
2. Observer labsence de clignotement lors de larrivée dun seul nouveau document
3. Valider larrêt du polling après 30 tentatives ou à stabilisation