WindevExpert

Vidéo 17 • Performance & Scalabilité

La Pagination :
Le Débit Intelligent

"Ne chargez pas 1 million de lignes quand l'utilisateur n'en voit que 20 à l'écran."

Le Piège du "SELECT ALL"

Approche Novice

Demander 50 000 lignes au Cloud d'un coup.
Le serveur sature sa RAM, le réseau sature sa bande passante.

RÉSULTAT : Application figée, erreur "Timeout", crash du serveur.

Approche Expert SaaS

Demander les 50 premières lignes, puis les 50 suivantes quand l'utilisateur scrolle.

RÉSULTAT : Fluidité totale, 10ms de réponse, parc supportant 10 000 sites.

Simulation : Poids vs Vitesse

Console d'Extraction

Infos Réseau
Taille : 0 KB
Temps : 0ms

Le mécanisme : Le Curseur de Lecture

Comment le Cloud découpe ?

Le serveur ne lit que ce que vous lui demandez. Il utilise deux paramètres magiques :

  • LIMIT "Je veux seulement 50 résultats."
  • OFFSET "Saute les 100 premiers et donne moi la suite."
Page 2 de 500

Implémentation de l'Appel Paginé

// 1. Paramétrage de la requête Webservice
MaReq est un httpRequête
MaReq.URL = "https://api.monsaas.com/v1/tickets"

// 2. On passe les paramètres de pagination
MaReq.URL += "?limit=50&page=" + nMaPageActuelle

// 3. Dans l'API Webdev (serveur)
nNbSaute est un entier = (nPage - 1) * nLimit
sSQL est une chaîne = "SELECT * FROM Tickets LIMIT " + nLimit + " OFFSET " + nNbSaute

HExécuteRequêteSQL(REQ_Data, MyConnexion, hRequêteSansCorrection, sSQL)