Vous êtes sur la page 1sur 7

Le tutoriel du dbutant pour apprendre

programmer avec le langage Java


Par Baptiste Wicht

Date de publication : 3 aot 2007


Dernire mise jour : 21 septembre 2015

Une slection des meilleurs tutoriels et cours de formations gratuits pour apprendre
la programmation Java. Vous trouverez les meilleures mthodes ducatives pour une
formation agrable et complte, ainsi que des exercices intressants voir ludiques, vous
pouvez aussi trouver des exercices offerts en sus des cours pour perfectionner votre
niveau et acqureur de l'exprience. Si vous avez besoin, n'hsitez pas aussi vous rfrer
la FAQ Java et poser vos questions sur les forums d'entraide Java.
Pour ragir au contenu de cet article, un espace de dialogue vous est propos sur le forum
Commentez.

Le tutoriel du dbutant pour apprendre programmer avec le langage Java par Baptiste Wicht

I - Qu'est-ce que Java ?.............................................................................................................................................. 3


II - Je dbute............................................................................................................................................................... 3
III - Je veux aller plus loin...........................................................................................................................................4
III-A - Comment dvelopper des interfaces graphiques avec Java ?.................................................................... 4
III-B - Comment grer les bases de donnes avec Java ?................................................................................... 4
III-C - Comment faire de la programmation web avec Java ?...............................................................................5
III-D - Comment dvelopper pour un mobile avec Java ?.....................................................................................5
III-E - Comment faire de la 2D/3D en Java ?........................................................................................................5
III-F - Quels sont les autres outils que je peux utiliser ?....................................................................................... 5
IV - Comment tester mes connaissances ?................................................................................................................ 6
V - J'ai tout lu, mais pas tout compris, o poser mes questions ?............................................................................. 6
VI - Conclusion............................................................................................................................................................ 7
VI-A - Remerciements............................................................................................................................................ 7

-2-

Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de
prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2015 Baptiste Wicht. Aucune reproduction,
mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://baptiste-wicht.developpez.com/tutoriels/java/debuter/

Le tutoriel du dbutant pour apprendre programmer avec le langage Java par Baptiste Wicht

I - Qu'est-ce que Java ?


Java est un langage orient objet dvelopp initialement par la socit Sun puis par Oracle. La syntaxe gnrale
est trs proche de celle du C, mais Java n'est pas une surcouche du C et sa syntaxe est beaucoup plus claire que
celle du C++.
Les avantages de Java sont nombreux. En premier lieu, on peut citer sa gratuit, sa communaut, son cosystme et
sa prennit. Par ailleurs, le byte-code, qui assure Java une portabilit complte vers de trs nombreux systmes.
L'importance de l'API de base qui offre tous les services de base, notamment pour la construction des interfaces
graphiques. Enfin, c'est l'adaptabilit de Java dans de nombreux domaines, autant pour le web que pour les systmes
embarqus.
Liste des systme disposant d'une implmentation de Java : Microsoft Windows, MacOS, Solaris, Linux, AIX,
OS/2, IRIX, UnixWare, HP/UX, Digital Unix, AmigaOS, BeOS, OpenVMS, FreeBSD, SunOS, RiscOS. Java est
galement support par des familles de processeurs diffrents : Intel 32 et 64 bits, ARM
Il existe plusieurs distributions de Java :
Java SE (Standard Edition ou dition standard ) est la version de Java destine aux ordinateurs de bureau,
portables et certaines plateformes embarques ou smartphones disposant des capacits de calcul, de mmoire et de
stockage suffisantes pour la faire fonctionner. Cette version de Java dfinit une API standard prsente l'identique
sur toutes les plateformes et permettant ainsi de crer des applications en ligne de commandes ou graphiques qui
peuvent s'excuter sur un grand nombre de machines. Lorsque nous parlerons de JDK, JVM, JRE dans cette FAQ,
nous ferons principalement rfrence Java SE.
Java ME (Micro dition ou dition micro ) est la version de Java destine aux plateformes embarques, cartes
de paiement, consoles et lecteurs de disques, tlphones et autres priphriques disposant de capacits de calcul,
de mmoire ou de stockage limites. Cette plateforme dfinit un grand nombre de configurations et de profils pour
prendre en compte un large panel d'appareils aux capacits trs diffrentes les unes des autres.
Java EE (Enterprise Edition ou dition entreprise ) est la version de Java destine aux serveurs d'entreprises
et serveurs web pour implmenter des services rseau et web. Elle inclut Java SE, mais dispose galement d'API
supplmentaires pour dfinir des mappings objet-relationnels, des architectures multicouches ou distribues et des
web services.
Android est une version spciale de Java conue par Google pour tourner sur sa propre machine virtuelle Dalvik
tournant sur Linux sur des priphriques embarqus, tlphones, tablettes, montres, bracelets de course, etc. Google
a repris une partie de l'API JavaSE et y a ajout une API Android propre la plateforme. Pratiquement tous les
concepts abords dans cette FAQ sont applicables Android sous rserve du niveau du compatibilit entre la version
du JDK mentionne dans les QR et la version du SDK Android que vous utilisez.

