Programmation Java. Madalina Croitoru



Documents pareils
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Éléments de programmation et introduction à Java

Programmation Web. Madalina Croitoru IUT Montpellier

Évaluation et implémentation des langages

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

TP1 : Initiation à Java et Eclipse

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

CATALOGUE DES FORMATIONS LANGUES

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Annexe : La Programmation Informatique

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

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

TP1 : Initiation à Java et Eclipse

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

Architectures web/bases de données

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Chapitre I Notions de base et outils de travail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Développement des Systèmes d Information

Architecture Orientée Service, JSON et API REST

Mise en œuvre des serveurs d application

LICENCE PROFESSIONNELLE

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

Visual Paradigm Contraintes inter-associations

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Programmation en Java IUT GEII (MC-II1) 1

java : Langage et Environnement

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

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

10. Base de données et Web. OlivierCuré

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Module BD et sites WEB

Java Licence Professionnelle CISII,

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Ingénieur Développement Nouvelles Technologies

Systèmes en réseau : Linux 1ère partie : Introduction

PostgreSQL, le cœur d un système critique

Rebol, un langage «différent»

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

La technologie Java Card TM

Cours 1: Java et les objets

2 Chapitre 1 Introduction

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Vulgarisation Java EE Java EE, c est quoi?

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Chapitre 1 Qu est-ce qu une expression régulière?

Le génie logiciel. maintenance de logiciels.

Mercredi 15 Janvier 2014

Java pour le Web. Cours Java - F. Michel

Panorama des solutions analytiques existantes

Hébergement de sites Web

Z i e d Z a i e r ( )

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Projet de Veille Technologique

Portage et développement de jeux Java sur téléphones mobiles. Licence Professionnelle SIL 25 juin 2007

Compte Rendu d intégration d application

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

DUT Informatique, orientation Imagerie Numérique

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET

Patrons de Conception (Design Patterns)

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Paul FLYE SAINTE MARIE

Devenez un véritable développeur web en 3 mois!

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Cours en ligne Développement Java pour le web

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

Bases Java - Eclipse / Netbeans

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

les techniques d'extraction, les formulaires et intégration dans un site WEB

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

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

Projet de développement

Bases de données cours 1

Diplôme Universitaire Technologique Spécialité Informatique. Période du stage: 05 Avril Juin 2004

PG208, Projet n 3 : Serveur HTTP évolué

W4 - Workflow La base des applications agiles

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Introduction à Java. Philippe Genoud.

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Famille IBM WebSphere Application Server

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Java - la plateforme

Environnements de Développement

Administration de systèmes

Introduction à l informatique en BCPST

Présentation du Framework BootstrapTwitter

Qu'est-ce que le BPM?

Java c est quoi? Java pourquoi?

Modelio by Modeliosoft

Formation en Logiciels Libres. Fiche d inscription

Transcription:

Programmation Java Madalina Croitoru

Madalina Croitoru 2002 2006 Univ. Aberdeen 2006 2008 Univ. Southampton Depuis 2008 Univ. Montpellier II Contact: Page web: www.lirmm.fr/~croitoru/teaching.html Email: croitoru@lirmm.fr K105 Bâtiment K IUT Montpellier (prendre rendez-vous avant)

Plan du cours Historique (1 semaine) Syntaxe Basique (2 semaines) Classes et Tableaux (4 semaines) Héritage (2 semaines) Exceptions (1 semaine) Interface langage (1 semaine) Interfaces graphiques et événements (3 semaines)

Notation et organisation Chaque semaine 4 h (Cours TP) 2 TP notés (semaine 5 et semaine 9) (4h travail individuel) 1 projet (rendu semaine 13 travail en binôme) Note finale: TP1: 30% TP2: 30% Projet: 40%

