Comment débuter la programmation en Java dès aujourd’hui

Vous avez envie d’apprendre à programmer ? Vous voulez apprendre le Java mais vous ne savez pas comment vous y prendre ? Cet article est pour vous : je vous accompagne pour vous aider à débuter la programmation en Java, pas à pas !

Tout d’abord, vous devez ajouter des logiciels spécifiques sur votre ordinateur. A minima Java et un environnement de développement.

 

1 : Installez Java

 

Téléchargement

Vous devez télécharger le dernier kit de développement Java, ou Java Development Kit en anglais (JDK) : https://jdk.java.net/. Ne vous souciez pas de la version précise, les quelques lignes de codes que nous allons écrire sont valables quelle que soit votre version de Java. Néanmoins, pour être transparent avec vous, je vais utiliser le JDK 11 qui vient juste de sortir. Je vous le répète, vous pouvez prendre la version la plus récente au moment de votre lecture, cela n’a pas d’impact.
Ce JDK est la version libre et gratuite de Java. Vous pouvez l’utiliser librement pour apprendre, pour tester, pour héberger un site publique ou créer un logiciel réel avec de vrais utilisateurs.

Il existe également la version commerciale proposée par Oracle. À partir de janvier 2019, elle devient payante pour les environnements de production, et elle reste gratuite dans tous les autres cas. Pour nous, comme il s’agit uniquement d’un apprentissage, vous pouvez tout à fait télécharger cette version : https://www.oracle.com/technetwork/java/javase/downloads/index.html.

Vous verrez que le code fonctionne de la même manière. Il faut savoir que le JDK d’Oracle est construit sur la base de l’Open JDK, également géré par Oracle. Je continuerais la suite de l’article avec les aspects spécifiques à l’Open JDK. Pour le JDK d’Oracle, il existe un installeur, le processus est donc un petit peu plus simple.

 

Installation

L’open JDK se présente sous la forme d’un fichier compressé au format ZIP. L’installation est très simple, il suffit de décompresser ce fichier au bon endroit. L’emplacement va dépendre de votre système d’exploitation. Vu qu’il s’agit juste d’un apprentissage, je propose de le mettre dans un dossier facilement accessible : le dossier documents. Cela donne également l’avantage de ne pas avoir une installation spécifique à un système d’exploitation, vous pouvez donc suivre ce tutoriel sur tous les OS (OS : Operating System, ou système d’exploitation).

Pour votre information, Java n’a pas de prérequis pour son installation, vous pouvez le mettre littéralement partout sur votre disque, du moment que vous avez assez de place bien sûr ;).
Avant de le décompresser, pensez à vérifier la signature du fichier. Voici où vous pouvez la trouver sur le site de l’Open JDK :

TelechargerJava_etape1

Sur Windows, pour calculer la signature du fichier que vous avez téléchargé, vous pouvez installer 7Zip. Vous aurez alors un menu contextuel enrichi avec deux nouveaux sous-menus, “7-Zip” et “CRC SHA”, tels que ci-dessous :TelechargerJava_etape2
Vu que le site Open JDK vous communique la signature SHA 256, vous devez utiliser le menu CRC SHA > SHA 256.
7Zip va calculer le SHA 256 et vous afficher le résultat :

TelechargerJava_etape4
Vous pouvez copier la valeur calculée et la mettre dans le bloc-notes, en dessous de celle venant du site web de l’Open JDK. Vous verrez tout de suite si un caractère de la signature est erroné.
Si c’est le cas, relancez le téléchargement. Après plusieurs échecs de signature, changer de version. N’utilisez pas un fichier dont la signature est erronée.

 

Pourquoi ? Qu’est-ce qu’une signature ?

Petit aparté pour vous expliquer rapidement ce qu’est une signature : tout simplement une représentation courte d’un fichier, généralement obtenue par calcul mathématique à partir des bits du fichier. Si le fichier change, la signature va obligatoirement changer. Une signature vérifiée vous garantit qu’il n’y a pas eu de modification de ce fichier entre le moment où il a été mis à disposition sur le serveur et le moment où vous le récupérez sur votre disque dur. Vous êtes donc sûr qu’il n’y a pas eu de virus inséré après, directement sur le serveur ou pendant le téléchargement. Vous êtes sûr également qu’il n’y a pas eu d’erreur de téléchargement non plus ! Je vous recommande vivement de toujours vérifier la signature des fichiers que vous téléchargez et de ne jamais utiliser un fichier ayant une erreur de signature !
Pour la petite histoire, je calcule aussi les signatures des gros fichiers lorsque je fais des copies d’un disque à l’autre. Et j’ai régulièrement des surprises ! Là il s’agit juste d’une erreur de copie et il suffit de recommencer la copie. Je vous recommande également de systématiquement vérifier les signatures avant et après la copie de gros fichiers. 😉

 

