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

Interface Homme-Machine 2

Interface Homme-Machine 2 Interface Homme-Machine 2 Architecture MVC Modèle d'interaction asynchrone Jacques Bapst jacques.bapst@hefr.ch Interactions avec le système : modèle et vue L'interface utilisateur est chargée de représenter,

Plus en détail

Programmation évènementielle et GUIs en java

Programmation évènementielle et GUIs en java Adapté de Géry Casiez et Eric Lecolinet Programmation évènementielle et GUIs en java Sylvain Malacria - www.malacria.fr Programmation «classique» Programme principal initialise et appelle des fonctions

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

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

Module B9-1 : sensibilisation à l UML

Module B9-1 : sensibilisation à l UML Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes

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

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

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

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

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

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

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

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

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

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

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

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

/~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

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

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

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

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

Module Complément Java Juin 2007 Licence Informatique 3éme année

Module Complément Java Juin 2007 Licence Informatique 3éme année Module Complément Java Juin 2007 Licence Informatique 3éme année Examen 2ème session Durée : 2 heures Documents autorisés : les polycopiés du cours Probléme A Ci-dessous une classe représentant une liste

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

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

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

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

LOG2420 Analyse et conception d interfaces utilisateur

LOG2420 Analyse et conception d interfaces utilisateur MVC LOG2420 Analyse et conception d interfaces utilisateur Modèle MVC 1/20 LOG2420 Analyse et conception d interfaces utilisateur Modèle MVC Michel C. Desmarais Génie informatique École Polytechnique de

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

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

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Table des matières Système d'exploitation... 3 Environnement de développement intégré... 3 Le workspace... 3 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

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

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

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

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

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3

Chapitre 11. Conception de logiciels Intranet : patrons et canevas NSY 102. Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 NSY102-Chapitre-11_Synthese.doc 1/12 06/01/2014 21:48:04 Chapitre 11 Synthèse 1. SINGLETON 3 1.1. DEFINITION 3 1.2. REFERENCES DANS LE COURS 3 2. OBSERVER/OBSERVABLE 3 2.1. DEFINITION 3 2.2. REFERENCES

Plus en détail

Améliorer les Classes. Chapitre 5: Améliorer les Classes. Affectation Revisitée. Références. Alias. Affectation de Référence

Améliorer les Classes. Chapitre 5: Améliorer les Classes. Affectation Revisitée. Références. Alias. Affectation de Référence Chapitre : Améliorer les Classes Présentation pour Java Software Solutions Foundations of Program Design Deuxième Edition par John Lewis et William Loftus Java Software Solutions est publié par Addison-Wesley

Plus en détail

Précis de vocabulaire Orienté Objet

Précis de vocabulaire Orienté Objet Dernière Mise à jour : Mars 2007 Précis de vocabulaire Orienté Objet 1 Questions Expliquer et donner un exemple pour chacun des concepts suivants 1. Qu'est-ce qu'un objet? 2. Qu'est-ce qu'une classe? 3.

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

Cours: BD et Environnement Distribuées

Cours: BD et Environnement Distribuées UNIVERSITÉ DE BOURGOGNE UFR Sciences et Techniques Cours: BD et Environnement Distribuées TP 4 - Mapping Objet Relationnel Préparé par: MATTA Elie et al. Copyright 2010-2011, eliematta.com. All rights

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

Simulation d'algorithmes distribués Guide Utilisateur

Simulation d'algorithmes distribués Guide Utilisateur Simulation d'algorithmes distribués Guide Utilisateur Sommaire Section 1 Section 2 Section 3 Section 4 Section 5 3 Introduction 3 Configuration minimale 3 Utilisation Construction de graphes 4 La grammaire

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

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

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/ Institut Galilée Année 2015-2016 TP SPRING Programmation et Logiciels sûrs Master 2 PLS Résumé L objectif de ce TP est d être capable de réaliser une application Java de gestion de location de véhicules,voiture

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

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

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

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Université Claude Bernard Lyon 1 UFR d informatique avril 2006 MIAG soir Systèmes d Information Méthodes Avancées TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Introduction Dans ce

