Internet instable : comment rendre une application web plus tolérante aux coupures ?

poze 3 months ago570 gadefr

4

Nos utilisateurs perdent souvent leur connexion pendant qu'ils remplissent un long formulaire. À l'envoi : erreur, et tout est perdu. Comment améliorer ça ?

Dyagnostik IA

Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.

poze 3 months ago

1 Repons

6
✓
✓ Repons yo aksepte

Plusieurs couches, de la plus simple à la plus complète :

1. Sauvegarder le brouillon localement pendant la saisie (debounce + localStorage ou IndexedDB), et le restaurer au rechargement. C'est une solution simple et très efficace. 2. Ne jamais vider le formulaire en cas d'échec d'envoi. Affiche un message clair : « Pas de connexion, votre formulaire est conservé. Réessayer. » 3. Retry automatique avec backoff exponentiel pour les requêtes idempotentes, et écoute de l'événement online pour relancer :

window.addEventListener('online', () => envoyerFileEnAttente());

4. Clé d'idempotence : génère un UUID par soumission (Idempotency-Key). Si la requête a été reçue mais que la réponse s'est perdue, le renvoi ne crée pas de doublon côté serveur. 5. Timeouts raisonnables avec AbortController, pour ne pas laisser un bouton tourner indéfiniment. 6. Mode hors ligne complet (PWA) si c'est central pour ton usage : service worker, file d'envoi en IndexedDB, Background Sync là où c'est supporté. 7. Indicateur d'état réseau visible, et désactivation des actions impossibles hors ligne.

Teste avec les DevTools (onglet Réseau → « Offline » ou « Slow 3G »), mais aussi en conditions réelles.

Konekte pou di lòt moun si li te mache.

answered 2 months ago

Sign in and verify your email to post an answer.