doc/appMake/description

Construction d'application SCENARI

SCENARIbuilder propose des outils permettant de créer une application SCENARI contenant directement un modèle documentaire. Celà a l'avantage de simplifier considérablement le déploiement, et de permettre à des organismes de s'approprier le déploiement et le packaging de l'outil.

Cette approche simplifie le déploiement classique SCENARIchain et de son(ses) wspMeta, mais ne remplace pas ce mode de fonctionnement : l'application générée est simplifiée de façon sensible : pas de possibilité d'installer un nouveau modèle documentaire, ...

Procédure

  • Créez un item de type "appMake" dans SCENARIbuilder;
  • Paramétrer dans cet item les différents éléments constitutifs de votre application;
    • models > wspDef et/ou models > wspPack : définit le ou les modèle(s) à intégrer à l'application; Ces modèles sont identifiés par un code.
    • scKit : pointe vers le kit de base de l'application;
    • name : nom de l'application;
    • shortName (optionnel) : nom court de l'application. Ce nom court sert de base à la définitions du répertoire par défaut de création des ateliers, et au répertoire par défaut de création du profil (Application Data/##publisher##/##shortName##). Si shortName n'est pas renseigné, on prend le champs name comme base de construction de ces répertoires.
    • publisher : le nom de l'organisme déployant l'application;
    • copyright : copyright de l'application. Le caractère 'copyright' peut être utilisé en tapant '©';
    • license : pointe vers un fichier txt donnant la licence de l'application;
    • version : version de l'application (cf versionning SCENARI). De la forme "major.medium.minor". L'attribut "stage" permet de donner la phase de développement de l'application : alpha, beta, realise candidate, stable, ...
    • shortDescription (optionnel) : description textuelle courte de l'application.
    • aboutImage : permet de spécifier une image dans la fenêtre 'A propos...'. Le format utilisé peut être PNG, GIF où JPG et la dimension optimale 270x77 pixels.
    • localization : langue dans laquelle sera générée l'application SCENARI (pour l'instant, seul le français est entièrement géré);
    • url (optionnel) : adresse web pointant vers le site de l'application;
    • make : choisir les types d'application à générer (systèmes d'exploitation , extension firefox, ...). Un répertoire contenant l'application sera alors créé par 'make'.
      • makeWin Création de la version Windows : if faut alors fournir:
        • icon : icône de l'application. Utiliser le format 'ICO (tailles conseillées 48x48, 32x32, 16x16 en 32, 24, 8 et 4 bits)
        • splash : image affiché au démarrage de l'application. Le format utilisé peut être PNG8, GIF, JPG où BMP, ATTENTION : les PNG24 (PNG avec alpha) ne sont PAS supporté. On peut également spécifier une couleur en notation hexadécimale qui sera transparente.
      • makeLin Création de la version Linux
        • icon : icône de fenêtre de l'application. Utiliser le format XPM (taille conseillée 48x48)
        • menuIcon : icône de menu de l'application. Utiliser le format XPM ou PNG (taille conseillée 48x48)
      • makeMac Création de la version MacOSX
        • icon : icône de l'application. Utiliser le format ICNS (tailles conseillées 128x128, 48x48, 32x32, 16x16 en 32, 24, 8 et 4 bits)
      • makeFirefox Création de l'extension Firefox
  • Construisez l'application en cliquant sur le bouton "nouvelle génération" de l'item appMake.

Production d'icônes

Pour produire vos icônes vous pouvez utiliser un logiciel de dessin vectoriel comme inkscape pour les concevoir. Pour produire les différents formats (ICO, XPM, PNG, ICNS) vous pouvez utiliser des outils suivant :

Packaging XPI

