Introduction aux composants logiciels : JavaBeans Master des Technologies de l'internet

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

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

Transcription

1 Introduction aux composants logiciels : JavaBeans Pauware Research Group Master des Technologies de l'internet Université de Pau et des Pays de l'adour

2 ( Components are for composition, Szyperski et al.) JavaBeans Component Model Inspiration de Model-View-Controller (MVC) Modèle de composant technologique ou industriel (monde Java) Modèle de composant canonique permettant : manipulation uniforme dans outillage : Beans Development Kit (BDK) The Bean Builder https://bean-builder.dev.java.net/ Instrumentation et support pour la composabilité

3 MVC Classes abstraites Model, View et Controller de Smalltalk-80 Patron Observer de Gamma et al. Classes CDocument et CView de Visual C++ Programmation événementielle, notion de callback Librairie Swing de Java Note : MVC ne se limite à la programmation des interfaces homme/machine (IHM) bien que sa création soit justifiée par cela

4 Architecture MVC en IHM Model : une instance de classe Java dans lequel des états sont maintenus, des constantes sont définies... sans préjuger de la façon dont ces données sont affichées View : une ou plusieurs instances de classes graphiques qui incarne(nt) une représentation sur écran du modèle Controller : une instance de classe chargée d'écouter des événements tiers en relation avec le système de fenêtrage (clic souris, entrée clavier...)

5 Peut-on faire sans MVC? Agglomérer dans un même objet données graphiques et données business (i.e. métier ) rend les objets difficilement maintenables. Avec MVC, les vues, qui sont propres aux applications, peuvent changer sans changer les modèles qui sont partagés par les applications (réutilisation). Finalement, MVC encourage un regroupement logique lui même engendrant une meilleure isolation des objets aux fautes (fiabilité). En conclusion, MVC est un bon support de la maintenabilté, la réutilisabilité et la fiabilité

