GH GambleHub

État de chargement et d'attente

1) Pourquoi gérer l'attente

L'utilisateur doit comprendre trois choses :
  • (1) que l'action a commencé, (2) combien cela prendra et (3) que faire si quelque chose a mal tourné.
  • Un bon état de chargement réduit l'anxiété, maintient le focus et économise du temps.

2) Sélection du modèle : skeleton, progress, spinner, streaming

Skeleton - quand la structure du contenu futur est connue, mais pas de données. Empêche CLS.
Barre de progression (déterministe) - lorsque le volume ou les étapes sont connus (p. ex. apload, KYC).
Indeterminate progress - lorsque la durée est inconnue, mais que le processus est réel (initialisation).
Spinner - seulement comme un indicateur court jusqu'à 600-800 ms ; ensuite - skeleton/progress/texte.
Streaming/partial render - nous donnons les données par parties (SSR/segments) et montrons les zones prêtes à l'emploi immédiatement.

Règle : ne laissez pas l'utilisateur dans « l'espace vide ». Si plus de 1 s - donner la structure et le sens.

3) Seuils et budgets temporaires (repères)

≤ 100 ms est une réponse visuelle instantanée : 'busy' sur le bouton/champ.
≤ 1000 ms - skeleton/indicateur + texte « Nous chargeons »....

💡 2-3 s - montrer les progrès/étapes/cause du retard et l'action attendue.
10 s - escalade : proposition « Continuer en arrière-plan », notification, journal de statut.

4) Micro-modèles de réponse instantanée

Nous traduisons le contrôle en 'busy' à la fois (animation ≤ 100 ms), nous bloquons les clics répétés.
Nous changeons le texte du bouton en « Envoyer »..., nous affichons le toast « Demande acceptée » (facultatif).
Lors du retour du focus sur le champ - skeleton local dans la zone de résultat.

5) Skeleton sans « sauts »

Dessinez la forme 1:1 du contenu futur : hauteur des blocs, proportions des médias (« aspect-ratio »).
Animation shimmer : 1200-1600 ms, amplitude de luminosité ≤ 20 %, pas de stroboscope.
Sur les grandes listes - virtualisation + limitation du nombre de squelettes dans les DOM.

css
.skeleton{position:relative; background:var(--bg-elevated); border-radius:12px; overflow:hidden}
.skeleton::after{
content:"";position:absolute; inset:0;
background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);
animation:shimmer 1. 4s infinite;
}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}

6) Progrès et étapes

Contact

Prendre contact

Contactez-nous pour toute question ou demande d’assistance.Nous sommes toujours prêts à vous aider !

Telegram
@Gamble_GC
Commencer l’intégration

L’Email est obligatoire. Telegram ou WhatsApp — optionnels.

Votre nom optionnel
Email optionnel
Objet optionnel
Message optionnel
Telegram optionnel
@
Si vous indiquez Telegram — nous vous répondrons aussi là-bas.
WhatsApp optionnel
Format : +code pays et numéro (ex. +33XXXXXXXXX).

En cliquant sur ce bouton, vous acceptez le traitement de vos données.