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
- makeWin Création de la version Windows : if faut alors fournir:
- 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 :
- GIMP (PNG, XPM, ICO)
- ConvertIcon (conversion online PNG -> ICO -> PNG)
- @icon Sushi (ICO)
- IconWorkShop (ICO et ICNS) - payant.
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 :
- Paramétrer le champs sm:updateUrl (ex: http://www.monInstitution.fr/monAppli/update) ;
- La construction de la SCENARIapp produit un répertoire "_firefox/update" dont le contenu est à copier/coller dans le répertoire de votre serveur web correspondant à "http://www.monInstitution.fr/monAppli/update" ;
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 :
|
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'
|
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. |
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 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.