Fin de l’installation de l’Open JDK

Pour installer le JDK, il suffit de le décompresser :

InstallerJava_etape2

(si vous utilisez autre chose que 7Zip, ou vous êtes sur un autre OS, utilisez la commande adéquate)
C’est tout ! L’installation est faite, Java peut s’exécuter sur votre machine. Pour le vérifier, ouvrez une invite de commande (ou un terminal, un shell, selon votre système d’exploitation) et rendez-vous sur le chemin d’installation de votre JDK avec la commande cd correspondante. Pour moi, il s’agit de
cd C:\Users\ProDuCode\Documents\JAVA\openjdk-11.0.1_windows-x64_bin\jdk-11.0.1\bin

Saisissez la commande suivante :

java -version

Cette commande affiche la version de Java, vous devriez obtenir un message équivalent à celui-ci :

InstallerJava_etape3

 

Configuration sur le système

Attention, nous n’avons pas configuré Java pour qu’il soit disponible de partout dans le système. Nous venons de le mettre à un endroit bien particulier de notre machine et seuls ceux qui connaissent cet endroit peuvent l’exécuter : c’est à dire nous même ! Le système d’exploitation ne connaît pas l’emplacement de Java. Pour lui, ce dossier contient des fichiers quelconques.
Pour que le reste de la machine soit au courant de l’endroit où se trouve Java, il faut ajouter celui-ci à la variable d’environnement PATH. Nous n’avons pas besoin de cela pour aujourd’hui, je vous laisse voir par vous-même si vous souhaitez néanmoins le faire.

 

2 : Installez un environnement de développement

Nous avons Java disponible sur la machine ! Nous pourrions d’ores et déjà commencer à programmer avec un simple éditeur de texte comme le bloc-notes. Cela dit, il existe des outils qui nous simplifient énormément la vie : les environnements de développement. Ils vous fournissent un espace où tous les outils utiles au quotidien sont intégrés ensemble et tous les fichiers de notre code sont à notre disposition.
Dans le monde Java, il existe 3 principaux environnements de développement :

Je vais tenter d’éviter un débat sur quel environnement choisir. Ils sont tous très bien, utilisés et soutenus par de larges communautées. J’ai personnelement fait mes débuts sur Eclipse pendant 4 ans et je suis ensuite passé à IntelliJ IDEA en 2008. Depuis, je n’ai pas fait machine arrière, bien que 2 développeurs séniors aient tenté de me convaincre de revenir à Eclipse, sans succès. Je préfère programmer sous IntelliJ. Je vais donc naturellement vous montrer comment débuter avec IntelliJ IDEA. Toutefois vous pouvez continuer à suivre mes articles même si vous utilisez un autre environnement de développement. Pour cet article qui consiste à installer l’environnement, de nombreux aspects seront liés à la configuration d’IntelliJ.

 

Installer IntelliJ IDEA

Téléchargez la version community, elle est gratuite et largement suffisante pour ce que nous voulons faire aujourd’hui. N’oubliez pas de vérifier la signature !
Vous avez le choix de prendre un exécutable ou un fichier ZIP. L’exécutable contient un installateur qui va vous permettre d’avoir IntelliJ IDEA intégré dans votre système d’exploitation. Afin de rester dans l’état d’esprit de garder tout sous contrôle dans un répertoire, je vais prendre le zip. Je vais aussi vous montrer que c’est infiniment portable, vous pouvez même mettre Java et IntelliJ sur une clé USB pour pouvoir les exécutez où et quand vous le souhaitez.
Téléchargez donc le fichier ZIP, vérifiez sa signature SHA 256, puis décompressez-le dans votre dossier JAVA.
Rendez-vous dans le dossier décompressé, puis dans le sous-dossier bin, voici le chemin pour moi :
C:\Users\ProDuCode\Documents\JAVA\ideaIC-2018.2.5.win\bin

 

Lancez IntelliJ en double cliquant sur le fichier idea.exe (ou idea sous Linux) :

Installer-IntelliJ-IDEA_etape1

