Developpez.com - 4D
X

Choisissez d'abord la catégorieensuite la rubrique :


Mise à jour automatique du 4D Client (4D 2004)

Date de publication : Novembre 2004

Par Jonathan LE (Technical Support, 4D Inc.)
 

Cette note technique a pour objectif de vous montrer les bases de l'outil Génération d'Application, afin de contruire des applications Client/Server "standalone".

I. Résumé
II. Objectifs
III. La facilité de construction des applications personnalisées Client/Server
IV. Construire des applications Client et Server
Client avec mise à jour automatique
V. Le projet de construction d'application
VI. Construire des applications par programmation
VII. Lancez la base Demo
VIII. Construire des applications Client et Server
IX. Mise à jour automatique
X. Les clés XML
XI. Conclusion
XII. Base exemple


I. Résumé

Une des nouvelles fonctionnalités de 4D 2004 est la possibilité de construire des applications Client et Server. Assez semblable à l'application double-cliquable construite avec un 4D Engine (4D Volume Licence en 2004), les exécutables Client/Server sont des applications intégrées, pouvant être exécutées indépendamment de 4D.


II. Objectifs

Cette note technique a pour objectif de vous montrer les bases de l'outil Génération d'Application, permettant de contruire des applications Client/Server "standalone". A la fin de cette note, vous devriez :

    • être capable de comprendre comment les applications Client/Server sont constuites ;
    • être familier avec la création d'applications Clients avec mise à jour automatique ;
    • utiliser les commandes 4D pour construire des applications Client et Server.
    • comprendre les cléfs XML d'un projet Client/Server.

Les applications Client et Server sont alors complétement personnalisées et ne nécessitent plus 4D Server ou 4D Client. Le comportement original, avant que cette fonctionnalité ne soit implémentée, obligeait un utilisateur à localiser le fichier de structure et à l'ouvrir avec 4D Server. Désormais, l'utilisateur peut simplement doublecliquer sur l'exécutable ou le "package" Server (ou l'exécutable ou le "package" 4D Client).

En 4D 2004, les deux fichiers utilisés dans vos bases (en excluant les fichiers de données) sont typiquement deux fichiers, indépendamment de la plateforme : un fichier structure compilé et son fichier de ressources. Ces deux fichiers peuvent être fusionnés dans l'application finale, une application Client et une application Server.


Pour le Client et le Server qui doivent être construits en application "Standalone", seulement quelques éléments sont requis :

• une version compilée de la structure ;
• 4D Client ;
• 4D Server.


III. La facilité de construction des applications personnalisées Client/Server

Une fois la construction faite, comme mentionné ci-dessus, l'utilisateur doit simplement double-cliquer sur l'application. Quand l'utilisateur clique sur l'application Server, elle se lance et aucune structure ne doit être spécifiée.

Quand l'utilisateur clique sur l'application Client, deux cas de figures peuvent se présenter :

1 - le client se connecte automatique au serveur ;
2 - le client affiche un dialogue de connexion au réseau demandant à l'utilisateur de localiser le serveur.

Dans la majorité des cas, le premier scénario se produit. L'utilisateur double-clique sur le 4D Client sans avoir à connaître l'emplacement du 4D Server. Ceci parce que la localisation du 4D Server est faite à la construction du 4D Client.

Le second scénario se produit si le 4D Server ne répond pas ou si la localisation spécifiée ne peut être trouvée.



IV. Construire des applications Client et Server


Client avec mise à jour automatique

Une option permet la mise à jour automatique du Client si le numéro de version de l'application a été augmenté. Cela signifie que si une nouvelle version du server est compilée et construite, le Client pourra détecter cela et se mettre à jour automatiquement.

Pour que cette fonctionnalité soit effective, le développeur qui construit l'application Client/Server doit mettre en place des paramètres de "versioning", ce qui est expliqué plus loin.

Cette fonctionnalité rend le déploiement plus simple, en évitant d'installer un nouveau client sur chaque machine lorsque qu'une nouvelle version est disponible, un développeur peut faire quelques modifications au niveau du serveur, le recompiler et permettre à chaque client auparavant distribués de se mettre à jour eux-mêmes automatiquement.


L'image ci-dessus est le dialogue affichée par l'outil "Génération de l'application". On l'ouvre en Mode Structure, Menu Structure -> Générer l'Application.

