25
1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

Embed Size (px)

Citation preview

Page 1: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

1

Matthias MeusburgerAntoine Acquaviva

Plugin B pour JEdit

Projet encadré par M.Tatibouët

Page 2: 1 Matthias Meusburger Antoine 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

Page 3: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 4: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

4

1. Présentation du sujet

1.1. JEdit et les plugins

1.2. Le langage B

1.3. Problématique et objectifs

Page 5: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 6: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 7: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 8: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 9: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 10: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 11: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

11

2. Étude préalable

2.1. L’aide de JEdit

2.2. Le rapport du projet JBEdit

Page 12: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 13: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 14: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 15: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 16: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 17: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 18: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 19: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 20: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 21: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 22: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

22

4. Limites et évolutions possibles

4.1. Limites

4.2. Évolutions possibles

Page 23: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 24: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

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

Page 25: 1 Matthias Meusburger Antoine Acquaviva Plugin B pour JEdit Projet encadré par M.Tatibouët

25

Conclusion

Plugin opérationnel et évolutif Bilan personnel positif

Langage Java Fonctionnement d’un plugin Gestion du projet Langage B