Ensuite vous aurez un certain nombre de questions auxquelles répondre, je ne vais lister ici que celles qui ont un intérêt ou pour lesquelles je dois vous donner des informations complémentaires.

Le choix des couleurs de votre environnement de développement :

Installer-IntelliJ-IDEA_etape2

Cela semble purement esthétique mais il y a une vraie raison. En effet, le fond noir fatigue moins les yeux. Je n’ai pas vu d’étude scientifique sur le sujet, plusieurs personnes l’ont adopté et je ressent moi aussi une différence. Effet placebo ou réalité scientifique ? Je ne sais pas.
Pour faire votre choix, je vous recommande de tester chacune des présentations, peut-être en commençant par la version noire, pendant 2 semaines minimum pour vous habituer et peut-être sentir une différence. Prenez le temps, cela vaut le coût, car quand vous programmez, vous restez facilement plusieurs heures devant l’écran. Diminuer la fatigue visuelle est non seulement bon pour votre concentration et votre productivité, mais aussi, à priori, très bon pour votre santé !
Au passage, vu que j’y pense je ne peux éviter de vous ajouter quelques mots pour vous présenter une petite perle : f.lux  ! Ce logiciel enlève la couleur bleue la nuit, juste génial pour travailler tard, mais tout de même ressentir la fatigue et aller se coucher au bon moment.

Ensuite, acceptez les plug-ins par défaut et vous obtenez l’écran suivant :

Installer-IntelliJ-IDEA_etape3

 

3 : Créons notre premier projet

Avant de coder, nous devons tout d’abord créer un projet. Choisissez “Create new project”.
Dans l’écran suivant, IntelliJ vous demande d’indiquer le JDK à utiliser :

IntelliJCreerUnProjet_etape1

Cliquez sur New et renseignez le chemin vers le JDK que vous avez téléchargé et décompressé dans le dossier JAVA :

IntelliJCreerUnProjet_etape2

Validez, vous obtiendrez ceci :

IntelliJCreerUnProjet_etape3

Appuyez sur “Next”, vous aurez l’écran suivant :

IntelliJCreerUnProjet_etape4

(parfois vous aurez plusieurs lignes de template)

Nous allons utiliser le Template “Command Line App”. IntelliJ va générer pour nous un projet minimal qui peut être exécuté, nous aurons juste à le compléter pour en faire ce que nous voulons.
Sélectionnez “Next”, et là, complétez comme suit :

IntelliJCreerUnProjet_etape7_3points
Point 1) Je vous propose de mettre “PremiersPasEnJava” comme nom de projet. Mais mettez ce que vous voulez.
Point 2) IntelliJ vous propose par défaut de mettre les projets dans un répertoire à lui, en l’occurrence C:\Users\ProDuCode\IdeaProjects pour moi, sous Windows. Pour débuter, je vous recommande de mettre votre projet dans le même dossier JAVA que nous avons créé dans vos documents, ainsi tout est rassemblé. C’est plus simple à gérer au quotidien et surtout c’est beaucoup plus simple de tout reprendre plus tard même si vous vous êtes arrêté quelques mois ;). Si vous faites plus tard beaucoup de programmation, vous pourrez toujours faire d’autres choix sur vos autres projets.
Point 3) Nous devons renseigner ici le nom du “package de base”, c’est purement indicatif. La norme est de mettre un nom unique qui vous désigne vous, de manière non ambiguë. Nous utilisons généralement l’URL inversée du site web de l’entreprise (oracle.com devient com.oracle). En tant que particulier, vous pouvez mettre “fr.votrenom.nomduprojet”. Vous noterez que la convention veut que tout soit indiqué en minuscules. Respectez les normes et conventions, vous y gagnerez un code plus clair et facilement compréhensible par tout le monde.

 

4 : Codons !

Le projet est ouvert, vous avez ceci devant vous :

DebuterEnProgrammationJava_etape1

 

Votre premier message en Java

Afin de vérifier que le projet est bien configuré, nous allons réaliser un affichage simple. Il nous suffit de remplacer le commentaire “// write your code here” par ceci :

System.out.println("J'affiche mon premier message grace à Java :)");

Petite astuce IntelliJ, vous pouvez commencer par écrire sout :

DebuterEnProgrammationJava_etape2

Appuyez ensuite sur la touche TAB ou sélectionnez la première ligne à la souris. Vous n’avez plus qu’à compléter avec “J’affiche mon premier message grace à Java :)” au bon endroit.
Vous pouvez également tout saisir à la main, IntelliJ ne fait que proposer des manières d’écrire votre code plus rapidement.

