Vidéo 37 • Médias & Fichiers
Synchronisation de
Données Binaires
Apprenez à synchroniser des photos et des PDF sans saturer votre base de données ni ralentir vos paquets JSON.
L'Erreur du "Tout-en-un"
Approche Novice (JSON)
Transformer l'image en texte Base64 et l'injecter dans le JSON.
Approche Expert (Découplage)
Le JSON ne contient que l'ID de l'image. Le fichier est envoyé séparément vers un Bucket Cloud (S3).
Laboratoire : Optimisation de l'Envoi
Application WinDev (Local)
La Recette de l'Expert
Étape 1 : Préparation Locale
On ne synchronise jamais l'original.
1. Compression (ex: WebP ou JPEG 70%).
2. Dédoublonnage (Calcul du Hash SHA-256). Si le fichier existe déjà sur le Cloud, on n'envoie rien.
Étape 2 : L'Envoi Différé
Le Worker envoie d'abord le JSON. Si le serveur répond "Image manquante", le Worker lance l'upload binaire en tâche de fond.
(-97% de bande passante)
Code de Synchronisation Médias
// 1. Compression de l'image locale avant envoi bufMiniature est un Buffer = dSauveImageJPEG(imgProduit, enMémoire, 70) // 2. On prépare le JSON (Contient juste l'empreinte) stMaVente.PhotoID = HashChaîne(HA_SHA_256, bufMiniature) // 3. Envoi du JSON (Léger) SI PostMetaToCloud(stMaVente) ALORS // 4. Envoi du BINAIRE vers le Bucket (S3/Azure) // On utilise un thread séparé pour ne pas bloquer l'UI ThreadExécute("UploadBinaire", threadNormal, Proc_UploadS3, bufMiniature) FIN