Introduction à JAVA Sylvie Billot

Slides:



Advertisements
Présentations similaires
Cours n° 1 Introduction à la programmation
Advertisements

CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Formation universitaire à .NET: Introduction à C#
Cours 5 : XML et les architectures N-tier Janvier Version 1.0 -
Introduction: Concepts de la programmation
Programmation par Objets 1 Module IN504 Animé par : Marianne Huchard Marie-Laure Mugnier Khalil Ben Mohamed
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Le développement d’applications sous Lotus Notes
(Classes prédéfinies – API Java)
Introduction à Java - les paquetages -
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
INTRODUCTION A JAVA Chapitre 1 : Introduction
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
Architecture de machines Principes généraux
Les Ateliers de Génie Logiciel
1 Une introduction à Java IFT 287 (Semaine 1). 2 Java - Historique Développé par Sun Microsystems en 1994 –Inventeur James Gosling (canadien!) Objectif.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Projet de veille technologique
INF 111 PROGRAMMATION ORIENTÉ-OBJET
Démarche de résolution de problèmes
Mémoire de fin d’études présenté par Amine Brikci-Nigassa
Les instructions PHP pour l'accès à une base de données MySql
Laboratoire d'Informatique de l’Université de Franche-Comté
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
Introduction à la programmation (Java)
Atelier « Créations de sites » : Les techniques de réalisation de sites EPN :...
Bases de la programmation en C++
Introduction à la programmation objet Langage Java
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Formation JAVA. Par: SILMI.S
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 1 : Introduction.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Sensibilisation a la modelisation
Java vs. C++ Pierre-Yves ALIZON – Ingénieurs 2000.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Une introduction à Java
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
Cours 1 1 Java. Cours 1 2 Plan général 1.Introduction 2.Les types primitifs, évaluation d’expressions 3.Instructions for, if…. 4.Introduction de l’objet,
Introduction à la programmation objet avec java
Supports de formation au SQ Unifié
Jeu de Librairies Virtuelles « DLL » Windows pour la réalisation de programmes informatiques.
Premiers pas dans le langage Java 2012/ Premiers pas dans le langage Java TI3.4 Responsable : M lle Sana Ezzedine
Introduction au Génie Logiciel
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
1 Copyright © Oracle Corporation, Tous droits réservés. Présentation des sous-programmes PL/SQL.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Introduction au langage JAVA
La programmation par objets Principes et concepts Etude de Smalltalk.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Logiciel de surveillance de réseaux informatique
Patricia Renault UPMC 2005/2006
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
1.1: notions de bases de l’informatique
Introduction à Java Caractéristiques principales Environnement Java Environnement de développement Compilation et exécution.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Transcription de la présentation:

Introduction à JAVA Sylvie Billot Maître de Conférences en Informatique Laboratoire d’Informatique Fondamentale d’Orléans Université d’Orléans sylvie.billot@lifo.univ-orleans.fr Introduction à Java

Bibliographie Java, la synthèse - G.CLAVEL, N.MIROUZE, S. MUNEROT, E.PICHON, M.SOUKAL (InterEditions 1998) Java par la pratique – P. NIEMEYER et J. PECK (O’Reilly 1996) Apprendre Java et C++ en parallèle – J.B. BOICHAT (Eyrolles 2000) Introduction à Java

Sur l’Internet http://java.sun.com/docs/books/tutorial/ www.eteks.com/coursjava/ www.infres.enst.fr/~charon/coursJava/ http://penserenjava.free.fr/ http://www.club-java.com/ http://www.commentcamarche.net/ Introduction à Java

Qu'est-ce que Java ? Un environnement de programmation pour applications réseaux Un langage de programmation objet (comme C++) Une architecture de «Virtual Machine» (les applications écrites avec JAVA sont indépendantes de la machine réelle) Un ensemble d'interfaces de programmation (Application Programming Interfaces ou API) Un ensemble d'outils (le Java Developer’s Kit) Présentation du langage Java Introduction à Java