Voilà, votre premier programme peut déjà être exécuté. Pour cela, assurez-vous que le curseur est quelque part dans la classe Java et appuyez sur CTRL – SHIFT – F10. Ce raccourci clavier va créer une configuration d’exécution et la lancer. Cela va tout d’abord compiler votre code et ensuite, s’il n’y a pas d’erreurs de compilation, l’exécuter.

Les problèmes de compilation peuvent être très déroutants lorsque l’on débute. Regardez bien votre code et comparez avec le mien, ils doivent être identiques à la virgule près. Tôt ou tard, vous allez forcément rencontrer des difficultés de compilation, ne vous découragez pas, c’est une phase d’apprentissage par laquelle il faut passer. Si vous avez trop de problèmes, je vous recommande mes 10 astuces pour debugger votre code, cela peut vous aider.

Vous devriez obtenir ceci :
DebuterEnProgrammationJava_etape8

 

Une calculatrice : la méthode additionner

Créons maintenant une petite calculatrice, et débutons par l’addition.
Pour créer une méthode additionner, ajouter le code suivant dans la classe Main :

public static int additionner(int nombre1, int nombre2) {
    return nombre1 + nombre2;
}

Vous devez mettre ce code après l’accolade fermante de la méthode main, vous devez obtenir le code suivant :

package com.producode.premierspas;

public class Main {

    public static void main(String[] args) {
        System.out.println("L'addition de 4 et 3 est : " + additionner(4, 3));
    }
    
    public static int additionner(int nombre1, int nombre2) {
        return nombre1 + nombre2;
    }
}

 

Voici la copie d’écran correspondante :

DebuterEnProgrammationJava_etape9

Si vous exécutez ce code (appuyez simplement sur SHIFT-F10 en ayant le curseur dans le code), vous obtenez la sortie suivante :
L'addition de 4 et 3 est : 7

 

Les méthodes en Java

Je viens d’utiliser un nouveau concept sans vous l’avoir expliqué. Une méthode permet d’écrire un bloc de code que nous pourrons appeler plus tard à de multiples reprises. Les méthodes peuvent prendre des paramètres, ici les nombre1 et nombre2.
La première méthode que vous avez rencontrée est la méthode main. Elle a la particularité d’être appelée lors de l’exécution du programme. Son paramètre String[] args correspond à la liste des arguments qui ont été passés à l’appel de notre programme. Je vous montrerais plus tard comme nous en servir.

Je passe rapidement sur le débat entre les fonctions, les procédures et les méthodes. Il a très peu d’utilité et la définition est au final très simple :
Une fonction : tout bloc de code appelable, qui a donc un nom, auquel on peut optionnellement passer des paramètres et qui rend un résultat.
Une procédure : tout bloc de code appelable, qui a donc un nom, auquel on peut optionnellement passer des paramètres et qui NE rend PAS de résultat.
Une méthode : fonction ou procédure à l’intérieur d’une classe.
En Java, tout est objet, donc toutes les fonctions et procédures sont dans une classe. Il n’y a donc aucun débat, nous écrivons des méthodes qui parfois rendent un résultat (l’équivalent d’une fonction si nous n’étions pas dans une classe) et parfois n’en rendent pas (l’équivalent d’une procédure si nous n’étions pas dans une classe).

 

Mettre en place les tests

Au passage, comme j’ai pu le faire dans l’article pour débuter en VBA, je vous recommande de toujours écrire des tests pour vos algorithmes. En plus de vérifier que l’algorithme fait bien ce que vous vouliez, cela vous aide à écrire plus vite un algo correct et robuste. Vous auriez tort de vous priver d’un tel outil.
Commençons par créer le répertoire pour héberger les tests. Faites un clic droit sur le nom du projet “PremiersPasEnJava”, sélectionnez “New” puis “Directory” (vous aurez peux-être à afficher le volet gauche en cliquant sur 1:Projet, ou avec le raccourci clavier ALT-1) :

TesterSonCodeEnJava_etape0-creaDirTest-0
Nommer le “test” :

TesterSonCodeEnJava_etape0-creaDirTest-1

Ensuite, faites un clic droit sur ce nouveau répertoire test, sélectionnez “Mark directory as”, puis “Test source root” :

TesterSonCodeEnJava_etape0-creaDirTest-2
Ainsi, IntelliJ est informé que vous avez un répertoire dédié aux tests et il va créer tous les tests dans ce dossier. Vous aurez ainsi le répertoire du code source, src, et le répertoire des tests, test.

 

Pour effectivement créer le test, cliquez sur la méthode additionner, il faut que le curseur se trouve dans le nom de la méthode, puis appuyez sur les touches CTRL-SHIFT-T. Vous obtiendrez ceci :

Creer un test

Choisissez “Create new test…” :

Vous devez changer les éléments suivants :
Point 1) : choisir JUnit 5. Il s’agit de la librairie utilisée pour réaliser les tests.
Point 2) : appuyer sur FIX pour qu’IntelliJ ajoute la librairie dans le projet.
Ayant appuyé sur FIX, vous avez la fenêtre suivante :

TesterSonCodeEnJava_etape5
Sélectionnez “Donwload to:” puis appuyez sur “OK”.
De retour sur l’écran précédent, le message indiquant que la librairie JUnit 5 ne pouvait pas être trouvée a disparu.
Point 3) Sélectionnez la méthode à tester : additionner(nombre1:int, nombre2:int):int. Ainsi IntelliJ va générer le modèle de code pour tester cette méthode.

TesterSonCodeEnJava_etape7
Nous obtenons le code suivant :

TesterSonCodeEnJava_etape8

 

Le test de la méthode additionner

Pour tester le code de la méthode additionner, il nous suffit de remplir le code de test (c’est à dire mettre du code entre les deux accolades juste après le nom de méthode additionner()). Voici un premier code :

void additionner() {
    int resultat = Main.additionner(1,2);
    assertEquals(3, resultat);
}

Nous obtenons le code suivant :

ExempleTestEnJava_etape1
Pour lancer les tests, il suffit de réutiliser le raccourci de tout à l’heure : CTRL-SHIFT-F10.
Vous allez obtenir ceci :

ExempleTestEnJava_etape2_2c
Super, le test passe. Cela dit, sommes-nous sûrs d’avoir bien testé ? Dans notre cas, vu la simplicité du code, oui, d’accord, nous sommes à peu près sûrs. Imaginons que nous sommes dans la vraie vie, dans un vrai projet. Non, parfois un test est écrit de telle sorte qu’il réussisse toujours : cela n’a aucun intérêt.
Pour nous assurer de ne pas être dans ce cas, il faut faire échouer le test en écrivant une erreur volontaire, par exemple, transformez le code comme ceci :

assertEquals(25, resultat);

J’ai remplacé le 3 par 25. J’indique que j’attends 25 comme résultat de l’appel à la méthode.
Utilisez le raccourci SHIFT-F10 pour relancer le test, et vous devriez obtenir ceci :

ExempleTestEnJava_etape3_2c

 

Le test échoue bien, il est donc correct !
Oui, cette phrase est troublante, je sais. Vous allez vous habituer avec le temps…
Imaginez seulement votre surprise si le test avait réussi ! Dans ce cas, c’est assez simple, vous avez un beug dans vos tests, et il faut trouver l’origine.

 

Remettez la vraie valeur attendue, 3, et réexécutez pour vérifier que le test est à nouveau réussi.

Ceci n’est qu’une mise en bouche sur les tests, je reviendrais sur des cas pratiques plus utiles dans mes prochains articles.

Vous avez ici tout le nécessaire pour développer en Java et tester votre code. Cet article est déjà long, je vais donc garder les aspects du langage et les exemples pratiques pour un prochain article.

 

En attendant…

Dans cet article, je vous ai montré comment installer et utiliser Java et IntelliJ pour créer votre premier programme. Je vous ai montré les rudiments des tests, de la compilation et de l’exécution pour que vous puissiez pratiquer l’algorithmique de manière concrète.

Cela ne représente qu’une introduction. Si vous ne les connaissez pas, il vous reste encore de nombreux sujets à découvrir par vous-même, comme :

  • L’algorithmique
  • La Programmation Orientée Objet, ou POO
  • Les IHM (interfaces hommes machines) : la programmation web ou les interfaces graphiques client lourd
  • Les librairies dédiées à un sujet (entrées/sorties, multithreading, etc.).

En attendant d’autres articles sur ces sujets, je vous recommande le livre Programmer en Java de Claude Delannoy aux éditions Eyrolles. Même si je n’ai pas lu les éditions récentes, la version que j’ai lue était bien faite et m’a été très utile à l’époque.

 

SOURCES :

 

Crédits photo :

Partager l'article
  •  
  •  
  •  
  •  

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.