II - Je dbute
Il n'est pas facile de commencer dvelopper si on n'a jamais fait de programmation auparavant. C'est pourquoi il
est trs important de commencer avec de bonnes ressources et de ne pas se lancer la va-vite dans le langage.
Pour les personnes connaissant dj la programmation et les langages objets, l'apprentissage de Java ne devrait
pas se rvler trop compliqu.
Vous pouvez commencer par lire l'un des tutoriels d'initiation Java de la rubrique Java de Developpez.com. Je
vous conseille d'en lire au moins un parmi ceux-l ou alors un des livres proposs :

Programmation Java pour les enfants.


Penser en Java V2.

-3-

Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de
prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2015 Baptiste Wicht. Aucune reproduction,
mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://baptiste-wicht.developpez.com/tutoriels/java/debuter/

Le tutoriel du dbutant pour apprendre programmer avec le langage Java par Baptiste Wicht

Dveloppez en Java.
Support de cours sur le langage Java.
Corrections du livre Programmation Java pour les enfants .
Programmer en Java.
Java en concentr.

Il vous faudra bien videmment un ou des outils pour dvelopper en Java. Nanmoins pour commencer, je vous
conseille d'utiliser un simple bloc-note et de compiler et d'excuter vos programmes en ligne de commandes. Cela
vous permettra de bien comprendre le fonctionnement de Java. Ensuite, vous pourrez bien sr dvelopper avec un
EDI plus volu : RAD et EDI Java.
Je vous conseille d'utiliser Eclipse, Netbeans ou IntelliJ pour dvelopper vos applications Java. Tous ces outils sont
multiplateformes, gratuits pour le plus grand usage et trs puissants.

III - Je veux aller plus loin


Le langage Java peut tre utilis dans de nombreux domaines que je vous invite dcouvrir en parcourant les
diffrents articles Java de Developpez.com. Les chapitres suivants reprennent quelques thmes que vous pourriez
approfondir.

III-A - Comment dvelopper des interfaces graphiques avec Java ?


Pour dvelopper des interfaces graphiques en Java, plusieurs choix s'offrent vous :

AWT : c'est le premier framework graphique de Java. Il utilise les composants systmes pour dessiner
l'interface graphique, il est donc limit en composants.
Swing : c'est le successeur de AWT. Tous les composants sont dessins directement en Java. Ce qui fait
qu'il est plus lent que AWT, mais cette diffrence est trs faible dans les dernires versions de Java
JavaFX : est un framework Java permettant de construire des RIA (Rich Internet Application) cr par Sun
Microsystems et dsormais publi par Oracle. Ce framework est destin remplacer AWT/Swing dans le
futur en tant que bibliothque graphique de Java SE (Standard Edition - la version client de la JVM pour
ordinateurs de bureau). En effet, le dveloppement officiel de AWT/Swing est arrt.
SWT : ce framework graphique n'est pas disponible avec l'API standard de Java. C'est l'quipe de
dveloppement d'Eclipse qui l'a cr. Comme AWT, il utilise directement les composants systmes, mais
mule les composants non disponibles en les dessinant lui -mme.

Je vous conseille d'utiliser JavaFX. En effet ce framework est trs simple d'utilisation et trs complet. Vous pouvez
aussi tester SWT pour vous faire une ide.
Voici de quoi dbuter avec ces frameworks :

Les principaux tutoriels autour de JavaFX.


Cration de votre premire interface graphique avec Swing.
Les principes de base du GUI avec Swing.
Le dveloppement d'interfaces graphiques avec SWT.

III-B - Comment grer les bases de donnes avec Java ?


La premire manire de grer les bases de donnes est d'utiliser l'API
JDBC qui est en standard avec Java.
Ensuite, vous pouvez vous orienter vers les frameworks de mapping objet/relationnel tel que la spcification gnrale
JPA via l'implmentation la plus rpandue
Hibernate ou encore utiliser un framework de persistance plus petit
tel qu'iBatis.

-4-

Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de
prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2015 Baptiste Wicht. Aucune reproduction,
mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://baptiste-wicht.developpez.com/tutoriels/java/debuter/

Le tutoriel du dbutant pour apprendre programmer avec le langage Java par Baptiste Wicht

Voici des ressources qui vous seront fort utiles pour votre apprentissage :

Les tutoriels sur JDBC.


Introduction JDBC.
Les tutoriels sur JPA.
Les tutoriels sur Hibernate.
Charger des donnes depuis une base MySQL avec JDBC en 5 minutes.
Gestion de session avance avec Hibernate.
Apprendre stocker en Blob ou OrdImage des images avec Hibernate via les UserType.

III-C - Comment faire de la programmation web avec Java ?


La programmation web avec Java est trs riche. Tout d'abord, on trouve la distribution
Java EE qui regroupe
un grand nombre de spcifications JSR (CDI, JSP, Servlet, JAX-RS, JAX-WS, EJB, JSF). On trouve ensuite de
nombreux frameworks (Struts, Spring MVC, JSF, Wicket, GWT, Play Framework, Seam).
Voici quelques ressources qui pourraient vous tre utiles :

Les tutoriels sur GWT.


Les tutoriels sur Spring MVC.
Les tutoriels sur JSF.
Services Web.

III-D - Comment dvelopper pour un mobile avec Java ?


La distribution
Java ME permet le dveloppement sur mobile (ou plus gnralement sur systmes embarqus).
Vous pouvez galement vous orienter vers le dveloppement Android.
Voici quelques ressources qui pourraient vous tre utiles :

Dbuter en J2ME avec le profil MIDP.


Tutoriel sur la programmation des cartes puce en Java Card.
Les tutoriels sur Android.

III-E - Comment faire de la 2D/3D en Java ?


En Java, vous pouvez aussi faire du dessin (graphisme) 2D et 3D. Vous pouvez utiliser diffrentes APIs pour faire
ceci : Java2D, Java3D, JOGL, LWJGL et encore quelques autres moteurs graphiques. Voici quelques ressources
qui vous aideront dmarrer avec le graphisme :

Introduction au dessin en Java.


La programmation OpenGL en Java : introduction JOGL.
Premiers pas avec la librairie Java 3D.
Les APIs 3D pour Java.

III-F - Quels sont les autres outils que je peux utiliser ?


Une fois pass le stade des premiers programmes, il sera utile de voir d'autres programmes utilitaires pour Java et
de tester de nouveaux EDI. Dcouvrez les EDI les plus populaires sur notre page outils.
Pour la gestion de la construction de vos archives JAR, o vous pourriez aussi tre amen utiliser des utilitaires
ddis, vous pouvez vous diriger vers Ant, Maven, Ivy et Gradle.

-5-

Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de
prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2015 Baptiste Wicht. Aucune reproduction,
mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://baptiste-wicht.developpez.com/tutoriels/java/debuter/

Le tutoriel du dbutant pour apprendre programmer avec le langage Java par Baptiste Wicht

Enfin, il faudra galement penser mettre en place des tests unitaires avec JUnit.
Voici quelques ressources qui pourraient vous tre utiles :

Les tutoriels sur les outils pour Java.


Comparatif des outils de build pour Java.
Prise en main d'Ant.
Introduction Maven 2.
Les tutoriels sur les tests.

IV - Comment tester mes connaissances ?


Faire une srie d'exercices pour tester vos connaissances peut se rvler trs intressant. En effet, ceci vous
permettra de voir si vous avez bien acquis les informations sur Java.
C'est pourquoi l'quipe Java vous propose une srie de petits exercices sur le langage Java : Srie d'exercices
en Java.
Une autre faon de s'entraner est de crer une petite application soi-mme. Il ne faut pas viser trop gros sans quoi
vous risqueriez de ne jamais arriver bout de votre application. Voici quelques petits exemples d'applications
dvelopper soi-mme qui peuvent se rvler intressants :

Une calculatrice : pour commencer, dvelopper une calculatrice se rvle assez simple, mais vous pouvez
aussi aller assez loin suivant les fonctionnalits que vous lui ajoutez.
Un petit jeu : vous pouvez aussi dvelopper un petit jeu, par exemple un puissance 4 ou un jeu d'checs.
Vous n'avez pas encore besoin de travailler profondment sur le graphisme, mais vous pouvez dj faire de
belles choses. Si vous voulez aller un peu plus loin, vous pouvez vous lancer dans un jeu de la vie.
Une bibliothque : vous pouvez galement dvelopper une petite bibliothque. Cela vous permettra
d'aborder les bases de donnes ainsi que les formulaires.

Bonne chance !

V - J'ai tout lu, mais pas tout compris, o poser mes questions ?
Il est possible que vous n'ayez pas compris une notion de Java ou que vous ayez un problme pour implmenter
quelque chose. La premire chose faire est de vrifier dans les tutoriels Java si vous ne trouvez pas la rponse.
Ensuite, vous pouvez consulter les diffrentes FAQ de la rubrique :

FAQ Gnral Java : pour tout ce qui concerne le langage en gnral et les notions principales de Java.
FAQ Java GUI : pour tout ce qui concerne les interfaces graphiques en Java.
FAQ Java JavaFX : pour tout ce qui concerne JavaFX.
FAQ Java XML : pour tout ce qui concerne la manipulation de XML en Java.
FAQ Java EE : pour tout ce qui concerne Java EE.
FAQ Java ME : pour tout ce qui concerne Java ME.
FAQ JDBC : pour tout ce qui concerne la manipulation des bases de donnes.
FAQ Hibernate : pour tout ce qui concerne Hibernate.
FAQ Struts : pour tout ce qui concerne le framework struts.
FAQ Eclipse : pour tout ce qui concerne Eclipse.
FAQ Netbeans : pour tout ce qui concerne Netbeans.
FAQ IntelliJ : pour tout ce qui concerne IntelliJ.
FAQ JCreator : pour tout ce qui concerne JCreator.
FAQ Maven : pour tout ce qui concerne Maven.
FAQ Tests : pour tout ce qui concerne les tests.
FAQ JSF : pour tout ce qui concerne JSF.
FAQ Spring : pour tout ce qui concerne Spring.
-6-

Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de
prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2015 Baptiste Wicht. Aucune reproduction,
mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://baptiste-wicht.developpez.com/tutoriels/java/debuter/

Le tutoriel du dbutant pour apprendre programmer avec le langage Java par Baptiste Wicht

Si votre rponse ne se trouve pas dans une de ces pages, vous pouvez poser votre question sur les forums Java :

Gnral Java : pour toutes vos questions gnrales Java.


Et ses sous-forums :

Langage : langage Java, syntaxe, POO, conventions.

API : forum sur les API standard et API complmentaires.

JDBC : pour vos questions sur l'API JDBC.

Persistance : pour toutes vos questions sur la gestion de la persistance en Java.

Spring : pour vos questions sur le framework Spring.

XML : pour vos questions sur la manipulation des fichiers XML.

Java ME : pour vos questions sur le dveloppement pour mobiles.


Interfaces graphiques en Java : pour toutes vos questions sur les interfaces graphiques en Java.
Et ses sous-forums :

JavaFX : pour toutes vos questions concernant l'API graphique JavaFX.

AWT/Swing : pour toutes vos questions sur les apis Swing et AWT.

SWT/JFace : pour toutes vos questions sur les apis SWT et Jface.

Graphisme : pour toutes vos questions sur le graphisme (2D, 3D, OpenGl) en Java.
Developpement web avec Java : pour toutes vos questions sur la programmation web en Java.
Serveurs d'applications pour Java/Java EE : pour toutes vos questions sur les serveurs d'applications pour
Java/Java EE.
EDI/Outils pour Java : pour toutes vos questions sur les diffrents outils pour Java.

Lorsque vous posez une question, soyez toujours le plus prcis possible et vitez les questions du type Urgent
problme db . Faites aussi attention poster dans le bon sous-forum. Plus votre question sera claire et plus il y aura
de gens qui la liront et prendront la peine d'essayer d'y rpondre.
Eh voil, j'espre que vous trouverez les rponses vos questions.

VI - Conclusion
J'espre que cet article aura pu vous aider vous lancer dans le langage Java plus facilement et que vous aurez
acquis de nouvelles connaissances.
L'quipe Java vous souhaite une bonne programmation ;)

VI-A - Remerciements
Je tiens remercier ced pour ses corrections.

-7-

Les sources prsentes sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de
prsentation constitue une uvre intellectuelle protge par les droits d'auteur. Copyright 2015 Baptiste Wicht. Aucune reproduction,
mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et intrts.
http://baptiste-wicht.developpez.com/tutoriels/java/debuter/

Vous aimerez peut-être aussi