JavaScool:DocCreationProglet : Différence entre versions

De Sciencinfolycee
Aller à : navigation, rechercher
m
m (Spécification d'une «proglet»)
Ligne 17 : Ligne 17 :
 
** <tt>Panel.java</tt> : qui implémente l'applet graphique de la proglet (''optionnel'').
 
** <tt>Panel.java</tt> : qui implémente l'applet graphique de la proglet (''optionnel'').
 
** <tt>Translator.java</tt> : qui implémente la traduction de Jvs en Java spécifique de cette proglet (''optionnel'').
 
** <tt>Translator.java</tt> : qui implémente la traduction de Jvs en Java spécifique de cette proglet (''optionnel'').
 +
 +
----
  
 
<div class="spec"><tt>proglet.pml</tt> est un fichier texte de trois lignes données sous la forme:
 
<div class="spec"><tt>proglet.pml</tt> est un fichier texte de trois lignes données sous la forme:
Ligne 23 : Ligne 25 :
 
<div><tt>icon = "Le nom de fichier de l'image qui décrit la proglet" (''optionnel'')</tt></div>
 
<div><tt>icon = "Le nom de fichier de l'image qui décrit la proglet" (''optionnel'')</tt></div>
 
</div>
 
</div>
 +
 +
----
  
 
<div class="spec"><tt>help.xml</tt> est un fichier en XML dont les balises sont [[JavaScool:DocFormatHml|définies ici]] avec une [[JavaScool:DocumentsHml|documentation utilisateur]].
 
<div class="spec"><tt>help.xml</tt> est un fichier en XML dont les balises sont [[JavaScool:DocFormatHml|définies ici]] avec une [[JavaScool:DocumentsHml|documentation utilisateur]].
 
<div>Il contient des liens vers les autres pages, il peut inclure une vidéo externe au site, qui montre le fonctionnement de la proglet, etc..  
 
<div>Il contient des liens vers les autres pages, il peut inclure une vidéo externe au site, qui montre le fonctionnement de la proglet, etc..  
 
</div>
 
</div>
 +
 +
----
  
 
<div class="spec"><tt>Functions.java</tt> est une classe publique sans parent, qui contient uniquement les fonctions et constantes statiques et publiques, destinées à l'utilisateur. Elle est documentée en français (or in English, but not in Frenglish), à destination de l'élève. Tous les identificateurs utilisés dans cette classes deviennent des mots réservés. Il ne faut rien mettre d'autre dans cette classe. </div>
 
<div class="spec"><tt>Functions.java</tt> est une classe publique sans parent, qui contient uniquement les fonctions et constantes statiques et publiques, destinées à l'utilisateur. Elle est documentée en français (or in English, but not in Frenglish), à destination de l'élève. Tous les identificateurs utilisés dans cette classes deviennent des mots réservés. Il ne faut rien mettre d'autre dans cette classe. </div>
 +
 +
----
  
 
<div class="spec"><tt>Panel.java</tt> est une classe publique doit être une instance de <tt>java.awt.Component</tt> (donc un <tt>JPanel</tt>, une <tt>Applet</tt>, etc..).
 
<div class="spec"><tt>Panel.java</tt> est une classe publique doit être une instance de <tt>java.awt.Component</tt> (donc un <tt>JPanel</tt>, une <tt>Applet</tt>, etc..).
Ligne 37 : Ligne 45 :
 
** La méthode <tt>stop()</tt> est appelée à l'arrêt de la démonstration.</div>
 
** La méthode <tt>stop()</tt> est appelée à l'arrêt de la démonstration.</div>
  
<div class="spec"><tt>Translator.java</tt> est une classe publique qui a pour parent <tt>org.javascool.core.Translator</tt> et permet de définir des variantes du langage pour la proglet: se référer à la documentation.</div>
+
----
 +
 
 +
<div class="spec"><tt>Translator.java</tt> est une classe publique qui a pour parent <tt>org.javascool.core.Translator</tt> et permet de définir des variantes du langage pour la proglet: se référer à la [http://javascool.gforge.inria.fr/?page=api:/org/javascool/core/Translator.html documentation].
 +
* La traduction de Java simplifié (dit Jvs) en Java se fait à l'aide d'expression régulières appliquées sur tout le texte source.
 +
* La classe permet de spécifier des import Java spécifique de la proglet.
 +
</div>
 +
 
 +
----
  
 
* Les autres fichiers d'une proglet:
 
* Les autres fichiers d'une proglet:

Version du 20 août 2011 à 00:53


Spécification d'une «proglet»

  • Tous les fichiers nécessaires au fonctionnement de la proglet sont placés dans un dossier.
  • Le nom du dossier correspond à l'identifiant de la proglet.
    L'identifiant (id) de chaque proglet doit être unique. Regarder sur la table des proglets les noms existants.
Le nom doit avoir au plus seize lettres minuscules ou majuscules; pas de chiffre ou de symbole. Il ne doit contenir que des lettres faire au moins quatre caractères et démarrer par une minuscule. Il doit être de la forme «algoDeMaths» pour «algo de maths» c'est à dire, sans espace, commencer par une minucule et les autres mots par une majuscule.

On respecte ici la convention de nommage des packages Java.

  • Les fichiers standards de la proglet:
    • proglet.pml : le descripteur de la proglet.
    • help.xml : le fichier de documentation de la proglet.
    • Functions.java : qui définit les fonctions proposées à l'élève (optionnel).
    • Panel.java : qui implémente l'applet graphique de la proglet (optionnel).
    • Translator.java : qui implémente la traduction de Jvs en Java spécifique de cette proglet (optionnel).

proglet.pml est un fichier texte de trois lignes données sous la forme:
title = "Description en 1 à 2 lignes de la proglet"
author = "Prenom Nom <email@serveur>, Prenom Nom <email@serveur>, .."
icon = "Le nom de fichier de l'image qui décrit la proglet" (optionnel)

help.xml est un fichier en XML dont les balises sont définies ici avec une documentation utilisateur.
Il contient des liens vers les autres pages, il peut inclure une vidéo externe au site, qui montre le fonctionnement de la proglet, etc..

Functions.java est une classe publique sans parent, qui contient uniquement les fonctions et constantes statiques et publiques, destinées à l'utilisateur. Elle est documentée en français (or in English, but not in Frenglish), à destination de l'élève. Tous les identificateurs utilisés dans cette classes deviennent des mots réservés. Il ne faut rien mettre d'autre dans cette classe.

Panel.java est une classe publique doit être une instance de java.awt.Component (donc un JPanel, une Applet, etc..).

Elle peut implémenter:

  • La méthode init(), définie dans cette classe, permet de construire l'applet, initialiser les objets graphiques, gestionnaires d'événements, etc..
    • La méthode destroy(), appelée à la fermeture de la proglet, doit détruire ce que init() et l'élève ont fait.
  • La méthode start(), optionelle, n'est appelée que pour lancer une démonstration du fonctionnement de la proglet.
    • La méthode stop() est appelée à l'arrêt de la démonstration.

Translator.java est une classe publique qui a pour parent org.javascool.core.Translator et permet de définir des variantes du langage pour la proglet: se référer à la documentation.
  • La traduction de Java simplifié (dit Jvs) en Java se fait à l'aide d'expression régulières appliquées sur tout le texte source.
  • La classe permet de spécifier des import Java spécifique de la proglet.

  • Les autres fichiers d'une proglet:
    • Des fichiers de resources nécessaires au fonctionnement de la proglet, comme par exemple des images, des sons, etc.
    • Des classes java nécessaires au fonctionnement interne de la proglet.
    • Des classes java accessibles à l'élève. Par exemple, on pourrait ajouter une classe 'Image' qui faciliterait l'usage d'images dans Java's Cool
    • Des fichiers .jvs qui servent d'exemple à l'élève. Ces fichiers peuvent être ouverts automatiquement par un [?page=developers&action=doc-jvs lien jvs] inclus dans l'aide de la proglet (fichier help.xml)
    • Des fichiers .xml qui seront converts lors de l'appel à [?page=developers&action=doc-javascoolbuilder javascoolbuilder] en fichiers .htm. Ces fichiers sont accessible depuis l'aide de la proglet (voir la balise lien dans les [?page=developers&action=doc-xml spécifications du langage xml]