Plus en détail

JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition)

JSF 2 avec Eclipse Développement d'applications web avec Java Server Faces (2ième édition) Applications web, servlets et JSP 1. Introduction 15 2. Rappels sur la notion d'application web 15 2.1 Éléments constitutifs d'une application 15 2.2 Vie d'une application 16 3. Les servlets 16 3.1 Présentation

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

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 4 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

Application de gestion de tâche

Application de gestion de tâche Université de Montpellier 2 Rapport TER L3 Application de gestion de tâche Tuteur : M. Seriai Participant : Cyril BARCELO, Mohand MAMMA, Feng LIU 1 er Fevrier 2015 26 Avril 2015 Table des matières 1 Introduction

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

COMPTE RENDU M. Mouad EL MERCHICHI CRJJ GB. Ceci est un résumé du travail effectué dans les TP concernant les scriptlets et le modèle MVC.

COMPTE RENDU M. Mouad EL MERCHICHI CRJJ GB. Ceci est un résumé du travail effectué dans les TP concernant les scriptlets et le modèle MVC. COMPTE RENDU M. Mouad EL MERCHICHI CRJJ GB Ceci est un résumé du travail effectué dans les TP concernant les scriptlets et le modèle MVC. Page 0 Sommaire Introduction... 2 TP I : Scriptlets et Actions...

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

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges

module SIN21 Rendre un syste me communicant Analyse UML et algorithmie 1 Modification du cahier des charges Module SIN221 Rendre un syste me communicant Analyse UML et algorithmie Objectifs : Modifier des diagrammes UML suite à la modification du cahier des charges. Caractériser et valider une classe en C++.

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

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

Conduite et Gestion de Projet Introduction à l architecture MVC

Conduite et Gestion de Projet Introduction à l architecture MVC /17 Conduite et Gestion de Projet Introduction à l architecture MVC Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de

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

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

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

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr) Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes

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

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

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

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

SPRING WEBFLOW Cours JEE - Master 2 Université de Marne-la-Vallée 1 dimanche 14 novembre 2010

