SlideShare una empresa de Scribd logo
1 de 14
Institut des Nouvelles Technologies de
l’Information
Programmation Orientée Objet
application au langage Java
Animé par: Mme Ouaz Ines
Introduction
Animé par : Mme Ouaz Ines2
 Java est un langage de programmation
moderne développé par Sun
Microsystems (aujourd'hui racheté par
Oracle).
 Ne pas le confondre avec JavaScript
(langage de scripts utilisé
principalement sur les sites web).
 On peut faire de nombreuses sortes de
programmes avec Java :
 des applications, sous forme de fenêtre
ou de console ;
 des applets, qui sont des programmes
Java incorporés à des pages web ;
 des applications pour appareils mobiles,
avec J2ME ;
 et bien d'autres ! J2EE, JMF, J3D pour la
3D...
Quelques chiffres
Animé par : Mme Ouaz Ines3
 97% des machines d'entreprises ont une JVM installée
 Java est téléchargé plus d'un milliards de fois chaque
année
 Il y a plus de 9 millions de développeurs Java dans le
monde
 Java est un des langages les plus utilisé dans le monde
 Tous les lecteurs de Blue-Ray utilisent Java
 Plus de 3 milliards d'appareils mobiles peuvent mettre en
œuvre Java
 Plus de 1,4 milliards de cartes à puce utilisant Java sont
produites chaque année
Historiques Java (1)
Animé par : Mme Ouaz Ines4
 En 1991: Sun mis en place un projet « Green Project » confié à
James Gosling, Patrick Naughton et Mike Sheridan fait
naissance à la plateforme « Oak » , indépendante du système,
orientée objet et légère.
 En 1995: Java profite de l'essor d'Internet en permettant l'un
des premiers mécanismes d'interactivité au niveau du poste
client : l'appliquette (applet) Java et lancement officiel de Java
1.0
 1996: Lancement de l’utilisation de la machine virtuelle JDK
1.0.
 1997 : Un premier pas vers une version industrielle Java 1.1
 1999 : Version industrielle de Java (Formalisation des
environnements J2ME, de J2SE et J2EE )
Historiques Java (2)
Animé par : Mme Ouaz Ines5
 2000 : Lancement de J2SE 1.3.
 2002 : Lancement de J2SE 1.4.
 2003 : Lancement de J2EE 1.4.
 2004 : Lancement de J2SE 1.5, nommé également « J2SE 5.0 ».
 2006 : Lancement de JavaSE 6, nommé également « Mustang ».
Et Passage de Java, c’est-à-dire le JDK et les environnements
Java EE et Java ME sous licence GPL. Java devient donc un
logiciel libre.
 2010 : Sun Microsystem est racheté par Oracle. Désormais, Java
est maintenu par la société Oracle.
 2011 : Lancement de JavaSE 7, nommé également « Dolphin ».
 2014 : Lancement de JavaSE 8, nommé également « Kenaï ».
Editions Java
Animé par : Mme Ouaz Ines6
 Sun/Oracle fournit gratuitement un ensemble d'outils et
d'API pour permettre le développement de programmes
avec Java. Ce kit, nommé JDK (Java Developpement Kit).
 Le JRE (Java Runtime Environment) contient uniquement
l'environnement d'exécution de programmes Java.
 Trois plate-formes d'exécution:
 Java Standard Edition (J2SE / Java SE) : environnement
d'exécution et ensemble complet d'API pour des applications
de type desktop.
 Java Enterprise Edition (J2EE / Java EE) : environnement
d'exécution reposant intégralement sur Java SE pour le
développement d'applications d'entreprises.
 Java Micro Edition (J2ME / Java ME) : environnement
d'exécution et API pour le développement d'applications sur
appareils mobiles et embarqués.
Types d’application
Animé par : Mme Ouaz Ines7
 Avec différentes éditions, les types d'applications qui
peuvent être développées en Java sont nombreux et
variés :
 Applications desktop
 Applications web : servlets/JSP, portlets, applets
 Applications pour appareil mobile (MIDP) : midlets
 Applications pour appareil embarqué (CDC) : Xlets
 Applications pour carte à puce (Javacard) : applets Javacard
 Applications temps réel
Pourquoi Java?
Animé par : Mme Ouaz Ines8
 Java est interprété: le source est compilé en pseudo code ou
bytecode puis exécuté par un interpréteur Java : la Java Virtual
Machine (JVM)
 Java est portable : il est indépendant de toute plate-forme
 Java est orienté objet: plusieurs classes qui sont utilisées les
