Développement de clients riches : Plateforme Eclipse

Dimension: px
Commencer à balayer dès la page:

Download "Développement de clients riches : Plateforme Eclipse"

Transcription

1 Développement de clients riches : Plateforme Eclipse Chapitre 3 : Conception de plug-ins Workbench : Commands Mickaël BARON mailto:baron.mickael@gmail.com ou mailto:baron@ensma.fr

2 Licence Creative Commons Contrat Paternité Partage des Conditions Initiales à l'identique 2.0 France 2

3 Organisation du cours sur le Workbench : Commands Avant, il y avait les Actions Construction par déclaration et programmation Eléments menucontribution par déclaration Raccourcis clavier Tous les exemples du cours sont disponibles directement à l adresse mbaron.developpez.com/eclipse/commands Restrictions (visiblewhen, enabledwhen, activewhen) Paramétrer les commandes Restrictions par programmation Réutilisation 3

4 Déroulement du cours Pédagogie du cours Illustration avec de nombreux exemples qui sont disponibles à l adresse mbaron.developpez.com/eclipse/commands Des bulles d aide tout au long du cours Logiciels utilisés Eclipse Ganymede Pré-requis Connaître la structure d un plug-ins et savoir créer une extension Structure du Workbench Remerciement Developpez.com : [TODO] Ceci est une astuce Ceci est une alerte 4

5 Ressources Des billets sur les généralités sur les commandes blog.eclipse-tips.com/2009/01/commands-part-1-actions-vs-commands.html blog.eclipse-tips.com/2009/01/commands-part-2-selection-and.html blog.eclipse-tips.com/2008/12/commands-part-3-parameters-for-commands.html blog.eclipse-tips.com/2009/01/commands-part-4-misc-items.html blog.eclipse-tips.com/2009/02/commands-part-5-authentication-in-rcp.html blog.eclipse-tips.com/2009/03/commands-part-6-toggle-radio-menu.html blog.eclipse-tips.com/2009/05/commands-part-7-adding-standard.html blog.eclipse-tips.com/2009/02/customizing-about-dialog.html blog.eclipse-tips.com/2009/10/associating-command-with-job.html blog.eclipse-tips.com/2009/06/keyboard-accessibility-thru-command.html bugs.eclipse.org/bugs/show_bug.cgi?id= hermanlintvelt.blogspot.com/2009/06/eclipse-rcp-commands-api-review-of-part.html hermanlintvelt.blogspot.com/2009/05/eclipse-rcp-commands-api-part-one.html hermanlintvelt.blogspot.com/2009/06/eclipse-rcp-commands-part-3-visiblewhen.html konigsberg.blogspot.com/2008/06/screencast-using-property-testers-in.html richclientplatform.blogspot.com/2007/07/new-menu-contribution-extension.html 5

6 Ressources (suite) Des articles sur les généralités sur les commandes wiki.eclipse.org/platform_command_framework wiki.eclipse.org/menu_contributions wiki.eclipse.org/menus_extension_mapping wiki.eclipse.org/command_core_expressions svn2.assembla.com/svn/eclipsecommands/trunk/eclipsecommands/contents/article.html Des livres Eclipse Building Commercial-Quality Plug-ins, ISBN : Eclipse Rich Client Platform, 2005 ISBN : Eclipse Plug-ins, 3rd Edition, 2008 ISBN :

7 Introduction Dans les parties Perspective, View et Editor nous avons abordé le concept d actions permettant d ajouter de nouveaux éléments pour un menu une barre d outils un menu contextuel Workbench fournit deux APIs pour ajouter des éléments Actions (celle utilisée dans les précédents transparents) Command (apparue depuis Eclipse 3.3) L API Actions est plus ancienne et doit être remplacée par l API Commands 7

8 Introduction Les points d extension concernant l API Actions sont toujours utilisables Du côté des vues, des éditeurs et des perspectives il existe toujours cette relation avec les actions Pour vos prochains développements, préférer l utilisation de la nouvelle API Commands Dans la suite nous présentons rapidement l API Actions en insistant sur ces désavantages puis nous nous orienterons vers l API Commands 8

9 Ancienne API Actions Depuis le début de ce support de cours, nous avons abordé rapidement la notion d Actions via l interface IAction La description de cette interface met en avant l absence de flexibilité qui a conduit à définir la nouvelle API Command Caractéristiques liées à la présentation de l action public interface IAction { void settext(string text); void setimagedescriptor(imagedescriptor image); void setaccelerator(int keycode); void setenabled(boolean enabled); } void run(); //... more setters and getters Caractéristique liée au traitement de l action Les aspects liés à la présentation (settext, setenabled, ) sont fortement couplés avec le traitement de l action (run) Par conséquent il est difficile de fournir plusieurs textes, images, raccourcis clavier pour une même action 9

10 Ancienne API Actions La plateforme Eclipse fournit différents points d extension permettant d ajouter des actions à différents éléments du Workbench org.eclipse.ui.actionsets : ajouter des actions au menu et à la barre d outils d une application Eclipse org.eclipse.ui.editoractions : ajouter des actions au menu et à la barre d outils d une application Eclipse pour un type d éditeur donné org.eclipse.ui.actionsetpartassociations : permet d associer une action à un ensemble de Parts (View et Editor) org.eclipse.ui.viewactions : ajouter des actions au menu et à la barre d outils d une vue org.eclipse.ui.popupmenus : ajouter des actions à un menu contextuel Nous montrons dans la suite un exemple exploitant le point d extension org.eclipse.ui.actionsets 10

11 Ancienne API Actions Exemple : ajouter une action au menu et à la barre d outils d une application Eclipse avec l API Actions Ajout d une action au menu Ajout d une action à la barre d outils Projet ActionsExamples 11

12 Ancienne API Actions Exemple (suite) : ajouter une action au menu et à la barre d outils d une application Eclipse avec l API Actions Création d extension à partir du point d extension org.eclipse.ui.actionsets Template pour créer rapidement cette extension 12

13 Ancienne API Actions Exemple (suite) : ajouter une action au menu et à la barre d outils d une application Eclipse avec l API Actions Création d un élément actionset Onglet Extensions plugin.xml du projet ActionsExamples 13

14 Ancienne API Actions Exemple (suite) : ajouter une action au menu et à la barre d outils d une application Eclipse avec l API Actions Création d un élément menu Onglet Extensions plugin.xml du projet ActionsExamples Possibilité d ajouter le nouveau menu à un menu existant Texte affiché dans le menu de l application 14

15 Ancienne API Actions Exemple (suite) : ajouter une action au menu et à la barre d outils d une application Eclipse avec l API Actions Création d un élément action Onglet Extensions plugin.xml du projet ActionsExamples 15

16 Ancienne API Actions Exemple (suite) : ajouter une action au menu et à la barre d outils d une application Eclipse avec l API Actions Précise où doit être affiché l action dans la barre de menu Précise où doit être affiché l action dans la barre d outils Classe de type IWorkbenchWindowActionDelegage codant le traitement de l action 16

17 API Commands La nouvelle API Commands permet de construire une Command, désignée commande dans la suite de ce cours Le principal avantage d une commande est la séparation stricte de l IHM du comportement Pour utiliser une commande, vous avez besoin Donner une description déclarative de la commande Définir le comportement via un Handler (activation, traitement, ) Préciser à quel endroit de l IHM la commande s applique (menu, barre d outils de l application ou d une vue, ) Si vous commencez de nouveaux développements préférez l utilisation de cette nouvelle API Commands 17

18 Construction par déclaration Une commande est déclarée par l intermédiaire du point d extension org.eclipse.ui.commands Point d extension org.eclipse.ui.commands Un template «Hello, World» pour définir une commande 18

19 Construction par déclaration Définition des attributs d une commande Onglet Extensions Un handler par défaut peut être défini, dans la suite on plugin.xml du projet montrera qu il est possible CommandsExamples d extraire cette relation 19