Java - historique Langage de programmation informatique orienté objet créé par James Gosling et Patrick Naughton employés de Sun Microsystems (Sun est sur le point d'être racheté par Oracle Corporation) présenté officiellement le 23 mai 1995 au SunWorld.

Philosophie Lors de la création du langage Java, il avait été décidé que ce langage devait répondre à 5 objectifs: simple, orienté objet et familier ; robuste et sûr ; indépendant de la machine employée pour l'exécution ; très performant ; interprété, multi-tâches tâches et dynamique. [voir: http://fr.wikipedia.org/wiki/java_(langage)]

Contexte historique 1965-1980 Programme = un modèle réduit - reproduction des entités du monde réel Simula, Smalltalk 1980-1990 Montée des services R&D chez les gros industriels -> développement des méthodes C++, Eiffel, Ada9X, Object-Cobol, Smalltalk 1990-2010 1990 2010 Diffusion généralisée Java, Python, C#, UML

Contexte historique 1965-1980 Programme = un modèle réduit - reproduction des entités du monde réel Simula, Smalltalk 1980-1990 Montée des services R&D chez les gros industriels -> développement des méthodes C++, Eiffel, Ada9X, Object-Cobol, Smalltalk 1990-2010 1990 2010 Diffusion généralisée Java, Python, C#, UML, Php

Introduction - Les domaines Domaines pénétrés ét é Systèmes d information Bases de données (objet-relationnel) Intelligence Artificielle Programmation standard, distribuée, concurrente, interface graphiques, scientifique, q, etc.

Exercice Faites un schéma de l application suivante: On doit modéliser la bibliothèque de l IUT liut qui gère des livres scientifiques dans tous les domaines: informatique, mathématiques, physique etc. L application doit permettre de rentrer les livres existants t dans la bibliothèque et tles noms, prénoms, no carte étudiant, no personnel etc. des lecteurs. L application doit permettre d afficher une liste des livres prêtés (informatique, mathématiques, livres plutôt applicatifs, etc.)

Introduction - Les principes L équation de la programmation par objets Objets Messages Programme = objets + envoi de messages

Introduction - Les principes L équation de la programmation par objets Objets Messages Héritage Programme = objets + envoi de messages

Introduction - Les bénéfices Réutilisabilité briques bien délimitées, généralisation encouragée Extensibilité par spécialisation Stabilité les concepts d un domaine sont plus stables que les fonctions Passage à l échelle structuration modulaire

Introduction - A propos de Java Une allure C++ syntaxe, constructeurs, classes paramétrées (Java 1.5) Mais un langage simplifié pas d héritage multiple, de surcharge d opérateurs, de classes paramétrées (avant Java 1.5) Et s inspirant des stratégies Smalltalk semi-compilé/semi-interprété, machine virtuelle API riche Allocation/récupération dynamique, ramasse-miettesmiettes

Langages compilés Pascal, ADA, C, C++,... Fichier source Fichier code machine Autres fichiers compilés (bibliothèques ) compilation Édition de liens Fichier exécutable code machine lié à l architecture de la machine exécution

Lisp, Prolog, shell Unix, Langages interprétés Javascript, php,... Fichier source Autres fichiers sources chargés à la demande Exécution par un interpréteur Interprétation : traduction du code source en code machine «à la volée»

Et Java?.java Fichier source.class Fichier code machine compilation pseudo-code Byte-code exécution Interprétation du pseudo-code Pseudo-code : code pour une machine abstraite possède des fonctionnalités communes à toutes les architectures par une "machine virtuelle"

Pré-compilation en un code universel (pseudo-code ou byte-code) donc indépendant de toute architecture Puis interprétation ti par une machine virtuelle (propre à chaque architecture de machine) Vieille idée : voir le 1er Pascal + portabilité du code compilé - exécution moins rapide (toutefois il existe des compilateurs en code natif)

Le succès de Java a d'abord été lié au web Client Navigateur 1 Intro.html? Serveur Serveur web 3 Visualisation du document 2 Intro.html

Applet programme invoqué dans un document HTML et exécuté par un navigateur <OBJECT classid="http://www.ici.fr/monapp.class"> </OBJECT> (depuis HTML 4, <OBJECT> remplace <APPLET>)

Trois sortes de programmes Java Applet : programme invoqué dans un document HTML et exécuté par un navigateur Application : programme "classique" Servlet programme invoqué par un serveur web et exécuté sur la machine du serveur