Option Description
Construire Application Client-Serveur Cette première case à cocher doit être cochée si vous souhaitez construire des applications Client et Server.
Permettre la mise à jour automatique de l'application cliente Si elle est cochée, cette option permet à l'application Cliente de vérifier la version et si elle doit ou non se mettre à jour
Version courante C'est une valeur numérique. Etablie la version de l'application construite. Par exemple si vous passez cette valeur à 2, ceci rendra les versions construites avec la valeur 1 obsolètes. Le client se mettra alors à jour automatiquement.
Dossier 4D Server Emplacement de l'application 4D Server.
Dossier 4D Client Win Emplacement du dossier 4D Client Windows.
Dossier 4D Client Mac Emplacement du dossier 4D Client Mac.


Le dossier 4D Client Win est utilisé pour préciser l'emplacement du dossier contenant le 4D Client pour Windows. Le dossier 4D Client Mac est utilisé pour préciser l'emplacement du dossier 4D Clent Mac. Ceci permet aux 4D Client de fonctionner en cross-plateforme.


V. Le projet de construction d'application

Pour construire une application, vous devez avoir un fichier de projet. Ces fichiers sont des documents XML qui décrivent les options utilisées durant le processus de construction. Il y a toujours un fichier de projet par défaut qui se trouve dans le dossier "BuildApp" (qui lui-même se trouve dans le dossier "Préférences" à côté de l'application), appelé "BuildApp.xml".

Pour débuter dans la construction d'applications Client et Server, seules quelques clés XML nous intéressent :

BuildServerApplication
True/False. Si la clé est mise à True (Vrai), l'application server est construite.

BuildCSUpgradeable
True/False. Sila clé est mise à True (Vrai), l'application Client en mise à jour automatique est construite pour les deux plate-formes si l'emplacement a été indiqué.

CurrentVers
Version courante du Server et du Client

IPAddress
(optionnel car 4ème Dimension dispose de mécanismes internes pour la prise en charge du réseau) Adresse IP de l'application Server. Ceci est requis seulement si le Server doit être localisé sur un WAN (Wide Area Network : réseau pouvant s'étendre dans le monde entier) pour le Client. Cette clé contient l'adresse IP de l'application serveur (le cas échéant). Lorsqu'elle est spécifiée, l'adresse IP est stockée dans un fichier nommé "connection.txt", placé dans le dossier 4D Extensions de l'application cliente.

PortNumber :
(optionnel). Le numéro de port accompagnera le n° IP de l'application Server.
Cette clé contient le numéro de port TCP du serveur visé. Par défaut, ce numéro de port est le 19813 et il n'est généralement pas obligatoire de le préciser. Cette clé est requise lorsque le numéro de port du serveur a été modifié.
Lorsqu'il est spécifié, le numéro de port TCP est stocké dans un fichier nommé "connection.txt", placé dans le dossier 4D Extensions de l'application cliente.

HardLink :
Cette clé permet de modifier le nom des applications Clients et Serveur. Sa taille maximum est de 31 caractères. Si cette clé n'est pas passée, par défaut le nom de l'application est utilisé.

RangeVersMin :
Cette clé permet de spécifier le numéro de version minimal du Client, au-dessous duquel il ne sera pas autorisé à se connecter au Serveur (par exemple 2). Cette clé s'utilise conjointement à RangeVersMax.
Le numéro de version doit être spécifié à l'aide de la clé RangeVers.

RangeVersMax :
Cette clé permet de spécifier le numéro de version maximal du Client, au-dessus duquel il ne sera pas autorisé à se connecter au Serveur (par exemple 3). Cette clé s'utilise conjointement à RangeVersMin.
Le numéro de version doit être spécifié à l'aide de la clé RangeVers.

Chacune de ces clés se trouvent dans les balises

<Preferences4D>
   <BuildApp>
   ...
      <CS>
         <CurrentVers>1</CurrentVers>
         <RangeVersMin>1</RangeVersMin>
      <CS>
   ...
   </BuildApp>
</Preferences4D>

Ci-dessous un extrait de ce fichier XML :



VI. Construire des applications par programmation

Un nouveau thème, Outils, dans les commandes 4D 2004, inclut une commande GENERER APPLICATION qui reprend les fonctionnalités de l'outil "Génération d'applications".


Cette commande prend un seul paramètre, optionnel, de type Chaîne, qui est l'emplacement du projet (fichier XML). La construction de l'application se fera avec les options spécifées dans ce projet. Si aucun n'emplacement n'est précisé, le fichier projet par défaut sera utilisé (Préférences/BuildApp/BuildApp.xml).