20 Construction par déclaration Le comportement de la commande doit être défini par un objet de type IHandler La classe AbstractHandler fournit une implémentation des différentes méthodes Object execute(executionevent event) : traitement réalisé quand la commande est déclenchée package eclipse.workbench.commandsexamples.handler; public class FirstHandler extends AbstractHandler { public Object execute(executionevent event) throws ExecutionException { MessageDialog.openInformation(Display.getDefault().getActiveShell(), "CommandsExamples Plug-in","Hello, Eclipse world with First Handler"); return ""; } Classe FirstHandler.java du projet CommandsExamples 20

21 Associer une commande à un Handler Le point d extension org.eclipse.ui.handlers permet de définir explicitement un Handler à une commande L Handler n est donc plus défini au niveau de la commande L intérêt est de pouvoir spécifier des contraintes différentes pour une même classe de comportement (objet IHandler) Différentes contraintes activewhen : comportement actif ou pas enabledwhen : comportement activé ou pas Contraintes seront étudiées à la fin de cette partie 21

22 Associer une commande à un Handler L association commande / handler est déclarée par le point d extension org.eclipse.ui.handlers Point d extension org.eclipse.ui.handlers 22

23 Associer une commande à un Handler Définition du couple commande / handler Identifiant de la commande Onglet Extensions plugin.xml du projet CommandsExamples Classe de type IHandler correspondant au traitement de la commande 23

24 Associer une commande à des images Dans le même ordre d idée, il est possible de découpler dans la définition de la commande les différentes images utilisées Le point d extension org.eclipse.ui.commandimages permet de définir pour une commande les images à afficher l image par défaut l image utilisée lorsque la commande est désactivée l image utilisée lorsque le curseur de la souris est au dessus de la représentation graphique de la commande style : dans quel contexte ces images sont utilisées : barre de menu ou barre d outils. Si aucune valeur, cela concerne la barre de menu, si toolbar cela concerne la barre d outils 24

25 Associer une commande à des images L association commande / image est déclarée par le point d extension org.eclipse.ui.commandimages Point d extension org.eclipse.ui.commandimages 25

26 Associer une commande à des images Définition du couple commande / images Les différentes images utilisées Identifiant de la commande Onglet Extensions plugin.xml du projet CommandsExamples Si aucune valeur, cela concerne la barre de menu, si la valeur vaut toolbar cela concerne la barre d outils 26

27 Construction par programmation Précédemment nous avons montré comment créer déclarativement des commandes et des comportements (Handler) La construction de commandes et de handlers de manière programmatique est obtenue via l utilisation des interfaces ICommandService : pour créer des commandes IHandlerService : pour créer des handlers L accès aux instances des deux interfaces IHandlerService et ICommandService est obtenu via le Workbench ICommandService cs = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); IHandlerService hs = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); La destruction des commandes et handler sont à la charge du programmeur 27

28 Construction par programmation L interface ICommandService fournit les principaux services Category getcategory(string catid) : récupère la catégorie catid, si non existante, elle est créée Command getcommand(string comid) : récupère la commande comid, si non existante, elle est créée Category[] getdefinedcategories() : récupère la liste complète des catégories du Workbench void addexecutionlistener(iexecutionlistener iel) : ajoute un écouteur lors de l exécution de la commande La classe Command décrit une commande void define(string name, String description, Category cat) : précise le nom de la commande, la description et la catégorie à laquelle la commande appartient (cat ne peut être null) 28

29 Construction par programmation Exemple : construire une commande Récupération du service de création de commandes Construction de la catégorie public class ViewCommandPart extends ViewPart { public void createpartcontrol(composite parent) { ICommandService cs = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); Category category = cs.getcategory("eclipse.workbench.commandsexample.commandscategory"); Command thirdcommand = cs.getcommand("eclipse.workbench.commandsexample.thirdcommand"); thirdcommand.define("third Command", "", category); } // Suite concernant la construction du Handler Classe ViewCommandPart.java du projet CommandsExamples Association de la commande à la catégorie Construction de la commande thirdcommand 29

30 Construction par programmation L interface IHandlerService fournit les principales méthodes suivantes IHandlerActivation activatehandler(string commandid, IHandler handler) : associe une commande à un handler Object executecommand(string commandid, Event event) throws ExecutionException : exécute un handler à partir de l identifiant de la commande Pour rappel, la classe IHandler a été étudiée précédemment, la classe AbstractHandler fournit une abstraction des principales méthodes 30