Bref historique Historique 1991 : projet Oak (langage pour l'électronique grand public) 1994 : Java / HotJava août 95 : licence vendue à Netscape Sept. 95 : JDK 1.0 b1 Déc. 95 : Microsoft se dit intéressé Janv. 96 : JDK 1.0.1 Eté 96 : Java Study Group ISO/IEC JTC 1/SC22 Fin 96 : RMI, JDBC, JavaBeans, ... Mars 97 : JDK 1.1 Début 98 : JDK1.2 Introduction à Java

Caractéristiques - 1 En Java, tout est «classe» Caractéristiques de Java Données Procédures et Fonctions Programmation «classique» attributs méthodes messages Programmation «objet» Introduction à Java

Brève «histoire» de la programmation -1- Caractéristiques de Java Un programme = une tâche à accomplir, une tâche à résoudre Modéliser cette tâche/ ce problème ALGORITHME Traduire en instructions exécutables par la nachine PROGRAMME Etude des «bonnes méthodes» de conception/programmation = GENIE LOGICIEL Introduction à Java

Brève «histoire» de la programmation -2- Caractéristiques de Java «Préhistoire» : la machine EST le programme, les données sont externes (cartes) Machine de Von Neumann : séparation contrôle (programme) exécution (UC/UAL) données (Mémoire) Langage machine Assembleur (mnémonique) Instructions : FORTRAN, COBOL (années 50) Introduction à Java

Brève «histoire» de la programmation -3- Caractéristiques de Java Langages structurés : ALGOL, Pascal (années 60) blocs d’instructions, procédures, fonctions instructions standards (si, tantque, etc.) typage strict des données Langages modulaires : Modula, Ada (années 70) regrouper les sous-programmes en modules programmer par assemblages de modules Leçon : plus d’abstraction permet plus de sûreté de programmation (programmes plus aisés à concevoir, plus faciles à lire et à maintenir, plus portables) Mais la conception se résume toujour à «Comment faire ?» (i.e. quelle suite d’instructions utiliser?) Introduction à Java

Brève «histoire» de la programmation -4- Caractéristiques de Java Langages déclaratifs : années 60-70 aller plus loin dans l’abstraction en spécifiant seulement ce qu’on veut calculer, en laissant au système le fait de savoir comment faire. La question est alors «Que faire ?» programmation fonctionnelle (LISP) programmation en logique (Prolog) Dans tous ces modèles de programmation, les données restent extérieures, on se concentre sur les traitements Alternative (sous l’influence des méthodes de conception de Bases de Données) : mettre les données au centre des préoccupations, ce sont elles qui détermine les actions. . . Introduction à Java

Brève «histoire» de la programmation -5- Caractéristiques de Java Le modèle objet : Simula (1967), Smalltalk, C++, Java Un programme est un ensemble d’objets indépendants qui collaborent par envoi/réception de messages La question devient «Qui fait quoi ?» Abstraction : la réalité est «conceptualisée» Modularité : le programme est un ensemble d’objets, des modules cohérents et organisés Encapsulation, polymorphisme, surcharge Avantages : lisibilité, maintenance, réutilisabilité, composabilité, extensabilité, unification des méthodes de conception (UML) et des langages (Java) Introduction à Java

Comparaison de Java et C++ Caractéristiques de Java Quasiment la même syntaxe Java plus simple car suppression des notions de Pointeurs Surcharges d’opérateurs Héritage multiple Libération explicite de mémoire (pas besoin de destructeurs en Java) Particularité des chaînes et tableaux (ce sont des objets en Java) Java moins rapide car portabilité Introduction à Java

Caractéristiques - 2 Java est orienté objet Caractéristiques de Java Java est orienté objet simple à prendre en main, il permet de développer rapidement des applications Langage à la fois compilé et interprété : Java produit du byte-code indépendant de la plate forme et interprétable par une machine virtuelle : la Java Virtual Machine (JVM) Introduction à Java

La machine virtuelle + = code source Compilateur code machine système d’exploitation Matériel byte-code Interpréteur Traducteur JVM Caractéristiques de Java code source Compilateur code machine système d’exploitation Matériel système d’exploitation code source Interpréteur Matériel + = Introduction à Java

Caractéristiques - 3 à la fois compilé et interprété : Caractéristiques de Java à la fois compilé et interprété : un programme Java est ainsi exécutable dans n’importe quel environnement disposant d’une JVM Pas de phase d’édition de liens (garantit la PORTABILITE) Java est multi-thread (plusieurs tâches ensembles) Java est distribué (applications clients-serveur) Introduction à Java

Les paquetages centraux de Java String Thread … lang File … io Applet AudioClip … applet URL Socket … net Graphics Component … awt Introduction à Java

Caractéristiques - 4 Java est Caractéristiques de Java Java est robuste (vérification du comportement du code, traitement des exceptions) portable (indépendant de toute architecture) sécurisé (vérification de la légalité du code, fonctionnement du «Class Loader») dynamique (classes chargées selon les besoins) Introduction à Java

Programmer en Java Les applications Les applets S’exécutent dans le système d’exploitation à condition d’avoir installé une machine virtuelle Les applets Petites applications destinées à fonctionner sur un navigateur. Une applet a un champ d’action plus réduit qu’une application. Introduction à Java

Serveurs Web INTERNET Programme Client Programme Serveur Internet requête Internet Document(s) Document(s) ezezrzrerttrrteztr ezrrz Documents Navigateur Introduction à Java

Documents Web Internet INTERNET Plan du cours 1. Introduction 1. Présentation de Java Java est un environnement de programmation pour applications réseaux, orienté objet . . . . Plan du cours 1. Introduction 2. La programmation Objet 3. Des applications Des références : Cours Java de Patrick Itey site de comment ca marche Internet URL : http://www.univ-orleans.fr/billot/plan.html Introduction à Java

page HTML INTERNET <HTML> <HEAD> <TITLE> plan fichier plan.html : <HTML> <HEAD> <TITLE> plan </TITLE> </HEAD> <BODY> <center><b><i>Plan du cours :</i></b></center> <a href="ch1.html#Intro">1. Introduction</a> . . . </BODY> </HTML> Introduction à Java

Liste des films à l’affiche pages dynamiques INTERNET Liste des films à l’affiche à L’Arc C’est la vie 13h30 - 15h30 - 17h30 19h50 - 22h Le journal de Bridget Jones 12h10 - 16h20 - 20h Le petit poucet 12h - 14h Liste des salles Le grand Ecran rue des roses L’Arc place d’Arc Le Martroi place du martroi Introduction à Java

page HTML avec applet INTERNET <HTML> <HEAD> <TITLE> liste des films dans une salle </TITLE> </HEAD> <BODY> <u>Liste des films à l’affiche</u> <applet code = "films.class" width =100 height =50> <param name = "salle" value =$Salle> Votre browser ne supporte pas les applets! </applet> </BODY> </HTML> Introduction à Java

Sécurité en Java Visualiser les scénarios d’attaque INTERNET Visualiser les scénarios d’attaque Concevoir un jeu de base des comportements malveillants Concevoir une architecture de sécurité contre les comportements malveillants Technique globale de protection : n’accepter que les applets signées et cryptées. Introduction à Java

Java Development Kit La Plate-forme de développement Java http://java.sun.com/products ou http://www.javasoft.com La Plate-forme de développement Java JDK 1.0.x : compatibles avec Java 1.0 spécifications originales, API et classes élémentaires JDK 1.1.x : compatibles avec Java 1.1 améliorations + JavaBeans, JDBC, RMI événements, sécurité, servlets, JNI JDK 1.2.x : compatibles avec Java 2 Swing, améliorations des JavaBeans, API Java2D, API d’accessibilité Introduction à Java

Le JDK contient javac : compilateur des sources Java (produit du byte-code) java : interpréteur de byte-code appletviewer : interpréteur d’applets javadoc : générateur de documentation HTML jdb : débogueur javap : un décompilateur (revenir du byte-code au source) jar : compresseur de classes Java La Plate-forme de développement Java Introduction à Java

Les Application Programming Interfaces (API) Ensembles de classes mises à la disposition du programmeur; L’API Java Core contient : java.lang : types de base, Threads, Exceptions java.io : accès aux I/O java.util java.net java.awt java.applet java.math java.text La Plate-forme de développement Java Introduction à Java

Développer avec Java dont une seule est publique. Programmer en Java Une application Java est organisées en modules (package). Un module contient une ou plusieurs définitions de classes dont une seule est publique. Le nom du fichier = celui de la classe publique + «.java» cycle de développement stocker le code source dans un fichier «.java» javac compile ce fichier et le transforme en fichiers de byte-code de suffixe «.class» java (l’interpréteur) charge ce byte-code et le vérifie après vérification, exécution de byte-code Introduction à Java

Une application Java Programmer en Java Le texte public class Bonjour{ public static void main() { System.out.println("Bonjour!!!"); } est sauvegardé dans le fichier «Bonjour.java» Pour compiler :. javac Bonjour.java Cette commande crée le fichier «Bonjour.class» java Bonjour Pour l’exécuter :. Introduction à Java

Une applet Java Programmer en Java Le texte public class BonjourAp extends java.applet.Applet{ public void paint(java.awt.Graphics g) { g.drawString("Bonjour!!!", 125,95); } est sauvegardé dans le fichier «BonjourAp.java» Pour compiler :. javac BonjourAp.java Cette commande crée le fichier «BonjourAp.class» Introduction à Java

Une applet Java (suite) Pour l’exécuter, écrire la page HTML:. Programmer en Java <HTML> <HEAD> <TITLE>l’applet Bonjour </TITLE> </HEAD> <BODY> Voilà le résultat : <applet code = "BonjourAp.class" width =300 height =200> </applet> </BODY> </HTML> puis l’ouvrir avec appletviewer ou son navigateur préféré. . . Introduction à Java

Le phénomène «JAVA» Langage non «propriétaire» Conclusion Langage non «propriétaire» intègre les progrès des deux dernières décennies : objets, exceptions, threads propose toutes les API nécessaires pour programmer les Systèmes d’Information des entreprises environnement d’exécution (portabilité + performance) distribution sur plates-formes variées, en évolution rapide Introduction à Java