En utilisant le projet par défaut :

    GENERER APPLICATION

En spécifiant un projet :

    GENERER APPLICATION("C:\\MonProjet\\Projet.xml")

S'il est impossible de localiser le projet, un dialogue apparaîtra à l'utilisateur, afin qu'il puisse le préciser.

Si la construction a réussi, la variable OK passe à 1, sinon elle passe à 0. De plus, un message d'erreur apparaîtra si la compilation n'a pas réussi.


VII. Lancez la base Demo

Vérifier que vous avez bien cocher la case "Toujours compiler pour les deux plate-formes" dans le dialogue Préférences (Mode Structure - Compilateur- Génération de code).

Lorsque vous lancez la base, passez en Mode Structure. Dans le Menu Structure, choisissez "Générer l'Application". Ceci ouvrira le dialogue d'Outil de Génération d'applications :
Onglet "client/Server"
1 - cochez "construire application client serveur"
2 - cochez "permettre la mise à jour automatique de l'application cliente"
3 - vérifiez que la version courante est à "1"
4 - vérifiez ou localisez les emplacements de 4D Server et des 4D Clients.

Lorsque vous aurez terminé, le dialogue devrait ressemblait à ceci :


Cliquez sur Construire.


VIII. Construire des applications Client et Server

Si la construction s'est bien déroulée, elle a créée un dossier nommé : "Client serveur exécutable".


Dans ce dossier se trouvent deux dossiers :


Le dossier Server contient l'exécutable Server :


et le dossier Upgrade4DClient qui servira à mettre à jour automatiquement les clients Mac et Win :


"L'exécutable" Client Mac doit être généré avec le Générateur d'application sur MacOS, pour obtenir le 4D Client personnalisé, à placer, lors de la première installation, sur le poste client Mac.


Lancez le serveur application par un double clic sur le fichier exécutable (sous Windows) ou sur le package (sous MacOS). Faites de même avec client :



IX. Mise à jour automatique

1 - Générez à nouveau l'application en changeant le n° de version ;
2 - Lancez le server application ;
3 - Lancez le client.

Vous devez obtenir le message suivant :


Après acceptation de la mise à jour :



X. Les clés XML

En menus créés dans la base Démo, la ligne de Menu -> Paramètres Client-Server vous ouvrira un dialogue qui vous permettra de mettre en place les paramètres de votre projet de génération d'application.


Saisissez de nouvelles valeurs (comme 3 à la place de 2 pour la version, RangeVersMin à 2 et RangeVersMax à 3, ou le nom des "exécutables" comme le 4D Client dans HardLink).

Cliquez sur le bouton Générer l'application.
Essayez de reconnecter le serveur. Vous noterez que le serveur permet la connexion immédiatement, sans aucune alerte même si la version du Client n'est pas la même que celle du Server. C'est parce que la version minimale indiquée permet ce comportement.

info Note: Le code derrière ce dialogue utilise la commande GENERER APPLICATION qui permet de construire les applications Client et Server.

XI. Conclusion

Vous êtes désormais familier avec l'outil de contruction d'applications et savez combien il est aisé de créer des applications Client et Server ainsi que des Clients avec mises à jour automatiques.

Essayez différentes combinaisons dans les valeurs du dialogue et notez le comportement.

Les Clients avec mise à jour atomatique vous permette de façon simple d'obtenir des 4D Clients de vos applications avec toujours les bonnes versions sans avoir à les réinstaller.


XII. Base exemple

Téléchargez la base exemple :

Base exemple

__________________________________________________
Copyright © 1985-2009 4D SA - Tous droits réservés
Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible.
Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte. L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers.
Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture du logiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence.
Aucune partie de ce document ne peut être reproduite ou recopiée de quelque manière que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement, archivage ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA.
4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension ®, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA.
Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation.
Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc.
Mac2Win Software Copyright © 1990-2002 est un produit de Altura Software,Inc.
4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,Trumbull,CT,USA.
XTND Copyright 1992-2002 © 4D SA. Tous droits réservés.
XTND Technology Copyright 1989-2002 © Claris Corporation.. Tous droits réservés ACROBAT © Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'Adobe Systems Inc.
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.
__________________________________________________
 



Valid XHTML 1.1!Valid CSS!

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
Contacter le responsable de la rubrique 4D