Plugin B pour JEdit Matthias Meusburger Antoine Acquaviva Projet encadré par M.Tatibouët
Plan de soutenance 1. Présentation du sujet 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs 2. Étude préalable 2.1. L’aide de JEdit 2.2. Le rapport du projet JBEdit 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 4. Limites et évolutions possibles 4.1. Limites 4.2. Évolutions possibles
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
1. Présentation du sujet 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs
JEdit Éditeur de texte Logiciel libre Multi-plateformes Modulaire Présentation du sujet – JEdit et les plugins JEdit 1. Présentation du sujet 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs 2. Etude préalable 3. Développement du plugin 4. Limites et évolutions possibles Éditeur de texte Logiciel libre Multi-plateformes Modulaire
Les plugins Destinés à étendre les fonctionnalités d’un logiciel Présentation du sujet – JEdit et les plugins Les plugins 1. Présentation du sujet 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs 2. Etude préalable 3. Développement du plugin 4. Limites et évolutions possibles Destinés à étendre les fonctionnalités d’un logiciel Standardisés Pérennes
Le langage B Développé par Ken Thompson en 1970 Présentation du sujet – Le langage B Le langage B 1. Présentation du sujet 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs 2. Etude préalable 3. 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
Problématique Les outils B existants sont commerciaux Présentation du sujet – Problématique et objectifs Problématique 1. Présentation du sujet 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs 2. Etude préalable 3. 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 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs 2. Etude préalable 3. 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
Synthèse des objectifs Présentation du sujet – Problématique et objectifs Synthèse des objectifs 1. Présentation du sujet 1.1. JEdit et les plugins 1.2. Le langage B 1.3. Problématique et objectifs 2. Etude préalable 3. Développement du plugin 4. Limites et évolutions possibles
2. Étude préalable 2.1. L’aide de JEdit 2.2. Le rapport du projet JBEdit
L’aide de JEdit Partie traitant des plugins Etude préalable – L’aide de JEdit L’aide de JEdit 1. Présentation du sujet 2. Etude préalable 2.1. L’aide de JEdit 2.2. Le rapport du projet JBEdit 3. 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
Le rapport du projet JBEdit Etude préalable – Rapport du projet JBEdit Le rapport du projet JBEdit 1. Présentation du sujet 2. Etude préalable 2.1. L’aide de JEdit 2.2. Le rapport du projet JBEdit 3. 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
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
Structure du plugin Le plugin est sous forme d’archive JAR contenant : Développement du plugin – Les ressources Structure du plugin 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 3.1. Structure 3.2. L’aide à l’édition 3.3. L’aide à la compilation 3.4. Paramétrage du plugin 4. 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
Intégration du plugin Développement du plugin – Les ressources 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 3.1. Structure 3.2. L’aide à l’édition 3.3. L’aide à la compilation 3.4. Paramétrage du plugin 4. Limites et évolutions possibles
L’aide à l’édition La fenêtre des symboles Développement du plugin – L’aide à l’édition L’aide à l’édition 1. Présentation du sujet 2. Etude préalable 3. 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.
L’aide à la compilation Développement du plugin – L’aide à la compilation L’aide à la compilation 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 3.1. Structure 3.2. L’aide à l’édition 3.3. L’aide à la compilation 3.4. Paramétrage du plugin 4. 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
Les alternatives de compilation Développement du plugin – L’aide à la compilation Les alternatives de compilation 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 3.1. Structure 3.2. L’aide à l’édition 3.3. L’aide à la compilation 3.4. Paramétrage du plugin 4. Limites et évolutions possibles
Paramétrage du Plugin Centralisé dans les options de JEdit Développement du plugin - Paramétrage Paramétrage du Plugin 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 3.1. Structure 3.2. L’aide à l’édition 3.3. L’aide à la compilation 3.4. Paramétrage du plugin 4. 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
Fonctionnalités proposées Développement du plugin Fonctionnalités proposées 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 3.1. Structure 3.2. L’aide à l’édition 3.3. L’aide à la compilation 3.4. Paramétrage du plugin 4. Limites et évolutions possibles
4. Limites et évolutions possibles
Limites de l’application Limites et évolutions possibles - Limites Limites de l’application 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 4. Limites et évolutions possibles 4.1. Limites 4.2. Evolutions possibles Recherche de l’erreur peu précise Nécessité de réintégrer le TypeChecker au plugin
Evolutions possibles Possibilité d’intégrer d’autres outils B Limites et évolutions possibles - Évolutions Evolutions possibles 1. Présentation du sujet 2. Etude préalable 3. Développement du plugin 4. Limites et évolutions possibles 4.1. Limites 4.2. Évolutions possibles Possibilité d’intégrer d’autres outils B
Conclusion Plugin opérationnel et évolutif Bilan personnel positif Langage Java Fonctionnement d’un plugin Gestion du projet Langage B