Blog ENI : Toute la veille numérique !
🎁 Jusqu'au 31/12, recevez notre
offre d'abonnement à la Bibliothèque Numérique. Cliquez ici
🎁 Jusqu'au 31/12, recevez notre
offre d'abonnement à la Bibliothèque Numérique. Cliquez ici
  1. Livres et vidéos
  2. Apprendre la Programmation Orientée Objet avec le langage Java
  3. Introduction à la plate
Extrait - Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) (4e édition)
Extraits du livre
Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) (4e édition) Revenir à la page d'achat du livre

Introduction à la plate-forme Java

Introduction

Au cœur des ordinateurs, des listes d’instructions sont exécutées par les microprocesseurs. Ces listes contiennent des codes binaires représentant des calculs et des actions à faire sur des registres, de la mémoire ou encore sur des périphériques. Sauf cas très rare, lorsqu’un développeur écrit un programme, il ne construit pas directement cette liste d’instructions aussi appelée code de bas niveau ou langage assembleur. Heureusement pour lui, il passe par un langage de programmation avec lequel il va décrire un enchaînement d’actions de « haut niveau ». Par exemple, si le programme a besoin d’ouvrir le fichier config.txt alors le développeur utilisera la fonction fopen("config.txt") de son langage favori pour le faire. Derrière cette ligne se cachera toute une liste d’instructions « machine » que le microprocesseur exécutera quand l’application sera exécutée. Les langages de hauts niveaux simplifient donc grandement l’écriture mais, au final, ce sont toujours des instructions machine qui seront déroulées.

Le programme source - dans notre exemple, celui qui contient fopen("config.txt") - est un fichier texte que le développeur construit avec un éditeur de texte basique comme Notepad, Notepad++...

Environnement d’exécution

Les applications écrites en Java ne communiquent jamais directement avec le système d’exploitation. D’ailleurs, le résultat d’une compilation Java (fichiers d’extension .class) n’est pas directement exécutable par le système d’exploitation. Cette première mouture, appelée Byte Code, contient des instructions pour la machine virtuelle Java qui va « convertir à la volée » le code intermédiaire en instructions compatibles avec l’environnement réel d’exécution. On parle de Just In Time Compiler(ou JIT Compiler).

Chaque environnement réel d’exécution (Windows, Linux, macOS...) a sa propre machine virtuelle Java, mais le Byte Code généré après la compilation du programme source est le même et est relativement portable entre les différentes machines virtuelles Java. L’adverbe « relativement » est ajouté ici pour préciser que la conception d’un programme « portable » requiert quelques précautions. Imaginons que vous souhaitiez réaliser un programme qui devra être fonctionnel à la fois sur PC, tablette et téléphone. Il est évident que les caractéristiques de ces trois dispositifs diffèrent totalement...

Une librairie très complète

La plate-forme Java propose une très large collection de classes sur lesquelles s’appuient les applications. On parle d’API Java. Ces classes simplifient considérablement la gestion d’objets courants (chaînes de caractères, valeurs décimales, collections, etc.), mais aussi la gestion de fichiers, des interfaces graphiques classiques, les API web, l’accès aux bases de données, les communications réseau, la sécurité, les diagnostics, etc. La liste des classes est très conséquente et, même si elles sont proposées de façon hiérarchique, le problème est souvent de savoir s’y repérer !

Ces classes sont, la plupart du temps, extensibles. Cela veut dire qu’il est possible de les étendre pour profiter de leurs comportements de base puis d’y ajouter des spécificités métier.

Pour organiser ces classes, la plate-forme utilise le concept des packages qui regroupent les classes par finalités (services de même nature). Par exemple, le package java.io contient une « boîte à outils » pour gérer les fichiers.

Il est naturellement possible de créer ses propres packages. Le package Java correspond au package de l’UML. Le découpage effectué veille à réduire...

Des outils de développement performants

La plate-forme Java propose un compilateur (javac.exe) que l’on peut utiliser directement en ligne de commandes après avoir saisi le code du programme dans un éditeur de texte. La procédure est tout à fait possible mais pas très productive... Évidemment, le développeur recherche l’utilisation d’un environnement de développement totalement intégré, l’assistant pendant la rédaction du code, la réalisation de l’interface graphique, la mise au point et le déploiement de son application. Ce programme est un IDE (Integrated Development Environment). Il intègre au moins un éditeur de code source, des outils automatisant les compilations et un débogueur.