6 Physics Model (analyse, conception et programmation) «create» Temperature ascelsius() : Real asfahrenheit() : Real askelvin() : Real increment() decrement() =(t : Temperature) : Boolean <(t : Temperature) : Boolean <=(t : Temperature) : Boolean >(t : Temperature) : Boolean >=(t : Temperature) : Boolean Temperature() Temperature(value : Real,unit : Symbol) {asfahrenheit() = (ascelsius() + 32.) * 9. / 5. askelvin() = ascelsius() - ( ) Physics::Temperature «refine» Temperature -_value : Real = 0. -_step : Real = 0.1 «const» -Min : Real = #LiteralCelsius : String = " C" #LiteralFahrenheit : String = " F" #LiteralKelvin : String = " K" +ascelsius() : Real +asfahrenheit() : Real +askelvin() : Real +increment() +decrement() +equals(t : Temperature) : Boolean {redefines = +lessthan(t : Temperature) : Boolean {redefines < +lessthanorequal(t : Temperature) : Boolean {redefines <= +greaterthan(t : Temperature) : Boolean {redefines > +greaterthanorequal(t : Temperature) : Boolean {redefines >= +asstringcelsius() : String +asstringfahrenheit() : String +asstringkelvin() : String «create» Temperature() Temperature(value : Real,unit : Symbol) public final class Temperature implements Cloneable { public static final byte Celsius = 0; public static final byte Fahrenheit = 1; public static final byte Kelvin = 2; protected static String[] _Literals = new String[3]; static { _Literals[Celsius] = new String(" C"); _Literals[Fahrenheit] = new String(" F"); _Literals[Kelvin] = new String(" K"); private final static float Min = F; // in Celsius private float _value; // in Celsius private float _step; // creation public Temperature() { _value = 0.F; _step = 0.1F;... Le code qui précède est hétéroclite au sens où sa forme est libre et plus précisément ne se conforme pas au modèle JavaBeans. Néanmoins, la classe Temperature ne comporte aucune donnée liée à des formes et/ou contraintes d'affichage

7 View et Controller Représentation Données propres à la vue qui graphique de données du contraint les possibilités modèle (champ _value) d'évolution des données, le genre de données que l'on veut afficher... Slider assurant la connexion entre le système de fenêtrage et le modèle (événements temp down et temp up)

8 Flot d'interaction Model Mettre à jour l'ihm car la nouvelle valeur de Target temperature enregistrée dans Model n'est pas celle actuellement affichée Slider a bougé (événement). Voici la nouvelle valeur de Target temperature dans l'intervalle 40 F et 90 F imposé par View View Controller En fonction du mode d'affichage, de ce qui est affiché à un instant t et de contraintes imposées à l'écran, envoyer ces types d'événements et des types d'information à Model

9 JavaBeans et Swing Swing dispose d'une architecture MVC particulière (i.e. la distinction conceptuelle entre View et Controller, contrairement à Smalltalk-80, est faible ) et assez déconnectée de JavaBeans JavaBeans est foncièrement dédié à la fabrication de classes Model Note : la difficulté de compréhension de MVC provient de son instanciation sur les cas particuliers VVC (Swing sans nécessité absolue de JavaBeans) et MMC (JavaBeans sans Swing purement et simplement)

10 Paradigmes VVC et MMC Métaphore VVC : à l'écran, si telle option est choisie alors telle option est indisponible, si tel choix est fait alors tel bouton doit être inhibé (look grisé/opaque)... Métaphore MMC : e.g. communication EJB -> Message-Driven Bean (Controller) -> EJB (voir cours EJB à suivre)

11 JavaBeans : principe Modèle de composant canonique signifie que JavaBeans offre un cadre structurant de programmation (patron, formatage, accès via outil...) des composants mais le principe peut être mis en oeuvre de façon légère. Ex. classe Run_indicator : public interface Run_indicator_client extends java.beans.propertychangelistener { public class Programmable_thermostat extends implements Run_indicator_client, { public class Run_indicator implements java.io.serializable { public Run_indicator(Run_indicator_client programmable_thermostat) throws Statechart_exception { propertysupport = new java.beans.propertychangesupport(this); propertysupport.addpropertychangelistener(programmable_thermostat); public void off() throws Statechart_exception { _Run_indicator.fires(_Something_on,_Everything_off); _Run_indicator.run_to_completion(); setstatus(_run_indicator.current_state()); private void setstatus(string newvalue) { String oldvalue = status; status = newvalue; propertysupport.firepropertychange("run indicator status",oldvalue,newvalue);

12 JavaBeans, éléments clefs, persistance Les JavaBeans sont persistants et donc implémentent l'interface java.io.serializable Attention à des champs qui référencent d'autres JavaBeans (marqueur transient utile) Attention à la gestion de version au moment du chargement dynamique des JavaBeans (cf. static final long Serial_version_id =...L;) Rappel : en stockage binaire supporté par java.io.serializable, les champs indiqués static et transient ne sont pas sauvegardés

13 JavaBeans, éléments clefs, encodage/décodage XML Les JavaBeans sont persistants de façon binaire (fichier sérializé.ser obtenu via java.io.objectoutputstream et désérializé via java.io.objectinputstream) ou de façon textuelle grâce aux classes java.beans.xmlencoder et java.beans.xmldecoder XMLEncoder e = new XMLEncoder(new BufferedOutputStream(new FileOutputStream ("JOL_ball.xml"))); e.writeobject(_jol_ball); e.close(); XMLDecoder d = new XMLDecoder(new BufferedInputStream(new FileInputStream ("JOL_ball"))); JOL_ball _jol_ball = (JOL_ball)d.readObject(); d.close();

14 Types de propriété Simple ou indexée (tableau Java) De façon orthogonale : liée (bound) et éventuellement contrainte Liée : nécessité d'une notification aux écouteurs Contrainte : possibilité de refus de changement à la notification

15 Propriété liée, exemple Dans le jeu JOL, la classe JOL_meteorite a un champ _shape de type java.awt.polygon. La zone de jeu (_jol_space) de la fenêtre globale du jeu faisant apparaître à l'écran la météorite doit être prévenue lorsque _shape voit ses coordonnées modifiées (chute de la météorite régulée par un timer) -> recoloriage

16 Propriété contrainte Les objets intéressés par les changements d'état d'une propriété contrainte peuvent poser un veto au changement Ils écoutent, s'ils refusent le changement, ils lèvent une exception de type java.beans.propertyvetoexception L'émetteur est notifié du refus dans la clause catch (java.beans.propertyvetoexception pve) { ou alors c'est qu'il y a eu acceptation du changement

17 Propriété contrainte, exemple Dans le jeu JOL, la classe JOL_ball a un champ _shape de type java.awt.polygon. La zone de jeu (_jol_space) de la fenêtre globale du jeu faisant apparaître à l'écran la balle, l'empêche, contrairement aux météorites, de descendre au delà du sol. La balle se déplace en haut, à gauche et à droite en fonction du joueur mais se déplace en bas (i.e., retombe), inexorablement (timer), si le joueur ne l'utilise pas

18 JavaBeans, éléments clefs, type d'écouteur Interfaces java.beans.propertychangelistener java.beans.vetoablechangelistener Lien Swing : des composants Swing de base et par défaut implémentent l'interface PropertyChangeListener La classe java.beans.propertychangeevent porte les attributs des événements

19 JavaBeans, éléments clefs, utilitaires Des implémentations par défaut des interfaces incontournables de JavaBeans permettent de gagner du temps si l'on rentre dans le moule standard : java.beans.propertychangesupport java.beans.vetoablechangesupport Exemple en multicast sans veto : private java.beans.propertychangesupport propertychangesupport = new java.beans.propertychangesupport(this); public void addpropertychangelistener(java.beans.propertychangelistener listener) {propertychangesupport.addpropertychangelistener(listener); public void removepropertychangelistener(java.beans.propertychangelistener listener) {propertychangesupport.removepropertychangelistener(listener);

20 JavaBeans, éléments clefs, abonnement/désabonnement Unicast : un seul écouteur (avec veto ci-dessous) private transient java.beans.vetoablechangelistener vetoablechangelistener = null; public synchronized void addvetoablechangelistener(java.beans.vetoablechangelistener listener) throws java.util.toomanylistenersexception { if(vetoablechangelistener!= null) throw new java.util.toomanylistenersexception(); vetoablechangelistener = listener; public synchronized void removevetoablechangelistener(java.beans.vetoablechangelistener listener) { vetoablechangelistener = null; Multicast : plusieurs écouteurs (transparent précédent)

21 JavaBeans, éléments clefs, notification Unicast, propriété contrainte private void firevetoablechangelistenervetoablechange(java.beans.propertychangeevent event) throws java.beans.propertyvetoexception { if(vetoablechangelistener == null) return; vetoablechangelistener.vetoablechange(event); // la balle JOL est translatée de _offset pixels en descente : down() java.awt.polygon shape = new java.awt.polygon(_shape.xpoints,_shape.ypoints,_shape.npoints); _shape.translate(0,_offset); // on descend de _offset pixels try { firevetoablechangelistenervetoablechange(new java.beans.propertychangeevent (this,"_shape",shape,_shape)); catch(java.beans.propertyvetoexception pve) { _shape.translate(0,-_offset); // on remonte de _offset pixels Multicast sur base utilitaire, propriété liée java.awt.polygon shape = new java.awt.polygon(_shape.xpoints,_shape.ypoints,_shape.npoints); _shape.translate(0,1); propertychangesupport.firepropertychange("_shape",shape,_shape);

22 JavaBeans, éléments clefs, capture La fenêtre de jeu se déclare écouteur des mouvements de la balle JOL et définit la méthode de l'écouteur, jusqu'ici abstraite, informant d'un changement : _jol_ball.addvetoablechangelistener(new java.beans.vetoablechangelistener() { public void vetoablechange(java.beans.propertychangeevent propertychangeevent) throws java.beans.propertyvetoexception { // handling code here... );

23 Code se trouvant dans le détecteur d'événement (i.e. Controller) : private transient java.util.arraylist _jol_ball_crashes_jol_meteorite_listeners; public synchronized void add_jol_ball_crashes_jol_meteorite_listener(jol_ball_crashes_jol_meteorite_listener listener) { if(_jol_ball_crashes_jol_meteorite_listeners == null) _jol_ball_crashes_jol_meteorite_listeners = new java.util.arraylist(); _jol_ball_crashes_jol_meteorite_listeners.add(listener); public synchronized void remove_jol_ball_crashes_jol_meteorite_listener(jol_ball_crashes_jol_meteorite_listener listener) { if(_jol_ball_crashes_jol_meteorite_listeners!= null) _jol_ball_crashes_jol_meteorite_listeners.remove(listener); private void crash(jol_ball_crashes_jol_meteorite_event event) { java.util.arraylist copy_of_jol_ball_crashes_jol_meteorite_listeners; synchronized(this) { if(_jol_ball_crashes_jol_meteorite_listeners == null) return; // avoiding timing race: copy_of_jol_ball_crashes_jol_meteorite_listeners = (java.util.arraylist)_jol_ball_crashes_jol_meteorite_listeners.clone(); for(int i = 0;i < copy_of_jol_ball_crashes_jol_meteorite_listeners.size();i++) ((JOL_ball_crashes_JOL_meteorite_listener)copy_of_jOL_ball_crashes_JOL_meteorite_listeners.get(i)).crash(event); JavaBeans, interaction avancée public class JOL_ball_crashes_JOL_meteorite_event extends java.util.eventobject { public JOL_ball_crashes_JOL_meteorite_event(JOL_ball source) { super(source); public interface JOL_ball_crashes_JOL_meteorite_listener extends java.util.eventlistener { void crash(jol_ball_crashes_jol_meteorite_event event);

24 Eléments de Java sur lesquels s'adosse JavaBeans «class» java::util::eventobject «class» java::beans::propertychangeevent «class» java::awt::actionevent «interface» java::util::eventlistener «interface» java::awt::event::actionlistener actionperformed(ae : ActionEvent) «interface» javax::swing::action «interface» java::beans::propertychangelistener propertychange(pce : PropertyChangeEvent) «class» javax::swing::abstractaction

25 Documentation programmatique Interface fondamentale java.beans.beaninfo Classe utilitaire java.beans.simplebeaninfo Principe : documenter un JavaBean X via une classe Java héritant le plus souvent de java.beans.simplebeaninfo. Cette classe nommée par convention XBeanInfo établit, à l'exécution (pour des outils en fait) et à la demande (choix de ce qui est documenté ou non) : les champs et leurs propriétés (getter, setter...) les méthodes et leurs propriétés les événements et leurs modalités... Mode de documentation fixé pour chaque catégorie dans la classe XBeanInfo Introspection, voire aussi classe java.beans.introspectionexception Lazy initialization

26 Bean: Documentation programmatique, exemple public class JOL_ meteorite extends com. FranckBarbier. Java._ Composytor. Timer_ monitor implements Serializable {... BeanInfo: public class JOL_ meteoritebeaninfo extends SimpleBeanInfo { // lazy initialization ( la convention de nommage peut sauter car la classe du Bean est donnée) private static BeanDescriptor getbdescriptor() { BeanDescriptor beandescriptor = new BeanDescriptor ( JOL_ meteorite. class, null); // Here you can add code for customizing the BeanDescriptor. return beandescriptor; // introspection pour les champs private static PropertyDescriptor[] properties = null; private static PropertyDescriptor[] getpdescriptor() { return properties; // informations récupérables au niveau instance public BeanDescriptor getbeandescriptor() { return getbdescriptor(); public PropertyDescriptor[] getpropertydescriptors() { return getpdescriptor();...

27 Documentation de JOL_ball, champs en mode lazy initialization // Property identifiers private static final int PROPERTY color = 0; // Property array private static PropertyDescriptor[] properties = new PropertyDescriptor[1]; private static PropertyDescriptor[] getpdescriptor() {return properties; static { try { properties[property color] = new PropertyDescriptor ( "_color", WYX_ball.class, "get_color", null); properties[property color].setdisplayname ( "_color" ); properties[property color].setshortdescription ( "WYX ball color" ); catch(introspectionexception ie) { // Here you can add code for customizing the properties array. public PropertyDescriptor[] getpropertydescriptors() {return getpdescriptor();

28 Compléments La classe java.beans.beans fournit des facilités de contrôle (e.g., création) de JavaBeans. Ex. : instantiate La classe java.beans.introspector crée automatiquement des informations de JavaBeans (cf. getbeaninfo) Interface java.beans.propertyeditor et classe java.beans.propertyeditorsupport fournissent des composants graphiques pour manipuler les champs des JavaBeans La classe utilitaire java.beans.propertyeditormanager enregistre et localise les éditeurs PropertyEditor pe = PropertyEditorManager.findEditor(java.awt.Color); // OK car type connu PropertyEditorManager.registerEditor (an_instance_of_a_type.class,an_instance_of_my_property_editor.class);

29 Déploiement Packaging dans fichier.jar pour déploiement avec avec fichier manifest optionnel et fichiers divers (.ser, icon 16x16, HTML, audio, vidéo...) Exemple de contenu de fichier manifest : Java- Bean: True Exemple : glisser/lâcher Timer (composant logiciel offert par dans l'ide NetBeans

30 Technologies connexes JavaBeans Activation Framework (JAF) Génération automatique de JavaBeans à partir de sources de données hétérogènes : classe DataHandler, interfaces DataSource et CommanMap JAF s'appuie sur le format MIME pour caractériser (typer) la nature profonde des sources de données Adresse Web de JAF : JavaBeans Bridge for ActiveX ActiveX est le modèle de composants logiciels de Microsoft

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

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

TP : Mise en oeuvre de MVC

TP : Mise en oeuvre de MVC Université de Lille 1 - Master 1 informatique 2012-2013 IHM TP : Mise en oeuvre de MVC Objectifs se familiariser avec les patrons de conception observateur et stratégie, se familiariser avec la conception

Plus en détail

LES FICHIERS. 1-169169 JAVA Christine BONNET

LES FICHIERS. 1-169169 JAVA Christine BONNET 12 LES FICHIERS 1-169169 JAVA Christine BONNET LES FLOTS Package java.io La gestion des E/S s'effectue à l'aide des flots. Un stream (flot) représente un canal de communication ( écran, fichier, pipe,

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 Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Ce support est très largement inspiré du livre et du cours de S. Krakowiak S. Krakowiak Java Remote Method Invocation 1 / 25 Intérêt des objets pour la construction d applications

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

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

GeOxygene : travaux pratiques Exercices pour la version PostGIS version 1.2

GeOxygene : travaux pratiques Exercices pour la version PostGIS version 1.2 Institut Géographique National Laboratoire COGIT GeOxygene : travaux pratiques Exercices pour la version PostGIS version 1.2 28 février 2007 Eric Grosso Résumé : Ce document a pour but de comprendre GeOxygene

Plus en détail

/~gibson/teaching/designpatterns/designpatterns-mvc.pdf

/~gibson/teaching/designpatterns/designpatterns-mvc.pdf Patron: Modèle-Vue-Contrôleur (MVC) /~gibson/teaching/designpatterns/designpatterns-mvc.pdf MVC.1 Patron: Modèle-Vue-Contrôleur Modèle-Vue-Contrôleur (MVC) est un pattern architectural qui sépare les données

Plus en détail

W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS. Référence: W4XT_TUTORIAL_020_FR

W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS. Référence: W4XT_TUTORIAL_020_FR W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS Référence: W4XT_TUTORIAL_020_FR Les prochaines mises à jour de ce document seront disponibles sur www.myw4.com W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT

Plus en détail

Lecture de variable automate en utilisant le service web de l ETZ (application J2SE)

Lecture de variable automate en utilisant le service web de l ETZ (application J2SE) Lecture de variable automate en utilisant le service web de l ETZ (application J2SE) Sommaire 1. Objectifs...2 2. Création d un nouveau projet J2SE...2 3. Intégration du client Web Service...5 3.1. Description

Plus en détail

Programmation Réseau. La sérialisation. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. !

Programmation Réseau. La sérialisation. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! Programmation Réseau La sérialisation Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr UFR Informatique 2013-2014 Pourquoi Texte de la section Encoder l état mémoire

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

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec:

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec: Cedric Dumoulin Objectifs Comprendre l architecture typique d une application web Exemple: Application permettant de lister un catalogue d articles, et de créer des articles Expérimenter avec: EJB, JPA

Plus en détail

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish TP N 4 Création d un projet Web Avec EJB JSF et Glassfish I. Les objectifs :... 1 II. L architecture de l atelier... 1 III. Rappel... 1 IV. L environnement de développement... 2 V. Création d un projet

Plus en détail

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011

Développement Web. Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. 24 janvier 2011 1 / 56 Développement Web Le modèle MVC Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer 24 janvier 2011 2 / 56 Objectif Objectif du cours Se familiariser avec

Plus en détail

Projet M1 : Application P2P Hybride avec RMI

Projet M1 : Application P2P Hybride avec RMI Projet M1 : Application P2P Hybride avec RMI Applications Réparties 2008-2009 Université Paris VIII / Parcours SRM / M1 Sujet : Le but de ce projet est d'implémenter une application de partage de fichiers

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

IK3 : Cours n 3 Gestion de projets

IK3 : Cours n 3 Gestion de projets IK3 : Cours n 3 Gestion de projets semaine du 11 octobre 2010 1 But du cours Il faut comprendre que quelque soit l ampleur d un projet, il existe des outils et des méthodes adaptés qui permettent de le

Plus en détail

PROGRAMMATION ÉVÉNEMENTIELLE. Géry Casiez http://www.lifl.fr/~casiez IHM Master 1 informatique - Université de Lille 1

PROGRAMMATION ÉVÉNEMENTIELLE. Géry Casiez http://www.lifl.fr/~casiez IHM Master 1 informatique - Université de Lille 1 1 PROGRAMMATION ÉVÉNEMENTIELLE Géry Casiez http://www.lifl.fr/~casiez IHM Master 1 informatique - Université de Lille 1 Programmation événementielle 2 Programmation «procédurale» Le déroulement est contrôlé

Plus en détail

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Introduction Le but de ce TP est de programmer une application à la norme EJB en utilisant le serveur d application JBoss. Matériel requis - JBoss

Plus en détail

Chapitre 1. 1.1 types primitifs. 1.2 Casting

Chapitre 1. 1.1 types primitifs. 1.2 Casting Chapitre 1 Généralités 1.1 types primitifs byte (1 octet) peut contenir les entiers entre -128 et +127. short (2 octets) contient les entiers compris entre -32768 et +32767. int (4 octet) va de -2*10e9

Plus en détail

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application.

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application. Introduction Nous allons parler, dans ce document consacré aux architectures multi-tiers en environnement J2EE, de 3 des cinq couches les plus représentatives. Faisons tout d'abord un petit rappel sur

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

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

Cours Java : deuxième saison

Cours Java : deuxième saison Programmation Objet en Java Cours 9 Design Patterns 1 (C) 2005, Frédéric Peschanski 1 Cours Java : deuxième saison Cours 7 : Exceptions, tests unitaires et assertions Cours 8 : Design Patterns 1 Cours

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Patrons Observateur/MVC

Patrons Observateur/MVC Patrons Observateur/MVC programmation évènementielle jean-michel Douin, douin au cnam point fr version : 12 Septembre 2008 Notes de cours 1 Sommaire Patron Observateur Programmation évènementielle Patron

Plus en détail

TP6 EJB : Création d'un EJB3 Entité

TP6 EJB : Création d'un EJB3 Entité TP6 EJB : Création d'un EJB3 Entité Objis : nous allons vous faire aimer JAVA - www.objis.com 1 Table des matières Formation EJB - TP 'Développement EJB3 entity avec Eclipse' Propriété du document...3

Plus en détail

Java Avancé - Cours 2

Java Avancé - Cours 2 Java avancé - cours 2 1/8 Java Avancé - Cours 2 Plan 1 Communication entre objets 1 1.1 Motivation....................................................... 1 1.2 Relations entre le panier et le rayon.........................................

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

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

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

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

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Android INTRODUCTION

Android INTRODUCTION Android INTRODUCTION Présentation Système d exploitation open source Développé en 2007 par une startup rachetée par Google. Caractéristique du Système d exploitation Android: Multi utilisateur, chaque

Plus en détail

Développement de Logiciels & Technologies Avancées http://www.dlta-studio.com. Cocoa Bindings. Tutorial. David Scrève Version 1.

Développement de Logiciels & Technologies Avancées http://www.dlta-studio.com. Cocoa Bindings. Tutorial. David Scrève Version 1. Développement de Logiciels & Technologies Avancées http://www.dlta-studio.com Cocoa Bindings Tutorial David Scrève Version 1.1 5/02/2012 Copyright (c) 2012 DLTA Studio Tous Droits Réservés Cocoa Bindings!

Plus en détail

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes

Génération de codes. à partir d un modèle UML sous PowerAMC. La génération de code, ça n est pas immédiat : processus en 3 étapes Génération de codes à partir d un modèle UML sous PowerAMC Véronique Deslandres, IUT, Département Informatique Université de Lyon MàJ: 8/10/2013 Introduction La génération de code, ça n est pas immédiat

Plus en détail

Exception en Java. Le principe général des exceptions. La syntaxe des exceptions.

Exception en Java. Le principe général des exceptions. La syntaxe des exceptions. Exception en Java. Exception en Java....1 Le principe général des exceptions...1 La syntaxe des exceptions....1 La hiérarchie des exceptions:...2 Exemple d'exception....3 Exception et signature de service....4

Plus en détail

Modèle Vue Controleur

Modèle Vue Controleur Modèle Vue Controleur Le Design Pattern MVC MVC de Swing Evènement et MVC Les Renderer 22/10/2002 Interfaces graphiques 1 Pourquoi le MVC? Décomposer une interface graphique en trois parties distinctes

Plus en détail

ED : Construction d'interfaces graphiques en Java

ED : Construction d'interfaces graphiques en Java ED : Construction d'interfaces graphiques en Java Le but de cet exercice est d'écrire un code Java de la construction de l'interface graphique et de la réaction des actions de l'utilisateur sur une application

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar Programmation - Java - Fiches du Langage Marie Beurton-Aimar Fiche Numéro 1 1.1 Structure d un programme Java Toutes les instructions se terminent par un ; Le nom du fichier qui contient une classe doit

Plus en détail

Architecture des applications

Architecture des applications Architecture des applications Table des matières 1 Introduction 1 2 Les classes valeurs 2 2.1 Les Javaeans............................................. 2 2.2 Les différents types de Javaeans...................................

Plus en détail

1 ère PARTIE : COURS (sans document) Durée: 1h15

1 ère PARTIE : COURS (sans document) Durée: 1h15 Examen 1 ère session 2012-2013 page 1 NFA 032 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 032 Mercredi 25 Juin 2014 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session NFA

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

Les fichiers. Programmation Mobile Android Master CCI. Créer un fichier dans le stockage interne. Écrire et lire des données dans un fichier

Les fichiers. Programmation Mobile Android Master CCI. Créer un fichier dans le stockage interne. Écrire et lire des données dans un fichier Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Les fichiers Deux espaces de stockage

Plus en détail

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète Nous allons écrire une application J2EE qui permet dans un navigateur web de gérer des contacts. Pour cela, nous allons suivre

Plus en détail

Une (petite) introduction à Spring

Une (petite) introduction à Spring Une (petite) introduction à Spring 1 Introduction Le framework Spring 1 est une boite à outils très riche permettant de structurer, d améliorer et de simplifier l écriture d application JEE. Spring est

Plus en détail

Sauvegardes de données

Sauvegardes de données 1 Sauvegardes de données Sauvegardes de données Sommaire Sauvegardes de données... 1 1 Introduction... 2 2 Recherche du chemin de stockage... 3 2.1 Le dossier de jeu... 3 2.2 Le dossier privé... 5 3 Gestion

Plus en détail

Filière : M2 informatique Année universitaire : 2014-2015 Cours : Réutilisation et composants TP EJB 2

Filière : M2 informatique Année universitaire : 2014-2015 Cours : Réutilisation et composants TP EJB 2 Université Montpellier II Faculté des Sciences Département Informatique Filière : M2 informatique Année universitaire : 2014-2015 Cours : Réutilisation et composants TP EJB 2 Objectifs du TD Développer

Plus en détail

Ingénierie des Modèles. Transformations de Modèles

Ingénierie des Modèles. Transformations de Modèles Ingénierie des Modèles Transformations de Modèles Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Types de transformation Raffinement Projection

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Bibliographie utilisée

Bibliographie utilisée Android View, onclick, Activity, Modèle Vue Contrôleur jean-michel Douin, douin au cnam point fr version : 26 Septembre 2012 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html

Plus en détail

JUnit 3.8 / JUnit 4. P. Graffion

JUnit 3.8 / JUnit 4. P. Graffion JUnit 3.8 / JUnit 4 P. Graffion février 2015 Objectifs Framework de tests écrit pour faciliter : l écriture de tests tests unitaires tests de recette l exécution de ces tests l exploitation de ces tests

Plus en détail

Programme de cette formation Java me Java Micro Edition Travaux pratiques Développement MIDP Travaux pratiques Les interfaces utilisateurs avec JME

Programme de cette formation Java me Java Micro Edition Travaux pratiques Développement MIDP Travaux pratiques Les interfaces utilisateurs avec JME Java ME Plan Programme de cette formation Java me Java Micro Edition - Utilisations de la plateforme JME. L'architecture et les composantes essentielles (machines virtuelles, configurations, profils et

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java Nicolas Dumoulin nicolas.dumoulin@cemagref.fr Cemagref Laboratoire d ingénierie pour les systèmes complexes 2010 Notes aux lecteurs Ce document est un support de cours qui

Plus en détail

Introduction au développement en couches

Introduction au développement en couches Introduction au développement en couches Lorsque l on est débutant en programmation, on entend souvent dire qu il est important de développer ses applications en utilisant des couches, en séparant le code

Plus en détail

Micro guide Struts. par Jérémy Buget

Micro guide Struts. par Jérémy Buget Micro guide Struts par Jérémy Buget Table des matières 1) Introduction...2 2)Définitions...3 2) Déroulement...4 3) Schéma récapitulatif...5 4) Code des différents composants sus-cités... 6 5)Liens utiles...

Plus en détail

TP1 : Traducteur «Français-Anglais»

TP1 : Traducteur «Français-Anglais» TP1 : Traducteur «Français-Anglais» Objectifs : créer deux activités, basculer entre activités, passer des paramètres entre activités, utiliser un service Internet pour faire réaliser une traduction, utiliser

Plus en détail

Programmation Java. Redéfinition de méthode (masquage)

Programmation Java. Redéfinition de méthode (masquage) Programmation Java Programmation objet avec Java Concepts plus avancés Christelle Urtado & Sylvain Vauttier Janvier 2013 Redéfinition de méthode (masquage) Une sous-classe peut redéfinir le code de méthodes

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

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

MVC avec. Lens 21-o2-o6 Duquesnoy G.

MVC avec. Lens 21-o2-o6 Duquesnoy G. MVC avec Lens 21-o2-o6 Duquesnoy G. Références www.springframework.org C. Walls & R. Breindenbach : «Spring in action», Manning 2oo5 Plan MVC Exemple Type WEB-INF JSP Composants MVC Définition Modèle structurant

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

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

Création d'un convertisseur SQL SiTools

Création d'un convertisseur SQL SiTools Création d'un convertisseur SQL SiTools 1 - Introduction Un convertisseur permet de transformer la requête SQL, envoyé par la webapp SiTools à la webapp catalog ou l'inverse. C'est à dire que cette conversion

Plus en détail

Dossier de livraison PPE Gestion Commerciale

Dossier de livraison PPE Gestion Commerciale Dossier de livraison PPE Gestion Commerciale p. 1 Sommaire I. Guide utilisateur -------------------------------------------------------- p3 II. III. IV. Base de données ---------------------------------------------------------

Plus en détail

Cours de Java Cours III : Les Interfaces Graphiques. Benjamin FAUCHER Cubis-Helios Consulting

Cours de Java Cours III : Les Interfaces Graphiques. Benjamin FAUCHER Cubis-Helios Consulting Cours de Java Cours III : Les Benjamin FAUCHER Cubis-Helios Consulting Cours III : Les Interfaces Graphiques I. Introduction II. AWT : Frame et Panel III. AWT : Composants graphiques IV. Evènements V.

Plus en détail

Design Pattern (1/3) Design Pattern (2/3)

Design Pattern (1/3) Design Pattern (2/3) Design Pattern (1/3) Un pattern (ou design pattern) décrit : une situation constituant un problème souvent rencontré dans le développement d'applications une (ou plusieurs) solution(s) type(s) à ce problème,

Plus en détail

Cours 13. Les classes abstraites Les méthodes abstraites Les interfaces. F. Gayral 1

Cours 13. Les classes abstraites Les méthodes abstraites Les interfaces. F. Gayral 1 Cours 13 Les classes abstraites Les méthodes abstraites Les interfaces F. Gayral 1 Un exemple pour mieux comprendre Pas d'instanciation d'un humain : un humain, c'est - soit un homme - soit une femme Humain

Plus en détail

Programmation Réseau RMI. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! UFR Informatique

Programmation Réseau RMI. Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr. ! UFR Informatique Programmation Réseau RMI Jean-Baptiste.Yunes@univ-paris-diderot.fr armand@informatique.univ-paris-diderot.fr UFR Informatique 2014 Les RMI de Java Les applications RMI sont des applications bâties sur

Plus en détail

Algorithmique Programmation

Algorithmique Programmation Algorithmique Programmation 2ème partie DUT en alternance CNAM 2007-2008 2 Table des matières 1 Premiers Pas en Programmation Objet : les Classes et les Objets 7 1.1 Définir une Classe........................................

Plus en détail

1.Programmation en Java : notions de base, orienté objet et héritage

1.Programmation en Java : notions de base, orienté objet et héritage Travaux pratique de Méthodologie et Langage de Programmation,, TP1 1 1.Programmation en Java : notions de base, orienté objet et héritage Cette séance de TP a pour objectif d'introduire à la programmation

Plus en détail

PROGRAMME ANDROID. I) Création d une activité réagissant au click comme un bouton

PROGRAMME ANDROID. I) Création d une activité réagissant au click comme un bouton PROGRAMME ANDROID Que ce soit de la création de jeux, de l informatique de gestion toute la problématique lorsque on tente de comprendre comment fonctionne tous les jeux va être de dégager, les différents

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

1 Le Parking revisité

1 Le Parking revisité Module I6 - Manipulation de threads II 13 décembre 2012 1 Le Parking revisité Une société de gestion de parkings de voitures souhaite mettre en place un système automatique d affichage en temps réel de

Plus en détail

Module UserInterface

Module UserInterface Manuel Utilisateur Module User Interface Date dernière révision : 02/2011 Ce Module n est plus maintenu La documentation utilisateur de WinDesign se décompose en : U5 manuels généraux 1 Installation Administration

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Standards Objets OMG - ODMG ODL - OQL. Plan. Introduction à l'odmg: Object Definition Language (ODL) Object Query Language (OQ)

Standards Objets OMG - ODMG ODL - OQL. Plan. Introduction à l'odmg: Object Definition Language (ODL) Object Query Language (OQ) Plan Standards Objets OMG - ODMG ODL - OQL Introduction à l'odmg: Contenu de la proposition; Architecture d'un SGBDO; Object Definition Language (ODL) Object Query Language (OQ) 1 2 Tirés des documents

Plus en détail

Développement d un client REST, l application Vélib

Développement d un client REST, l application Vélib Développement d un client REST, l application Vélib Description du thème Propriétés Description Intitulé long Formation concernée Matière Présentation Application en C# qui utilise un service REST informant

Plus en détail

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30

INF 103 Langage JAVA. Contrôle du 7 janvier 2015 Durée : 1h30 INF 103 Langage JAVA Contrôle du 7 janvier 2015 Durée : 1h30 Nom : Prénom : Casier : Groupe :........ Écrire les réponses directement sur les feuilles du sujet dans les cases prévues à cet effet. Le barème

Plus en détail

TD : Compilation d exercices et d extraits d examens

TD : Compilation d exercices et d extraits d examens TD : Compilation d exercices et d extraits d examens 1. Classes et visibilité a. Parmi les appels suivant indiquez ceux qui sont corrects et ceux qui ne le sont pas public class A { public int i ; private

Plus en détail

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions

Arbres binaires. Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions Arbres binaires Illustration avec des arbres binaires de décision Généricité bornée Synthèse sur les assertions et les exceptions FMIN220 Structures de données Université de Montpellier 2015 FMIN220 (UM)

Plus en détail

Cours de Programmation Orientée Objet

Cours de Programmation Orientée Objet Contrat et application à la librairie standard JAVA mailto:marc.champesme@lipn.univ-paris13.fr 6 février 2011 1 Qu est ce qu une classe? Un exemple en JAVA Résumé Expression du contrat Par des commentaires

Plus en détail

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau)

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Année 2008-2009 Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction

Plus en détail

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

APPLICATIONS JAVA. 1. Android. Android Partie I. Développement d'activités Java sous Android

APPLICATIONS JAVA. 1. Android. Android Partie I. Développement d'activités Java sous Android APPLICATIONS JAVA Android Partie I Ivan MADJAROV - 2014 Applications Java sous Android IvMad, 2011-2014 2 1. Android Développement d'activités Java sous Android L'objectif principal de ce cours est de

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

Projet. Coloration lexicale et indentation de code Java

Projet. Coloration lexicale et indentation de code Java Université Paris Diderot Programmation Orientée Objet L3 Année 2011-2012 Projet Coloration lexicale et indentation de code Java Le but de ce projet est de développer un programme qui prend en entrée un

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

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

Sérialisation sur le système de fichiers. Gestion des exceptions en Java.

Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {pnom.nom}@univ-st-etienne.fr

Plus en détail

Android Gestion des données. Rémi Forax

Android Gestion des données. Rémi Forax Android Gestion des données Rémi Forax Types de stockage Android fourni plusieurs types de stockage Données actives d'une activité (Bundle) Fichier ressources read-only (répertoire res) Préférence partageable

Plus en détail

Composition dynamique dans WComp : les modèles LCA et SLCA

Composition dynamique dans WComp : les modèles LCA et SLCA Composition dynamique dans WComp : les modèles LCA et SLCA Jean-Yves Tigli, Stéphane Lavirotte, Gaëtan Rey Equipe Rainbow, Laboratoire I3S, UMR CNRS 6070, Université de Nice Sophia Antipolis, Email : @unice.fr

Plus en détail

RICM 4 ème année 12/1/2012

RICM 4 ème année 12/1/2012 RICM 4 ème année 12/1/2012 Examen de Systèmes Répartis Durée : 2h, Documents autorisés à l exception des livres. Le barème est indicatif. Partie A Applications Web Question 1. Dans un répertoire contenant

Plus en détail

TP SIN Programmation sur androïde Support : eclipse

TP SIN Programmation sur androïde Support : eclipse TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale

Plus en détail