unes avec les autres pour former une application.
 Java est simple
 Java est fortement typé: pas de conversion automatique qui
risquerait une perte de données
 Java assure la gestion de la mémoire
 Java est sûr: la sécurité fait partie intégrante du système
d'exécution et du compilateur.
 Java est économe
 Java est multitâche: il permet l'utilisation de threads qui sont
des unités d'exécutions isolée
Principe de fonctionnement (1)
Animé par : Mme Ouaz Ines9
 Source Java
 Fichier utilisé lors de la phase de programmation
 Le seul fichier réellement intelligible par le programmeur!
 Byte-Code Java
 Code objet destiné à être exécuté sur toute « Machine Virtuelle »
Java
 Provient de la compilation du code source
 Machine Virtuelle Java
 Programme interprétant le Byte-Code Java et fonctionnant sur un
système d’exploitation particulier
 Il suffit de disposer d’une « Machine Virtuelle » Java pour pouvoir
exécuter tout programme Java même s ’il a été compilé avec un
autre système d’exploitation
Principe de fonctionnement (2)
Animé par : Mme Ouaz Ines10
 Création du code source
 A partir des spécifications (par
exemple en UML)
 Outil : éditeur de texte, IDE
 Compilation en Byte-Code
 A partir du code source
 Outil : compilateur Java
 Diffusion sur l’architecture cible
 Transfert du Byte-Code seul
 Outils : réseau, disque, etc
 Exécution sur la machine cible
 Exécution du Byte-Code
 Outil : Machine Virtuelle Java
Installation de JDK
Animé par : Mme Ouaz Ines11
 Le JDK (Java Development Kit , Kit de Développement) représente l’outillage
indispensable au développeur Java. Ce kit contient les outils nécessaires
pour programmer en java, exécuter ses programmes java, tester ses
programmes java et livrer ses programmes java à ses clients.
 Le JDK contient 3 trois pacquages :
 J2Sdk1.7.exe : Kit de développement
 Jre1.7.exe : Machine virtuelle java
 jdk17-doc.zip : Documentation java
 les programmes nécessaires au développement java sont placés dans le
répertoire c:jdk1.7bin à savoir:
 javac.exe : Compilateur java.
 java.exe : Interpréteur du byte-code java.
 Javadoc.exe : Générer la documentation de vos programmes java.
 jar.exe : Permet de compresser les classes Java ainsi que tous les fichiers
nécessaires à l'exécution d'un programme (graphiques, sons, etc.). Il
permet en particulier d'optimiser le chargement des applets sur Internet.
Les outils Java
Animé par : Mme Ouaz Ines12
 Un Editeur de texte: on peut utiliser un simple éditeur comme
notepad de windows mais il est préférable d’utiliser un éditeur
conçu pour la programmation java.
 IDE: Integrated Development Environment (Environnement de
développement intégré):
 Eclipse
 NetBeans
 Jbuilder…
 Plusieurs versions d’Eclipse dédié pour les applications Desktop
ainsi que les applications J2EE :
 Eclipse Mars (4.5)
 Eclipse Luna 4.4
 Eclipse Kepler (4.3)
 Eclipse Juno (4.2)
 Eclipse Indigo (3.7)
IDE Eclipse
Animé par : Mme Ouaz Ines13
1. nouveau général : cliquer sur ce bouton revient à faire
Fichier > Nouveau ;
2. enregistrer : revient à faire CTRL + S ;
3. imprimer : ai-je besoin de préciser ?
4. exécuter la classe ou le projet spécifié : nous verrons ceci
plus en détail ;
5. créer un nouveau projet : revient à faire
Fichier > Nouveau > Java Project ;
6. créer une nouvelle classe : créer un nouveau fichier. Cela
revient à faire Fichier > Nouveau > Classe.
Résumé:
Animé par : Mme Ouaz Ines14
 La JVM est le cœur de Java.
 Elle fait fonctionner vos programmes Java, précompilés en byte code.
 Les fichiers contenant le code source de vos programmes Java ont
l'extension .java.
 Les fichiers précompilés correspondant à vos codes source Java ont
l'extension .class.
 Le byte code est un code intermédiaire entre celui de votre programme et
celui que votre machine peut comprendre.
 Un programme Java, codé sous Windows, peut être précompilé sous Mac et
enfin exécuté sous Linux.
 Votre machine NE PEUT PAS comprendre le byte code, elle a besoin de la
JVM.
 Tous les programmes Java sont composés d'au moins une classe.
 Le point de départ de tout programme Java est la méthode public static void
