ST-GUIDE
aide-toi, le ciel ne le fera pas.

Quand on pense à l'hypertexte, c'est-à-dire la liaison d'un morceau d'un document vers un autre, on dit "HTML". Le ouaibe est à la mode chez les ploucs, okay, mais il y a d'autres applications de l'hypertexte, à savoir l'aide en ligne...
...qui s'appelle, dans notre beau pays, ST-GUIDE !
Il n'y a pas certes, l'enrichissement à outrance avec les backgrounds rendant la lecture du texte impossible, les appliquettes affichant "vous être bien ici", les formulaires vous demandant "jusqu'où irez-vous ?", etc.

Mais on peut avoir les images en couleurs (format .*IMG), appeler la page voulue directement à partir d'une application. et surtout le document est unique et compressé.
Même les images s'y trouvent. Assez pratique lors de la manipulation des fichiers, n'est-il point ? Ça change des transferts interminables d'un milliers de pages HTML faisant 1 Ko :)

Préliminaires

Si vous n'avez pas encore installé ST-GUIDE, mettez-le en accessoire, ou en application, déclarée avec ses fichiers *.HYP, et n'oubliez pas d'écrire la variable d'environnement dans votre fichier info système. Dans MAGX.INF, par exemple :

`#_ENV STGUIDE=`chemin+nom de ST-GUIDE

Oubliez le "`-`" entre `ST` et `GUIDE`, d'après mon correspondant allemand.

Le compilateur : HCP.TTP

Qui peut accepter tout un tas de paramètres, comme une décompilation d'un fichier *.HYP en du texte normal et les images qu'il contenait. Pratique donc pour traduire une doc. Pour cela, il faut :

`HCP.TTP -r -oJOE.STG JOE.HYP`

`-r` signifie "décompile-moi ça" sous le nom oupout (`-o`) JOE.STG, puis on donne le nom du fichier HYP (l'ordre est important). Le code source d'un fichier de ST-GUIDE est du simple texte ASCII, avec suffixe *.STG.

Pour compiler, il suffit de glisser le fichier *.STG sur l'icône de HCP.TTP pour que ça le fasse. Attention car il se peut que HCP nécessite la présence d'un dossier de destination. Il faut en effet `C:\GUIDES\` sur mon Falcon alors qu'il n'est pas nécessaire sur mon MegaST (tous les deux sous MagiC). Je soupçonne que HCP.TTP doit lire dans le fichier de configuration de ST-GUIDE lui-même... vérifiez cela si ça marche pas.

Lors de la compilation, ben il y a analyse du code (parsing) comme dans n'importe quel moulin puis génération du code, à savoir le fichier final au format *.HYP.

Le fichier *.STG

Qui correspond à votre source. Il y a une syntaxe spéciale, comme quand tout langage de description de document. C'est plus facile que le HTML, je vous rassure. En fait, les problèmes liées au HTML pur vient de la position des éléments (texte et images) du document. Dans un fichier *.STG, le formatage est conservé. Il y a certes un petit décalage venant de la déclaration des styles et des liens hypertextes, mais la position des caractères est respectée. C'est sans doute pour cela que l'on ne peut pas avoir de fontes vectorielles.

Autre chose : pas besoin de convertir les accents en &entity; ni en ANSI, on garde la bonne vieille table ASCII Atari avec tous les caractères spéciaux.

Comme d'hab, il existe un entête, qui comporte les déclarations d'usage comme le nom de l'auteur du document, sa date, et tuti quanti, qui seront repris dans ST-GUIDE au niveau de l'icône info. Peuvent s'y ajouter également des directives de compilation pour HCP.

Viennent ensuite les pages, dont le titre est important : c'est ce texte qui sera donné en paramètre par le programme externe, pour que ST-GUIDE affiche directement cette page. C'est aussi ce titre qui sert à faire les liens.

Exemple de document minimal :

    @options "-i -d10"
    @author "Pierre TONTHAT"
    @$VER: JOE_FR.HYP (12/06/99)
    @subject "Documentation/Joe"

    @node "entry"

            Bonjour !

    @endnode

    @node "page2"

           C'est moi !

    @endnode

Une page est déclarée entre `@node` et `@endnode`, tout ce qui se trouve à l'intérieur va être affiché selon la tabulation, sauf en ce qui concerne les directives d'insertion d'une image, de changement de style ou d'introduction d'un lien.

Pour les styles : `@{0}` remet le style à zéro. `@{0BU}` met le style à zéro, puis le met en gras et souligné. `@{I}` rajoute l'italique.

Pour insérer un image : `@image "NOM.IMG" 0`
L'image se trouvera à côté du fichier STG dans ce cas, et obligatoirement au format *.IMG. L'insertion d'une image ne provoque pas le déplacement du texte, au contraire du HTML. On peut donc faire de zolis effets.
Le "0" est l'offset en x, c'est-à-dire le décalage (en caractères) par rapport à la marge de gauche. La position en y est définie par la position de la mnémonique `@image` dans la page.

Pour un lien : `@{"Ceci est un lien" LINK "page2"}`
En premier, vient le texte actif, puis l'ordre LINK et ensuite le nom de la page (déclaré avec `@node`) sur lequel pointe le lien.

Amusez-vous à décompiler les *.HYP de quelques aides en ligne pour en apprendre plus. Et vous n'avez pas d'excuses pour vous lancer dans la doc de HCP (sous forme de fichier *.HYP !) qui contient toutes les commandes pour faire un source *.STG : C'est du ENGLISH (si vous avez downloadé la bonne version ;-).

Le mot de la fin

Pour appeler une aide en ligne, donc, lancez ST-GUIDE ou prévenez-le en VA_START, avec les paramètres adéquats. Exemple :

    C:\ST-GUIDE.APP E:\JOE\GUIDES\JOE_FR.HYP entry

donc en paramètre : le nom du document à ouvrir, puis si souhaité, le nom de la page `(@node`) séparé par une espace. Qu'attendez-vous pour nous pondre une zolie doc avec aide en ligne :) du logiciel que vous avez commis ?

Rajah Lone
écrit le 25 Août 1999