31 Construction par programmation Exemple (suite) : exécuter une commande public class ViewCommandPart extends ViewPart { public void createpartcontrol(composite parent) { // Suite du précédent transparent IHandlerService hs = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class); IHandler handler = new AbstractHandler() { public Object execute(executionevent event) throws ExecutionException { MessageDialog.openInformation(Display.getDefault().getActiveShell(), "CommandsExamples Plug-in", "Hello, Eclipse world with Third Handler"); return null; } }; hs.activatehandler("eclipse.workbench.commandsexample.thirdcommand", handler); Button callcommand = new Button(parent, SWT.PUSH); callcommand.addselectionlistener(new SelectionAdapter() { public void widgetselected(selectionevent e) { try { IHandlerService hs = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); Récupération du service de handler Associer une commande avec un handler } } hs.executecommand("eclipse.workbench.commandsexample.thirdcommand", null); } catch (Exception e1) { e1.printstacktrace(); } } }); callcommand.settext("call Third Command"); Classe ViewCommandPart.java du projet CommandsExamples Exécuter un handler à partir de l identifiant d une commande 31

32 Construction par programmation Le Workbench fournit des écouteurs permettant de notifier le client lors de l exécution d une ou plusieurs commandes ICommandService#addExecutionListener(IExecutionListener el) : ajout d un écouteur sur l ensemble des exécutions de commandes Command#addExecutionListener(IExecutionListener el) : ajout d un écouteur sur une exécution de commande IExecutionListener fournit les services suivants void postexecutefailure(string comid, ExecutionException ex) : déclenchée si l exécution d une commande a échoué void postexecutesucess(string comid, Object returnvalue) : déclenchée si l exécution d une commande a réussi void preexecute(string comid, ExecutionEvent event) : déclenchée pour avertir qu une commande va être exécutée 32

33 Construction par programmation Exemple : écouter l exécution d une commande public class ViewCommandPart extends ViewPart { public void createpartcontrol(composite parent) { // Suite du précédent transparent ICommandService cs = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class); cs.addexecutionlistener(new IExecutionListener() { public void postexecutesuccess(string commandid, Object returnvalue) { System.out.println(".postExecuteSuccess() : " + commandid); } public void preexecute(string commandid, ExecutionEvent event) { System.out.println(".preExecute()"); } public void postexecutefailure(string commandid, ExecutionException exception) { System.out.println(".postExecuteFailure()"); } } }... }); thirdcommand.addexecutionlistener(new IExecutionListener() { public void nothandled(string commandid, NotHandledException exception) { System.out.println(".notHandled()"); } public void postexecutesuccess(string commandid, Object returnvalue) { System.out.println(".postExecuteSuccess()"); } public void preexecute(string commandid, ExecutionEvent event) { System.out.println(".preExecute()"); }... }); Classe ViewCommandPart.java du projet CommandsExamples Ecouteur sur la totalité des exécutions de commande Ecouteur sur l exécution d une commande 33

34 Commande dans le Workbench Pour l instant nous savons construire une commande et un handler de manière déclarative et programmatique Nous montrons dans la suite comment ajouter une commande à l interface graphique du Workbench Pour rappel les éléments graphiques qui peuvent être étendus sont les suivants Menu général de l application Barre d outil de l application Barre d outil, menu localisé et menu contextuel d une vue donnée 34

35 Commande dans le Workbench L ajout d une commande au Workbench est obtenu par le point d extension org.eclipse.ui.menus Point d extension org.eclipse.ui.menus 35

36 Commande dans le Workbench Création d un élément de type menucontribution permettant de préciser où sera placée la commande dans le Workbench (locationuri) Ajout d un élément menucontribution 36

37 Commande dans le Workbench Modification de la valeur de l attribut locationuri L attribut locationuri permet d indiquer où sera placée la commande Dans la suite nous donnons des explications sur la construction de l attribut locationuri 37

38 Commande dans le Workbench La valeur de l attribut locationuri est de la forme suivante [scheme]:[id]?[placement] scheme : le type d élément graphique à étendre. Les valeurs autorisées sont : menu, toolbar et popup id : identifiant du menu, barre d outil, menu contextuel ou vue placement : les contraintes de placement de la commande par rapport aux autres éléments du scheme. Deux contraintes sont autorisées : before=<id> et after=<id> Où id peut être un séparateur, un identifiant de menu, un élément d un menu, ou la valeur additions (signifie placer en dernier) Exemple menu:file?before=quit Ajoute un élément avant l élément Quit situé dans le menu File 38

39 Commande dans le Workbench La plateforme fournit des identifiants sur les éléments standards org.eclipse.ui.main.menu : identifiant de la barre de menu d une application Eclipse org.eclipse.ui.main.toolbar : identifiant de la barre d outils d une application Eclipse org.eclipse.ui.popup.any : identifiant de tous les menus contextuels Exemples menu:org.eclipse.ui.main.menu : ajout un élément au menu de l application Eclipse toolbar:viewcommandid : ajout un élément à la barre d outil de la vue identifiée par viewcommandid 39

40 Commande dans le menu Pour ajouter une commande à un menu la valeur du scheme de l attribut locationuri doit être à menu A partir d un élément menucontribution, plusieurs types d éléments peuvent être ajoutés à un menu existant Une commande (élément command) Un sous menu (élément menu) Un séparateur (élément separator) Un sous menu dynamique (élément dynamic) Dans la suite des transparents nous présentons la mise en œuvre de certains de ces éléments 40

41 Commande dans le menu Exemple : ajoute une commande au menu principal d une application Eclipse Une commande est ajoutée directement à la barre de menu de l application Eclipse Lors de l utilisation de la commande une boîte de dialogue est affichée 41

42 Commande dans le menu Exemple (suite) : ajoute une commande au menu principal d une application Eclipse plugin.xml du projet CommandsExamples Ajout d une commande au niveau du menu principal de l application Eclipse 42

43 Commande dans le menu Exemple (suite) : ajoute une commande au menu principal d une application Eclipse Réutilisation d une commande définie précédemment plugin.xml du projet CommandsExamples Ajout d un élément command L élément command permet de préciser les caractéristiques graphiques de la commande (texte, image, ) 43

44 Commande dans le menu Exemple : ajoute une commande dans un sous menu du menu principal d une application Eclipse Un menu a été ajouté à la barre de menu principale de l application Eclipse Lors de l utilisation d une commande du menu «Commands Example» une boîte de dialogue est affichée 44

45 Commande dans le menu Exemple (suite) : ajoute une commande dans un sous menu du menu principal d une application Eclipse Ajout d un menu au niveau du menu principal de l application Eclipse plugin.xml du projet CommandsExamples 45

46 Commande dans le menu Exemple (suite) : ajoute une commande dans un sous menu du menu principal d une application Eclipse Caractéristiques graphiques de l élément menu Ajout d un élément menu plugin.xml du projet CommandsExamples Ajout de deux éléments command àl élément menu 46

47 Commande dans le menu Exemple (suite) : ajoute une commande dans un sous menu du menu principal d une application Eclipse plugin.xml du projet CommandsExamples 47

48 Commande dans une barre d outil Pour ajouter une commande à une barre d outils la valeur du scheme de l attribut locationuri doit être à toolbar A partir d un élément menucontribution, plusieurs types d éléments peuvent être ajoutés à une barre d outils Un séparateur (élément separator) Une barre d outils dynamique (élément dynamic) Un composant graphique (élément control) Dans la suite des transparents nous présentons la mise en œuvre de certains de ces éléments 48

49 Commande dans une barre d outil Exemple : ajouter une commande dans la barre d outil principale d une application Eclipse Une commande est ajoutée directement à la barre d outils principale de l application Eclipse Lors de l utilisation de la commande une boîte de dialogue est affichée 49

50 Commande dans une barre d outil Exemple (suite) : ajouter une commande dans la barre d outil principale d une application Eclipse Ajout d une commande au niveau de la barre d outils de l application Eclipse plugin.xml du projet CommandsExamples 50

51 Commande dans une barre d outil Exemple (suite) : ajouter une commande dans la barre d outil principale d une application Eclipse plugin.xml du projet CommandsExamples Identifiant de la nouvelle barre d outils contenant l élément command. Possibilité d étendre directement cette nouvelle barre d outils Un élément toolbar est ajouté à l élément menucontribution. Une nouvelle barre d outils est ajoutée à la barre d outils principale 51

52 Commande dans une barre d outil Exemple (suite) : ajouter une commande dans la barre d outil principale d une application Eclipse Réutilisation d une commande définie précédemment plugin.xml du projet CommandsExamples Ajout d un élément command à la nouvelle barre d outils L élément command permet de préciser les caractéristiques graphiques de la commande (texte, image, ) 52

53 Commande dans un menu localisé d une vue Exemple : ajouter une commande dans le menu localisé d une vue Menu localisé de la vue contenant une commande Vue commandsexample.views.viewcommandid du projet CommandsExamples 53

54 Commande dans un menu localisé d une vue Exemple (suite) : ajouter une commande dans le menu localisé d une vue Scheme vaut menu et id pointe sur l identifiant de la vue plugin.xml du projet CommandsExamples La création de l élément command est identique aux précédents transparents 54

55 Commande dans une barre d outils de vue Exemple : ajouter une commande dans la barre d outils d une vue Menu localisé de la vue contenant une commande Vue commandsexample.views.viewcommandid du projet CommandsExamples 55

56 Commande dans une barre d outils de vue Exemple (suite) : ajouter une commande dans la barre d outils d une vue Scheme vaut toolbar et id pointe sur l identifiant de la vue plugin.xml du projet CommandsExamples La création de l élément command est identique aux précédents transparents 56

57 Commande dans un menu contextuel de vue Pour ajouter une commande à un menu contextuel d une vue la valeur du scheme de l attribut locationuri doit être à popup et l id doit pointer sur l identifiant de la vue A partir d un élément menucontribution, plusieurs types d éléments peuvent être ajoutés à un menu contextuel Une commande (élément command) Un sous menu (élément menu) Un séparateur (élément separator) Un sous menu dynamique (élément dynamic) Il s agit des mêmes éléments que pour l enrichissement d une barre de menu (générale ou localisée) 57

58 Commande dans un menu contextuel de vue Exemple : ajouter une commande dans le menu contextuel d une vue Menu contextuel de la vue contenant plusieurs commandes Vue commandsexample.views.popupviewcommandid du projet CommandsExamples 58

59 Commande dans un menu contextuel de vue Exemple (suite) : ajouter une commande dans le menu contextuel d une vue public class PopupViewPart extends ViewPart { private TableViewer viewer; public void createpartcontrol(composite parent) { parent.setlayout(new GridLayout(1, false)); GridData mygriddata = new GridData(GridData.FILL_BOTH); viewer = new TableViewer(parent, SWT.MULTI SWT.H_SCROLL SWT.V_SCROLL); viewer.setcontentprovider(new ViewContentProvider()); viewer.setlabelprovider(new ViewLabelProvider()); viewer.setinput(this.getviewsite()); viewer.getcontrol().setlayoutdata(mygriddata); this.getsite().setselectionprovider(viewer); } } createcontextmenu();... // Suite dans le prochain transparent PopupViewPart.java du projet CommandsExamples Construction programmatique du contenu du menu contextuel 59

60 Commande dans un menu contextuel de vue Exemple (suite) : ajouter une commande dans le menu contextuel d une vue Construction d une action via l API JFace (voir cours Perspectives et Views) public class PopupViewPart extends ViewPart { // Suite du précédent transparent private void createcontextmenu() { final Action action1 = new Action("Action 1") { public void run() { System.out.println("Action 1 Performed"); } }; CommandContributionItemParameter commandparameter = new CommandContributionItemParameter( PlatformUI.getWorkbench(), "contributionitem", "eclipse.workbench.commandsexample.firstcommand", CommandContributionItem.STYLE_PUSH); final IContributionItem ref = new CommandContributionItem(commandParameter); } } MenuManager menumgr = new MenuManager(); menumgr.setremoveallwhenshown(true); menumgr.addmenulistener(new IMenuListener() { public void menuabouttoshow(imenumanager mgr) { mgr.add(action1); mgr.add(ref); } }); // Create menu. Menu menu = menumgr.createcontextmenu(viewer.getcontrol()); viewer.getcontrol().setmenu(menu); // Register menu for extension. getsite().registercontextmenu(menumgr, viewer); PopupViewPart.java du projet CommandsExamples Construction d une commande via IContributionItem (voir dans les prochains transparents) Déclare le menu contextuel dans le Workbench, obligatoire pour l enrichir via les extensions 60

61 Commande dans un menu contextuel de vue Exemple (suite) : ajouter une commande dans le menu contextuel d une vue Scheme vaut popup et id pointe sur l identifiant de la vue plugin.xml du projet CommandsExamples La création de l élément command est identique aux précédents transparents 61

62 Commande dans un menu contextuel de vue Exemple (suite) : ajouter une commande dans le menu contextuel d une vue Correspond au handler de la commande ajoutée au menu contextuel Récupération de la sélection courante via le service de sélection public class ShowSelectedHandler extends AbstractHandler public Object execute(executionevent event) throws ExecutionException { ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getSelection(); } } if (selection!= null & selection instanceof IStructuredSelection) { IStructuredSelection structuredselection = (IStructuredSelection) selection; for (Iterator<Object> iterator = structuredselection.iterator(); iterator.hasnext();) { Object element = iterator.next(); System.out.println(element.toString()); } } return null; ShowSelectedHandler.java du projet CommandsExamples 62

63 Commande dans un menu contextuel de vue Exemple : ajouter une commande dans le menu contextuel d une vue avec une contrainte de positionnement Cette commande doit être placée avant First Command identifiée par contributionitem (définie programmatiquement) Vue commandsexample.views.popupviewcommandid du projet CommandsExamples 63

64 Commande dans un menu contextuel de vue Exemple (suite) : ajouter une commande dans le menu contextuel d une vue avec une contrainte de positionnement plugin.xml du projet CommandsExamples Utilisation de la contrainte de placement before=contributionitem pour placer avant la commande First Command 64

65 Commande dans un menu contextuel de vue Exemple : ajouter une commande dans tous les menus contextuels des vues Une commande est ajoutée à tous les menus contextuels de vues 65

66 Commande dans un menu contextuel de vue Exemple (suite) : ajouter une commande dans tous les menus contextuels des vues Scheme vaut popup et id pointe sur l identifiant org.eclipse.ui.popup.any plugin.xml du projet CommandsExamples 66

67 Aller plus loin avec menucontribution A partir d un élément menucontribution, il est également possible d ajouter deux types d éléments Dynamic Construction dynamique d éléments d un menu ou d une barre d outils Nécessite le développement par programmation des éléments à afficher A utiliser si le nombre d éléments à afficher dans un menu ou une barre d outils n est pas connu à l avance control Création personnalisée de l élément graphique à afficher (non disponible pour les éléments de menus) A utiliser quand il est intéressant d afficher autre chose qu un label 67

68 Aller plus loin avec menucontribution : dynamic Exemple : ajout dynamique d éléments dans un menu Les deux commandes sont ajoutées dans le sous menu Dynamic Example Projet CommandsExamples 68

69 Aller plus loin avec menucontribution : dynamic Exemple (suite) : ajout dynamique d éléments dans un menu Création d un élément dynamic Classe de type IContributionItem plugin.xml du projet CommandsExamples 69

70 Aller plus loin avec menucontribution : dynamic Exemple (suite) : ajout dynamique d éléments dans un menu A utiliser comme implémentation abstraite de IContributionItem public class ContributionItemExample extends CompoundContributionItem { protected IContributionItem[] getcontributionitems() { IContributionItem[] tab = new IContributionItem[2]; CommandContributionItemParameter commandparameter = new CommandContributionItemParameter( PlatformUI.getWorkbench(), "contributionfirstitem", "eclipse.workbench.commandsexample.firstcommand", CommandContributionItem.STYLE_PUSH); IContributionItem ref = new CommandContributionItem(commandParameter); tab[0] = ref; } } commandparameter = new CommandContributionItemParameter( PlatformUI.getWorkbench(), "contributionseconditem", "eclipse.workbench.commandsexample.secondcommand", CommandContributionItem.STYLE_PUSH); ref = new CommandContributionItem(commandParameter); tab[1] = ref; return tab; ContributionItemExample.java du projet CommandsExamples Utilisation de commandes définies précédemment 70

71 Aller plus loin avec menucontribution : control Exemple : création d un élément personnalisé dans une barre d outils Création d un élément dans la barre d outils à partir de l API SWT Projet CommandsExamples 71

72 Aller plus loin avec menucontribution : control Exemple (suite) : création d un élément personnalisé dans une barre d outils Classe de type WorkbenchWindowControlContribution plugin.xml du projet CommandsExamples Création d un élément control 72

73 Aller plus loin avec menucontribution : control Exemple (suite) : création d un élément personnalisé dans une barre d outils public class WorkbenchWindowCustomControlContribution extends WorkbenchWindowControlContribution { protected Control createcontrol(composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginheight = 0; layout.marginwidth = 0; composite.setlayout(layout); composite.setlayoutdata(new GridData(SWT.FILL, SWT.FILL, true, true)); } } final Label label = new Label(composite, SWT.NONE); label.settext("click"); Button button = new Button(composite, SWT.PUSH); button.settext("call"); button.addselectionlistener(new SelectionAdapter() { public void widgetselected(selectionevent e) { IHandlerService hs = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); try { hs.executecommand("eclipse.workbench.commandsexample.firstcommand", null); } catch (Exception e1) { e1.printstacktrace(); } } }); return composite; WorkbenchWindowCustomControlContribution.java du projet CommandsExamples Composants SWT Déclenchement d une commande 73

74 Raccourci clavier Possibilité d exécuter une commande via un raccourci clavier en utilisant le point d extension org.eclipse.ui.bindings A noter que le point d extension org.eclipse.ui.commands permet de construire des raccourcis clavier mais ces éléments sont DEPRECATED et ne doivent pas être utilisés Dans la suite nous montrons comment construire des raccourcis claviers (key) et des regroupements de raccourcis claviers (scheme) 74

75 Raccourci clavier Ajouter un extension basée sur le point d extension org.eclipse.ui.bindings Création d extension à partir du point d extension org.eclipse.ui.bindings 75

76 Raccourci clavier Ajouter un élément key permettant de construire un raccourci clavier plugin.xml du projet CommandsKeyBindingRCPExamples 76

77 Raccourci clavier Construire un raccourci clavier actif quand la touche F11 est déclenchée plugin.xml du projet CommandsKeyBindingRCPExamples 77

78 Raccourci clavier Paramétrer les attributs d un élément key sequence définit la séquence de touches du clavier qui active la commande schemeid définit le regroupement de raccourcis clavier. Par défaut org.eclipse.ui.defaultacceleratorconfiguration commandid définit l identifiant de la commande à appeler lors de l utilisation de la touche F11 platform définit le système sur lequel le raccourci est défini (win32, gtk, motif, carbon, photon) 78

79 Raccourci clavier : sequence L attribut sequence est utilisée pour définir une séquence de raccourcis clavier Plusieurs raccourcis clavier peuvent être spécifiés dans une séquence séparés par un espace Chaque raccourcis clavier se compose d une ou plusieurs touches maintenues enfoncées et sont séparées par + Les modifiers (touches spécifiques) reconnus sont : M1, M2, M3, M4, ALT, COMMAND, CTRL et SHIFT M1 : COMMAND sur MAC OS X et CTRL sur les autres plateformes M2 : SHIFT M3 : OPTION sur MAC OS X et ALT sur les autres plateformes M4 : CTRL sur MAC OS X et indéfinis pour les autres plateformes Préférez l utilisation de M1, M2, M3 et M4 pour être indépendant de la plateforme cible 79

80 Raccourci clavier : sequence Différents exemples de séquence CTRL+L : maintenir enfoncées les touches CTRL et L M1+L : maintenir enfoncées les touches COMMAND et L (MAC OS X) ou CTRL et L sur les autres systèmes CTRL+L F11 F12 : maintenir enfoncées les touches CTRL et L puis la touche F11 et enfin la touche F12 Quand plusieurs raccourcis claviers se succèdent une fenêtre flottante contextualise l interaction en cours 80

81 Raccourci clavier : scheme Un scheme est un regroupement de raccourcis clavier org.eclipse.ui.defaultacceleratorconfiguration est l identifiant par défaut de la plateforme Eclipse Pour construire et utiliser son propre scheme vous devrez Définir un scheme via le point d extension org.eclipse.ui.bindings Attribuer l identifiant du scheme à l attribut schemeid de l élément key Posséder un product (extrait du cours sur Eclipse RCP) Définir un fichier de configuration et positionner l identifiant du scheme dans une valeur de propriétés 81

82 Raccourci clavier : scheme Définir un scheme via le point d ext. org.eclipse.ui.bindings Construction d un élément scheme permettant de regroupant de raccourcis clavier plugin.xml du projet CommandsKeyBindingRCPExamples 82

83 Raccourci clavier : scheme Définir un scheme via le point d ext. org.eclipse.ui.bindings Définition de l identifiant du scheme plugin.xml du projet CommandsKeyBindingRCPExamples Précise le nom du scheme Relation d héritage avec un scheme déjà créé 83

84 Raccourci clavier : scheme Attribuer l identifiant du scheme à l attribut schemeid de key Définition de la séquence du raccourci clavier Préciser l identifiant du scheme précédemment créé plugin.xml du projet CommandsKeyBindingRCPExamples L identifiant de la commande qui sera appelée 84

85 Raccourci clavier : scheme (création d un product) Construction d une application Eclipse RCP Construction d un nouveau projet Plug-in (File -> New -> Project -> Plug-in Project) Une présentation détaillée sur la manière de construire un product sera donnée dans la partie Eclipse RCP 85

86 Raccourci clavier : scheme (création d un product) Construction d une application Eclipse RCP (suite) Différents paramétrages identiques à ceux utilisés lors de la création d un plug-in S assurer que l option Rich Client Application est active 86

87 Raccourci clavier : scheme (création d un product) Construire le fichier de configuration du product Construction d un nouveau projet Plug-in (File -> New -> Other -> Product Configuration) Choisir le projet où sera créé le product Définir le nom du product Créer le product à partir d une configuration allégée 87

88 Raccourci clavier : scheme (création d un product) Configuration du fichier de configuration du product Nécessite la création de l identifiant du product Commandskeybindingrcpexamples.product du projet CommandsKeyBindingRCPExamples 88

89 Raccourci clavier : scheme (création d un product) Configuration du fichier de configuration du product (suite) Projet où l identifiant du product sera créé Identifiant du product Identifiant de l application sur laquelle le product est associé 89

90 Raccourci clavier : scheme (création d un product) Configuration du fichier de configuration du product (suite) Lors de la création de l identifiant une extension basée sur org.eclipse.core.runtime.products a été créée plugin.xml du projet CommandsKeyBindingRCPExamples Nom donné à l identifiant du product 90

91 Raccourci clavier : scheme (création d un product) Définir un fichier de configuration des préférences utilisateur Clé (KEY_CONFIGURATION_ID) permettant d activer un scheme Identifiant du scheme qui doit être rendu actif org.eclipse.ui/key_configuration_id = eclipse.workbench.commandskeybindingrcpexamples.specificdefaultacceleratorconfigurationid org.eclipse.ui/show_progress_on_startup = false pluginpreference.ini du projet CommandsKeyBindingRCPExamples Le fichier pluginpreference.ini est placé à la racine du projet 91

92 Raccourci clavier : scheme (création d un product) Déclarer le fichier pluginpreference.ini dans le fichier de configuration du product plugin.xml du projet CommandsKeyBindingRCPExamples Définition d une propriété à l extension products pour configurer le product 92

93 Raccourci clavier : scheme (création d un product) Déclarer le fichier pluginpreference.ini dans le fichier de configuration du product (suite) Nom de la propriété à ajouter : preferencecustomization plugin.xml du projet CommandsKeyBindingRCPExamples Nom du fichier de configuration : pluginpreference.ini 93

94 Raccourci clavier : scheme Exécuter l application et reproduire la séquence : F9 Lors de l appui sur la touche F9, la commande keyspecificcommandid est déclenchée Projet CommandsKeyBindingRCPExamples 94

95 Restrictions : généralités L API Commands permet d appliquer des restrictions sur les handlers et sur les éléments menucontributions Au niveau des handlers les restrictions sont activewhen : si le handler est inactif, aucune commande n est associée àce handler enabledwhen : si le handler est désactivé, l exécution du handler ne peut être réalisée (si activé doit obligatoirement être actif) Si handler est désactivé la commande apparaîtra grisée si elle est affichée dans un menu (peut importe si le handler est actif ou inactif) Au niveau des éléments menucontributions la restriction est visiblewhen : si invisible, l élément graphique associé à la commande ne s affiche pas (un élément dans un menu par exemple) La description de restrictions est réalisée par le langage Core Expressions 95

96 Restrictions : exemples Exemple : Afficher une commande dans la barre d outils principale quand un élément est sélectionné Un élément dans le service de sélection Pas d élément dans le service de sélection La commande est affichée dans la barre d outils principale 96

97 Restrictions : exemples Exemple (suite) : Afficher une commande dans la barre d outils principale quand un élément est sélectionné Une restriction visiblewhen au niveau d un élément menucontribution plugin.xml du projet CommandsExpressionsExamples Commande est affichée quand un seul élément de la sélection est sélectionné 97

98 Restrictions : exemples Exemple : Afficher une commande dans la barre d outils principale quand une vue est active La vue «View Command Expression» n est pas active La vue «View Command Expression» est active La commande «Second Command Expression» est désactivée La commande «Second Command Expression» est maintenant activée 98

99 Restrictions : exemples Exemple (suite) : Afficher une commande dans la barre d outils principale quand une vue est active Une restriction enabledwhen au niveau d un élément handler plugin.xml du projet CommandsExpressionsExamples Commande est activée quand la vue active est «View Command Expression» 99

100 Restrictions : construire Expression Definitions Dans les exemples précédents nous avons montré comment construire des expressions en les associant directement aux différentes restrictions (visiblewhen, enabledwhen, ) Il peut être intéressant de mutualiser ces expressions de manière à les réutiliser sans avoir à recopier les définitions Le point d extension org.eclipse.core.expressions.definitions permet de construire ces expressions Les restrictions utiliseront ensuite une référence à la nouvelle définition Ajouter une dépendance sur org.eclipse.core.expressions pour exploiter le point d extension org.eclipse.core.expressions.definitions 100

101 Restrictions : construire Expression Definitions Point d extension permettant de créer des définitions d expression 101

102 Restrictions : construire Expression Definitions plugin.xml du projet CommandsExpressionsExamples Création d une définition d expression : un élément du service de sélection 102

103 Restrictions : utiliser Expression Definitions Définition d un nouvel élément menucontribution avec une restriction visiblewhen dont l expression a été définie précédemment plugin.xml du projet CommandsExpressionsExamples Utilisation du sous élément reference de visiblewhen (s appliquerait également à enabledwhen et activewhen) 103

104 Restrictions : utiliser Expression Definitions Pas d élément dans le service de sélection Lors de la sélection d un élément, les deux commandes sont affichées dans la barre d outils principale 104

105 Restrictions : Core Expressions en détail Nous avons montré dans les exemples précédent des expressions basiques La plateforme Eclipse fournit un ensemble d éléments pour la définition d expressions plus complexes Dans la suite, nous nous proposons d étudier chacun de ces éléments 105

106 Restrictions : élément count L élément count est utilisé pour vérifier le nombre d occurrence d une collection Cet élément peut être utilisé pour vérifier par exemple le nombre des sélections en cours Si la vérification est correcte l élément count est évalué à vrai sinon il est évalué à faux L attribut value de l élément count est soit un entier soit un méta-caractère * : n importe quelle valeur? : 0 ou 1 élément + : 1 ou plusieurs éléments! : aucun élément 106

107 Restrictions : élément count Exemple : Afficher une commande dans la barre d outils principale quand zéro ou un élément est sélectionné Une restriction visiblewhen au niveau d un élément menucontribution plugin.xml du projet CommandsExpressionsCountExamples La commande est affichée si l élément count s assure qu il n y ait aucune ou un élément de la sélection 107

108 Restrictions : élément iterate L élément iterate permet de parcourir les occurrences d une collection Cet élément peut être utilisé pour vérifier par exemple le contenu des sélections en cours Deux attributs de iterate sont définis operator et ifempty Attribut operator peut recevoir les valeurs and ou or and : chaque occurrence doit satisfaire le sous élément de iterate or : au moins un élément doit satisfaire le sous élément de iterate Attribut ifempty peut recevoir les valeurs true ou false true : iterate est évalué à vrai si la collection est vide false : iterate est évalué à faux si la collection est vide 108

109 Restrictions : élément instanceof L élément instanceof permet de comparer le type d un objet en cours (un élément de sélection par exemple) par rapport à un type à comparer Cet élément est comparable à l instruction instanceof du langage Java L attribut value de l élément instanceof permet d indiquer le type à comparer Si la correspondance entre les types est correcte, l élément instanceof est évalué à vrai 109

110 Restrictions : élément iterate et instanceof Exemple : Afficher une commande dans la barre d outils quand tous les éléments de sélection sont des String Tous les éléments doivent respecter le sous élément instanceof de iterate plugin.xml du projet CommandsExpressionsIterateInstanceOfExamples Si la collection est vide, iterate est évalué à vrai 110

111 Restrictions : élément iterate et instanceof Exemple (suite) : Afficher une commande dans la barre d outils quand tous les éléments de sélection sont des String Permet de comparer le type de l objet en cours (occurrence de la sélection) avec le type String plugin.xml du projet CommandsExpressionsIterateInstanceOfExamples 111

112 Restrictions : élément iterate et instanceof Exemple (suite) : Afficher une commande dans la barre d outils quand tous les éléments de sélection sont des String Si seuls des éléments de type String sont sélectionnés, la commande est affichée Une Table avec des éléments de type String et un élément de type Integer Si par contre la sélection contient des éléments de type String et Integer, la commande n est pas affichée 112

113 Restrictions : élément systemtest L élément systemtest permet de comparer la valeur d une propriété système avec une valeur donnée Les propriétés systèmes sont les propriétés obtenues par la méthode System.getProperty() Par exemple user.name est une propriété qui retourne le nom de l utilisateur courant L élément systemtest possède deux attributs property : le nom de la propriété à tester value : la valeur de la propriété 113

114 Restrictions : élément systemtest Exemple : Afficher une commande dans la barre d outils quand la propriété user.name vaut baronm Permet de comparer la valeur de la propriété «user.name» avec la valeur baronm plugin.xml du projet CommandsExpressionsSystemTestExamples 114

115 Restrictions : élément test L élément test permet de tester une valeur particulière d une propriété sur un objet en cours Exemples A partir de la sélection d un texte, vérifier que le contenu de la sélection contient que des lettres A partir du Workbench Window actif, vérifier que toutes ces perspectives sont fermées Le test s effectue par l utilisation d un objet Property Tester décrit au travers d une classe Java de type PropertyTester L élément test possède quatre attributs property : nom de la propriété à tester args : arguments complémentaires à transmettre au tester value : la valeur qui peut être comparée forcepluginactivation : si true force le plugin a l activation 115

116 Restrictions : élément test La valeur de l attribut property de test est la combinaison entre l espace de nommage et le nom de la propriété Exemple Vérifier si toutes les perspectives de IWorkbenchWindow sont ouvertes la property est org.eclipse.ui.workbenchwindow.isperpsectiveopen La plateforme Eclipse fournit un ensemble prédéfinis de Property Tester qui sont utilisés pour le fonctionnement interne de l environnement Eclipse Nous montrerons également dans la suite comment créer ses propres Property Tester Espace de nommage Nom de la propriété 116

117 Restrictions : élément test Property Tester prédéfinis 117

118 Restrictions : élément test Property Tester prédéfinis (suite) 118

119 Restrictions : élément test Exemple : Désactiver une commande dans la barre de menu quand toutes les perspectives sont fermées La perspective Resource est ouverte, la commande est activée Toutes les perspectives sont fermées, la commande est désactivée Projet CommandsExpressionsTestExamples 119

120 Restrictions : élément test Exemple (suite) : Désactiver une commande dans la barre de menu quand toutes les perspectives sont fermées Espace de nommage Type de l objet Classe implémentant le Property Tester associé Nom de la propriété La valeur de l attribut property de test est org.eclipse.ui.workbenchwindow.isperspectiveopen 120

121 Restrictions : élément test Exemple (suite) : Désactiver une commande dans la barre de menu quand toutes les perspectives sont fermées plugin.xml du projet CommandsExpressionsTestExamples L objet en cours est activeworkbenchwindow de type IWorkbenchWindow 121

122 Restrictions : élément test Exemple (suite) : Désactiver une commande dans la barre de menu quand toutes les perspectives sont fermées Utilisation de la propriété org.eclipse.ui.workbenchwindow.isperspectiveopen plugin.xml du projet CommandsExpressionsTestExamples Permet de forcer le démarrage du plugin de manière à prendre en compte cette restriction 122

123 Restrictions : élément and, not et or Les éléments and, or et not permettent de combiner des expressions par des opérateurs logiques Ils permettent d exprimer des expressions à plusieurs niveaux d éléments (iterate, count, ) Tous les sous éléments des éléments and ou or sont affectés par l opération logique L élément not ne peut accepter un seul sous élément Nous montrons dans la suite, la combinaison des éléments étudiés précédemment (iterate, instanceof, count et systemtest) 123

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com Cours Plugin Eclipse Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com 1 Qui suis-je? Ancien étudiant de Jussieu - Paris VI Diplomé du Master Technologies

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction - 2007, Frédéric Peschanski S T L - C P S - L e s p l u g i n s E c l i p s e - Une Introduction - 2007, Frédéric Peschanski L a p l a t e f o r m e E c l i p s e Aperçu de la plateforme Eclipse Runtime Composants OSGI Equinoxe Plugins

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

ECLIPSE ET PDT (Php development tools)

ECLIPSE ET PDT (Php development tools) ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement

Plus en détail

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12 GTK+ GLADE Page 1 sur 12 SOMMAIRE INTRO 3 Présentation de GTK+ 3 Présentation de GLADE 3 GTK+ 4 Installation 4 Les Widgets 4 Le système de hiérarchie 5 Les signaux 6 GLADE 7 Installation 7 L interface

Plus en détail

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

Comment sélectionner des sommets, des arêtes et des faces avec Blender? Comment sélectionner des sommets, des arêtes et des faces avec Blender? VVPix v 1.00 Table des matières 1 Introduction 1 2 Préparation d une scène test 2 2.1 Ajout d objets dans la scène.........................................

Plus en détail

L espace de travail de Photoshop

L espace de travail de Photoshop L espace de travail de Photoshop 1 Au cours de cette leçon, vous apprendrez à : ouvrir les fichiers Photoshop ; sélectionner et employer certains des outils dans le panneau Outils ; définir les options

Plus en détail

Interfaces graphiques avec l API Swing

Interfaces graphiques avec l API Swing Interfaces graphiques avec l API Swing Les Swing Les classes graphiques Swing dérivent de la classe JComponent, qui hérite ellemême de la classe AWT (Abstract Window Toolkit). Tous les composants Swing

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

26 Centre de Sécurité et de

26 Centre de Sécurité et de 26 Centre de Sécurité et de Maintenance La fenêtre du Centre de sécurité et de maintenance (CSM) rassemble tous les outils nécessaires au contrôle, à l analyse, à la maintenance, à la sauvegarde et au

Plus en détail

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

Plus en détail

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches. S Vous n aimez pas la souris Les raccourcis clavier sont là pour vous faciliter la vie! INTRODUCTION : Vous avez du mal à vous habituer à la manipulation de la souris Des solutions existent : les raccourcis

Plus en détail

Les calques : techniques avancées

Les calques : techniques avancées Les calques : techniques avancées 9 Au cours de cette leçon, vous apprendrez à : importer un calque d un autre fichier ; créer un masque d écrêtage ; créer et modifier un calque de réglage ; employer les

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Paramètres d accessibilité des systèmes d exploitation Windows et Mac

Paramètres d accessibilité des systèmes d exploitation Windows et Mac Paramètres d accessibilité des systèmes d exploitation Windows et Mac Hôpital Raymond Poincaré 104, Bd Raymond Poincaré 92380 Garches GB Consulting 242 rue du Faubourg de Roubaix 59800 Lille Samuel POUPLIN

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement

Plus en détail

Votre premier projet Android

Votre premier projet Android 3 Votre premier projet Android Maintenant que le SDK Android est installé, il est temps de créer votre premier projet. La bonne nouvelle est qu il n exige aucune ligne de code les outils Android créent

Plus en détail

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs Dans la série Les tutoriels libres présentés par le site FRAMASOFT Automatisation d'une Facture 4 Liste Déroulante Remises Case à cocher Calculs Logiciel: Version: Licence: Site: OpenOffice.org Calc :

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Projet Android (LI260) Cours 2

Projet Android (LI260) Cours 2 Projet Android (LI260) Cours 2 Nicolas Baskiotis Université Pierre et Marie Curie (UPMC) Laboratoire d Informatique de Paris 6 (LIP6) S2-2013/2014 Plan Les ressources Debug Communication entre activités

Plus en détail

Introduction au logiciel de gestion bibliographique Zotero

Introduction au logiciel de gestion bibliographique Zotero au logiciel de gestion bibliographique Zotero Pour Microsoft Word et Writer La gestion manuelle des références bibliographiques (inventaire des sources consultées, rédaction d une bibliographie et création

Plus en détail

ECLIPSE RCP. Introduction

ECLIPSE RCP. Introduction ECLIPSE RCP Introduction Gaël QUEMENER Ifremer Février 2014 1/37 Table des matières 1. Introduction... 4 1.1 Historique... 4 1.2 Architecture... 5 1.3 Rich Client Platform... 6 1.4 Modélisation... 6 1.5

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

INSTALLATION ET PRISE EN MAIN

INSTALLATION ET PRISE EN MAIN Business Phone CTI Client Pro INSTALLATION ET PRISE EN MAIN Vous trouverez dans ce document, la démarche d installation de Business Phone CTI Client Pro et les différentes possibilités qu offre ce logiciel.

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

UserLock Guide de Démarrage rapide. Version 8.5

UserLock Guide de Démarrage rapide. Version 8.5 UserLock Guide de Démarrage rapide Version 8.5 Introduction UserLock est une solution logicielle d'entreprise unique sécurisant les accès utilisateur sur le réseau afin de réduire le risque d'une brèche

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Manuel d utilisation du logiciel Signexpert Paraph

Manuel d utilisation du logiciel Signexpert Paraph Manuel d utilisation du logiciel Signexpert Paraph 1 Contenu Introduction... 3 Téléchargement de Signexpert Paraph... 4 Installation de Signexpert Paraph... 4 Description des différentes zones du logiciel...

Plus en détail

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T> Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Tutoriel code::blocks

Tutoriel code::blocks Tutoriel code::blocks E. Lunéville 2006 Le logiciel code::blocks fait partie des logiciels de type EDI (Environnement de Développement Intégré, IDE en anglais) pour le langage C++. Il est multiplateforme

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

NAVIGATION SUR INTERNET EXPLORER

NAVIGATION SUR INTERNET EXPLORER Centres d accès communautaire Internet des Îles NAVIGATION SUR INTERNET EXPLORER Table des matières Introduction 1- Les barres d outils 1.1 La barre d adresse 2 5 min. 1.2. Les boutons de navigation 2

Plus en détail

Tutoriel d installation de Hibernate avec Eclipse

Tutoriel d installation de Hibernate avec Eclipse Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Guide de l utilisateur Mikogo Version Windows

Guide de l utilisateur Mikogo Version Windows Guide de l utilisateur Mikogo Version Windows Table des matières Création d un compte utilisateur 3 Téléchargement et installation 4 Démarrer une session 4 Joindre une session 5 Fonctionnalités 6 Liste

Plus en détail

esms Desktop Guide de l utilisateur

esms Desktop Guide de l utilisateur 1 esms Desktop Guide de l utilisateur 2 3 Table des matières Introduction... 3 Conditions... 3 Installation... 4 Créer un compte esms Desktop... 7 Envoyer un message SMS... 9 Décompte des caractères...10

Plus en détail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82

eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82 eurobraille VOYONS ENSEMBLE MANUEL D'UTILISATION WIFI iris 40, 20 iris-s 32, 20 iris-kb 40,20 VERSION 1.82 eurobraille 134-140, rue d Aubervilliers, 75019 PARIS Tel : (33) 01 55 26 91 00 Fax : (33) 01

Plus en détail

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier

1 Presentation du bandeau. 2 Principe de création d un projet : C2 industrialisation Apprendre Gantt project Ver 2.6 planifier 1 Presentation du bandeau Créer une tâche Supprimer une tâche Affiche les propriétés d une tâche Onglet Gantt ou Ressources Calendrier Liste des tâches (ID ; Nom ; Date début et Date de Fin) 2 Principe

Plus en détail

Silhouette Studio Leçon N 2

Silhouette Studio Leçon N 2 Silhouette Studio Leçon N 2 Apprendre comment utiliser Ma Bibliothèque et la Boutique en Ligne Silhouette pour importer des nouveaux modèles. Matériels nécessaires Silhouette SD Feuille de transport colle

Plus en détail

Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux. Certains sont gratuits.

Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux. Certains sont gratuits. outil Technique 9 Comment télécharger un document audiovisuel? Mise en garde importante Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux.

Plus en détail

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits Manuel d initiation du Planificateur 2 INTRODUCTION 5 CHAPITRE I : INSTALLATION

Plus en détail

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.

TP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Applet pour visualiser les variables «automate» notifiées

Applet pour visualiser les variables «automate» notifiées Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

COMMENCER AVEC VUE. Chapitre 1

COMMENCER AVEC VUE. Chapitre 1 Chapitre 1 COMMENCER AVEC VUE Traduction en français du premier chapitre du manuel d'utilisation du logiciel VUE. Traduit de l'américain par Bernard Aubanel. CRÉER UNE NOUVELLE CARTE Pour ouvrir VUE: 1.

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Création d objet imbriqué sous PowerShell.

Création d objet imbriqué sous PowerShell. Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.

Plus en détail

Tout savoir sur le clavier

Tout savoir sur le clavier Tout savoir sur le clavier Niveau débutant Niveau intermédiaire Niveau confirmé Le clavier est un périphérique d entrée (interface homme / machine), composé de touches envoyant des instructions à la machine.

Plus en détail

FileMaker Pro 12. Guide de configuration de l installation réseau

FileMaker Pro 12. Guide de configuration de l installation réseau FileMaker Pro 12 Guide de configuration de l installation réseau 2007-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker est une

Plus en détail

Securexam pour le programme CPA,CGA

Securexam pour le programme CPA,CGA Securexam pour le programme CPA,CGA Plan de la présentation 1. Introduction 2. Les guides 3. Achat, inscription, installation du logiciel et examen d admission 4. Démonstration de l utilisation du logiciel

Plus en détail

Outils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr

Outils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr Outils, langage et approche Android Une introduction Nicolas Stouls nicolas.stouls@insa lyon.fr Webographie La bible contenant «tout» : http://developer.android.com/index.html Les supports cette intervention

Plus en détail

Antidote et vos logiciels

Antidote et vos logiciels Antidote et vos logiciels Antidote 8 v2 Mac OS X Antidote, c est un correcteur avancé, des dictionnaires et des guides linguistiques qui s ajoutent à vos logiciels pour vous aider à écrire en français.

Plus en détail

Maîtrisez votre Navigateur

Maîtrisez votre Navigateur Qu est-ce que Surfer ou Naviguer sur Internet? C est l action, à l aide d un navigateur internet, de suivre les liens hypertexte qui relient les pages Web les unes aux autres. La navigation Web C est une

Plus en détail

Threads. Threads. USTL http://www.lifl.fr/ routier 1

Threads. Threads. USTL http://www.lifl.fr/ routier 1 Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un

Plus en détail

SolidWorks edrawings et publications

SolidWorks edrawings et publications SolidWorks edrawings et publications Ce tutorial a pour but de vous expliquer ce qu est edrawings et ce que ce format de fichier peut vous rendre comme services, puis de vous expliquer les différentes

Plus en détail

Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0

Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0 Guide de l utilisateur de Cisco Unified Communications Manager Assistant pour Cisco Unified Communications Manager 6.0 Siège social aux États-Unis Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

Création et utilisation de formulaire pdf

Création et utilisation de formulaire pdf Création et utilisation de formulaire pdf Grâce à Adobe Acrobat, il est plus facile de créer, de remplir et d envoyer des formulaires électroniques PDF. Vous pouvez concevoir et créer un formulaire complètement

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Intégrateur Web HTML5 CSS3

Intégrateur Web HTML5 CSS3 Intégrateur Web HTML5 CSS3 L objectif de la 3W Academy est de former des petits groupes d élèves à l intégration de sites internet ainsi qu à la création d applications web simples telles qu un blog ou

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX TABLE DES MATIERES Livret Utilisateur Excel 2007 Niveau 2 INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX... 4 Les tableaux croisés dynamiques... 4 Création d un tableau croisé... 5 Comparer des

Plus en détail

Warren PAULUS. Android SDK et Android x86

Warren PAULUS. Android SDK et Android x86 Android SDK et Android x86 2010/2011 Voici un petit tutoriel pour installer Android de façon à ce qu il soit compatible avec NetBeans et Eclipse, ainsi que l utilisation d Android x86. Ce tutoriel a été

Plus en détail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

TP au menu «UI ANDROID»

TP au menu «UI ANDROID» TP au menu «UI ANDROID» Pré-requis & Installation ( du couvert) soit installer en natif sur vos postes (!!! ATTENTION!!! FromScratch 1,1 Go à télécharger ) JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html

Plus en détail

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1

Plus en détail

MERLIN. Guide de démarrage rapide Gestion de projet professionnelle. 2010 ProjectWizards GmbH, Melle, Allemagne. Tous droits réservés.

MERLIN. Guide de démarrage rapide Gestion de projet professionnelle. 2010 ProjectWizards GmbH, Melle, Allemagne. Tous droits réservés. MERLIN Guide de démarrage rapide Gestion de projet professionnelle 2010 ProjectWizards GmbH, Melle, Allemagne. Tous droits réservés. INTRODUCTION Bienvenue dans le guide de démarrage rapide de Merlin!

Plus en détail

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05 Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05 Les informations contenues dans le présent manuel de documentation ne sont pas contractuelles et peuvent faire l objet de modifications sans préavis.

Plus en détail

INSTALLATION DBSWin 5.0.1 En réseau

INSTALLATION DBSWin 5.0.1 En réseau INSTALLATION DBSWin 5.0.1 En réseau Important : DBSWin 5.0.1 nécessite un lecteur de DVD et minimum 1 Go de RAM 1) PARTAGE DU DISQUE...page 2 2) OUVERTURE DES PORTS DU PARE-FEU WINDOWS...page 3 3) INSTALLATION

Plus en détail

Contrôler plusieurs ordinateurs avec un clavier et une souris

Contrôler plusieurs ordinateurs avec un clavier et une souris Contrôler plusieurs ordinateurs avec un clavier et une souris Si vous utilisez plusieurs ordinateurs sous Windows à la maison ou au bureau, il peut être compliqué de passer d'un ordinateur à un autre,

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii

Unity. Moteur de jeu 3D et 2D. Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii Unity Moteur de jeu 3D et 2D Cross platform: Windows, Mac, Linux, ios, Android, Blackberry, Xbox, Playstation, Wii C# / Javascript (UnityScript) / Boo Possibilité de créer ses propres outils Programmation

Plus en détail

Access 2007 FF Access FR FR Base

Access 2007 FF Access FR FR Base ACCESS Basic Albertlaan 88 Avenue Albert Brussel B-1190 Bruxelles T +32 2 340 05 70 F +32 2 340 05 75 E-mail info@keyjob-training.com Website www.keyjob-training.com BTW TVA BE 0425 439 228 Access 2007

Plus en détail

INTRODUCTION AU CMS MODX

INTRODUCTION AU CMS MODX INTRODUCTION AU CMS MODX Introduction 1. Créer 2. Organiser 3. Personnaliser UNE PETITE INTRODUCTION QUEST-CE QU UN CMS? CMS est l acronyme de Content Management System. C est outil qui vous permet de

Plus en détail

Création de mises en plan

Création de mises en plan Création de mises en plan Numéro de publication spse01545 Création de mises en plan Numéro de publication spse01545 Avertissement sur les droits de propriété et les droits réservés Ce logiciel et la documentation

Plus en détail

Manuel d utilisation du logiciel

Manuel d utilisation du logiciel S e r v i c e s I n f o r m a t i q u e s Manuel d utilisation du logiciel Table des matières: 2 Installation initiale 3 Généralités 4 Menu principal 5 Recherche d un membre 6 Gestion des membres 7 Transaction

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

PREMIERE UTILISATION D IS-LOG

PREMIERE UTILISATION D IS-LOG PREMIERE UTILISATION D IS-LOG Is-LOG est un logiciel d identification et d authentification à un ordinateur qui se substitue à la saisie du couple «Login / mot passe» par la présentation au lecteur de

Plus en détail