4NK_IA_front/docs/polling_frontend.md

1012 B
Raw Permalink Blame History

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