WindevExpert

Vidéo 18 • Optimisation Flux Sortant

Batch & Compress :
L'Efficacité Réseau

"Ne multipliez pas les appels HTTP. Groupez, compressez et libérez votre serveur."

Le Coût caché d'une requête

Le mode "Harcèlement"

1 vente = 1 appel HTTP.
Si vous avez 100 ventes, le client et le serveur doivent négocier 100 fois la connexion (SSL, Headers, Auth).

PERTE : 90% du temps est consommé par les entêtes et la sécurité plutôt que par vos données.

Le mode "Convoi"

On attend d'avoir un lot de 50 ventes. On les emballe dans un seul paquet JSON.

GAIN : 1 seule négociation réseau pour 50 ventes. Serveur 50x plus soulagé.

Démonstration : Vitesse de Synchronisation

SyncQueue (En attente)

Prêt

Statistiques Cloud

Appels API : 0
Temps total : 0.00s

L'Étape de l'Expert : La Compression

Pourquoi compresser ?

Le texte JSON contient beaucoup de redondance.
En compressant votre buffer en mémoire avant l'envoi, vous divisez son poids par 10.

JSON BRUT 500 KB
COMPRESSÉ 45 KB
Buffer Binaire

Logique : Compresser()

Implémentation du Batching

// 1. Récupérer un lot de 50 records en file d'attente locale
tabVentes est un tableau de ST_Vente = ChargeSyncQueue(50)

// 2. Sérialisation de l'ensemble du tableau
sMonLotJSON est une chaîne = VariantVersJSON(tabVentes)

// 3. COMPRESSION DU BUFFER (Indispensable pour le SaaS)
// On utilise la fonction native "Compresser" sur le buffer
bufLotCompresse est un Buffer = Compresser(sMonLotJSON, compressZlib)

// 4. Envoi d'une seule requête HTTP optimisée
clReq est une httpRequête
clReq.Contenu = bufLotCompresse
HTTPEvoie(clReq)