main(String[] args).
 On peut afficher des messages dans la console grâce à ces instructions :
 System.out.println

Más contenido relacionado

La actualidad más candente

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java IntroductionMouna Torjmen
 
Java 110605092007-phpapp02
Java 110605092007-phpapp02Java 110605092007-phpapp02
Java 110605092007-phpapp02Eric Bourdet
 
Environnement java
Environnement javaEnvironnement java
Environnement javaInes Ouaz
 
CV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EECV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EESid Ahmed Benkraoua
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemeStéphane Traumat
 
Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Laurent Guérin
 
Cv Moez HAMZAOUI JAVA J2EE FULL STACK
Cv Moez HAMZAOUI JAVA J2EE FULL STACKCv Moez HAMZAOUI JAVA J2EE FULL STACK
Cv Moez HAMZAOUI JAVA J2EE FULL STACKMoez Hamzaoui
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Siham Rim Boudaoud
 
Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8Microsoft
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)G²FOSS ENIT
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 

La actualidad más candente (20)

POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
 
Java 110605092007-phpapp02
Java 110605092007-phpapp02Java 110605092007-phpapp02
Java 110605092007-phpapp02
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Environnement java
Environnement javaEnvironnement java
Environnement java
 
Mohamed -CV 2016
Mohamed -CV 2016 Mohamed -CV 2016
Mohamed -CV 2016
 
J2EE vs .NET
J2EE vs .NETJ2EE vs .NET
J2EE vs .NET
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
CV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EECV Ingénieur développeur JAVA/EE
CV Ingénieur développeur JAVA/EE
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Cv Moez HAMZAOUI JAVA J2EE FULL STACK
Cv Moez HAMZAOUI JAVA J2EE FULL STACKCv Moez HAMZAOUI JAVA J2EE FULL STACK
Cv Moez HAMZAOUI JAVA J2EE FULL STACK
 
Cours Android
Cours AndroidCours Android
Cours Android
 
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
Mémoire de Licence, site web dynamique sous JEE, application aux entreprises ...
 
Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8Visual Studio 2012 pour Windows 8
Visual Studio 2012 pour Windows 8
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 

Destacado

Bordeaux - Enquête Entreprises 2008
Bordeaux - Enquête Entreprises 2008Bordeaux - Enquête Entreprises 2008
Bordeaux - Enquête Entreprises 2008unemarquepourbordeaux
 
Sample
SampleSample
Samplesaieq
 
Dossier de presse les nuits 2010
Dossier de presse les nuits 2010Dossier de presse les nuits 2010
Dossier de presse les nuits 2010Olivier Segonne
 
Le moment Arago : photographie, sciences et démocratie (M5CHS) seconde séance
Le moment Arago : photographie, sciences et démocratie (M5CHS) seconde séanceLe moment Arago : photographie, sciences et démocratie (M5CHS) seconde séance
Le moment Arago : photographie, sciences et démocratie (M5CHS) seconde séanceOlivier Beuvelet
 
G1 chap 1 sur 2 approche des territoires du quotidien
G1 chap 1 sur 2 approche des territoires du quotidienG1 chap 1 sur 2 approche des territoires du quotidien
G1 chap 1 sur 2 approche des territoires du quotidienCompagnonjbd
 
Motion4 oser plusloinplusvite_ps-2012
Motion4 oser plusloinplusvite_ps-2012Motion4 oser plusloinplusvite_ps-2012
Motion4 oser plusloinplusvite_ps-2012OPLPV
 
EL DESTINO QUE ELEGIMOS
EL DESTINO QUE ELEGIMOSEL DESTINO QUE ELEGIMOS
EL DESTINO QUE ELEGIMOSIn Out Network
 
Pl report-1
Pl report-1Pl report-1
Pl report-1dali
 
Choeur contemporain pour l'église St-Hillaire de Melle
Choeur contemporain pour l'église St-Hillaire de MelleChoeur contemporain pour l'église St-Hillaire de Melle
Choeur contemporain pour l'église St-Hillaire de Mellepelerincom
 
Rap final 2010-193
Rap final 2010-193Rap final 2010-193
Rap final 2010-193Rito Tifa
 
Buying a ticket at the station
Buying a ticket at the stationBuying a ticket at the station
Buying a ticket at the stationMiss Whatford
 

Destacado (20)

Prog aut. 2015-2
Prog aut. 2015-2Prog aut. 2015-2
Prog aut. 2015-2
 
Le palais des papes, avignon
Le palais des papes, avignonLe palais des papes, avignon
Le palais des papes, avignon
 
Louis 6c
Louis 6cLouis 6c
Louis 6c
 
Mission Laurent Grandguillaume rapport final
Mission Laurent Grandguillaume rapport finalMission Laurent Grandguillaume rapport final
Mission Laurent Grandguillaume rapport final
 
Nevera BOSCH KGN39VW21
Nevera BOSCH KGN39VW21Nevera BOSCH KGN39VW21
Nevera BOSCH KGN39VW21
 
Bordeaux - Enquête Entreprises 2008
Bordeaux - Enquête Entreprises 2008Bordeaux - Enquête Entreprises 2008
Bordeaux - Enquête Entreprises 2008
 
Alcohol
AlcoholAlcohol
Alcohol
 
Sample
SampleSample
Sample
 
Dossier de presse les nuits 2010
Dossier de presse les nuits 2010Dossier de presse les nuits 2010
Dossier de presse les nuits 2010
 
Le moment Arago : photographie, sciences et démocratie (M5CHS) seconde séance
Le moment Arago : photographie, sciences et démocratie (M5CHS) seconde séanceLe moment Arago : photographie, sciences et démocratie (M5CHS) seconde séance
Le moment Arago : photographie, sciences et démocratie (M5CHS) seconde séance
 
G1 chap 1 sur 2 approche des territoires du quotidien
G1 chap 1 sur 2 approche des territoires du quotidienG1 chap 1 sur 2 approche des territoires du quotidien
G1 chap 1 sur 2 approche des territoires du quotidien
 
Motion4 oser plusloinplusvite_ps-2012
Motion4 oser plusloinplusvite_ps-2012Motion4 oser plusloinplusvite_ps-2012
Motion4 oser plusloinplusvite_ps-2012
 
EL DESTINO QUE ELEGIMOS
EL DESTINO QUE ELEGIMOSEL DESTINO QUE ELEGIMOS
EL DESTINO QUE ELEGIMOS
 
Pl report-1
Pl report-1Pl report-1
Pl report-1
 
Nevera BOSCH KGN36NW20
Nevera  BOSCH KGN36NW20Nevera  BOSCH KGN36NW20
Nevera BOSCH KGN36NW20
 
Lesson 7
Lesson 7Lesson 7
Lesson 7
 
Choeur contemporain pour l'église St-Hillaire de Melle
Choeur contemporain pour l'église St-Hillaire de MelleChoeur contemporain pour l'église St-Hillaire de Melle
Choeur contemporain pour l'église St-Hillaire de Melle
 
Rap final 2010-193
Rap final 2010-193Rap final 2010-193
Rap final 2010-193
 
Le palais des papes, avignon
Le palais des papes, avignonLe palais des papes, avignon
Le palais des papes, avignon
 
Buying a ticket at the station
Buying a ticket at the stationBuying a ticket at the station
Buying a ticket at the station
 

Similar a Java & Etat de l'art

Similar a Java & Etat de l'art (20)

Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
Introduction à Java
Introduction à JavaIntroduction à Java
Introduction à Java
 
Java 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuchJava 2015 2016_zied_elleuch
Java 2015 2016_zied_elleuch
 
Javaoop
JavaoopJavaoop
Javaoop
 
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
1-supportpoojavapremirepartie-140408132307-phpapp01.pptx
 
1-android.pdf
1-android.pdf1-android.pdf
1-android.pdf
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Introduction JavaEE
Introduction JavaEEIntroduction JavaEE
Introduction JavaEE
 
Hello droid
Hello droidHello droid
Hello droid
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017Être productif avec JHipster - Devoxx France 2017
Être productif avec JHipster - Devoxx France 2017
 
JavaCours1.ppt
JavaCours1.pptJavaCours1.ppt
JavaCours1.ppt
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Ces outils qui vous font gagner du temps
Ces outils qui vous font gagner du tempsCes outils qui vous font gagner du temps
Ces outils qui vous font gagner du temps
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
 
Rapport tp1 j2ee
Rapport tp1 j2eeRapport tp1 j2ee
Rapport tp1 j2ee
 
Java-Introduction (1).pdf
Java-Introduction (1).pdfJava-Introduction (1).pdf
Java-Introduction (1).pdf
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 

Más de Ines Ouaz

Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbcInes Ouaz
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHPInes Ouaz
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Ines Ouaz
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes Ouaz
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap IIIInes Ouaz
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap IIInes Ouaz
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 

Más de Ines Ouaz (14)

Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Examen principal - PHP
Examen principal - PHPExamen principal - PHP
Examen principal - PHP
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 

Java & Etat de l'art

  • 1. Institut des Nouvelles Technologies de l’Information Programmation Orientée Objet application au langage Java Animé par: Mme Ouaz Ines
  • 2. Introduction Animé par : Mme Ouaz Ines2  Java est un langage de programmation moderne développé par Sun Microsystems (aujourd'hui racheté par Oracle).  Ne pas le confondre avec JavaScript (langage de scripts utilisé principalement sur les sites web).  On peut faire de nombreuses sortes de programmes avec Java :  des applications, sous forme de fenêtre ou de console ;  des applets, qui sont des programmes Java incorporés à des pages web ;  des applications pour appareils mobiles, avec J2ME ;  et bien d'autres ! J2EE, JMF, J3D pour la 3D...
  • 3. Quelques chiffres Animé par : Mme Ouaz Ines3  97% des machines d'entreprises ont une JVM installée  Java est téléchargé plus d'un milliards de fois chaque année  Il y a plus de 9 millions de développeurs Java dans le monde  Java est un des langages les plus utilisé dans le monde  Tous les lecteurs de Blue-Ray utilisent Java  Plus de 3 milliards d'appareils mobiles peuvent mettre en œuvre Java  Plus de 1,4 milliards de cartes à puce utilisant Java sont produites chaque année
  • 4. Historiques Java (1) Animé par : Mme Ouaz Ines4  En 1991: Sun mis en place un projet « Green Project » confié à James Gosling, Patrick Naughton et Mike Sheridan fait naissance à la plateforme « Oak » , indépendante du système, orientée objet et légère.  En 1995: Java profite de l'essor d'Internet en permettant l'un des premiers mécanismes d'interactivité au niveau du poste client : l'appliquette (applet) Java et lancement officiel de Java 1.0  1996: Lancement de l’utilisation de la machine virtuelle JDK 1.0.  1997 : Un premier pas vers une version industrielle Java 1.1  1999 : Version industrielle de Java (Formalisation des environnements J2ME, de J2SE et J2EE )
  • 5. Historiques Java (2) Animé par : Mme Ouaz Ines5  2000 : Lancement de J2SE 1.3.  2002 : Lancement de J2SE 1.4.  2003 : Lancement de J2EE 1.4.  2004 : Lancement de J2SE 1.5, nommé également « J2SE 5.0 ».  2006 : Lancement de JavaSE 6, nommé également « Mustang ». Et Passage de Java, c’est-à-dire le JDK et les environnements Java EE et Java ME sous licence GPL. Java devient donc un logiciel libre.  2010 : Sun Microsystem est racheté par Oracle. Désormais, Java est maintenu par la société Oracle.  2011 : Lancement de JavaSE 7, nommé également « Dolphin ».  2014 : Lancement de JavaSE 8, nommé également « Kenaï ».
  • 6. Editions Java Animé par : Mme Ouaz Ines6  Sun/Oracle fournit gratuitement un ensemble d'outils et d'API pour permettre le développement de programmes avec Java. Ce kit, nommé JDK (Java Developpement Kit).  Le JRE (Java Runtime Environment) contient uniquement l'environnement d'exécution de programmes Java.  Trois plate-formes d'exécution:  Java Standard Edition (J2SE / Java SE) : environnement d'exécution et ensemble complet d'API pour des applications de type desktop.  Java Enterprise Edition (J2EE / Java EE) : environnement d'exécution reposant intégralement sur Java SE pour le développement d'applications d'entreprises.  Java Micro Edition (J2ME / Java ME) : environnement d'exécution et API pour le développement d'applications sur appareils mobiles et embarqués.
  • 7. Types d’application Animé par : Mme Ouaz Ines7  Avec différentes éditions, les types d'applications qui peuvent être développées en Java sont nombreux et variés :  Applications desktop  Applications web : servlets/JSP, portlets, applets  Applications pour appareil mobile (MIDP) : midlets  Applications pour appareil embarqué (CDC) : Xlets  Applications pour carte à puce (Javacard) : applets Javacard  Applications temps réel
  • 8. Pourquoi Java? Animé par : Mme Ouaz Ines8  Java est interprété: le source est compilé en pseudo code ou bytecode puis exécuté par un interpréteur Java : la Java Virtual Machine (JVM)  Java est portable : il est indépendant de toute plate-forme  Java est orienté objet: plusieurs classes qui sont utilisées les unes avec les autres pour former une application.  Java est simple  Java est fortement typé: pas de conversion automatique qui risquerait une perte de données  Java assure la gestion de la mémoire  Java est sûr: la sécurité fait partie intégrante du système d'exécution et du compilateur.  Java est économe  Java est multitâche: il permet l'utilisation de threads qui sont des unités d'exécutions isolée
  • 9. Principe de fonctionnement (1) Animé par : Mme Ouaz Ines9  Source Java  Fichier utilisé lors de la phase de programmation  Le seul fichier réellement intelligible par le programmeur!  Byte-Code Java  Code objet destiné à être exécuté sur toute « Machine Virtuelle » Java  Provient de la compilation du code source  Machine Virtuelle Java  Programme interprétant le Byte-Code Java et fonctionnant sur un système d’exploitation particulier  Il suffit de disposer d’une « Machine Virtuelle » Java pour pouvoir exécuter tout programme Java même s ’il a été compilé avec un autre système d’exploitation
  • 10. Principe de fonctionnement (2) Animé par : Mme Ouaz Ines10  Création du code source  A partir des spécifications (par exemple en UML)  Outil : éditeur de texte, IDE  Compilation en Byte-Code  A partir du code source  Outil : compilateur Java  Diffusion sur l’architecture cible  Transfert du Byte-Code seul  Outils : réseau, disque, etc  Exécution sur la machine cible  Exécution du Byte-Code  Outil : Machine Virtuelle Java
  • 11. Installation de JDK Animé par : Mme Ouaz Ines11  Le JDK (Java Development Kit , Kit de Développement) représente l’outillage indispensable au développeur Java. Ce kit contient les outils nécessaires pour programmer en java, exécuter ses programmes java, tester ses programmes java et livrer ses programmes java à ses clients.  Le JDK contient 3 trois pacquages :  J2Sdk1.7.exe : Kit de développement  Jre1.7.exe : Machine virtuelle java  jdk17-doc.zip : Documentation java  les programmes nécessaires au développement java sont placés dans le répertoire c:jdk1.7bin à savoir:  javac.exe : Compilateur java.  java.exe : Interpréteur du byte-code java.  Javadoc.exe : Générer la documentation de vos programmes java.  jar.exe : Permet de compresser les classes Java ainsi que tous les fichiers nécessaires à l'exécution d'un programme (graphiques, sons, etc.). Il permet en particulier d'optimiser le chargement des applets sur Internet.
  • 12. Les outils Java Animé par : Mme Ouaz Ines12  Un Editeur de texte: on peut utiliser un simple éditeur comme notepad de windows mais il est préférable d’utiliser un éditeur conçu pour la programmation java.  IDE: Integrated Development Environment (Environnement de développement intégré):  Eclipse  NetBeans  Jbuilder…  Plusieurs versions d’Eclipse dédié pour les applications Desktop ainsi que les applications J2EE :  Eclipse Mars (4.5)  Eclipse Luna 4.4  Eclipse Kepler (4.3)  Eclipse Juno (4.2)  Eclipse Indigo (3.7)
  • 13. IDE Eclipse Animé par : Mme Ouaz Ines13 1. nouveau général : cliquer sur ce bouton revient à faire Fichier > Nouveau ; 2. enregistrer : revient à faire CTRL + S ; 3. imprimer : ai-je besoin de préciser ? 4. exécuter la classe ou le projet spécifié : nous verrons ceci plus en détail ; 5. créer un nouveau projet : revient à faire Fichier > Nouveau > Java Project ; 6. créer une nouvelle classe : créer un nouveau fichier. Cela revient à faire Fichier > Nouveau > Classe.
  • 14. Résumé: Animé par : Mme Ouaz Ines14  La JVM est le cœur de Java.  Elle fait fonctionner vos programmes Java, précompilés en byte code.  Les fichiers contenant le code source de vos programmes Java ont l'extension .java.  Les fichiers précompilés correspondant à vos codes source Java ont l'extension .class.  Le byte code est un code intermédiaire entre celui de votre programme et celui que votre machine peut comprendre.  Un programme Java, codé sous Windows, peut être précompilé sous Mac et enfin exécuté sous Linux.  Votre machine NE PEUT PAS comprendre le byte code, elle a besoin de la JVM.  Tous les programmes Java sont composés d'au moins une classe.  Le point de départ de tout programme Java est la méthode public static void main(String[] args).  On peut afficher des messages dans la console grâce à ces instructions :  System.out.println