Il est possible de packager l'application sous la forme d'une extension Firefox ('sm:make/sm:makeFirefox'). Cette installation a l'avantage de ne nécessiter aucun droit particulier sur l'ordinateur, contrairement à une application classique. Cette extension ne possède que les couches clientes de SCENARI, et fonctionne donc en intéraction avec un SCENARIserver.
Remarques :

  • Comme toute application SCENARI, une SCENARIapp XPI est repérée par son nom suivi des versions majeurs et medium. Deux SCENARIapp avec des versions majeure et/ou medium différente peuvent dont être installées sur le même Firefox ;
  • L'extension est compatible avec la branche 2.0.0 de firefox pour les XPI produits avec SC3.5, et avec Firefox3.0+ pour les XPI produits avec SC3.6;
  • Seules les couches clientes sont intégrées à l'application. Le module localWspServer est donc ignoré ;
  • Le proxy est géré directement par Firefox. Le module proxyManager est donc ignoré ;
  • Vous devez spécifier les icônes windows (.ico) et linux (.xpm). L'icône de Mac n'est pas utile, les fenêtres sur mac ne possédant jamais d'icône ;
  • L'icône "sm:appIcon" est utilisée dans la fenêtre de gestion des extensions, et dans le menu permettant d'ouvrir l'application. Les dimensions conseillées sont 16x16 ;

Mise à jour d'une SCENARIapp XPI

Une extension Firefox peut être mise à jour de façon automatique et/ou guidée directement depuis Firefox. Ces mises à jour sont mises à disposition par le modélisateur sur un serveur disponible en HTTP. Procédure :

Remarques :

  • Le serveur Web doit être configuré de telle sorte que le mimeType des fichiers RDF soit "text/xml" (AddType rdf sur Apache) ;
  • Seules les mises à jour mineures rentrent dans cette mécanique. Une mise à jour médium et/ou majeure donne lieu à une nouvelle application. Elle doit donc être installée par l'utilisateur si besoin (cf http://scenari-platform.org/trac/scenari/wiki/doc/versionning) ;

Attention !

ATTENTION : la mise à jour des XPI produits par SCENARI3.6+ et utilisés sur Firefox 3.0+ doivent répondre à l'une ou l'autre des exigences ci-dessous :

  • Le serveur de mise à jour doit etre accessible via https (les serveurs auto-signés ne sont pas pris en compte);
  • Le XPI doit être signé. Pour ce faire, se reporter à https://developer.mozilla.org/en/McCoy.

Modules

Les modules permettent d'ajouter des éléments optionnels à l'application produite.

wspManagerWindow

Ce module permet d'ajouter l'accés à la fenêtre de gestion des ateliers, indispensable dans le cadre d'utilisation d'ateliers distants (sur un SCENARIserver).

proxyManager

Ce module permet de déclarer un proxy, utilisé si besoin par l'application, lors des mises à jour (non opérationnel pour le moment), de l'accés à des ateliers distants, ...

  • Pour intégrer la possibilité de faire apparaitre cette fenêtre de définition du proxy dans l'application, choisir @showWindows=true.
  • httpProxy : permet de créer la scApp avec des paramètres de configuration du proxy.

localWspServer

Ce module permet d'intégrer un serveur local à l'application, et donc de créer des ateliers locaux (<=> SCENARIchain).

  • createDefaultWsp : permet de créer un ou plusieurs ateliers au premier lancement de l'application selon un modèle précédemment déclaré dans la partie "sm:model" (spécifier le code de ce wspDef et/ou de ce wspPack).
  • addDefaultContent : permet d'ajouter un contenu à cet atelier aprés création. Ce contenu est doit être sous la firme d'un fichier zip.

Attention !

Utilisation du module 'createDefaultWsp'

  • La création des ateliers qui accompagnent la SCENARIapp ainsi que la copie des contenus d'exemples ont lieu au premier lancement de la SCENARIapp.
  • Toute déclaration de nouvel atelier et/ou de nouveau contenu doit donc impérativement s'accompagner d'une incrémentation de version au moins mineure.
  • Un message de confirmation apparait lors de la copie des contenus (addDefaultContent) si des fichiers portants le même nom existent déja et ont été modifiés.

