| ... | ... | @@ -6,210 +6,11 @@ |
|
|
|
</td></tr>
|
|
|
|
<tr><td>
|
|
|
|
|
|
|
|
## Sommaire
|
|
|
|
|
|
|
|
- [Plugin Caseine VPL](#plugin-caseine-vpl)
|
|
|
|
- [Sommaire](#sommaire)
|
|
|
|
- [A. Créer un plugin Eclipse](#a-créer-un-plugin-eclipse)
|
|
|
|
- [1. Configuration de l’environnement de développement](#1-configuration-de-lenvironnement-de-développement)
|
|
|
|
- [2. Création d’un projet de plugin](#2-création-dun-projet-de-plugin)
|
|
|
|
- [3. Structure du projet créé](#3-structure-du-projet-créé)
|
|
|
|
- [C. Compilation du plugin](#c-compilation-du-plugin)
|
|
|
|
- [D. Installation du plugin](#d-installation-du-plugin)
|
|
|
|
- [E. Utilisation du plugin](#e-utilisation-du-plugin)
|
|
|
|
- [1. Créer un projet](#1-créer-un-projet)
|
|
|
|
- [2. Les perspectives Caseine](#2-les-perspectives-caseine)
|
|
|
|
- [3. L'action Push](#3-laction-push)
|
|
|
|
- [4. L'action Pull](#4-laction-pull)
|
|
|
|
- [5. L'action Reset](#5-laction-reset)
|
|
|
|
- [6. Évaluer un exercice](#6-évaluer-un-exercice)
|
|
|
|
- [7. Le timer et le nombre d'évaluations gratuites restantes](#7-le-timer-et-le-nombre-dévaluations-gratuites-restantes)
|
|
|
|
- [8. Les settings](#8-les-settings)
|
|
|
|
- [9. La fonctionnalité .vplignore](#9-la-fonctionnalité-vplignore)
|
|
|
|
- [Références](#références)
|
|
|
|
- [Contributions](#contributions)
|
|
|
|
|
|
|
|
|
|
|
|
## A. Créer un plugin Eclipse
|
|
|
|
|
|
|
|
#### 1. Configuration de l’environnement de développement
|
|
|
|
|
|
|
|
Bien qu'[il soit possible de s'en passer](https://www.eclipse.org/articles/Article-Your%20First%20Plug-in/YourFirstPlugin.html), il est fortement conseillé d'utiliser le "[Plugin Eclipse Environment](https://www.eclipse.org/pde/)" abrégé en PDE pour développer un plugin pour eclipse.
|
|
|
|
Il s'agit d'une version de eclipse qui intègre directement tous les outils nécessaires au développement de plugin.
|
|
|
|
|
|
|
|
#### 2. Création d’un projet de plugin
|
|
|
|
|
|
|
|
Pour créeer un nouveau plugin depuis le PDE, accéder au wizard de création de projet depuis `File > new > project` puis dans la fenêtre qui s'affiche sélectionner `Plug-in Development > Plug-in project`.
|
|
|
|
Suivez ensuite les instruction pour créer le projet.
|
|
|
|
Le wizard propose plusieurs templates qui peuvent simplifier le processus.
|
|
|
|
|
|
|
|
#### 3. Structure du projet créé
|
|
|
|
|
|
|
|
Le projet créé par le wizard contient à minima les éléments suivants :
|
|
|
|
|
|
|
|
```tree
|
|
|
|
├── src
|
|
|
|
├── META-INF
|
|
|
|
│ └── MANIFEST.MF
|
|
|
|
├── build.properties
|
|
|
|
└── (plugin.xml)
|
|
|
|
```
|
|
|
|
|
|
|
|
Le dossier `src` contient les packages java avec le code du plugin.\
|
|
|
|
Le fichier `META-INF/MANIFEST.MF` contient des informations nécessaires à l'identification des bundles OSGI (une convention sur laquelle s’appuie eclipse).\
|
|
|
|
Le fichier `build.properties` liste des informations nécessaires à la compilations (bibliothèques, dossiers source et destination, etc...).\
|
|
|
|
Le fichier `plugin.xml` peut ne pas être créé directement grace au wizard. Si ce n'est pas le cas, vous pouvez le créer. Ce fichier liste tous les points sur lesquels le plugin va s'interfacer avec eclipse.
|
|
|
|
|
|
|
|
## C. Compilation du plugin
|
|
|
|
|
|
|
|
Pour tester le plugin lors du développement, il suffit de faire un click droit sur le projet puis `Run As > Eclipse Application`. Parfois il peut être nécessaire de build le projet : ctrl + B (build all).
|
|
|
|
|
|
|
|
Pour le compiler en vue d'un déploiement sur une instance indépendante d'eclipse, suivez les étapes suivantes :
|
|
|
|
|
|
|
|
1. Créez un Feature project (`File > New > Project > Plug-in Development > Feature Project` puis suivez les étapes du wizard). Il n'est pas nécessaire de créer une nouvelle feature à chaque fois que vous voulez compiler votre plugin.
|
|
|
|
2. Ajouter le plugin à la feature.
|
|
|
|
3. Créer un Site project (`File > New > Project > Plug-in Development > Update Site Project` puis suivez les étapes du wizard). Il n'est pas nécessaire de créer un nouveau site à chaque fois que vous voulez compiler votre plugin.
|
|
|
|
4. Ajoutez la feature au site.
|
|
|
|
5. Build le site. Il devrait alors contenir les dossiers suivants :
|
|
|
|
|
|
|
|
```tree
|
|
|
|
├── features/
|
|
|
|
├── plugins/
|
|
|
|
├── artifacts.jar
|
|
|
|
├── content.jar
|
|
|
|
└── site.xml
|
|
|
|
```
|
|
|
|
|
|
|
|
Si vous effectuez plusieurs fois cette opération assurez vous bien de changer systématiquement les numéros de version du plugin et de la feature. Si vous gardez les mêmes numéros de version eclipse va considérer qu'il s'agit du même code et utilisera le premier (en cache).
|
|
|
|
|
|
|
|
## D. Installation du plugin
|
|
|
|
|
|
|
|
(c.f. [Manuel d'installation du plugin Eclipse](https://moodle.caseine.org/mod/page/view.php?id=14015))
|
|
|
|
|
|
|
|
Pour installer un plugin : `Help > Install New Software... > Add... > Local` Sélectionnez ensuite le site créé lors de la compilation puis validez en cliquant sur Add.
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Sélectionnez ensuite le plugin dans la liste qui s'affiche puis suivez le wizard d'installation.
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Ce processus devrait également vous permettre de mettre à jour le plugin. Si toutefois cela ne marchait pas, assurez vous de bien avoir changé les versions du plugin et de la feature.
|
|
|
|
|
|
|
|
Si malgré tout vous continuez d'avoir des difficultés, vous pouvez désinstaller le plugin depuis `Help > About Eclipse IDE > Installation Details` puis sélectionner tous les plugins/feature sur lesquels vous travaillez pour les désinstaller. Eclipse devrait vous demander de redémarrer, une fois ceci fait vous pouvez de nouveau redémarrer avec la commande `eclipse -clean` qui devrait supprimer le cache. Toutes ces manipulations ne garantissent pas de résoudre le problème mais ça peut aider.
|
|
|
|
|
|
|
|
## E. Utilisation du plugin
|
|
|
|
|
|
|
|
(c.f. [Manuel utilisateur du plugin Eclipse](https://moodle.caseine.org/mod/page/view.php?id=14016))
|
|
|
|
|
|
|
|
#### 1. Créer un projet
|
|
|
|
|
|
|
|
Pour créer un nouveau projet depuis un vpl : `File > New > Project > Caseine Wizards > Caseine Project` puis suivez le wizard.
|
|
|
|
|
|
|
|
#### 2. Les perspectives Caseine
|
|
|
|
|
|
|
|
Une fois le projet créé, une fenètre de dialogue vous propose d'ouvrir la perspective caseine. Il s'agit de la perspective java avec des éléments en plus :
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
- A droite la "Caseine View": l'onglet "Description" contient la description de l'exercice sur Caseine. L'onglet "Result" contiens le résultat de l'évaluation. Si le vpl à été paramétré avec des contraintes pour l'évaluation (limite de temps ou nombre d'évaluations limité) ces informations apparaîtrons ici également.
|
|
|
|
- En bas l'onglet "Caseine Comments" : cet onglet contient un récapitulatif des éventuels commentaires Caseine, laissés par votre enseignant (ou par vous si vous le souhaitez).
|
|
|
|
- En haut à gauche deux boutons simplifiant l'interaction avec le vpl.
|
|
|
|
|
|
|
|
#### 3. L'action Push
|
|
|
|
|
|
|
|
Vous pouvez sauvegarder votre travail sur le vpl en utilisant l'action `Push`. Elle est accessible soit dans la barre d'outils depuis la perspective caseine, soit par un click droit sur votre projet dans le Package Explorer : `Caseine > Push`.
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
#### 4. L'action Pull
|
|
|
|
|
|
|
|
A l'inverse, vous pouvez également récupérer les fichiers tels que vous les avez push pour la dernière fois grâce à l'action `Pull`. Cette action n'est accessible que depuis un click droit sur votre projet dans le Package Explorer : `Caseine > Pull`.
|
|
|
|
Notez toutefois que cette action va écraser toutes les modifications réalisées depuis le dernier `Push`.
|
|
|
|
|
|
|
|
#### 5. L'action Reset
|
|
|
|
|
|
|
|
De la même manière vous pouvez récupérer les fichier au début de l'exercice grâce à l'action `Reset` accessible de la même manière (`Caseine > Reset` dans le menu déroulant après un click droit sur votre projet dans l'onglet Package Manager).
|
|
|
|
Une fois cette action réalisée toutes les modifications apportées au projet seront écrasées.
|
|
|
|
|
|
|
|
#### 6. Évaluer un exercice
|
|
|
|
|
|
|
|
L'action `Evaluate` permet d'évaluer automatiquement votre code. Comme l'action `Push`, elle est accessible soit depuis la barre d'action de la perspective Caseine, soit depuis un click droit sur le projet : `Caseine > Evaluate`.
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Les résultats apparaissent après quelques secondes dans l'onglet "Caseine View" avec une note et le détail des tests automatiques qui ont permis son calcul. Lorsque vous cliquez sur un test échoué, les détails de celui-ci apparaissent dans un espace en bas de l'onglet.
|
|
|
|
|
|
|
|
#### 7. Le timer et le nombre d'évaluations gratuites restantes
|
|
|
|
|
|
|
|
Un vpl peut être paramétré pour limiter les évaluations à une certaine période et/ou à un certain nombre. Si c'est le cas, vous verrez apparaître ces limites en haut de l'onglet "Caseine View", juste en dessous du titre du vpl.
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Pour plus de détails, passez la souris au dessus du temps restant ou des évaluations restantes, des informations plus détaillées s'afficheront.
|
|
|
|
|
|
|
|
#### 8. Les settings
|
|
|
|
|
|
|
|
Dans les préférences eclipse (`Window > Preferences`) un onglet "Caseine" à été ajouté.
|
|
|
|
|
|
|
|
<div align="center">
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Cet onglet vous permet de modifier les paramètres suivants :
|
|
|
|
|
|
|
|
- Changer l'adresse du vpl (moodle.caseine.org est utilisé par défaut)
|
|
|
|
- Changer votre token (pour vous identifier avec un autre compte par exemple)
|
|
|
|
- Choisir la méthode d'évaluation. La solution recommandée est de passer par un websocket pour avoir des retours plus rapides. Cependant cette solution aura tendance à générer des erreurs si la qualité de votre connexion internet est trop mauvaise.
|
|
|
|
|
|
|
|
#### 9. La fonctionnalité .vplignore
|
|
|
|
|
|
|
|
Lors de la création d'un projet ou d'un reset, un fichier `.vplignore` est créé à la racine du projet.
|
|
|
|
Ce fichier contient une liste d'expressions correspondant à l'ensemble des fichiers devant être ignorées par le plugin lors des push, des évaluations et des pulls, à la manière d'un `.gitignore`.
|
|
|
|
Lors d'un reset ce fichier sera également réinitialisé.
|
|
|
|
|
|
|
|
Si vous créez trop de fichiers et que vous dépassez le maximum autorisé par le vpl, une fenêtre de dialogue va s'ouvrir pour vous en prévenir et vous proposer d'ajouter des fichiers au `.vplignore`.
|
|
|
|
Si le fichier n'existe pas encore il est alors créé.
|
|
|
|
Si vous effectuez un push ou un evaluate avec trops de fichiers, le message d'erreur vous proposera également d'ouvrir le fichier `.vplignore`.
|
|
|
|
|
|
|
|
Pour trouver ce fichier, vous pouvez rendre visible les fichiers cachés dans le package explorer en cliquant sur `View Menu` (les trois petits points en haut à droite de la vue).
|
|
|
|
Puis `Filters...` et enfin décocher l'option `.*resources`.
|
|
|
|
|
|
|
|
## Références
|
|
|
|
|
|
|
|
- [Eclipse plugin development documentation](https://help.eclipse.org/2023-03/index.jsp)
|
|
|
|
- [Write an eclipse plugin without the PDE](https://www.eclipse.org/articles/Article-Your%20First%20Plug-in/YourFirstPlugin.html)
|
|
|
|
- [Caseine plugin official manuals](https://moodle.caseine.org/course/view.php?id=219§ion=3)
|
|
|
|
|
|
|
|
## Contributions
|
|
|
|
|
|
|
|
- **MAZIER Titouan**
|
|
|
|
Grenoble INP - Ensimag, UGA, stagiaire Caseine 16/05/2023 - 26/07/2023
|
|
|
|
|
|
|
|
</td></tr> |
|
|
|
Welcome to the documentation of Caseine VPL Plugin for Eclipse.
|
|
|
|
|
|
|
|
| English | Français |
|
|
|
|
| :-----: | :------: |
|
|
|
|
| [Installation manual](english/Installation%20manual.md) | [Manuel d'installation](français/Manuel%20d'installation.md)
|
|
|
|
| [User documentation](english/User%20Manual.md) | [Documentation utilisateur](français/Manuel%20utilisateur.md)
|
|
|
|
| [FAQ](english/FAQ.md) | [FAQ](français/FAQ.md) |
|
|
|
|
| | [Documentation de développement](français/Documentation%20de%20développement.md) | |