SED-P.NET

Accueil du site > Développement (Pascal / Delphi) > AUpdate (MAJ par internet) > 01 - Le fichier d’information de mise à jour

01 - Le fichier d’information de mise à jour

jeudi 8 avril 2004, par Bech ()


Le fichier d’information d’update

Ce fichier sert de conteneur d’informations sur la version la plus à jour de l’application. il donne le descriptif des fichiers utilisés et présent dans le dossier de l’application et permet de faire des vérifications pour savoir si le poste de l’utilisateur est à jour.

Le fichier est au format XML afin, il me semble, d’être facilement extensible.

Squelette du fichier


<?xml version="1.0" encoding="iso-8859-1"?>
<AUpdate>
 <UpdateInfo/>
 <Application/>
 <Files/>
</AUpdate>

C’est donc bien un fichier XML. le noeud racine est "AUpdate". il contient à son tour 3 noeuds qui sont :
- UpdateInfo,
- Application,
- Files.

Section UpdateInfo

Cette section enregistre la configuration de la mise à jour :


<UpdateInfo>
 <UpdatePath>http://sedp.free.fr/Fichiers</UpdatePath>
 <UpdateAccess>HTTP</UpdateAccess>
 <Hash>MD5</Hash>
 <Compress>none</Compress>
 <Crypto>none</Crypto>
</UpdateInfo>
NomDescription
UpdatePathChemin ou se trouve les fichiers sur internet
UpdateAccessAccès par FTP ou HTTP
HashIndique le type de vérification de checksum (MD5 ou none)
CompressIndique la compression par défaut des fichiers (Zip ou None)
CryptoIndique le type de crypto. par défaut (XOR ou None)

Section application

Cette section contient la description de l’application et de la dernière mise à jour :


<Application>
 <Name>Test</Name>
 <Version>1.0.0.1</Version>
 <Date>20/06/2003</Date>
 <UpdateInformations>Nouvelle mise a jour</UpdateInformations>
 <Author>Moa</Author>
 <Exec>{$APP}\Updater.exe</Exec>
</Application>
NomDescription
Namele nom de l’application
Versionla dernière version à jour
Datedate de la dernière mise à jour
UpdateInformationsInformations sur la mise à jour
AuthorAuteur de la mise à jour
Execfichier à lancer après la mise à jour

Section Files

Cette section contient un noeud par fichier et en donne la description :


<Files>
 <File>
   <FileName>{$APP}\OpenGL12.zip</FileName>
   <Hash>21094623014623012349012783</Hash>
   <FileUpdateName>{$UPDATE}/OpenGL12.zip</FileUpdateName>
   <Compress>none</Compress>
   <Crypto>none</Crypto>
   <UpdateInformations/>
   <Size>744707</Size>
 </File>
<Files/>

Chaque noeuds correspond à un fichier.

NomDescription
FileNameNom du fichier "destination"
Hashcontient le checksum, hashsum du fichier final
FileUpdateNameNom du fichier "source" de la mise à jour
CompressCompression du fichier
CryptoCryptage du fichier
UpdateInformationsInformation de MAJ sur le fichier
Sizetaille du fichier à télécharger

Exemple de fichier complet


<?xml version="1.0" encoding="iso-8859-1"?>
<AUpdate>

<UpdateInfo>
 <UpdatePath>http://www.sed-p.net/Fichiers</UpdatePath>
 <UpdateAccess>HTTP</UpdateAccess>
 <Hash>MD5</Hash>
 <Compress>none</Compress>
 <Crypto>none</Crypto>
</UpdateInfo>

<Application>
 <Name>Test</Name>
 <Version>1.0.0.1</Version>
 <Date>20/06/2003</Date>
 <UpdateInformations>Nouvelle mise a jour</UpdateInformations>
 <Author>Moa</Author>
 <Exec>{$APP}\Updater.exe</Exec>
</Application>

<Files>
<File>
 <FileName>{$APP}\OpenGL12.zip</FileName>
 <Hash>21094623014623012349012783</Hash>
 <FileUpdateName>{$UPDATE}/OpenGL12.zip</FileUpdateName>
 <Compress>none</Compress>
 <Crypto>none</Crypto>
 <UpdateInformations/>
 <Size>744707</Size>
</File>

<File>
 <FileName>{$APP}\Fichier2.gif</FileName>
 <Hash>21094623014623012349012783</Hash>
 <FileUpdateName>{$UPDATE}/violent17.gif</FileUpdateName>
 <Compress>none</Compress>
 <Crypto>none</Crypto>
 <UpdateInformations/>
 <Size>4218</Size>
</File>
</Files>

</AUpdate>

La DTD du fichier (au cas ou)

si j’ai pas fait d’erreurs, cela doit donner ça :


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE AUpdate [
<!ELEMENT AUpdate (UpdateInfo,Application,Files)>

<!ELEMENT UpdateInfo (UpdatePath,UpdateAccess,Hash,Compress,Crypto)>
<!ELEMENT UpdatePath (#PCDATA)>
<!ELEMENT UpdateAccess (#PCDATA)>
<!ELEMENT Hash (#PCDATA)>
<!ELEMENT Compress (#PCDATA)>
<!ELEMENT Crypto (#PCDATA)>

<!ELEMENT Application (Name,Version,Date,UpdateInformations,Author,Exec)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Version (#PCDATA)>
<!ELEMENT Date (#PCDATA)>
<!ELEMENT UpdateInformations (#PCDATA)>
<!ELEMENT Author (#PCDATA)>
<!ELEMENT Exec (#PCDATA)>

<!ELEMENT Files (File*)>

<!ELEMENT File (FileName,Hash,FileUpdateName,Compress,Crypto,Size)>
<!ELEMENT FileName (#PCDATA)>
<!ELEMENT FileUpdateName (#PCDATA)>
<!ELEMENT Size (#PCDATA)>
]>

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