Remarque : le port de l'application n'est plus à paramétrer dans SC3.3. Il est défini par l'application au moment de son lancement de façon transparente pour l'utilisateur.

distantWspServer

Ce module permet de paramétrer les connexions à un SCENARIserver.

  • declareScServer : permet de pré-déclarer un serveur dans la SCapp construite.
  • activateWsp : permet d'activer l'ensemble ou certains ateliers du serveur précédemment déclaré.

ATTENTION : Si vous choisissez "sm:activateWsps > sm:all", tous les ateliers créés sur le serveur et pour lequel l'utilisateur possède les droits d'administration seront déclarés. Cette déclaration ne sera possible que si l'utilisateur est connecté à internet, et que le SCserver est opérationnel au moment de l'installation de la SCapp. Le cas échéant, l'utilisateur aura la possibilité d'activer les ateliers ultérieurement en passant par la fenetre "Ateliers > activer un atelier". REMARQUE : pour que les ateliers soient créés même si l'utilisateur n'est pas connecté à internet et/ou le SCENARIserver ne répond pas, vous devez déclarer tous les ateliers un par un ("sm:activateWsps > sm:wsps").

authentification

Le module d'authentification vous permet de restreindre l'utilisation de votre application en affichant une fenêtre d'authentification au premier lancement de l'application. La clef (attribut 'key') permet de différentier les algorithmes de résolution login/password par application.

Conseil

La longeur de la clef détermine la longueur du mot de passe généré, avec un minimum de 4 caractères, et un maximum de 50.

La correspondnce login/password est donnée au modélisateur dans l'item appMake.

helpSite

Ce module a pour but de déclarer un site web d'aide intégré à l'application générée.

La ressource déclarée est de type '.site', et contient le site web d'aide de l'application. Le fichier 'index.html' est indispensable à la racine du site déclaré.

welcomeSite

Ce module a pour but de déclarer un site web affiché dans un écran de bienvenueau démarrage de l'application. La taille de la zone disponible pour le site Web est 600x360.

La ressource déclarée est de type '.site'. Le fichier 'index.html' est indispensable à la racine du site déclaré.

Exemple

Voici quelques scenarios de construction d'application :

  • application standalone (juste locale) : utiliser le module 'localWspServer';
  • application mixte (type SCENARIchain : standalone + serveur) : utiliser les modules 'localWspServer' et 'wspManagerWindow'; ajouter éventuellement 'proxyManager'.
  • application juste cliente (type SCENARIclient) : utiliser le module 'wspManagerWindow'; ajouter éventuellement 'proxyManager'.

Application construite

Une application est construite par OS.

Windows

l'application produite se compose de quatre fichiers :

  • license.txt
  • <nom du modele>.zip
  • setup.exe
  • setup.ini

<nom du modele>.zip est l'application proprement dit. Il est possible soit d'utiliser l'intalleur proposé (setup.exe) qui se base sur les trois autres pour fonctionner et qui resemble fortement à l'installeur SCENARIchain (mais avec une charte graphique NSIS de base), soit d'utiliser seulement le zip pour construire son propre installeur à base de NSIS ou autre.

Mac

Une application MacOS est produite, elle peut être directement copié dans le dossier Applications par exemple.

Linux

l'application produite se compose de quatre fichiers tout comme l'installeur Linux de SCENARIchain:

  • install.sh
  • license.txt
  • <nom du modele>.tar.gz
  • README.txt

Le script install.sh permet de faire l'installation.

Post-packaging des applications

Il existe un outil développé par scenari-platform pour créer des "installeurs" personnalisés pour chaque Système :

  • Windows : Installeur NSIS
  • Linux : Package Autopackage
  • MacOSX : volume DMG.

Veuillez contacter scenari-platform pour plus d'information.

scKit

L'item "scKit" contient les éléments de base SCENARI permettant de construite l'application (JVM, couches JAVA, packages clients, xulRunner, ...). Vous pouvez le télécharger ici.

Un fichier scKit pèse environ 90Mo.