SED-P.NET

Accueil du site > Développement (Pascal / Delphi) > AUpdate (MAJ par internet) > 00 - Introduction, explication et téléchargement

00 - Introduction, explication et téléchargement

jeudi 8 avril 2004, par Bech ()


AUpdate est donc un outil de mise à jour d’application par le net. C’est un projet perso et donc il n’y a pas de garanties sur son fonctionnement !

Principe de fonctionnement

- En utilisant l’éditeur, on crée un fichier de mise à jour indiquant des informations sur l’application et ses fichiers,
- L’éditeur permet alors de copier ce fichier de MAJ sur un site web ainsi que tous les fichiers de l’application,
- Quand un utilisateur lance une mise à jour de l’application, celle-ci va vérifier le fichier d’information de MAJ sur le site web,
- Les fichiers de l’application sont alors comparés à ceux présents sur le site,
- En cas de besoin, les fichiers sont mis à jour sur le poste de l’utilisateur.

Un peu de technique

L’editeur s’occupe de générer le fichier de description de la dernière version de l’application, câd numéro de version et hashsum des fichiers, puis de crypter et zipper les fichiers séparément. Il permet ensuite de copier tout les fichiers sur un site web par FTP.

Le composant AUpdate permet à l’application delphi de télécharger le fichier d’information sur le site. Il s’occupe ensuite de vérifier la version du client, soit en comparant le numéro, soit en vérifiant le hashsum des fichiers (et non pas simplement la date de création). Si après vérification il faut télécharger un ou des nouveaux fichiers, le composant s’en occupe également.

Une fois le téléchargement réalisé, le compo signalera si il faut quitter l’appli pour lancer l’updater. Ce petit programme termine la copie des nouveaux fichiers si ils étaient en cours d’utilisation par exemple. Une fois la copie faite, l’updater relance l’application. Ce programme doit donc se trouver dans le même dossier que l’application.


Deux modes possible pour la vérification des mises à jour :
- AUPDVersionOnly : Vérification du numéro de version de l’application,
- AUPDHashFile : Vérification par hashsum (md5) de chacun des fichiers présent sur le poste du client.

Trois modes sont possible pour la copie des nouveaux fichiers :
- AUPDDirectCopy : Copie directe des fichiers même si il existe déjà,
- AUPDTempCopy : Copie des fichiers dans un dossier temporaire,
- AUPDDirectTemp : Copie direct si le fichier n’existe pas, sinon en temporaire.

Deux modes de téléchargement des fichiers (ok, pas dur à deviner) :
- HTTP,
- FTP.

Contenu de l’archive

Pour que cela fonctionne, on a donc :
- Le composant AUpdate,
- L’éditeur et ses sources,
- L’updater et ses sources, (le programme qui termine la MAJ)
- une fenêtre de démonstration pour le composant.

Téléchargement

Ben voila, si vous voulez jeter un oeil et me donner votre avis (svp, merci) :

Télécharger AUpdate (1.2Mo)

J’utilise les composants Indy pour internet, et le composant JVXML de la JVCL pour le traitement du fichier XML. Ces composants ne sont pas dispo dans ce package. Je compte faire une version en DLL pour eviter ce problème.

Exemple pour le client

Une fenêtre d’exemple pour la gestion de la mise à jour :

L’updater en action :

Répondre à cet article

Creative Commons License
Cette création est mise à disposition sous un contrat Creative Commons .

Articles de cette rubrique


Dernières brèves


A visiter