Il existe plusieurs IDE pour Java avec parmi eux trois grandes références : IntelliJ IDEA de JetBrains, Eclipse de la fondation Eclipse et NetBeans créé à l’initiative de Sun Microsystems et maintenu et distribué par Oracle et par Apache Software Foundation pour sa version Apache NetBeans. Les démonstrations et exercices de ce livre sont basés sur l’utilisation d’IntelliJ IDEA car c’est l’IDE qui nous a semblé le plus simple pour commencer à développer.

Téléchargement et installation du JDK

 Pour développer en Java nous aurons besoin d’un « kit de développement » appelé JDK sur lequel nous reviendrons très vite… Pour l’instant, rendez-vous sur le site Oracle à cette adresse : https://www.oracle.com/java/technologies/downloads/#jdk22-windows pour télécharger la version du JDK 22 avec son programme d’installation.

Cette version 22 ne sera peut-être pas la dernière version lorsque vous lirez ces lignes.

images/03RI23V4.png

 Exécutez le programme téléchargé : jdk-22_windows-x64_bin.exe en gardant les options par défaut proposées dans les différentes boîtes de dialogue.

Téléchargement et installation d’IntelliJ IDEA

 Rendez-vous maintenant sur le site officiel de JETBRAINS (https://www.jetbrains.com/idea/download/?section=windows) pour télécharger la version Community Edition de cet IDE.

 Faites défiler l’écran jusqu’à l’affichage suivant :

images/03RI01V4.png

 Cliquez sur le bouton Download.

images/03RI05V4.png

 Une fois le téléchargement terminé, double cliquez sur le fichier reçu (ideaIC-2024.1.3.exe à l’écriture de cet ouvrage).

 Autorisez l’application à apporter des modifications.

images/03RI06V4.png

 Cliquez sur le bouton Next.

images/03RI07V4.png

 Conservez les valeurs proposées par défaut et cliquez sur le bouton Next.

images/03RI08V4.png

 Conservez les valeurs proposées par défaut et cliquez sur le bouton Next.

images/03RI09V4.png

 Conservez les valeurs proposées par défaut et cliquez sur le bouton Install.

images/03RI10V4.png

Il est possible qu’à l’issue de l’installation, il vous soit demandé de redémarrer votre ordinateur.

Sinon, l’installation se termine comme ceci :

images/03RI11V4.png

L’incontournable Hello World

Même si l’apprentissage d’IntelliJ IDEA se fera en même temps que celui de la programmation orientée objet avec Java, ne résistons pas plus longtemps à l’envie de rédiger notre premier programme à savoir, le très classique Hello world !

 Exécutez IntelliJ IDEA depuis le menu Démarrer - JetBrains - IntelliJ IDEA Community Edition 2024.1.3.

images/03RI12V4.png
images/03RI39V4.png
images/03RI40V4.png

 Lisez et confirmez les termes d’utilisation, puis cliquez sur Continue.

images/03RI15V4.png

 L’écran d’accueil d’IntelliJ IDEA est chargé. Cliquez sur l’option New Project

Cette action exécute l’assistant de création d’applications, qui va vérifier que tous les outils nécessaires sont présents et qui va préparer l’ossature de notre future application.

 Nommez le projet « helloworld », gardez le répertoire (Location) par défaut et sélectionnez l’option 22 dans la combo box JDK. Enfin, cliquez sur le bouton Create.

images/03RI16V4.png

L’interface utilisateur de l’outil est composé de deux parties avec à gauche l’Explorateur de projets et son projet unique helloworld :

images/03RI17V4.png

Sur la partie droite s’affiche le contenu du fichier source unique de notre solution : Main.java contenant déjà quelques lignes de code automatiquement...

Un point sur les acronymes

Faisons un petit point sur les acronymes les plus souvent utilisés dans le monde Java.

Nous avons utilisé le JDK 22. JDK signifie Java Development Kit et c’est un SDK (Software Development Kit) spécial Java contenant des outils comme le compilateur, le débogueur et également le JRE.

Nous avons utilisé, sans encore le savoir, ce JRE, qui est l’acronyme de Java Runtime Environment. Le JRE nous a permis d’afficher ce triomphal « Hello World! » Dans notre cas, le JRE a été amené par le JDK, mais il peut être téléchargé et installé seul.

Java est un puissant langage de développement permettant de créer des applications pour différents types de plateformes d’exécution : les petites machines sans énormément de puissance, les machines de bureau et enfin les machines serveur musclées. À chacun de ces types correspond une spécification de ce que doit proposer la plateforme Java. Ces spécifications sont respectivement JME (Java Micro Edition), JSE (Java Standard Edition) et JEE (Java Enterprise Edition). Nous utilisons en développement les implémentations de ces spécifications par les éditeurs comme Oracle. Par exemple, le JDK 22 que nous avons utilisé correspond à l’implémentation des spécifications...