Je viens de créer ce code qui sauvegarde une base HyperFile/CS directement depuis le navigateur du client. La sauvegarde est ensuite générée et sauvegardée sur le poste. Code (Text): UnRépertoire, ResListeRépertoire sont des chaînes NomDuFichierZIP,DossierdeSauvegarde est une chaîne MonArchive est un zipArchive ResAjoutFichier,ResCréation est un entier gLICENCE est une chaine = "NOMDUCLIENT" // Fermeture de la base HFerme("*") // Définition des fichiers NomDuFichierZIP = fRepDonnées+"/Sauvegarde "+DateVersChaîne(DateSys(),"JJ-MM-AA")+".zip" DossierdeSauvegarde = "Sauvegarde "+SansEspace(gLICENCE)+" " + DateSys() // Sauvegarde la base SI HSauvegarde("CSHF", "_"+SansEspace(gLICENCE)+"/*", fRepDonnées()+"\Sauvegardes", Faux, DossierdeSauvegarde) = 0 ALORS Erreur(HErreurInfo(hErrComplet)) SINON ToastAffiche("Sauvegarde terminée." ) FIN // Liste de dossier et le compresse ResCréation = zipCrée(MonArchive, NomDuFichierZIP) ResListeRépertoire = fListeRépertoire(fRepDonnées()+"\Sauvegardes",frNonRécursif) POUR TOUTE CHAÎNE UnRépertoire DE ResListeRépertoire SEPAREE PAR RC SI ResCréation = 0 ALORS ResAjoutFichier = zipAjouteRépertoire(MonArchive, UnRépertoire) FIN SI ResAjoutFichier <> 0 ALORS Erreur(zipMsgErreur(ResAjoutFichier)) FIN FIN FichierAffiche(NomDuFichierZIP, "application/pdf","SAUVEGARDE "+SansEspace(gLICENCE) + " " + DateVersChaîne(DateSys(),"JJ-MM-AAAA") +" "+ HeureVersChaîne(HeureSys(),"HH-MM") + ".ZIP") // télécharge directement") fSupprime(NomDuFichierZIP) fRepSupprime(fRepDonnées()+"\Sauvegardes",frRécursif) ToastAffiche(fRepDonnées())