SPRING WEBFLOW Cours JEE - Master 2 Université de Marne-la-Vallée 1 dimanche 14 novembre 2010 SPRING WEBFLOW 1 RAPPEL D ARCHITECTURE Persistance des données 2 PROBLÉMATIQUE Comment faire le lien entre mes vues graphiques et ma logique métier en respectant les contraintes (maintenance, coût & temps

Plus en détail

Introduction au débogage avec Eclipse

Introduction au débogage avec Eclipse Introduction au débogage avec Eclipse C. Pain-Barre et H. Garreta IUT INFO Année 2006-2007 1 Notion de debogage Tout développeur est confronté un jour à un programme qui plante pour une raison apparemment

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

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

RMI : Remote Method Invocation Appel de méthodes à distance TD/TP

RMI : Remote Method Invocation Appel de méthodes à distance TD/TP RMI : Remote Method Invocation Appel de méthodes à distance TD/TP Patrice Torguet torguet@irit.fr Université Paul Sabatier But l But du TD/TP : application répartie permettant de gérer des comptes bancaires.

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

WordPress : Guide à l édition

WordPress : Guide à l édition WordPress : Guide à l édition WordPress : Guide à l édition... 1 Présentation... 2 1. Accès au site... 2 2. Le tableau de bord... 2 3. Editez les contenus... 4 Quelle est la différence entre les pages

Plus en détail

Configurer les contrôles Windows Form

Configurer les contrôles Windows Form 1 Configurer les contrôles Windows Form Configurer les contrôles Windows Form Sommaire 1 Introduction... 2 2 Gestion des contrôles composés... 2 2.1 Qu est ce qu un contrôle composé... 2 2.2 Création d

Plus en détail

MVC Modèle-Vue-Contrôleur Exemple d application

MVC Modèle-Vue-Contrôleur Exemple d application MVC Modèle-Vue-Contrôleur Exemple d application 0.1 Rappels La plateforme Spring MVC repose sur un DispatcherServlet qui gère toutes les requêtes. En rappel, nous avons vu lors du cours JSP et servlet

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

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

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

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

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

Découverte de l EDI Visual Studio 2005 mai 2008

Découverte de l EDI Visual Studio 2005 mai 2008 (Environnement : Microsoft Windows) 1- EDI Visual Studio 2005 VB.net EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

Tutoriel QT. Projet Alarme Domestique. ~ TD n 4 ~ SN IR 1 2014-2015 Développement logiciel Programmation Objet. 1. Objectif

Tutoriel QT. Projet Alarme Domestique. ~ TD n 4 ~ SN IR 1 2014-2015 Développement logiciel Programmation Objet. 1. Objectif SN IR 1 2014-2015 Développement logiciel Programmation Objet Tutoriel QT Date : février 2015 Version : 3.2 Référence : Projet Alarme Domestique ~ TD n 4 ~ 1. Objectif Découverte de la programmation sous

Plus en détail

Déclaration des mouvements de main-d œuvre par échange de données informatisées. Informations de mise en œuvre

Déclaration des mouvements de main-d œuvre par échange de données informatisées. Informations de mise en œuvre Ministère du Travail, des Relations sociales, de la Famille et de la Solidarité Déclaration des mouvements de main-d œuvre par échange de données informatisées Informations de mise en œuvre Mai 2008 1/11

Plus en détail

Master M1 Informatique: Analyse et Conception des Logiciels

Master M1 Informatique: Analyse et Conception des Logiciels Master M1 Informatique: Analyse et Conception des Logiciels Pascal Molli Juin 2008 Les documents de cours sont autorisés 1 Exercice en 5 lignes maximums répondez aux questions suivantes : 1. Qu est ce

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr

Java Persistence Api. 1. Introduction. 2. Un premier exemple. 3. L application. benoit.charroux@efrei.fr Java Persistence Api Cet article décrit une application qui illustre comment la sauvegarde d un graphe d objets peut être réalisé en Java Standard Edition via Java Persistence Api. 1. Introduction Java

Plus en détail

Software Design Description Chat System

Software Design Description Chat System Software Design Description Chat System INSA de Toulouse DGEI 4ème année Informatique Cours de COO - POO Binome A1B2 : BAUDU Justine et Micouin Coralie Sommaire Introduction I) Présentation du contexte

Plus en détail

ENSI. Visual C++ Initiation

ENSI. Visual C++ Initiation ENSI Visual C++ Initiation Tables des matières 1. LES MFC (MICROSOFT FOUNDATION CLASSES)...3 1.1 DÉFINITION... 3 1.2 L ESPACE DE TRAVAIL... 3 2. CRÉER UN NOUVEAU PROJET...5 2.1 ETAPE 1 : CHOISIR LE TYPE

Plus en détail

TP : éléments pour créer une IHM en JAVA

TP : éléments pour créer une IHM en JAVA TP : éléments pour créer une IHM en JAVA Objectif : découvrir les grands principes pour créer une interface convivial entre l utilisateur et la machine (Interface-Homme-Machine :IHM) par une initiation

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

Formulaires Web avec Spring Web MVC

Formulaires Web avec Spring Web MVC Formulaires Web avec Spring Web MVC Spring propose un framework MVC pour faciliter la programmation d applications Web : Spring Web MVC. Au fil des ans ce framework a supplanté Struts pour être à présent

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

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

Application Android par défaut

Application Android par défaut Projet Android À la création d un projet Android (IDE netbeans) tout un ensemble de répertoires et de fichiers sont engendrés. Source Packages : là où seront les sources de votre application. Generated

Plus en détail