Envoyé par
Kangourex
Déjà tu peux faire un MD5 de tous les contenus de fichier de ton dossier pour voir si y a un changement à faire.
Après si y a changement là tu peux prendre le MD5 de chaque fichier et comparer.
Le nombre de fichier, les noms des fichiers avant : Si tu charges tous les fichiers d'un dossier la personne peut trouver une faille, si tu prends sur les noms tu peux avoir des fichiers introuvables s'il en supprime.
Et après tu vérifies le contenu.
Cela dépend comment tu t'y prends, si tu fais via UDP/TCP ou par HTTP, faudrait plus d'information sur le fonctionnement de ton application.
Merci d'avoir répondu !
En réalité je dispose de plusieurs milliers de fichiers sur mon espace FTP. Tout ces fichiers sont répertoriés dans un fichier XML, comme ceci :
<Entry url="www.site.com/update/test.exe" local="C:\dossier\test.exe" MD5="la signature"/>
Sur mon pc (local) il y a exactement la même structure que sur mon FTP. (dossiers / sous-dossiers / fichiers)
Imaginons que je souhaite modifier 1 fichier parmi les centaines d'autres. Mon application effectuera une comparaison des signatures MD5 des fichiers sur mon pc à celles du fichier XML.
Vu que j'ai modifier un fichier la signature a changée et donc mon appli télécharge uniquement le nouveau fichier.
Pour être encore plus précis;
Contenu de mon dossier + signature MD5 local :
C:\dossier\appli.exe (exemple de signature : 123)
C:\dossier\images\1.png (exemple de signature : 456)
C:\dossier\images\2.png (exemple de signature : 789)
Contenu de mon dossier + signature MD5 FTP :
html\dossier\appli.exe (exemple de signature : 321) <--- Signature différente
html\dossier\images\1.png (exemple de signature : 456)
html\dossier\images\2.png (exemple de signature : 789)
Contenu de fichier XML
1 2 3 4 5 6
| <?xml version="1.0" encoding="UTF-8"?>
<patch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="patch.xsd">
<Entry url="www.site.com/update/appli.exe" local="C:\dossier\test.exe" MD5="321"/>
<Entry url="www.site.com/update/images/1.png" local="C:\dossier\images\1.png" MD5="456"/>
<Entry url="www.site.com/update/images/2.png" local="C:\dossier\images\2.png" MD5="789"/>
</patch> |
La signature du fichier appli.exe sur mon FTP + fichier XML étant différente de celle en local, l'appli télécharge le nouveau fichier.
Ce système là est présent dans les updaters de certains jeux afin de télécharger des nouvelles mises à jour.
Partager