Présentation de l interface MultiTouch (MT)

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

Download "Présentation de l interface MultiTouch (MT)"

Transcription

1 Présentation de l interface MultiTouch (MT) PJE Multi-touch Fabrice Aubert fabrice.aubert@lifl.fr Master Info - Parcours IVI UFR IEEA F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

2 Outils de développement utilisés Développement en Java Utilisation de Swing pour l interface Utilisation d un client TUIO pour les couches basses (connexion UDP, etc) Utilisation de Java2D pour la visualisation F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

3 Objectifs du toolkit MultiTouch I Structure logicielle calquée sur les librairies d interfaces usuelles (Component, Container, Widget, Programmation événementielle). I Analyse du geste d interaction (translate/rotate/scale, one dollar, axe principaux). I Illustration de ces concepts avec un visualiseur d images. F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

4 1 Java et Swing F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

5 Hello World Cours JAVA (POO : LS4, COO : LS5) : Tutorial SWING : import javax. swing. ; import java. awt. ; import java. awt. event. ; public class Main { s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ; f. setpreferredsize (new Dimension (5 0 0,5 0 0 ) ) ; f. pack ( ) ; f. s e t V i s i b l e ( true ) ; s t a t i c public void main ( String arg [ ] ) {... F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

6 Event Dispatch Thread La gestion des événements SWING est réalisée dans un thread appelé Event Dispatch Thread. Différent du Initial Thread qui correspond à l exécution du static public main() {. Il faut s assurer que tout ce qui concerne la gestion de l interface est faite dans le Event Dispatch Thread invokelater : import javax. swing. ; import java. awt. ; import java. awt. event. ; public class Main { s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ;... f. s e t V i s i b l e ( true ) ; s t a t i c public void main ( String arg [ ] ) { SwingUtilities. invokelater (new Runnable ( ) { public void run ( ) { createandshowgui ( ) ; ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

7 JFrame = Top-Level Container Component : brique de base de l interface (= widgets : boutons, listes déroulantes, etc). Container : ensemble (ou groupe) de composants de l interface graphique (pour organiser l interface en sous ensembles ; boutons radios ;...). Un container est lui-même un composant possibilité d organiser l interface hiérarchiquement. La racine de la structure de l interface (Top-Level Container) est gérée par la classe JFrame : d un container (container racine de tous les composants de l interface) : contentpane. du fenêtrage système (fermeture, iconification, look and feel). de la possibilité d ajouter un menu. F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

8 Ajouter des composants à un container s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ; f. setlayout (new FlowLayout ( ) ) ; f. setpreferredsize (new Dimension (5 0 0,5 0 0 ) ) ; JButton button1=new JButton ( "Bouton 1 " ) ; button1. setpreferredsize (new Dimension (1 0 0,1 0 0 ) ) ; f. getcontentpane ( ). add ( button1 ) ; f. pack ( ) ; f. s e t V i s i b l e ( true ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

9 Layout Manager Tout container possède un «Layout Manager» : fixe la stratégie de positionnement des composants. La taille et la position des composants sont fixés au moment du f.pack() qui respecte au mieux le layout manager. Exemple : JFrame avec un FlowLayout, et 2 boutons dans le conteneur (remarquer les setpreferredsize) s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ; f. setpreferredsize (new Dimension (5 0 0,5 0 0 ) ) ; f. setlayout (new FlowLayout ( ) ) ; JButton button1=new JButton ( " button1 " ) ; button1. setpreferredsize (new Dimension (1 0 0,3 0 ) ) ; f. getcontentpane ( ). add ( button1 ) ; JButton button2=new JButton ( " button2 " ) ; button2. setpreferredsize (new Dimension (2 0 0,5 0 ) ) ; f. getcontentpane ( ). add ( button2 ) ; f. pack ( ) ; f. s e t V i s i b l e ( true ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

10 Evénement L interface doit réagir aux événements utilisateurs (click sur un JButton par exemple). Programmation événementielle : Il faut indiquer à SWING quelle est la méthode à appeler dans le cas où un événement donné se produit pour un composant donné (méthode souvent appelée callback). A l exécution, SWING gère les messages (click, affichage d un composant, etc) reçus par les composants : SWING appelle alors le callback correspondant (mécanisme géré par la boucle d événement = Event Dispatch Thread). Pour spécifier les callbacks : mécanisme de Listener (=écouteur d événements).... JButton button1=new JButton ( "Bouton 1 " ) ; button1. setpreferredsize (new Dimension (1 0 0,1 0 0 ) ) ; button1. addactionlistener ( un_ecouteur ) ; / / un_ecouteur dé f i n i dans la suite du cours f. getcontentpane ( ). add ( button1 ) ;... a.addactionlistener(b) : l objet b écoute le composant a F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

11 ActionListener La classe de un_ecouteur doit implémenter l interface ActionListener. Méthode à implémenter : actionperformed. import java. awt. event. ; public class MyListener implements A c t i o n L i s t e n e r { / / classe de un_ecouteur public void actionperformed ( ActionEvent arg0 ) { System. out. p r i n t l n ( " Bouton c l i c k " ) ; public class Main { s t a t i c ActionListener un_ecouteur=new MyListener ( ) ; s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ;... button1. addactionlistener ( un_ecouteur ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

12 En plus direct... Avec une classe anonyme qui implémente l interface ActionListener : s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ; f. setlayout (new FlowLayout ( ) ) ; f. setpreferredsize (new Dimension (5 0 0,5 0 0 ) ) ; JButton button1=new JButton ( "Bouton 1 " ) ; button1. setpreferredsize (new Dimension (1 0 0,1 0 0 ) ) ; button1. addactionlistener (new A c t i o n L i s t e n e r ( ) { public void actionperformed ( ActionEvent e ) { actionbutton1 ( e ) ; ) ; f. getcontentpane ( ). add ( button1 ) ; f. pack ( ) ; f. s e t V i s i b l e ( true ) ; s t a t i c void actionbutton1 ( ActionEvent e ) { System. out. p r i n t l n ( " j appuie sur J1 " ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

13 Components/Containers Tous les composants et conteneurs héritent de JComponent Containers SWING utilisés pour le projet : JFrame (pour lancer l interface de l appli), JPanel pour faire un cadre et dessiner à l intérieur. Mais nous allons définir nos propres composants et containers (et donc leur mécanisme de listeners) : MTComponent : affichage = photo ; événements = message des curseurs (add, update, remove des doigts). MTSurface : initialisera et contiendra les MTComponent photos. F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

14 2 Créer ses propres listeners F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

15 Basé sur le mécanisme de SWING On veut retrouver ce style de code sur nos propres composants : / / L i s t e n e r d un c l i c k ( i.e. événement Action ) sur un bouton SWING : JButton b=new JButton ( " hello " ) ; b. addactionlistener (new A c t i o n L i s t e n e r ( ) { public void actionperformed ( ActionEvent evt ) { System. out. p r i n t l n ( " c l i c k sur h e l l o " ) ; ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

16 Exemple L exemple présenté s appuie sur un générateur de nombres aléatoires. Il génére un événement à chaque fois qu il s agit d un nombre aléatoire. On souhaite alors qu un objet quelconque puisse écouter (et réagir à) ces événements : 1 Définir la classe des événements générés (sera la classe ImpairEvent dans l exemple). 2 Gérer la génération des événements (procédure generate). 3 Inclure un gestionnaire des écouteurs pour les objets écoutables (classe Composant). 4 Faire l interface du listener (interface InterfaceListener). 5 Exploiter le mécanisme... F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

17 Exploiter le mécanisme On souhaite donc pouvoir faire le code suivant (à comparer avec l exemple du bouton swing) : / / L i s t e n e r d un nombre a l é a t o i r e ( i.e. événement Impair ) sur un o b j e t de classe Composant : Composant uncomposant=new Composant ( ) ; uncomposant. addimpairlistener (new I m p a i r L i s t e n e r ( ) { public void impairperformed ( ImpairEvent evt ) { System. out. p r i n t l n ( "Nombre Impair : "+evt. getvalue ( ) ) ; ) ; Pour mémoire (exemple du bouton SWING) : / / L i s t e n e r d un c l i c k ( i.e. événement Action ) sur un bouton SWING : JButton b=new JButton ( " hello " ) ; b. addactionlistener (new A c t i o n L i s t e n e r ( ) { public void actionperformed ( ActionEvent evt ) { System. out. p r i n t l n ( " c l i c k sur h e l l o " ) ; ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

18 La classe des événements générés Classe des événements (elle inclut toutes les infos utiles/nécessaires à l événement) : public class ImpairEvent extends AWTEvent { private double v ; public ImpairEvent ( Object source, i n t id, double value ) { super ( source, i d ) ; v=value ; public double getvalue ( ) { return v ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

19 La génération des événements A inclure dans une boucle infinie par exemple (thread qui génère les événements) : public void generate ( ) { int a=( int ) ( Math. random () ); i f ( a % 2==1) { ImpairEvent evt=new ImpairEvent (uncomposant,0,a ) ; uncomposant. fireimpairperformed ( evt ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

20 Interface du listener Inclut la déclaration de la méthode qui doit répondre à l event : public interface I m p a i r L i s t e n e r extends EventListener { public void impairperformed ( ImpairEvent evt ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

21 Les objets écoutables public class Composant extends JComponent { / / L i s t e d écouteurs : private E v e n t L i s t e n e r L i s t l i s t e n e r L i s t = null ; public Composant ( ) { l i s t e n e r L i s t =new EventListenerList ( ) ; / / a j o u t e r un é couteur public void addimpairlistener ( I m p a i r L i s t e n e r e ) { l i s t e n e r L i s t. add ( ImpairListener. class,e ) ; / / i n f o r m e r tous l e s é couteurs public void f i r e I m p a i r P e r f o r m e d ( AWTEvent event ) { Object [ ] l i s t e n e r s = l i s t e n e r L i s t. getlistenerlist ( ) ; for ( i n t i = listeners. length 1; i >=0; i ) { i f ( ( l i s t e n e r s [ i ] == ImpairListener. class ) ) ( ( ImpairListener ) listeners [ i +1]). impairperformed ( ( ImpairEvent ) event ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

22 3 Introduction à JAVA 2D F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

23 paintcomponent Tutoriel : JComponent : méthode paintcomponent appelée à chaque événement repaint() (provoqué par le système, ou directement par le programmeur). Exemple : surcharge de JButton : s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ; f. setpreferredsize (new Dimension (5 0 0,5 0 0 ) ) ; import javax. swing. ; import java. awt. ; import java. awt.geom. ; CButton button1=new CButton ( "Bouton 1 " ) ;... public class CButton extends JButton { public CButton ( S t r i n g s ) { super ( s ) ; public void paintcomponent ( Graphics g ) { Graphics2D g2=( Graphics2D ) g ; g2. f i l l (new Ellipse2D. Double (3 0,3 0,4 0,40)); F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

24 Graphics2D paintcomponent(graphics g) : g = environnement graphique du composant Cast en Graphics2D pour bénéficier de toutes les fonctionnalités de Java2D Les méthodes de Graphics2D permettent de : lire/modifier les attributs de tracé (hauteur, largeur, couleur, épaisseur de traits, transformations...) : l ensemble des valeurs de ces attributs à un instant donné constitue l état courant du tracé. dessiner (rectangle, ellipse, polygones, images, textes...) dans l état courant. Repère initial : Pour connaitre la hauteur et la largeur (en pixels), utiliser getwidth() et getheight() du composant. F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

25 draw/fill draw(shape s) : trace une forme géométrique. fill(shape s) : remplit la forme géométrique. public class MyPanel extends JPanel { public MyPanel ( ) { super ( ) ; public void paintcomponent ( Graphics g ) { Graphics2D g2=( Graphics2D ) g ; g2. setcolor (new Color ( 200, 0, 0 ) ) ; g2. draw (new Rectangle2D. Double (10,10,100,100)); g2. setcolor (new Color ( 0, 0, 100)); g2. f i l l (new Rectangle2D. Double (150,10,100,100)); public class Main { s t a t i c public void createandshowgui ( ) { JFrame f =new JFrame ( " Hello World!!! " ) ; f. setlayout (new FlowLayout ( ) ) ; f. setpreferredsize (new Dimension (5 0 0,5 0 0 ) ) ; MyPanel panel=new MyPanel ( ) ; panel. s e t P r e f e r r e d S i z e (new Dimension ( 3 0 0, ) ) ; panel. setborder (new LineBorder ( new Color (0, 200, 0 ), 3 ) ) ; f. getcontentpane ( ). add ( panel ) ; f. pack ( ) ; f. s e t V i s i b l e ( true ) ; s t a t i c public void main ( String arg [ ] ) { SwingUtilities. invokelater (new Runnable ( ) { public void run ( ) { createandshowgui ( ) ; ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

26 Remarques pour Graphics2D setcolor(new Color(r,v,b)) : fixe la couleur courante en composantes (rouge,vert,bleu) ( [0, 255]). new Rectangle2D.Double(x0,y0,width,height) : dérive de Shape pour JPanel : Container simple, sans particularité : très souvent utilisé pour faire un espace de dessin. setborder(new LineBorder(Color c, int thickness)) : permet de déssiner un bord. F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

27 Lignes Polygonales public void paintcomponent ( Graphics g ) { Graphics2D g2=( Graphics2D ) g ; GeneralPath p=new GeneralPath ( ) ; p. moveto(50, 200); p. lineto (150, 100); p. lineto (250, 200); / / p. closepath ( ) ; / / s i on souhaite fermer le path / / ( i. e. r e l i e r avec l e p o i n t i n i t i a l ) g2. draw (p ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

28 Tracer une image import java. io. ; import javax. swing. ; import javax. imageio. ; import java. awt. ; import java. awt. image. ; import java. awt.geom. ; public class MyPanel extends JPanel { BufferedImage img ; public MyPanel ( ) { super ( ) ; t r y { img=imageio. read ( new F i l e ( " data / univ l i l l e 1 _ p e t i t e. jpg " ) ) ; catch ( IOException e ) { e. p r i ntstacktrace ( ) ; public void paintcomponent ( Graphics g ) { super. paintcomponent (g ) ; Graphics2D g2=( Graphics2D ) g ; g2. drawimage (img,50,100, null ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

29 4 Fondations de l application MultiTouch F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

30 Vers un Widget Toolkit MTsurface : Top-Level container des composants multi-touch. hérite de JPanel pour être intégré à une application SWING. possèdera un unique MTcontainer (container racine). reçoit tous les messages de position des curseurs : c est MTsurface qui détermine à quel composant cela s adresse (fonctionnement simplifié par rapport à l edt de SWING). MTedt : reçoit les événements TUIO et les transmets à MTsurface (intermédiaire entre le serveur TUIO et MTsurface). F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

31 MTedt : lanceur et écouteur du client TUIO On utilise un client TUIO déjà implémenté en Java (http :// classe TuioClient : assure la connexion UDP avec le serveur TUIO. classe TuioListener : interface pour écouter les événements TUIO. public class MTedt implements T u i o L i s t e n e r { T u i o C l i e n t c l i e n t = null ; MTSurface surface ; public MTedt ( MTSurface s ) { i n t p o r t =3333; c l i e n t =new T u i o C l i e n t ( p o r t ) ; client. addtuiolistener ( this ) ; c l i e n t. connect ( ) ; i f (! c l i e n t. isconnected ( ) ) { System. exit ( 1 ) ; System. out. p r i n t l n ( " connection " ) ; surface=s ;... F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

32 MTedt : réponses aux messages public class MTedt implements T u i o L i s t e n e r { T u i o C l i e n t c l i e n t = null ; MTSurface surface ;... public void addtuiocursor ( TuioCursor t c u r ) { / / System. out. p r i n t l n ( " add cur "+ t c u r. getcursorid ( ) + " ( " + t c u r. getsessionid ( ) + " ) "+ t c u r. getx ( ) + " "+ t c u r. gety ( ) ) ; surface. addcursor ( t c u r. getcursorid ( ), t c u r. getx ( ), t c u r. gety ( ) ) ; public void updatetuiocursor ( TuioCursor tcur ) { / / System. out. println ( " set cur "+ tcur. getcursorid ( )+" ( "+ tcur. getsessionid ( )+") "+ tcur. getx ( )+" "+ tcur. gety ( )+" "+ / / t c u r. getmotionspeed ( ) + " "+ t c u r. getmotionaccel ( ) ) ; surface. updatecursor ( t c u r. getcursorid ( ), t c u r. getx ( ), t c u r. gety ( ) ) ; public void removetuiocursor ( TuioCursor t c u r ) { / / System. out. p r i n t l n ( " del cur "+ t c u r. getcursorid ( ) + " ( " + t c u r. getsessionid ( ) + " ) " ) ; surface. removecursor ( t c u r. getcursorid ( ), t c u r. getx ( ), t c u r. gety ( ) ) ; F. Aubert (MS1) PJE MultiTouch/ Présentation de l interface MT / 32

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

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

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

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

Desktop Intégration. Rémi Forax

Desktop Intégration. Rémi Forax Desktop Intégration Rémi Forax 1 Intégration au bureau L intégration de l application au bureau de l utilisateur se fait en combinant plusieurs techniques L écran d annonce de l application (SplashScreen)

Plus en détail

Cours 2 : programmation des interfaces graphiques

Cours 2 : programmation des interfaces graphiques Cours 2 : programmation des interfaces graphiques Anastasia.Bezerianos@lri.fr (partie de la présentation basée sur des transparents de Michel Beaudouin-Lafon) système interactif vs. système algorithmique

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

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

Le langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009

Le langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009 Le langage JAVA G. Baulieu Institut de Physique Nucléaire de Lyon Septembre 2009 Quelques acronymes JDK : Java Development Kit SDK : Software Development Kit J2SE : Java 2 Standard Edition JRE : Java Runtime

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

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

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

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

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Bertrand Estellon Département d Informatique de Luminy Aix-Marseille Université 29 mai 2012 Bertrand Estellon (DIL Aix-Marseille) Programmation Orientée Objet 29 mai 2012 1

Plus en détail

Design patterns. Design patterns - définition. Design patterns - avantages

Design patterns. Design patterns - définition. Design patterns - avantages Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern

Plus en détail

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

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

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

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

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

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

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

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011 Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 Introduction : Langage développé par Sun et purement orienté objet. N a pas de rapport direct avec Javascript développé par Netscape. Les applications java peuvent être des

Plus en détail

Table des matières Introduction... 1 1. Démarrage... 8 2. Les composants graphiques... 26

Table des matières Introduction... 1 1. Démarrage... 8 2. Les composants graphiques... 26 Table des matières À propos de l'auteur... x Préface... xi Avant-propos... xiv 1. Public visé et prérequis... xiv 2. Sources des exemples... xv 3. Accès aux vidéos... xv 4. URL raccourcies... xv 5. Remerciements...

Plus en détail

Calcul Parallèle. Cours 5 - JAVA RMI

Calcul Parallèle. Cours 5 - JAVA RMI Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation

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

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Cours. Cours 8 : Révisions. Importance. Interface homme-machine

Cours. Cours 8 : Révisions. Importance. Interface homme-machine Cours 1) Introduction Définitions Histoire Cours 8 : Révisions jgarcia@ircam.fr 2) Programmation des interfaces graphiques principes de conception 3) MVC Java2D Styles d interaction 4) Interaction graphique

Plus en détail

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

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

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 ) P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Contre exemple de présentation

Contre exemple de présentation Contre exemple de présentation Les erreurs à éviter Tuyêt Trâm DANG NGOC Les pages surchargées Un transparent = une idée générale Pas de phrases longues Une puce par idée Une présentation n'est pas une

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

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

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90. Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

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

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

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

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

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

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection

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

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Introduction aux composants logiciels : JavaBeans http://java.sun.com/products/javabeans/ Master des Technologies de l'internet

Introduction aux composants logiciels : JavaBeans http://java.sun.com/products/javabeans/ Master des Technologies de l'internet Introduction aux composants logiciels : JavaBeans http://java.sun.com/products/javabeans/ Franck.Barbier@FranckBarbier.com Pauware Research Group Master des Technologies de l'internet Université de Pau

Plus en détail

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

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

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande

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

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Programmation par composants (1/3) Programmation par composants (2/3)

Programmation par composants (1/3) Programmation par composants (2/3) Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Une introduction à la technologie EJB (2/3)

Une introduction à la technologie EJB (2/3) Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce

Plus en détail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

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

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

TD2/TME2 : Ordonnanceur et Threads (POSIX et fair)

TD2/TME2 : Ordonnanceur et Threads (POSIX et fair) UE PC2R page 1/8 TD2/TME2 : Ordonnanceur et Threads (POSIX et fair) Exercice 1 (Modélisation) Chemin de Fer Cet exercice est dédié à l étude d un problème de circulation de trains : Voie! out1 in1 Voie!

Plus en détail

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007 NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation

Plus en détail

La Programmation Orientée Agent Les Agents Réactifs

La Programmation Orientée Agent Les Agents Réactifs La Programmation Orientée Agent Les Agents Réactifs Emmanuel ADAM Université de Valenciennes et du Hainaut-Cambrésis UVHC/ISTV-LAMIH E. ADAM University of Valenciennes La Programmation Orientée Agent Les

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

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

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry. : Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA

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

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13 Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

4 Exemples de problèmes MapReduce incrémentaux

4 Exemples de problèmes MapReduce incrémentaux 4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank

Plus en détail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, la classe Object, les package et la visibilité en Java... 1 Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....

Plus en détail

LOG4430 : Architecture logicielle et conception avancée

LOG4430 : Architecture logicielle et conception avancée LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Applications de base de la conception orientée aspect : surveillance, traçage et profilage Partie 1/4 Histoire Département de

Plus en détail

Java 1.5 : principales nouveautés

Java 1.5 : principales nouveautés Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

Tutorial pour une application simple

Tutorial pour une application simple ANDROID & ECLIPSE Tutorial pour une application simple 1. Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

TD2 Programmation concurrentielle

TD2 Programmation concurrentielle TD2 Programmation concurrentielle Développement Logiciel (L2-S4) Lundi 10 février 2014 Exercice 1 (Au bar...) Trois clients se trouvent au bar. Il est tard, ils sont fatigués, et ils s endorment sur le

Plus en détail

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation

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

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

Education Delivery Intelligent Tool

Education Delivery Intelligent Tool Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide

Plus en détail

Qui ont toujours à mon côté pour me soutenir et me guider au long de ce projet.

Qui ont toujours à mon côté pour me soutenir et me guider au long de ce projet. 1/ 15 Remerciement Tous mes sincères remerciements à Monsieur GIOT, Rudi pour m avoir guidé, aidé, suivi et donné les conseils, les explications précieuses tout au long de ce bureau d étude. Et particulièrement

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail