Académique Documents
Professionnel Documents
Culture Documents
GROUPE 1
MEMBRES DU GROUPE
ASSAMBA MICHEL (chef de groupe) 21P257
LETCHO MEKJELE (sous-chef) 21P307
WONG MENDOUGA 21P366
MOUOLLY ROBERT 21P015
ETEMINLEME OBAM 21P346
DJINA CEDRICK 21P364
AKONO ELEMBENG 23P785
DOMO WILFRIED 21P418
3- Caractéristiques : ........................................................................................................................ 9
3- Caractéristiques de Java............................................................................................................ 20
4- C# VS JAVA ................................................................................................................................ 28
2
VII. APPLICATION DE JAVA .............................................................................................................. 33
1- Applications Web de JAVA ........................................................................................................ 33
3- Brève explication des trois environnements Java: J2SE, J2ME et J2EE. ................................... 54
3
Listes des Figures et des Tableaux
Figure 2 ................................................................................................................................................. 16
Figure 3 ................................................................................................................................................. 16
Figure 7 ................................................................................................................................................. 38
Figure 8 ................................................................................................................................................. 41
Figure 9 ................................................................................................................................................. 49
Figure 10 ............................................................................................................................................... 50
Figure 11 ............................................................................................................................................... 53
Figure 12 .............................................................................................................................................. 57
Figure 13 ............................................................................................................................................... 57
Figure 14 ............................................................................................................................................... 60
Figure 15 .............................................................................................................................................. 61
Figure 16 ............................................................................................................................................... 61
Figure 17 ............................................................................................................................................... 61
Figure 18 .............................................................................................................................................. 62
Figure 19 ............................................................................................................................................... 62
Figure 20 ............................................................................................................................................... 63
Figure 21 ............................................................................................................................................... 63
Figure 22 .............................................................................................................................................. 64
Figure 23 ............................................................................................................................................... 65
Figure 24 ............................................................................................................................................... 67
Figure 25 ............................................................................................................................................... 68
Figure 26 ............................................................................................................................................... 68
Tableau 1............................................................................................................................................... 50
Tableau 2............................................................................................................................................... 65
Tableau 3............................................................................................................................................... 66
Tableau 4............................................................................................................................................... 67
4
Résumé
Java offre une structure modulaire claire et facile à comprendre pour les programmes. Les objets
créés dans des programmes orientés objet peuvent être réutilisés dans d’autres programmes, ce qui
permet d’économiser des coûts de développement importants Facilité de Maintenance : La POO
permet de créer des applications plus modulaires et faciles à maintenir. En utilisant Java, vous pouvez
développer des applications de bureau, des applications Web et des applications mobiles
l’Encapsulation et Sécurité des Données : Java permet de sécuriser les données en définissant des
règles d’accès et de modification. L’encapsulation traduit un univers complexe en petits ensembles
simples et autonomes (objets).
JDK (Java Development Kit) : Pour suivre ce cours, vous aurez besoin d’un environnement de
développement Java. L’installation du JDK dépend de votre plate-forme : Windows et MacOS :
Téléchargez l’installeur JDK depuis le site d’Oracle. Linux : Téléchargez-le package ou l’archive JDK.
Assurez-vous d’installer le JDK plutôt que le JRE (Java Runtime Environment), car le JRE ne contient
pas les outils nécessaires pour développer en Java. IDE (Environnement de Développement Intégré) :
Vous aurez également besoin d’un IDE pour Java. Dans le cadre de cette formation, nous utiliserons
Eclipse. Voici comment télécharger Eclipse : Pour Windows : Télécharger Eclipse IDE for Java
Developers Pour MacOS : Télécharger Eclipse IDE for Java Developers Pour Linux : Télécharger Eclipse
IDE for Java Developers Configuration d’Eclipse : Après avoir lancé Eclipse, vérifiez la version de Java
utilisée par l’IDE et modifiez-la si nécessaire. Dans les préférences utilisateur, recherchez « jre » (pour
Java Runtime Environment) et sélectionnez « Installed JREs ». Vérifiez que le JDK installé est dans la
liste des JRE détectés par Eclipse. Cochez le JDK pour qu’il soit l’environnement d’exécution par défaut
pour tous les projets.
5
ABSTRACT
Java provides a clear and easy-to-understand modular structure for programs. Objects created
in object-oriented programs can be reused in other programs, saving significant development
costs Ease of Maintenance: OOP allows for the creation of more modular and easy-to-maintain
applications. Using Java, you can develop applications that are easy to use Web & Mobile
Applications Encapsulation & Data Security: Java helps secure data by defining access and
modification rules. Encapsulation translates a complex universe into small, simple,
autonomous ensembles (objects).
JDK (Java Development Kit): To take this course, you will need a Java development
environment. The installation of the JDK depends on your platform: Windows and MacOS:
Download the install JDK from the Oracle Linux website: Download the JDK package or
archive. Be sure to install the JDK rather than the JRE (Java Runtime Environment), as the JRE
does not contain the tools needed to develop in Java. IDE (Integrated Development
Environment): You will also need an IDE for Java. As part of this training, we will be using
Eclipse. Here's how to download Eclipse: For Windows: Download Eclipse IDE for Java
Developers For MacOS: Download Eclipse IDE for Java Developers for Linux: Download
Eclipse IDE for Java Developers Eclipse configuration: After launching Eclipse, check the
version of Java used by the IDE and change it if necessary. In User Preferences, search for "jre"
(for Java Runtime Environment) and select "Installed JREs". Verify that the installed JDK is
in the list of JREs detected by Eclipse. Check the JDK to be the environment
6
Introduction
La base de l’éducation au cours du dernier millénaire était « la lecture, l’écriture et
l’arithmétique » ; aujourd’hui, c’est la lecture, l’écriture et l’informatique. Apprendre à
programmer est une partie essentielle de l’éducation de chaque étudiant en sciences et en génie.
Au-delà des applications directes, il s’agit d’une première étape pour comprendre la nature de
l’impact indéniable de l’informatique sur le monde moderne.
Cet exposé a pour but de poser les fondements de la programmation orientée objet à
ceux qui ont besoin ou veulent l’apprendre, dans un contexte scientifique. Notre objectif
principal est de vous présenter les preuves concrètes de la supériorité de Java sur les autres
langages de programmation orienté objet et les outils de base nécessaires à l’utilisation efficace
de ce dernier. Notre approche consiste à renseigner sur la programmation orienté objet son
utilité et son évolution au cours de ces années, puis l’arrivé de Java sur la scène internationale
les avantages de Java par rapport à tous autres langages de la programmation et ses
caractéristiques enfin que la rédaction d’un programme Java est une expérience naturelle,
satisfaisante et créative (et non une lourde tâche réservée aux experts). Nous introduisons
progressivement des concepts essentiels, embrassons des applications classiques et des
sciences, les concepts pour résoudre des problèmes engageants Les applications dans les
domaines de la science et de l’ingénierie sont un élément clé du texte. Nous motivons chaque
concept de programmation que nous abordons en examinant son impact sur des applications
spécifiques. Nous tirons des exemples des mathématiques appliquées, de la physique et de la
sciences biologiques et l’informatique elle-même, et comprennent la simulation des systèmes
numériques, la visualisation de données, la synthèse sonore, le traitement d’images, la
simulation financière et les technologies de l’information. Etonnant !
Et enfin une présentation de l’interface et de l’environnement Java pour que chacun soit
familiarisé avec les concepts JDK JVM JRE etc… puis nous termineront par la procédure
d’installation des outils essentiels pour bien débuter dans ce nouveau langage aux multiples
applications.
7
I. La Programmation Orientée Objet
Appelé simplement POO, La Programmation Orientée Objet (POO) a été introduite par Alan
Kay avec le langage Smalltalk. Cependant, ses principes n’ont été formellement établis que
dans les années 1980 et surtout 1990. Le langage Simula 67 a également posé les bases des
langages orientés objet à classes, en introduisant des concepts tels que la classe, le
polymorphisme, l’héritage, etc. Smalltalk 71 et Smalltalk 80, fortement inspirés par Simula 67
et Lisp, ont véhiculé les principes de la programmation orientée objet tels que les objets,
l’encapsulation, les messages, le typage et le polymorphisme. En somme, Alan Kay et les
travaux réalisés autour de Smalltalk ont joué un rôle essentiel dans la création et la
popularisation de la POO.
➢ La POO a été introduite dans les années 1960 avec le langage Simula 67, qui a posé les
bases des concepts tels que les classes, l’héritage et le polymorphisme. Alan Kay a
popularisé la POO avec le langage Smalltalk dans les années 1970.
➢ Dans les années 1980, la POO a été adoptée par des langages populaires tels que C++
et Objective-C. C++, créé par Bjarne Stroustrup, a ajouté des fonctionnalités telles
que les constructeurs, les destructeurs et la surcharge d’opérateurs. Objective-C,
développé par Brad Cox et Tom Love, a été utilisé pour le développement
d’applications Mac et iOS.
➢ Java, apparu dans les années 1990, a popularisé la POO grâce à sa portabilité, sa
robustesse et sa machine virtuelle Java (JVM).
➢ C#, développé par Microsoft, est fortement influencé par Java et est utilisé pour les
applications Windows et .NET.
➢ Python et Ruby, apparus dans les années 1990, ont simplifié la POO avec leur syntaxe
concise et expressive.
➢ C++ (1983) : C++ est une extension du langage C qui ajoute la POO. Il est largement
utilisé dans le développement système et les applications graphiques.
➢ Objective-C (1984) : Utilisé principalement pour le développement d’applications
Mac et iOS.
➢ Eiffel (1986) : Conçu pour la fiabilité et la qualité du logiciel.
8
➢ Common Lisp Object System (CLOS, 1988) : Une extension orientée objet du
langage Lisp.
1- Origines
2- Création de Python :
Le 20 février 1991, Guido van Rossum publie la première version de Python. Python est
conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et
une syntaxe simple à utiliser. Il est placé sous une licence libre proche de la licence BSD et
fonctionne sur la plupart des plateformes informatiques, des smartphones aux ordinateurs
centraux, de Windows à Unix (notamment GNU/Linux), en passant
par MacOs, Android et iOS.
3- Caractéristiques :
9
4- Popularité et Utilisation :
Python est utilisé dans de nombreux contextes et s’adapte à tout type d’utilisation grâce à
des bibliothèques spécialisées. Il est particulièrement répandu dans le monde scientifique,
pour le calcul numérique, l’informatique quantique, l’intelligence artificielle, le traitement
des Big Data et le Machine Learning.
En résumé, Python a évolué au fil du temps et reste l’un des langages les plus populaires et
polyvalents.
Le 23 mai 1995, Sun Microsystems présentait une nouvelle plateforme, composée d'un
langage de programmation et d'une machine virtuelle. Java™ était né.
L'histoire de Java commence en fait en 1991, lorsque Sun décide de lancer un projet
destiné à anticiper l'évolution de l'informatique, confié à James Gosling, Patrick
Naughton et Mike Sheridan. Ce projet, appelé « Green Project » (en anglais « projet
vert »), eu comme résultat une plateforme baptisée « Oak » (en anglais « chêne »),
indépendante du système, orientée objet et légère. Oak était initialement destinée à la
télévision interactive. Il a été renommé en Java pour de simples raisons de droit d'auteur.
Lorsqu'il est révélé 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.
Langage orienté objet d'usage généraliste, Java est enrichi par des bibliothèques, des
outils et des environnements très diversifiés, standardisés par le Java Community Process
(JCP), consortium chargé de l'évolution de Java. Ce consortium regroupe des entreprises,
comme Sun, IBM, Oracle, Borland, BEA, des organismes de normalisation, comme le
NIST, des organismes du monde Open Source, comme la Fondation Apache et le JBoss
Group, et des particuliers.
Il est possible d'utiliser Java pour créer des logiciels dans des environnements très
diversifiés :
10
➢ Applications embarquées (J2ME) ;
➢ Applications sur carte à puce (Java Card).
Ceci n'est bien sûr qu'un petit échantillon. Il existe bien d'autres bibliothèques.
11
o Le langage OAK a évolué pour devenir ce que nous connaissons aujourd’hui
sous le nom de Java.
o En 1994, après une recherche de marque, il a été découvert que le nom OAK
était déjà utilisé par Oak Technology. Par conséquent, le projet a été renommé
Java.
o Java 1.0 a finalement été publié en 1996.
En résumé, le Projet OAK a donné naissance à Java, qui est devenu l’un des langages de
programmation les plus populaires et influents au monde.
2. Suite de l’historique
➢ Été 1992 : première présentation interne des possibilités de Oak. Un appareil appelé
« Star Seven » permet de visualiser une animation montrant Duke, l'actuelle mascotte
de Java.
➢ 1994 : Développement de HotJava, un navigateur internet entièrement écrit en Java.
➢ 23 mai 1995 : Lancement officiel de Java 1.0
➢ 23 janvier 1996 : Lancement du JDK 1.0.
➢ 29 mai 1996 : Première conférence JavaOne. Java Media et les servlets y sont
notamment annoncés.
➢ 16 août 1996 : Premières éditions des livres Java Tutorial et Java Language
Specification par Sun et Addison-Wesley.
➢ Septembre 1996 : Lancement du site Web Java Developer Connection Web.
➢ 16 octobre 1996 : Spécification des JavaBeans.
➢ 11 janvier 1997 : Lancement des JavaBeans.
➢ 18 février 1997 : Lancement du JDK 1.1.
➢ 28 février 1997 : Netscape annonce que Communicator supporte désormais Java.
➢ 4 mars 1997 : Lancement des servlets.
➢ 10 mars 1997 : Lancement de JNDI.
➢ 5 juin 1997 : Lancement de Java Web Server 1.0.
➢ 5 août 1997 : Lancement de Java Media et de Java Communication API.
➢ Mars 1998 : Lancement des JFC et notamment de Swing.
12
➢ 8 décembre 1998 : Lancement de Java 2 et du JDK 1.2.
➢ 4 mars 1999 : Support XML.
➢ 27 mars 1999 : Lancement de la machine virtuelle HotSpot.
➢ 2 juin 1999 : Lancement des JSP.
➢ 15 juin 1999 : Formalisation des environnements J2ME, de J2SE et J2EE ; Lancement
de Java TV.
➢ Août 1999 : Lancement de Java Phone.
➢ 8 mai 2000 : Lancement de J2SE 1.3.
➢ 9 mai 2002 : Lancement de J2SE 1.4.
➢ 24 novembre 2003 : Lancement de J2EE 1.4.
➢ 30 septembre 2004 : Lancement de J2SE 1.5, nommé également « J2SE 5.0 » ou
« Tiger ».
➢ 11 décembre 2006 : Lancement de JavaSE 6, nommé également « Mustang ».
➢ 13 novembre 2006 : Passage de Java, c’est-à-dire le JDK (JRE et outils de
développement) et les environnements Java EE (déjà sous licence CDDL) et Java ME
sous licence GPL. Java devient donc un logiciel libre.
➢ 27 janvier 2010 : Sun Microsystem est racheté par Oracle. Désormais, Java est
maintenu par la société Oracle. Ce qui nous amène à présenter brièvement la société
Oracle
Oracle Corporation, fondée en 1977 par Larry Ellison, Bob Miner et Ed Oates, est une
entreprise américaine majeure dans le domaine des logiciels et de la technologie.
Voici quelques points clés de l’histoire d’Oracle :
- Débuts :
13
- Acquisitions :
➢ Au fil des années, Oracle a acquis plusieurs entreprises pour élargir son portefeuille
de produits :
➢ En 2005, Oracle a racheté Retek, éditeur de solutions pour la distribution et les grands
magasins.
- Oracle et Java :
➢ L’acquisition de Sun Microsystems en 2010 a fait d’Oracle le propriétaire
de Java.
➢ La communauté des logiciels libres a exprimé sa méfiance envers Oracle,
craignant que ses pratiques agressives ne nuisent aux projets open source
issus de Sun.
Lorsque Oracle a acquis Sun Microsystems en 2010, cela a suscité des inquiétudes au sein de
la communauté des logiciels libres. Voici quelques raisons pour lesquelles la méfiance s’est
développée :
14
- Java :
➢ L’acquisition de Sun a fait d’Oracle le propriétaire de Java, un langage de
programmation et une plateforme de développement très populaires.
➢ La communauté craignait qu’Oracle ne restreigne l’utilisation de Java ou
ne modifie les licences d’utilisation.
- MySQL :
➢ Sun Microsystems était également le propriétaire de MySQL, une base de
données open source très utilisée.
➢ La communauté s’inquiétait qu’Oracle ne favorise sa propre base de
données (Oracle Database) au détriment de MySQL.
- OpenOffice.org :
- Licences et Litiges :
➢ Oracle a été impliqué dans des litiges juridiques avec d’autres entreprises,
ce qui a renforcé les craintes concernant ses pratiques agressives.
➢ La communauté redoutait que ces litiges n’affectent les projets open source.
- Fermeture de Projets :
En fin de compte, bien que certaines inquiétudes se soient avérées fondées, Oracle a également
continué à soutenir certains projets open source issus de Sun. La relation entre Oracle et la
communauté open source reste complexe et controversée.
15
IV. Présentation de la programmation orientée
objet
La programmation orientée objet (POO) est un paradigme de programmation informatique qui
consiste en la définition et l’interaction de briques logicielles appelées objets. Voici quelques
éléments essentiels à retenir sur la POO :
1. Objets : Un objet représente un concept, une idée ou toute entité du monde physique.
Par exemple, un bouton sur un ordinateur, une personne avec son nom et son adresse,
une musique, ou même une voiture. Presque tout peut être considéré comme un objet.
2. Classes : Les objets sont conceptualisés dans des classes. Une classe d’objets définit
les attributs (caractéristiques) et les méthodes (actions) que peuvent effectuer ces
objets. Par exemple, une classe “Voiture” pourrait avoir des attributs comme “couleur”
et “marque”, ainsi que des méthodes comme “démarrer” et “arrêter”.
3. Héritage et polymorphisme : La POO permet de créer des classes réutilisables. Une
classe peut être utilisée par le programme pour lequel elle a été créée, mais aussi par
d’autres programmes orientés objet. L’héritage permet de créer de nouvelles classes
basées sur des classes existantes, tandis que le polymorphisme permet à une classe
d’avoir différentes formes (par exemple, une classe “Animal” peut avoir des sous-
classes comme “Chien” et “Chat”).
4. Sécurité et modularité : En masquant les fonctions et variables de l’objet, le
programmeur crée un code source parfois complexe mais facilement utilisable. Cela
renforce la sécurité du système et évite la corruption accidentelle de données.
Figure 1
Figure 2
16
La POO est largement utilisée dans le développement logiciel, mais aussi dans des domaines
tels que la data science. Par exemple, les data scientists utilisent souvent le langage Python, qui
offre de nombreuses librairies contenant des classes réutilisables. En résumé, la POO permet
de structurer un programme en éléments de code simples et réutilisables, facilitant ainsi la
maintenance et les mises à jour.
• Des applets, à partir d'une page HTML (internet, réseau local ou en local sur la
machine). Pour cela, il faut que le navigateur possède une extension permettant
d'utiliser une machine virtuelle Java pour l'exécution de ces applets.
17
1- Extension de Java et leurs applications
Java, l’un des langages de programmation les plus utilisés au monde, offre une variété
d’extensions et de bibliothèques pour développer des applications. Voici un aperçu des
éléments clés et de leurs applications :
➢ Composants du JDK :
18
- Java Virtual Machine (JVM):
➢ Grâce à la JVM, les programmes Java sont portables, car le bytecode reste le
même quel que soit l’environnement d’exécution
Java, Café ? Est-ce la même chose, ou y a-t-il une différence entre java et café ? Vous devez
comprendre que nous ne parlons pas de logiciel informatique, Java.
Beaucoup de gens font référence au café en tant que java aussi. Mais pourquoi ? Il est
intéressant de comprendre pourquoi le café est appelé Java, et ce qu’est réellement une tasse
de Joe. Voici quelques informations que vous pourriez trouver intéressantes en ce qui
concerne ces surnoms.
19
Au cours des années 1800, le café a été introduit et est devenu célèbre. L’île qui produisait le
café à cette époque s’appelait Java. C’est pourquoi le surnom du café est devenu Java. À
cause de l’île d’origine. Ce qui est étrange avec le café, c’est qu’il a une grande variété de
noms différents. Et ces noms ont des significations différentes. Chaque pays ou culture
prépare le café différemment, et il a un nom et une signification différents pour le café. Java
et « a cup of Joe » sont juste pour nommer deux variétés différentes de surnoms de café.
3- Caractéristiques de Java
➢ Simple :
o La syntaxe de Java est basée sur C++, mais elle est épurée des concepts
complexes et déroutants tels que les pointeurs et l’héritage multiple.
o Depuis la version 8, Java prend en charge les interfaces fonctionnelles,
introduisant ainsi l’héritage multiple sans la gestion des attributs.
➢ Orienté objet :
o Tout en Java est un objet. Le langage suit une approche orientée objet, où les
logiciels sont organisés en combinaison d’objets contenant à la fois des
données et des comportements.
➢ Portable :
o Java est indépendant de la plateforme. Vous pouvez écrire du code une fois et
l’exécuter sur différentes plates-formes telles que Windows, Linux, Solaris,
etc.
➢ Sécurisé :
➢ Robuste :
20
➢ Interprété :
o Le code Java est compilé en bytecode, qui est ensuite exécuté dans
une machine virtuelle Java (JVM).
➢ Hautes performances :
➢ Multithread :
➢ Distribué :
o Java est utilisé pour développer des applications client-serveur grâce aux
servlets et aux JavaServer Pages (JSP).
➢ Définition :
o Chaque module contient des fonctions, des méthodes et d’autres éléments liés.
21
➢ Avantages de la programmation modulaire :
o Réutilisation de code : Les traitements encapsulés dans les modules peuvent être
réutilisés dans plusieurs parties de l’application ou dans différentes applications.
➢ Gestion de projet :
La programmation modulaire en Java est essentielle pour créer des applications bien
structurées et faciles à maintenir. Voici quelques points clés sur la programmation modulaire
en Java :
o Chaque module contient des classes, des interfaces et d’autres éléments liés.
➢ Types de modules :
22
➢ Dépendance entre modules :
o Cela permet d’ajouter des fonctionnalités sans modifier les modules existants.
o Isolation : Les modules sont isolés les uns des autres, ce qui facilite la
maintenance et la mise à jour.
Python et Java sont deux des langages de programmation les plus populaires. Voici un bref
comparatif entre les deux :
23
➢ Syntaxe et Lisibilité : Python est célèbre pour sa simplicité et sa lisibilité. Sa
syntaxe intuitive et son absence de typage obligatoire en font un langage facile à
apprendre et à comprendre, idéal pour les débutants. Java, quant à lui, utilise une
syntaxe plus verbeuse avec des conventions strictes. Cela peut rendre le code plus
long et potentiellement complexe à lire.
En résumé, Python est plus simple à apprendre et à utiliser, tandis que Java brille en termes de
performances, d’applications d’entreprise et de connectivité robuste avec les bases de données.
24
2- Comparaison Java et Ruby
➢ Orienté objet : Ruby langage orienté objet avec un support intégré pour les classes,
objets et l'héritage. Java langage orienté objet avec un système de classes et d'objets
robuste.
➢ Développement web : Ruby utilisé dans le développement web avec le framework Ruby
on Rails, connu pour sa productivité. Java utilisé dans le développement web avec des
frameworks comme Spring et Hibernate
25
les entreprises pour le développement d'applications d'entreprise en raison de sa
robustesse et de sa scalabilité.
Java est plus rapide que Ruby en raison de sa compilation en bytecode, ce qui en fait un choix
préféré pour les applications nécessitant des performances élevées. Le typage statique de Java
permet une détection précoce des erreurs de type lors de la compilation, améliorant la fiabilité
du code. Java offre un contrôle plus fin sur la gestion de la mémoire, ce qui peut aider à
optimiser les performances des applications. Java est largement utilisé dans les entreprises pour
le développement d'applications d'entreprise en raison de sa robustesse, de sa sécurité et de sa
scalabilité.
3- OBJECTIF-C VS JAVA
➢ Syntaxe : La syntaxe d'Objective-C est plus verbeuse et complexe que celle de Java,
avec l'utilisation de crochets pour les messages aux objets. La syntaxe de Java est plus
claire, concise et plus proche du langage naturel, ce qui la rend plus facile à lire et à
comprendre.
➢ Typage : Objective-C typage dynamique, les types des variables sont vérifiés lors de
l'exécution. Java typage statique, les types des variables doivent être déclarés
explicitement lors de la compilation.
26
➢ Communauté et écosystème : Objective-C communauté active mais plus restreinte que
celle de Java, avec un écosystème moins étendu.
➢ Orienté objet : Objective-C langage orienté objet avec une syntaxe spécifique pour la
programmation orientée objet. Java langage orienté objet avec un support intégré pour
les classes, objets et l'héritage.
Java est très portable grâce à la JVM, ce qui permet d'exécuter du code Java sur différentes
plates-formes sans modification du code source, contrairement à Objective-C qui est
principalement utilisé sur les appareils Apple. Java est généralement plus performant en raison
de son typage statique et de sa compilation en bytecode, offrant des performances supérieures
à celles d'Objective-C. Java offre une gestion automatique de la mémoire grâce au ramasse-
miettes, réduisant les risques de fuites de mémoire par rapport à Objective-C qui nécessite une
gestion manuelle avec le comptage de références ou ARC. Java dispose d'une grande
communauté active et d'un écosystème solide avec de nombreux outils, bibliothèques et
frameworks bien établis, offrant un support et des ressources étendus pour les développeurs.
Java a une syntaxe plus claire, concise et plus proche du langage naturel que celle d'Objective-
C, ce qui le rend plus facile à apprendre et à utiliser pour les développeurs.
27
4- C# VS JAVA
1. Syntaxe :
- C# : La syntaxe de C# est similaire à celle de Java, avec une approche plus orientée objet et
des fonctionnalités modernes telles que les propriétés et les événements.
- Java : La syntaxe de Java est claire, concise et proche du langage naturel, ce qui la rend facile
à lire et à comprendre.
2. Typage :
- C# : Typage statique, les types des variables doivent être déclarés explicitement lors de la
compilation.
- Java : Typage statique, les types des variables doivent être déclarés explicitement lors de la
compilation.
3. Performance :
- C# : Les performances de C# sont comparables à celles de Java, offrant une exécution rapide
des programmes.
- Java : Java est généralement performant en raison de son typage statique et de sa compilation
en bytecode.
4. Portabilité :
- C# : Moins portable que Java en raison de son utilisation principalement sur les plateformes
Microsoft. - Java : Très portable grâce à la JVM, permettant d'exécuter du code Java sur
différentes platesformes sans modification du code source.
5. Communauté et écosystème :
6. Orienté objet :
- C# : Langage orienté objet avec une syntaxe spécifique pour la programmation orientée objet.
28
- Java : Langage orienté objet avec un support intégré pour les classes, objets et l'héritage.
7. Gestion de la mémoire :
8. Développement web :
- Java : Également utilisé pour le développement web avec des frameworks tels que Spring et
Java EE.
9. Apprentissage et adoption :
- C# : Facile à apprendre pour les développeurs familiarisés avec d'autres langages comme Java
ou C++, grâce à sa syntaxe similaire.
- Java : Recommandé pour sa simplicité et sa popularité, souvent utilisé pour les projets de
développement rapide et pour l'enseignement de la programmation.
1. Portabilité : Java est très portable grâce à la JVM, permettant d'exécuter du code Java sur
différentes plates-formes sans modification du code source, contrairement à C# qui est
principalement utilisé sur les plateformes Microsoft.
3. Gestion de la mémoire : Java offre une gestion automatique de la mémoire grâce au ramasse-
miettes, réduisant les risques de fuites de mémoire par rapport à C# qui utilise également un
Garbage Collector mais peut avoir des limitations sur certaines plateformes.
29
5. Simplicité : La syntaxe claire, concise et proche du langage naturel de Java le rend plus facile
à apprendre et à utiliser pour les développeurs par rapport à C#, ce qui peut être un avantage
pour les débutants ou ceux qui cherchent une transition en douceur depuis d'autres langages.
5- JAVA VS C++
1. Syntaxe :
- C++ : La syntaxe de C++ est plus complexe et moins intuitive que celle de Java en raison de
sa nature plus bas niveau et de la gestion manuelle de la mémoire.
- Java : La syntaxe de Java est claire, concise et proche du langage naturel, ce qui la rend plus
facile à lire et à comprendre que C++.
2. Typage :
- C++ : Typage statique, les types des variables doivent être déclarés explicitement lors de la
compilation.
- Java : Typage statique, les types des variables doivent être déclarés explicitement lors de la
compilation.
3. Performance :
- Java : Java est moins performant que C++ en termes de vitesse d'exécution en raison de sa
compilation en bytecode et de sa gestion automatique de la mémoire.
4. Gestion de la mémoire :
- C++ : Gestion manuelle de la mémoire, ce qui peut entraîner des fuites de mémoire et des erreurs
si elle n'est pas correctement gérée.
5. Portabilité :
30
- C++ : Moins portable que Java en raison de sa compilation directe en code machine spécifique à
une plateforme.
- Java : Très portable grâce à la JVM, permettant d'exécuter du code Java sur différentes plateformes
sans modification du code source.
6. Sécurité :
- C++ : Moins sécurisé que Java en raison de son accès direct à la mémoire, ce qui le rend vulnérable
aux erreurs de gestion de la mémoire et aux attaques par débordement de tampon.
- Java : Plus sécurisé que C++ grâce à sa gestion automatique de la mémoire et à son modèle de
sécurité robuste.
7. Communauté et écosystème :
- C++ : Communauté active mais moins étendue que celle de Java, avec un écosystème varié mais
moins riche en outils et bibliothèques. - Java : Grande communauté, écosystème solide avec de
nombreux outils, bibliothèques et frameworks bien établis.
8. Développement web :
- C++ : Moins utilisé pour le développement web en comparaison avec Java qui est largement utilisé
avec des frameworks comme Spring.
- Java : Utilisé pour le développement web avec des frameworks tels que Spring et Java EE.
9. Apprentissage et adoption :
- C++ : Plus difficile à apprendre pour les débutants en programmation en raison de sa complexité et
de sa gestion manuelle de la mémoire.
Java offre une gestion automatique de la mémoire grâce au Garbage Collector, réduisant les
risques de fuites de mémoire par rapport à C++ qui nécessite une gestion manuelle propice
aux erreurs.Java est très portable grâce à la JVM, permettant d'exécuter du code Java sur
différentes plates-formes sans modifications, contrairement à C++ qui est plus spécifique à
une plateforme. Java est plus sécurisé que C++ en raison de sa gestion automatique de la
mémoire et de son modèle de sécurité robuste, offrant une meilleure protection contre les
attaques. La syntaxe claire et intuitive de Java le rend plus facile à apprendre et à utiliser pour
31
les développeurs par rapport à C++, ce qui peut être un avantage pour les débutants ou ceux
cherchant une transition en douceur depuis d'autres langages
4. Sécurité : Java est réputé pour sa sécurité. Il n’utilise pas de pointeurs explicites et
s’exécute dans un environnement virtuel sécurisé (sandbox). De plus, il dispose
d’algorithmes de sécurité et de protocoles
32
VII. APPLICATION DE JAVA
Java est le langage de développement d'applications d'entreprise le plus populaire car il possède
des fonctionnalités robustes qui correspondent aux besoins actuels de l'industrie. La plupart des
entreprises d'aujourd'hui utilisent des applications Java, et elles le font pour leur sécurité plus
la puissance ainsi que l'évolutivité avec extraordinaire taux de rendement.
Exemples :
- BERP solutions
- CRM solutions
- Business Apps
- Government Apps
- Charity Apps
En dépit d'être le langage qui fournit une structure pour le web applications, Java a récemment
percé dans le cloud développement en raison de sa nature distribuée.Dans ce cadre, il propose
des fonctionnalités exploitables depuis le SaaS (Software en tant que service), IaaS
(infrastructure en tant que service) et plates-formes PaaS telles comme les services Lambda
d'Amazon Web Services ou OpenPop de HPE.
Exemples (Outils):
- Google app engine
- Jelastic
- IBM Smart Cloud
- AWS SDK
Une application Web est un programme client-serveur qui utilise Internet pour interagir avec
les utilisateurs. Java prend en charge le développement de ces types d'applications via des
servlets, struts, et les langages de programmation traditionnels comme C# ou VB .NET, qui
tous fonctionnent bien en combinaison sur le code côté serveur de votre site Web.
Exemples:
- Online Forms
- Google Slides
33
- Google Sheets
- Shopping carts
3- Java et le Hacking
Le hacking est un domaine fascinant qui permet de résoudre des problèmes et d’aider à la
résolution de défis complexes. Voici quelques points importants à considérer concernant le
hacking et son lien avec Java :
2. Java et la vulnérabilité :
o Par conséquent, Java est également une plateforme très vulnérable aux
attaques2.
34
En somme, le hacking est un domaine vaste et passionnant, et Java continue d’être un outil
important dans ce domaine. Si vous souhaitez vous lancer, assurez-vous de suivre des
pratiques éthiques et légales.
La plupart des applications sont développées en Java Micro Edition (J2ME), heureusement, il
y a aussi Kotlin qui peut nous aider à créer des applications compatibles avec les deux
Android Studio ainsi que les services Google Play, donc ils sont beaucoup plus faciles que si
nous faisions tout nous-mêmes à partir de zéro chaque fois que notre humeur modifiée.
Exemples:
- Netflix
- Google Earth
- Uber
- QRReader
- Tinder
Avec l'aide d'API comme AWT et Swing, vous pouvez développer des applications en Java.
L'Abstract Windowing Toolkit (AWT) est une interface conçue pour développer facilement
des programmes basés sur des fenêtres qui ne nécessiteront aucunes connaissances spécialisées
sur les langages de programmation ou les principes de conception.
Exemples:
- Media Player
- ThinkFree
- Acrobat Reader
- Anti-virus
Dans le domaine automobile, le langage Java est utilisé pour diverses applications et systèmes
embarqués. Dans la norme Autosar, les langages d'implémentation comprennent notamment le
C, le CPP et Java. Cependant, en raison des contraintes de mémoire dans certains logiciels
embarqués, Java est souvent exclu de certains composants logiciels, tels que les drivers ou les
éléments fonctionnant dans un environnement temps réel.
35
De plus, des applications de gestion de location de voitures ont été développées en Java,
utilisant des classes Swing et une base de données pour gérer les contrats, les factures, les
réservations, etc. Ces applications offrent une solution pratique pour la gestion des locations
de voitures.
36
Automobiles : Java est utilisé pour les systèmes de divertissement, la navigation et la gestion
des capteurs.
Appareils médicaux : Java est utilisé pour les moniteurs de santé, les scanners et les
équipements médicaux.
Appareils ménagers : Java est utilisé dans les lave-linges, les réfrigérateurs intelligents et les
thermostats.
Pour dire en français simplement qu’il s’agit d’une toute petite Java stack, qui est parfaite pour
les conteneurs, le sans serveur et d’autres scénarios où des applications Java sont exécutées sur
le Cloud.
À la différence de l’exécution native des applications Java, Quarkus offre plusieurs avantages.
Etablissons une différence entre les deux modes supportés par Quarkus :
37
Le code Java écrit avec Quarkus peut être exécuté
normalement dans le JVM. Quoi qu’il en soit, il
existe des avantages considérables en termes de
consommation de mémoire et de temps de
démarrage d’une application en cours d’exécution.
Pour parvenir à cela, Quarkus a recours à quelques
astuces. Plus précisément, un certain
nombre d’étapes chronophages sont déplacées du
processus d’exécution à celui de développement. Figure 3
Avec Quarkus, ces étapes sont menées à bien une seule fois et les résultats sont mis en cache
pour une récupération rapide. Une optimisation complémentaire des performances a lieu via le
fait, pour Quarkus, de réduire la quantité d’information dynamique disponible à
l’exécution. Ceci est remplacé par des constructions statiques correspondantes. C’est
particulièrement utile quant à l’utilisation qui a lieu dans les conteneurs. Une application
conteneurisée n’est de toute façon généralement pas modifiée et est toujours exécutée dans le
même environnement.
Le second mode supporté par Quarkus pour exécuter des applications Java est encore plus
intéressant. Avec la compilation anticipée (AOT), un code machine directement exécutable est
généré depuis la source Java à la place du bytecode, ce qui signifie qu’il n’y a plus besoin d’un
JVM sur le matériel cible. Le programme est uniquement exécutable sur des architectures de
processeur spécifiques et doit être compilé à nouveau sur d’autres plateformes. Quoi qu’il en
soit, cette restriction n’est en général pas pertinente pour un usage dans des conteneurs. Les
économies en termes de consommation de mémoire et de temps de démarrage d’applications
réalisées grâce à la compilation AOT sont tout simplement époustouflantes. Comparez les
niveaux références de performance exposée ci-dessous depuis la page d’accueil officielle de
Quarkus :
38
Quarkus est bien plus qu’une simple structure d’application : ce logiciel a été conçu pour
redéfinir ce que cela signifie de développer des applications avec Java. À titre de rappel :
traditionnellement, il était plus important pour une application Java d’être exécutée de manière
stable sur une longue période. Le temps que mettait une application à démarrer était perçu
comme secondaire.
Prenez les applications basées sur des conteneurs : de nouveaux conteneurs peuvent être lancés
automatiquement par un logiciel d’orchestration. L’application dans le conteneur doit alors être
prête à être immédiatement utilisée. En outre, plusieurs conteneurs redondants sont souvent
lancés pour un même service. La réduction en termes de consommation de ressources réalisée
avec Quarkus est multipliée en conséquence.
39
3. RigFinances :
o Description : Une application de gestion financière pour suivre les transactions
et les dépenses.
o Fonctionnalités : Gestion des transactions, suivi des dépenses, stockage des
données dans une base de données MySQL.
o Lien : RigFinances sur GitHub .
4. CurrencyConverter :
o Description : Une application permettant de convertir différentes devises.
o Fonctionnalités : Conversion de devises, utilisation de Retrofit pour les requêtes
HTTP.
o Lien : CurrencyConverter sur GitHub .
Ces exemples illustrent différentes approches pour gérer les finances personnelles et effectuer
des calculs financiers à l’aide de Java.
Dans le domaine des jeux, Java est largement utilisé pour le développement de jeux vidéo. Il
existe de nombreuses applications de jeux développées en Java, allant des jeux de plateforme
aux jeux de société en passant par les jeux mobiles. De plus, Java est souvent utilisé pour créer
des jeux éducatifs et des jeux de programmation pour apprendre à coder. Les avis des
utilisateurs sur les jeux développés en Java peuvent varier en fonction de la qualité, de la
jouabilité et de l'expérience globale du jeu. Il est important de noter que la popularité et les avis
des utilisateurs peuvent varier en fonction de chaque jeu spécifique, de ses fonctionnalités et
de son attrait pour le public cible. Java dispose d'un puissant moteur 3D (JMonkeyEngine). Et
comme Java est un langage open source gratuit (ainsi que toutes ses fonctionnalités), de
nombreux développeurs de jeux s'en tiennent à Java, attirés par l'absence de frais de licence à
payer. Soit dit en passant, le moteur offre des performances inégalées lors de la conception de
jeux 3D et peut donner à ses pairs coûteux une course pour leur argent. Les jeux Java les plus
populaires sont Minecraft, Les Sims 3, Space Invaders, Contra et Tetris, un peu primitif mais
très apprécié. Un autre fait : Outre le JMonkeyEngine, Java attire également les développeurs
de jeux avec ses frameworks et bibliothèques populaires comme LibGDX et OpenGL.
40
Minecraft est un jeu de construction et d'aventure
populaire disponible sur différentes plateformes.
Cependant, il existe deux versions principales du jeu
: Minecraft Java Edition et Minecraft Bedrock
Edition. Les deux versions offrent une expérience de
jeu unique, mais elles présentent également des
différences clés qu'il est important de note r
Figure 4
Une autre différence importante réside dans les
caractéristiques et fonctionnalités spécifiques de chaque édition. Minecraft Java Edition
possède une communauté active et dynamique qui a créé de nombreux mods et addons
personnalisés. Ces mods et addons permettent aux joueurs d'ajouter de nouvelles
fonctionnalités, de modifier le gameplay et de personnaliser complètement leur expérience de
jeu. D'un autre côté, Bedrock Edition offre une intégration plus fluide avec d'autres
plateformes, permettant aux joueurs de jouer avec des amis sur différents appareils.
Grand Theft Auto (GTA) est une série de jeux vidéo très populaire. Voici quelques
informations sur la relation entre GTA et Java :
o C’est un outil graphique pour éditer les sauvegardes de GTA San Andreas. Il
est écrit en Java et fonctionne sur Windows, macOS, et Linux1.
o SA-MP est un mod multijoueur pour GTA San Andreas. La bibliothèque qui
gère les requêtes dans SA-MP est écrite en Java1.
41
4. GTA V Java Mod Menu:
o Ce projet, bien que discontinué, était un menu mod pour GTA V écrit
en Java. Il utilisait JNA (Java Native Access) pour manipuler la mémoire du
jeu1.
o Un jeu MUD (Multi-User Dungeon) basé sur l’univers de GTA. Il est écrit
en Java et se joue en mode texte via telnet1.
Java est un langage de programmation polyvalent qui trouve également des applications dans
le domaine du génie civil. Voici comment Java peut être utilisé dans ce contexte :
1. Simulation et modélisation :
- Java peut être utilisé pour créer des modèles de simulation pour étudier le comportement
des structures, des matériaux et des systèmes.
Java n’est pas directement utilisé pour les essais mécaniques ou la caractérisation des
matériaux. Cependant, il est essentiel de comprendre les concepts de base des essais
mécaniques et de la science des matériaux pour développer des applications logicielles dans ce
domaine.
Voici quelques informations importantes sur les essais mécaniques et leur relation avec les
matériaux :
1. Essais mécaniques :
42
o Différents types d’essais mécaniques incluent :
2. Applications logicielles :
o Bien que Java ne soit pas directement utilisé pour effectuer des essais
mécaniques, il est couramment utilisé pour développer des logiciels de
simulation et des outils d’analyse dans le domaine des matériaux et de la
mécanique.
o Les ingénieurs et les chercheurs utilisent des logiciels basés sur Java pour
modéliser le comportement des matériaux, simuler des essais virtuels et
analyser les résultats.
3. Exemples d’applications :
43
En résumé, bien que Java ne soit pas directement impliqué dans les essais mécaniques, il est
essentiel pour le développement d’applications logicielles qui soutiennent la recherche, la
simulation et l’analyse dans le domaine des matériaux et de la mécanique.
Java dans la conception assistée par ordinateur et dans la modélisation a une contribution sans
pareille comme nous allons détailler ci-dessous :
Java est utilisé dans AutoCAD, un logiciel de conception assistée par ordinateur (CAO)
largement utilisé dans le domaine du génie civil. Voici quelques informations pertinentes :
1. Utilisation de Java dans AutoCAD :
o Toutes les fonctionnalités d’AutoCAD qui nécessitent Java ont été intégrées
directement dans l’application. Par conséquent, il n’est pas nécessaire
d’installer séparément une version de Java12.
o Pour afficher des informations spécifiques sur Java dans AutoCAD, suivez ces
étapes :
Lancez AutoCAD.
Ouvrez un dessin existant.
Entrez la commande ABOUT dans la ligne de commande.
Faites défiler la liste jusqu’à trouver l’entrée dédiée à Java.
2. Licences Java dans AutoCAD :
o Les informations concernant les licences et l’utilisation de Java sont incluses
dans les informations de licence du produit. Vous pouvez les consulter en
suivant les étapes ci-dessus.
En résumé, Java est utilisé de manière transparente dans AutoCAD, et vous n’avez pas besoin
de vous soucier d’installer Java séparément pour utiliser AutoCAD dans le domaine du génie
civil
44
o Le BIM désigne les outils de modélisation des informations de la construction.
Il s’agit d’un processus qui permet de créer et de gérer des informations pour
les ressources de construction, telles que les bâtiments, les infrastructures et les
installations.
o Le BIM va au-delà de la simple modélisation 3D. Il intègre des données sur la
géométrie, les propriétés physiques, les performances, les coûts, les délais, etc.
2. Avantages du BIM :
o Collaboration améliorée : Le BIM facilite la collaboration entre les différentes
parties prenantes d’un projet (architectes, ingénieurs, entrepreneurs, etc.).
o Visualisation réaliste : Les modèles BIM permettent une visualisation réaliste
des projets avant leur construction.
o Gestion des données : Le BIM centralise les informations, ce qui facilite la
gestion des données tout au long du cycle de vie d’un projet.
o Réduction des erreurs : En utilisant le BIM, les erreurs de conception peuvent
être détectées plus tôt, ce qui réduit les coûts et les retards.
3. Plateformes et ressources :
o BIMobject est une plateforme qui propose des objets BIM gratuits à télécharger.
Elle offre des familles Revit et du contenu BIM pour les architectes, ingénieurs
et concepteurs. Vous pouvez y trouver des produits de différentes catégories tels
que le mobilier, les portes, l’éclairage, la plomberie, etc1.
o Autodesk propose également des solutions BIM, notamment des logiciels
comme Revit pour la modélisation et la coordination des projets de
construction .
En somme, le BIM est un outil essentiel pour la conception, la construction et la gestion efficace
des projets dans l’industrie du bâtiment.
Java est largement utilisé dans le domaine du BIM (Building Information Modeling) pour
développer des applications et des outils qui facilitent la conception, la construction et la
gestion des projets de construction. Voici quelques points clés concernant l’utilisation de Java
dans le contexte du BIM :
1. Plateformes et bibliothèques :
o BIMserver : BIMserver est une plateforme open source écrite en Java qui
permet de stocker, gérer et échanger des modèles BIM au format IFC (Industry
Foundation Classes). Elle offre des fonctionnalités telles que la gestion des
versions, la collaboration et l’accès via une API.
45
o Xeokit : Xeokit est un SDK JavaScript open source qui permet de visualiser des
modèles BIM et AEC (Architecture, Engineering, Construction) en 3D dans un
navigateur web. Bien que le SDK lui-même soit en JavaScript, il utilise Java
pour certaines parties de son infrastructure.
3. Visualisation BIM :
o BIMsurfer est un autre visualiseur WebGL pour les modèles IFC. Il est
également écrit en JavaScript et est utilisé pour afficher des modèles BIM dans
un navigateur web.
4. Interopérabilité et normes :
En résumé, Java est utilisé dans le domaine du BIM pour développer des applications, gérer
des modèles, visualiser des données et promouvoir l’interopérabilité entre les différents acteurs
de l’industrie de la construction
- Les ingénieurs civils peuvent simuler des charges, des contraintes, des déformations et
d'autres paramètres pour évaluer la performance des conceptions.
2. Gestion de projets :
- Java peut être utilisé pour développer des systèmes de gestion de projets spécifiques au
génie civil.
46
- Ces systèmes aident à planifier, exécuter et surveiller les projets de construction, en
automatisant des tâches telles que la gestion des ressources, la planification des travaux et la
budgétisation.
- Java peut être utilisé pour analyser les données collectées sur le terrain, telles que les relevés
topographiques, les données géospatiales et les essais de matériaux.
- Les ingénieurs civils peuvent développer des outils pour extraire des informations utiles à
partir de ces données.
4. Interfaces graphiques :
- Java offre des bibliothèques telles que Swing et Java FX pour créer des interfaces
graphiques conviviales.
- Les ingénieurs civils peuvent développer des applications avec des interfaces utilisateur
pour visualiser des modèles, des plans et des résultats d'analyse.
- Les ingénieurs peuvent créer des portails pour partager des informations, des rapports et des
documents avec d'autres parties Dans le domaine du génie civil, les applications Java peuvent
être utilisées pour diverses tâches, notamment la modélisation tridimensionnelle de structures
civiles, la conception de modèles de voies ferroviaires, de routes, d'autoroutes, ainsi que pour
l'ingénierie urbaine. Les ingénieurs civils peuvent bénéficier de l'utilisation d'outils de génie
civil efficaces pour concevoir et réaliser des infrastructures, en tenant compte de divers aspects
techniques et environnementaux.
Certains logiciels de génie civil, tels que Microstation de Bentley, offrent une plateforme
logicielle préférée des constructeurs, architectes et professionnels des SIG, procurant un
environnement et une suite d'applications associée à des fonctionnalités avancées De plus, des
outils comme AutoTURN sont spécifiquement conçus pour aider les ingénieurs des transports,
47
les architectes et les planificateurs dans la conception de projets qui répondent aux exigences
de sécurité et de mouvements des véhicules .
En outre, les logiciels de calcul de génie civil, tels que GeoSMART, offrent des outils pour la
surveillance en temps réel de la santé structurelle des ouvrages de génie civil, tandis que la
gamme de logiciels ARTeMIS est un outil efficace pour l'identification modale des structures
de génie civil telles que les bâtiments, les ponts et les ouvrages offshore.
En résumé, les applications Java dans le domaine du génie civil offrent des solutions pour la
modélisation, la conception et la surveillance des infrastructures civiles, contribuant ainsi à la
réalisation de projets de construction sûrs, durables et efficaces .
Il ne s'agit pas d'une compilation normale, car le compilateur ne produit pas du code
compréhensible directement par le microprocesseur, ni d'un langage interprété, car il y a tout
de même la notion de compilation, mais une situation intermédiaire entre un langage interprété
et un langage complètement compilé.
En d'autres termes, un programme Java, une fois compilé en code intermédiaire, n'est
compréhensible que par la machine virtuelle, qui va traduire à la volée (interprétation) les
instructions exécutées en code compréhensible par la machine physique.
Depuis Java SE 1.3, les machines virtuelles d'Oracle contiennent un interpréteur capable
d'optimiser le code appelé HotSpot.
48
Outre un interpréteur, l'environnement d'exécution fournit également :
• Un noyau multitâche pour les machines virtuelles fonctionnant sur des systèmes
monotâches (green Virtual machines) ;
• Un « bac à sable » (sandbox) pour l'exécution de processus distants.
Figure 5
Le téléchargement de Java est-il gratuit ? Oui, vous pouvez télécharger Java gratuitement pour
votre usage personnel. Java est également gratuit pour le développement : les développeurs
trouveront tous les kits de développement ainsi que d’autres outils à l’adresse
oracle.com/javadownload.
49
Pourquoi effectuer la mise à niveau vers le patch Java le plus récent chaque trimestre lorsque
j’y suis invité ? Les patches Java les plus récents contiennent des améliorations importantes
pour renforcer les performances, la stabilité et la sécurité des applications Java exécutées sur
votre ordinateur. L’installation de ces mises à jour garantit que les applications Java continuent
de fonctionner avec la version la plus récente.
Figure 6
Tableau 1
50
2- PLUS D’INFORMATIONS TECHNIQUES
Qu’est-ce que j’obtiens lorsque je télécharge le logiciel Java à partir de java.com ? Lorsque
vous téléchargez le logiciel Java à partir de java.com, vous obtenez la version 8 de
l’environnement JRE (Java Virtual Machine), des classes principales de la plate-forme Java et
des bibliothèques de plate-forme Java de prise en charge. L’environnement JRE est la portion
d’exécution du logiciel Java. A lui seul, il permet d’exécuter les applications Java Web Start à
partir d’un navigateur Web pris en charge. En revanche, aucun outil de développement n’est
fourni. Ces outils font partie du JDK (Java Development Kit).
Qu’est-ce que le logiciel du plug-in Java ? Le logiciel du plug-in Java est un composant de
l’environnement JRE. L’environnement JRE permet aux applications écrites en langage de
programmation Java d’être lancées via certains navigateurs. Le logiciel du plug-in Java n’est
pas un programme autonome et ne peut pas être installé séparément.
J’ai entendu les termes Java Virtual Machine et JVM. S’agit-il du logiciel Java ?
51
IX. Les concepts JVM, JDK, JRE
En résumé, la JVM exécute les programmes, le JDK permet de les développer, et le JRE fournit
l’environnement d’exécution pour les applications Java. La JVM (Java Virtual Machine) n’est
qu’une partie du logiciel Java qui permet l’exécution d’une application. La JVM (Java Virtual
Machine) est un composant crucial du langage de programmation Java. Voici comment elle
fonctionne :
1. Compilation en bytecode :
o Tout d’abord, le code Java est compilé en bytecode.
Le bytecode
52
2. Interprétation sur différentes machines:
o La JVM interprète ce bytecode sur différentes machines.
o Entre le système hôte et la source Java, le bytecode sert d’intermédiaire.
o La JVM est responsable de l’allocation de l’espace mémoire.
3. Principe “Write Once, Run Anywhere”:
o La JVM traduit le bytecode en code machine natif spécifique au système
d’exploitation et au matériel sous-jacents.
o Cela permet aux applications Java de fonctionner sur plusieurs plates-formes
sans modification.
o Ce principe est souvent appelé “Write Once, Run Anywhere” (écrire une fois,
exécuter partout).
En résumé, la JVM permet aux programmes Java d’être exécutés de manière portable sur
différentes machines, en convertissant le bytecode en instructions spécifiques à chaque système
Figure 7
2- Concept JAVA ME
Java ME (Java Platform, Micro Edition) est une plateforme Java conçue pour les appareils
embarqués et mobiles dans l’Internet des objets (IoT). Elle offre un environnement robuste et
flexible pour les applications s’exécutant sur divers appareils, notamment :
53
1. Microcontrôleurs
2. Capteurs
3. Passerelles
4. Téléphones mobiles
5. Assistant numérique personnel (PDA)
6. Décodeurs TV
7. Imprimantes
1. Oracle Java ME Embedded : Une machine virtuelle Java déployée dans des milliards
d’appareils IoT dans le monde entier.
2. Java ME SDK : Un kit de développement avec émulation d’appareils, environnement
de développement autonome et utilitaires pour le développement rapide d’applications
Java ME.
3. Oracle Java ME Embedded Client : Permet le développement d’applications hautement
fonctionnelles, fiables et portables pour les systèmes embarqués puissants.
4. Java pour mobiles : Utilisé par les développeurs de téléphones mobiles Java, les
opérateurs et les fabricants d’équipements d’origine pour créer des produits de
téléphonie mobile dans le monde entier.
5. Java TV : Une technologie basée sur Java ME pour le développement d’applications
sur les téléviseurs et les décodeurs.
Java ME est efficace en termes de ressources, sécurisé et conçu pour minimiser les exigences
sur la plateforme sous-jacente. C’est une plateforme essentielle pour l’IoT, offrant fiabilité,
performances, débit, sécurité et prise en charge multiplateforme
54
1. J2SE (Java Platform, Standard Edition) :
o Aussi connu sous le nom de Core Java, c’est la version la plus basique et
standard de Java.
o Il s’agit de la forme la plus pure de Java, servant de base à toutes les autres
éditions.
o J2SE est principalement utilisé pour créer des applications
pour environnements de bureau.
o Il contient tous les éléments fondamentaux du langage Java, tels que les
variables, les types de données primitifs, les tableaux, les flux, les chaînes de
caractères et la connectivité à la base de données JDBC1.
2. J2ME (Java Platform, Micro Edition) :
o Cette version de Java est principalement axée sur les applications s’exécutant
sur des systèmes embarqués, des téléphones mobiles et des petits appareils.
o Elle a été conçue pour répondre aux contraintes des systèmes embarqués,
telles que la puissance de traitement limitée, la durée de vie de la batterie
réduite et les petits écrans.
o Les applications J2ME utilisent de nombreuses bibliothèques et API de J2SE,
ainsi que certaines spécifiques à J2ME.
o L’objectif principal était de permettre l’utilisation de technologies de
compression web pour réduire l’utilisation du réseau et rendre l’accès à
Internet moins coûteux.
3. J2EE (Java Platform, Enterprise Edition) :
o Utilise de nombreux composants de J2SE et introduit également de nouvelles
fonctionnalités telles que les Servlets, les JavaBeans et les Java Message
Services.
o J2EE est utilisé pour créer des applications client-serveur.
o Il permet de créer des applications d’entreprise robustes, notamment des
services web et des applications web.
o J2EE utilise des technologies telles que HTML, CSS, JavaScript, etc., pour
créer des pages web et des services web.
55
• J2ME pour les systèmes embarqués et les mobiles.
• J2EE pour les applications d’entreprise et les services web
4- Concept JIT
JIT (Just-in-Time) est une méthode de gestion des stocks dans laquelle les marchandises sont
reçues des fournisseurs uniquement au moment où elles sont nécessaires. L’objectif principal
de cette méthode est de réduire les coûts de détention des stocks et d’augmenter le taux de
rotation des stocks.
56
▪ Nécessite une planification précise.
En somme, le JIT est une approche efficace pour gérer les stocks et optimiser la production,
mais elle nécessite une mise en œuvre soigneuse et une coordination étroite avec les
fournisseurs.
Figure 8
Figure 9
57
X. PRESENTATION DE L’ENVIRONNEMENT
DE TRAVAIL JAVA
58
d'augmenter la productivité des programmeurs en automatisant une
partie des activités et en simplifiant les opérations.
Dans un environnement de développement « intégré » (abrégé EDI en
français ou IDE en anglais, pour (Integrated Development Environment), les
outils sont prévus pour être utilisés ensemble (le produit d'un outil peut servir de
matière première pour un autre outil). Les outils peuvent être intégrés dès le
départ, c'est-à-dire qu'ils sont construits dans le but d'être utilisés ensemble. Il
peut aussi s'agir d'un ensemble d'outils développés sans lien entre eux et
intégrés à posteriori.
Il existe plusieurs IDE pour Java donc les plus connu sont : Eclipse,
NetBeans, IntelliJ. Dans le cadre de notre travail nous allons utiliser Eclipse.
1- PROCEDURE D’INSTALLATION DE
L’ENVIRONNEMENT DE TRAVAIL
59
des aperçus des projets, donc on peux voir à quoi l'application va ressembler dans
Java sans devoir compiler et le lancer.
Bien qu’Eclipse ait d’abord été uniquement conçu pour produire des
environnements de développement, les utilisateurs et contributeurs se sont
rapidement mis à réutiliser ses briques logicielles pour des applications clientes
classiques. Cela a conduit à une extension du périmètre initial d'Eclipse à toute
production de logiciel : c'est l'apparition du Framework Eclipse RCP (Rich Client
Platform) en 2004.
Figure 10
60
Figure 11
Figure 12
61
Cliquez sur ‘Next’
Figure 14
Figure 15
Installation du JDK
62
Cliquez sur ‘Next’ si Figure 16 vous ne
souhaitez pas modifier l’emplacement du dossier d’installation
Figure 17
63
XI. Procédure d’installation d’Eclipse
Figure 18
Ici on vous présente plusieurs versions d’Eclipse ainsi que leurs années de
sorties. Dans le cadre de notre exposé nous allons utiliser ‘Eclipse Kepler SR2
Packages (2014 – v 4.3.2)’.
64
Tableau 2
Figure 19
65
Tableau 3
66
Tableau 4
Figure 20
67
Figure 21
Debug
lecture.java
Run Class
New java
class
Espace de codage
Figure 22
Espace projet
Console
Console d’execution
68
Quelques mots clés pour la suite :
Enfin
69
System.out.println("Bonjour Utilisateur !") ;
70
Comment a-t-on créé le code au-dessus là
Et puis j’enlève le fragment de code qui est là parce que je veux écrire mon code
71
On crée une nouvelle classe un clic droit sur le src
72
C’est important de comprendre le concept de Classe ici
73
Puis on utilise la méthode telle que décrite plus haut pour afficher à l’utilisateur bienvenu Utilisateur
👤
74
Pour terminer éviter d’appeler vos packages avec des noms comme JavaFirst Javaetc sinon le
module aura des problèmes de cohérence.
75
Conclusion
Il était question de planter le décor du cours par ce premier exposé qui portait sur la
présentation de Java en tant que langage de programmation orienté objet ou devrais-je dire
meilleur langage de la programmation orienté objet nous avons parlé des avantages de ce
dernier par rapport aux autres langages de ses caractéristiques, de son environnement et de la
société sous laquelle elle ne cesse de croitre aujourd’hui avec plus de 21 millions d’utilisateurs
en 2023.
Si vous voulez faire partie de quelque chose d’important, vous ne pouvez vous tromper avec
JAVA. Si vous souhaitez démarrer une carrière dans l’informatique, vous ne pourrez non plus
vous tromper avec Java.
Facile à apprendre, Java est une option parfaite pour tous les niveaux technologiques, tous les
âges, à tous ég ards. C’est un langage de programmation de haut niveau bien établi avec une
courbe d’apprentissage légère mais des résultats fructueux. De plus, les concepts Java sont
hautement transférables à de nombreux autres langages de programmation. Il nous apprend à
penser comme un vrai programmeur, en utilisant la logique et en mettant les idées à l’épreuve
lorsque nous traversons des processus délicats
76