1
Matthias MeusburgerAntoine Acquaviva
Plugin B pour JEdit
Projet encadré par M.Tatibouët
2
Plan de soutenance1. Présentation du sujet
1.1. JEdit et les plugins1.2. Le langage B1.3. Problématique et objectifs
2. Étude préalable2.1. L’aide de JEdit2.2. Le rapport du projet JBEdit
3. Développement du plugin3.1. Structure du plugin
3.2. L’aide à l’édition3.3. L’aide à la compilation3.4. Paramétrage du plugin
4. Limites et évolutions possibles4.1. Limites4.2. Évolutions possibles
3
Introduction
Motivations de choix : langage Java logiciel libre
Plugin B pour JEdit : un intitulé riches de notions détaillées dans la présentation du projet
4
1. Présentation du sujet
1.1. JEdit et les plugins
1.2. Le langage B
1.3. Problématique et objectifs
5
JEdit1. Présentation
du sujet1.1. JEdit et les
plugins1.2. Le langage B1.3. Problématique
et objectifs2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
Éditeur de texte Logiciel libre Multi-plateformes Modulaire
Présentation du sujet – JEdit et les plugins
6
Les plugins1. Présentation
du sujet1.1. JEdit et les
plugins1.2. Le langage B1.3. Problématique
et objectifs2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
Destinés à étendre les fonctionnalités d’un logiciel
Standardisés Pérennes
Présentation du sujet – JEdit et les plugins
7
Le langage B1. Présentation
du sujet1.1. JEdit et les
plugins1.2. Le langage B1.3. Problématique
et objectifs2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
Développé par Ken Thompson en 1970
Utilisé notamment dans l’industrie
Le langage B est utilisé par la méthode B
Présentation du sujet – Le langage B
8
Problématique1. Présentation
du sujet1.1. JEdit et les
plugins1.2. Le langage B1.3. Problématique
et objectifs2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
Les outils B existants sont commerciaux
Outils développés par le LIFC Nécessité de disposer d’un
environnement graphique
Présentation du sujet – Problématique et objectifs
9
Objectifs1. Présentation
du sujet1.1. JEdit et les
plugins1.2. Le langage B1.3. Problématique
et objectifs2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
Intégrer l’outil de compilation B du LIFC sous forme de plugin pour JEdit
Proposer des fonctions d’aide à l’édition et à la compilation
Réaliser une interface souple et conviviale
Présentation du sujet – Problématique et objectifs
10
Synthèse des objectifs1. Présentation
du sujet1.1. JEdit et les
plugins1.2. Le langage B1.3. Problématique
et objectifs2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
Présentation du sujet – Problématique et objectifs
Aide à lacompilation
Paramétrage duplugin
Aide à l'éditionPlugin B pour
JEdit
11
2. Étude préalable
2.1. L’aide de JEdit
2.2. Le rapport du projet JBEdit
12
L’aide de JEdit1. Présentation
du sujet2. Etude
préalable2.1. L’aide de JEdit2.2. Le rapport du
projet JBEdit3.
Développement du plugin
4. Limites et évolutions possibles
Partie traitant des plugins Exemple détaillé du
QuickNotepad Difficultés pour exploiter et
synthétiser les informations contenues dans l’aide
Etude préalable – L’aide de JEdit
13
Le rapport du projet JBEdit1. Présentation
du sujet2. Etude
préalable2.1. L’aide de JEdit2.2. Le rapport du
projet JBEdit3.
Développement du plugin
4. Limites et évolutions possibles
Des objectifs similaires Une approche radicalement
différente Avantages du plugin par rapport
à une transformation de JEdit en JBEdit
Exploitation limitée du rapport
Etude préalable – Rapport du projet JBEdit
14
3. Développement du plugin
3.1. Structure du plugin
3.2. L’aide à l’édition
3.3. L’aide à la compilation
3.4. Paramétrage du plugin
15
Structure du plugin1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
3.1. Structure3.2. L’aide à
l’édition3.3. L’aide à la
compilation3.4. Paramétrage
du plugin4. Limites et
évolutions possibles
Le plugin est sous forme d’archive JAR contenant : Les fichiers sources Le fichier propriétés La classe Bplugin Les fichiers XML
Actions.xml Dockables.xml
Développement du plugin – Les ressources
16
Intégration du plugin1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
3.1. Structure3.2. L’aide à
l’édition3.3. L’aide à la
compilation3.4. Paramétrage
du plugin4. Limites et
évolutions possibles
Plugin
FichiersJava
Plugin.props
dockables.xml
actions.xml
JEdit
Communication
Communication
Communication
Développement du plugin – Les ressources
17
L’aide à l’édition1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
3.1. Les ressources
3.2. L’aide à l’édition
3.3. L’aide à la compilation
3.4. Paramétrage du plugin
4. Limites et évolutions possibles
La fenêtre des symboles Le B utilise de nombreux
symboles mathématiques Nécessité de créer une aide
pour aider l’utilisateur à choisir le symbole adéquat et lui proposer son équivalent ASCII.
Développement du plugin – L’aide à l’édition
18
L’aide à la compilation1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
3.1. Structure3.2. L’aide à
l’édition3.3. L’aide à la
compilation3.4. Paramétrage
du plugin4. Limites et
évolutions possibles
Une barre d’outil permet de déclencher la compilation d’un seul clic
Les résultats de la compilation sont affichés dans une fenêtre
En cas d’échec, le fichier incriminé est ouvert dans JEdit
Développement du plugin – L’aide à la compilation
19
Les alternatives de compilation
1. Présentation du sujet
2. Etude préalable
3. Développement du plugin
3.1. Structure3.2. L’aide à
l’édition3.3. L’aide à la
compilation3.4. Paramétrage
du plugin4. Limites et
évolutions possibles
Développement du plugin – L’aide à la compilation
Affichage de l'erreur
Ouverture du fichier concerné
Message : "Compilation réussie"
Production des fichiers compilés
Affichage du résumé decompilation
Production d'un fichier contenantce résumé
Affichage du résumé decompilation
Production d'un fichier contenantce résumé
Production des fichiers compilés
Compilation
Interne
Externe
Echec
Réussite
Réussite
Echec
20
Paramétrage du Plugin1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
3.1. Structure3.2. L’aide à
l’édition3.3. L’aide à la
compilation3.4. Paramétrage
du plugin4. Limites et
évolutions possibles
Centralisé dans les options de JEdit
Les paramètres sont conservés d’une session à l’autre
Choix des répertoires sources et sorties
Choix d’un éventuel TypeChecker externe
Développement du plugin - Paramétrage
21
Fonctionnalités proposées1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
3.1. Structure3.2. L’aide à
l’édition3.3. L’aide à la
compilation3.4. Paramétrage
du plugin4. Limites et
évolutions possibles
Développement du plugin
Utilisation du TypeChecker surle fichier courant
Choix des répertoires soureset du répertiore de sortie
Affichage dans la fenêtred'aide du libellé des symboles
Fenêtre proposant lessymboles utilisés par B
Production des fichiers XMLcompilés
Affichage des erreurs dans lafenêtre d'aide
Gestion des fenêtresdockables
Ouverture du buffer erroné
Insertion du symbole dans lebuffer
Aide à lacompilation
Paramétragedu plugin
Aide àl'édition
Plugin Bpour JEdit
22
4. Limites et évolutions possibles
4.1. Limites
4.2. Évolutions possibles
23
Limites de l’application1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
4.1. Limites4.2. Evolutions
possibles
Recherche de l’erreur peu précise
Nécessité de réintégrer le TypeChecker au plugin
Limites et évolutions possibles - Limites
24
Evolutions possibles1. Présentation
du sujet2. Etude
préalable3.
Développement du plugin
4. Limites et évolutions possibles
4.1. Limites4.2. Évolutions
possibles
Possibilité d’intégrer d’autres outils B
Limites et évolutions possibles - Évolutions
25
Conclusion
Plugin opérationnel et évolutif Bilan personnel positif
Langage Java Fonctionnement d’un plugin Gestion du projet Langage B