Mise à jour de logiciels, comment?

Salut à tous,

j’ai développé il y a quelques temps déjà un prototype de soft de mise à jour de programmes installés au préalable sur le PC (du genre Apple Software Updater)

J’avais opté pour quelque chose de relativement simple, où le programme récupérait dans le registre Windows la liste des programmes installés, puis allait récupérer un XML sur un serveur, le parsait pour récupérer une liste d’URLs de téléchargement des mises à jours, puis téléchargeait le tout, avant d’en vérifier l’intégrité via MD5/SHA et de les installer.

A terme, ce programme sera utilisé, et je voudrais avoir vos avis sur la meilleure marche à suivre pour ce type de programme.

Vaut-il mieux ne pas utiliser de fichier XML comme je fais, mais passer par un webservice? Y a-t-il un autre procédé que je pourrais implémenter?

Avez-vous une idée de comment ce processus est réalisé dans des softs existants? Vous avez déjà développé pareil programme?

Merci d’avance

Mike

Ton webservice dans le fond, ca reste quand meme clairement comme recuperer un xml sur un serveur. La puissance et la flexibilité en plus.

En quoi c’est plus puissant et flexible?

L’inconvénient est qu’il y a du taf à faire en plus côté serveur, alors que là je n’ai qu’un XML à uploader.

J’ai un peu de mal à situer les avantages de passer par un webservice en fait :x

fichier XML : facile a mettre en cache.

webservice: moins de traffic (appel au cas par cas).

néanmoins, le fichier XML va possiblement mettre a genoux ta BP vu le nombre de “logiciels” qu’il existe.

A toi de voir a quel périmètre de ‘logiciels’ tu vas restreindre ta prise en charge.

A priori, j’aurais tendance a dire qu’autant oui, avec un webservice, t’auras un peu plus de taff coté serveur, mais coté client, ca sera un regal.
Mais surtout, tu pourras taper sur une DB plus facilement, automatiser plus de truc, et ajuster beaucoup plus finement tes API.

Le xml, ca reste quand meme super roots, et ca te permettrait moins facilement de gerer le cas par cas (soft par soft).

Bon, je vais jeter un oeil à tout ça, ça me semble plus intéressant en effet.

Merci :wink:

Après quelques recherches, je pense avoir trouvé le bon outil côté serveur: nuSOAP, qui m’a permis d’arriver rapidement à un test qui fonctionne, sans avoir à me prendre la tête avec le fichier WSDL.

Reste maintenant à déterminer quels échanges vont avoir lieu entre le serveur et le « client » de mise à jour, et quels types de validation, même si je pense que l’association: nom du programme + version + hash du fichier + clé de licence devrait pouvoir le faire.

Merci :wink: