ARCHITECTURE


ARCHITECTURE LOCALE

Le module de mise à jour Updater fonctionne en autonomie.

Architecture standard

'Répertoire de votre application
'Répertoire temporaire
'Fichier d'entête de mise à jour disponible ( fichier téléchargé)
'Script d'exécution de la mise à jour ( fichier téléchargé)
'Fichier de téléchargement temporaire
'Répertoire des données local
'Fichier des données de référence des dates
'Exécutable
'Fichier d'initialisation de l'exécutable.

L'exécutable "Updater.exe" peut se déployer automatiquement et créer les répertoires et fichiers nécessaire.
(Par défaut il n'utilisera alors pas de Proxy et aucune données de référence local n'existera.)

Le répertoire "Temp" et le répertoire "Updater" sont automatiquement créés a l'initialisation si il n'existe pas.

Note:
Updater n'est pas obligatoirement installer dans répertoire de l'application, mais l'application doit alors savoir ou se trouve l'exécutable "Updater.exe" pour le contrôler.


ARCHITECTURE SERVEUR WEB

Il n'y a pas vraiment de standard d'architecture sur le serveur de mise à jour.
En effet tous les fichiers sont référencés dans les scripts en adresse relative à la racine du serveur ou bien en adresse réel (URL). Il suffit d'un simple serveur web organisé comme vous le désiré.
Vous spécifierez les paramètres réseau dans les scripts ou dans le fichier ini.

Architecture standard
Pour fonctionner en standard, Updater à besoin d'au moins 2 fichiers.

Fichier d'information de mise à jour (updater.upd)
Ce fichier très léger permet de mettre à disposition les informations sur la mise à jour disponible en ligne. Il contient le titre de la mise à jour la date de mise en ligne, une description ainsi que l'URL du script de mise à jour. c'est une sorte de fichier d'entête.
   
Script d'exécution de la mise à jour (script.upd)
C'est le script indiqué par le fichier "updater.upd", il contient une suite d'instructions qui permettent d'effectuer et de superviser la modification de l'environnement afin d'effectuer la mise à jour.
Ce fichier est le fichier principale, il pourra alors lancer d'autre script à son tour.

Note:
Ces fichiers peuvent être nommé différemment.
Updater peux se passez de l'entête et lancer directement l'exécution du script (Voir ligne de commande et/ou fichier Updater.ini)


EXECUTION STANDARD

Voici le scénario standard du fonctionnement de Updater.

Scénario

Initialisation
Updater démarre et récupère les paramètres du fichier ini (Proxy et Url du fichier d'entête de mise à jour "Updater.upd").
   
Vérification de la mise à jour disponible
Il Télécharge le fichier d'entête et vérifie la date de cette mise à jour, il la compare a la dernière date enregistrée.
   

Téléchargement du script
il télécharge alors le scripte de mise à jour indiqué par l'entête

   
Exécution du script
Une fois le script téléchargé, il lance son exécution. Ce script contrôlera les différents téléchargements et installation des fichiers.

Note:
Updater peut être exécuter à la ligne de commande avec un certains nombres d'arguments pour contrôler son démarrage. (Lancer directement l'exécution d'un script, le télécharger avant, mode invisible, etc...)
Les étapes 1 et 2 peuvent sont optionnelles, elles permettent d'effectuer des déploiements et mise à jour en bloque.


CONSOLE UPDATER

Updater met à disposition du développeur et de l'utilisateur une console permettant de suivre l'évolution du script. Elle est très utile lors du debugage d'un script. Updater possède quelques instructions pour gérer la console et la personnaliser.
La console peut fonctionnée en mode Debug activé ou non, si celui est activé, les messages du déroulement du processus seront affiché.


GESTION DE REFERENCES LOCALES

Updater est pourvu d'un système de gestion de données locales.
Ces données référentielles sont des variables manipulées par le scripte et stockées sur la machine local.
Ces références peuvent contenir du texte, des dates de mise en ligne , des nombres ou des numéro de version des applications.
Ces données peuvent être comparées par la suite lors de la prochaine mise à jour.
Le contrôle de ces données peut commander l'exécution d'une portion de script, ou le téléchargement de fichier ou autre...