IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Les meilleurs cours et tutoriels pour apprendre JAVA

Les meilleurs cours et tutoriels pour apprendre JAVA

Sélection des meilleurs tutoriels et cours de formation gratuits pour apprendre la programmation Java. Vous trouverez les meilleures méthodes éducatives pour une formation agréable et complète, ainsi que des exercices intéressants, voire ludiques, vous pouvez aussi trouver des exercices offerts en sus des cours pour perfectionner votre niveau et acquérir de l'expérience. Si vous avez besoin, n'hésitez pas aussi à vous référer à la FAQ Java et à poser vos questions sur les forums d'entraide Java.

Un espace de dialogue vous est proposé sur le forum si vous avez des remarques concernant cette page cours Java : 2 commentaires Donner une note à l´article (5).

Page lue   fois.

Nombre d´auteurs : 287, nombre de traducteurs : 2, nombre d´articles : 241, dernière mise à jour : 25 novembre 2023 

 
Pour débuter

Sommaire

menu Cours magistraux et d'initiation
menu Langage
  • PDF on-line ZIP E-book 
    fr
    Il existe de multiples collections en Java, mais laquelle utiliser ? Cet article vous en présente les principales pour vous aider à choisir.
     
  • PDF on-line ZIP E-book 
    fr
    Découvrir les collections Java est une chose, en connaitre les subtilités en est une autre. Cet article vous présente certaines des subtilités utiles des collections en Java.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article va vous présenter une liste des tous les mots réservés du langage Java et leur signification.
     
  • PDF on-line ZIP E-book 
    fr
    Depuis 10 ans maintenant, le phénomène Java ne cesse de prendre de l'ampleur. Simple à appréhender, cette technologie recèle de richesses incroyables que vous pourrez découvrir après avoir suivi cette initiation.
     
  • PDF 
    fr
    Tutoriel sur la manipulation des expressions régulières avec l'API Regex de Java. La puissance des regex au service de la recherche de motifs dans des chaînes de caractères et les conversions de format.
     
  • on-line E-book 
    fr
    Présentation de Java SE 7
    par Frédéric Martini
    La demoiselle s'est fait attendre ! C'est le moins que l'on puisse dire. Alors que l'on était jusque-là habitué à avoir une nouvelle version tous les deux ans en moyenne, il aura fallu quatre ans et demi pour voir débarquer Java SE 7. Mais il est vrai que son développement fut assez mouvementé, entre les ajouts/suppressions de fonctionnalités, les divers reports et surtout le rachat de Sun par Oracle...
     
  • on-line 
    fr
    En fin d'année dernière, le report de Java 7 laissait envisager l'intégration des closures. Cela a donné naissance au projet Lambda dont l'objectif était de regrouper les différents travaux afin d'en sortir une spécification claire et fonctionnelle quitte à se passer de certain « power-concept ». Il en ressort une proposition d'expressions Lambda relativement allégée vis-à-vis des multiples et très complètes propositions de closures faites par le passé. Mais cela s'accompagne également de nouveaux concepts fort intéressants (Exception Transparency, Method References, Defender Methods). Voyons de quoi il en retourne...
     
  • on-line ZIP 
    fr
    Présentation de Java SE 6
    par Frédéric Martini
    Alors que Java 5.0 s'annoncait comme une révolution, en apportant un grand nombre de modifications dans le langage, le nouvel opus de Java se présente plus serein et mature. Pas de révolution pour Java SE 6, mais de vraies évolutions afin de préparer le futur du langage et son ouverture aux autres langages.
     
  • PDF on-line ZIP E-book 
    fr
    Les nouveautés de Java 5.0 Tiger (J2SE 1.5). Tiger est le nom de code de la prochaine version de Java SE, l'environnement de base de développement en langage Java. Dans cet article vous allez découvrir les principales nouveautés apportées par cette nouvelle version de la technologie Java.
     
  • PDF on-line ZIP E-book 
    fr
    Fonctionnement de la JVM d'IBM : J9
    par Antonio Gomes Rodrigues
    Afin de profiter au maximum de la JVM d'IBM (appelée J9), il est important de comprendre son fonctionnement. C'est ce que nous allons voir dans ce tutoriel.
     
  • on-line 
    fr
    La classe String étant immuable, la création de copies de protection est donc inutile. De ce fait pendant longtemps j'ai pensé que la présence de ce constructeur de copies String(String) était une bizarrerie de l'API, que l'on se traine pour des raisons de compatibilité ascendante.
     
  • PDF on-line ZIP E-book 
    fr
    Résumé concernant l'utilisation des chaînes de caractères en Java.
     
  • PDF on-line ZIP E-book 
    fr
    Les Strings sont un des objets les plus employés de Java. À tel point qu'il est même impossible de créer une application Java sans en faire usage. Voyons comment les utiliser de manière optimale...
     
  • PDF on-line ZIP E-book 
    fr
    Déclaration et contrôle d'accès
    par Ndjobo Armel Fabrice
    Le but de cet article est de présenter les notions fondamentales du langage Java de façon concise. Globalement, nous parlerons des énumérations, des classes et des interfaces en prenant le soin de traiter chaque point dans le détail.
     
  • PDF on-line ZIP E-book 
    fr
    La méthode est très simple, mais mérite d'être appliquée systématiquement dans vos développements. En effet, vérifier l'intégrité des paramètres avant tout traitement permet d'une part de rendre votre code beaucoup plus lisible , et d'autre part, de s'assurer de sa robustesse . Rien ne devrait plus arriver qui n'a été prévu. Voici trois exemples de code, le premier sans vérification, le second avec vérification en cours de code et le dernier avec validation des paramètres, que vous utiliserez dorénavant.
     
  • PDF on-line ZIP E-book 
    fr
    Opérations binaires
    par Romain Guy
    Ce tutoriel traite des opérations binaires en Java. Les explications suivantes pourront néanmoins être utilisées dans tout autre langage.
     
  • PDF on-line ZIP E-book 
    fr
    Voici le premier article d'une série, qui vous introduira des binaires Java, afin de pouvoir optimiser ou modifier votre code et peut-être, pour vous, de créer un minicompilateur Java, un obfuscateur ou un générateur de code à la volée ! Dans un premier temps, nous nous attarderons sur la machine virtuelle Java ou JVM (Java Virtual Machine), de cette façon, la compréhension des instructions binaires et de la structure d'un fichier .class sera plus facile à aborder par la suite. Cette première partie n'est rien de plus qu'un rassemblement des spécifications de la JVM, et un cours d'introduction sur le « byte-code » (ce que l'on pourrait appeler l'assembleur du Java). Amusez-vous bien, c'est une nouvelle dimension pour ceux qui connaissent déjà le langage Java sur le bout des doigts !
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel vise à présenter les différents types primitifs de Java ainsi que les classes enveloppes. Il indique comment bien les employer en montrant les mécanismes qui se cachent derrière certaines opérations.
     
  • PDF on-line ZIP E-book 
    fr
    L'implémentation dynamique est une façon de construire dynamiquement une instance. Cette pratique peut être difficile à appréhender mais nous allons voir comment l'utiliser, et dans quels types de projets elle se révèle très utile.
     
  • PDF on-line ZIP E-book 
    fr
    La version 5 du JDK (Tiger) a introduit une notion qui est passée inaperçue face aux autres nouveautés (généricité, auto-boxing, etc.) Cette nouveauté est la covariance des types retours. Cet article aura pour but de présenter les concepts qu'introduit cette notion. Je vous proposerai quelques exemples permettant de mettre en évidence son utilité.
     
  • PDF on-line ZIP E-book 
    fr
    Les Annotations de Java 5.0 Tiger
    par Frédéric Martini
    Les annotations permettent de marquer différents éléments du langage Java avec des attributs particuliers, dans le but d'automatiser certains traitements et même d'ajouter des traitements avant la compilation grâce au nouvel outil du JDK : APT .
     
  • PDF on-line ZIP E-book 
    fr
    Les annotations de Java 5
    par Romain Guy
    La dernière tendance à la mode en programmation consiste à utiliser des métadonnées. Vous pouvez d'ores et déjà les utiliser avec C# et la prochaine version 2.4 de Python nous les promet. La dernière version de Java, le Java SE 5, propose également les métadonnées, appelées annotations.
     
  • PDF on-line ZIP E-book 
    fr
    Les développeurs attendent impatiemment la version 5.0 de Java qui apporte de nombreuses nouveautés au langage. L'une d'entre elles, les types paramétrés ou generics en anglais, changera considérablement la manière d'écrire les programmes Java.
     
  • PDF on-line ZIP E-book 
    fr
    Utiliser les assertions
    par Sébastien Meric
    Dans ce documement, je vous présente un cadre de développement particulier : les assertions . Les assertions sont la traduction en code interprétable par un ordinateur de vos certitudes. Vous traduisez souvent celles-ci à l'aide de commentaires dans le code. À partir d'aujourd'hui, vous pourrez le faire sous la forme d'un code interprétable.
     
  • PDF on-line ZIP E-book 
    fr
    Après une présentation des exceptions, cet article tente d'illustrer quelques bonnes pratiques de programmation en rapport avec les exceptions.
     
  • on-line 
    fr
    Les Closures (style BGGA)
    par Frédéric Martini
    Pour rappel, une closure représente un « bloc de code », qui peut être manipulé comme un objet. À l'heure actuelle l'utilisation de classes anonymes est ce qui s'en rapproche le plus (avec une syntaxe assez lourde toutefois). L'objectif des Closures étant d'utiliser une syntaxe plus concise.
     
  • on-line 
    fr
    Les closures (style CICE)
    par Frédéric Martini
    Les closures style BGGA sont extrêmement complètes, mais apportent également leur lot de complexité. De ce point de vue-là, la proposition CICE prend le problème à contre-pied et propose une implémentation la plus simple possible.
     
  • on-line 
    fr
    Les closures (style FCM)
    par Frédéric Martini
    Après BGGA et CICE, voici une présentation de la proposition de closures FCM qui se place exactement entre les deux précédentes : à la fois plus simple que BGGA, mais également plus complète que CICE.
     
  • PDF on-line ZIP E-book 
    fr
    L'impression en Java
    par Bruno Roucheton
    Cet article présente un retour d'expérience personnelle sur l'impression en Java. Il présente l'API officielle pour l'impression ainsi que ses limites. Il présente aussi les techniques que j'ai employées pour contourner ces limites. Ce document n'est donc pas une documentation officielle, mais plutôt le fruit de recherches individuelles pour arriver à obtenir une impression de qualité en Java.
     
  • PDF on-line ZIP E-book 
    fr
    Cloner en Java
    par Yann D'Isanto
    Présentation de l'interface Cloneable de Java.
     
  • PDF on-line ZIP E-book 
    fr
    Le garbage collector
    par Romain Guy
    Vous allez découvrir le garbage collector de Java, fort malhabilement nommé ramasse-miettes en français. Cet article explique comment la machine virtuelle gère la mémoire et comment fonctionne le garbage collector. En le maitrisant vous pourrez éviter des utilisations abusives de la mémoire et optimiser vos applications.
     
  • on-line ZIP E-book 
    fr
    La gestion de la mémoire en Java
    par Olivier Schmitt
    La gestion de la mémoire en Java (profilage avec Netbeans 5.x).
     
  • PDF on-line ZIP E-book 
    fr
    Java simplifie grandement la gestion des données par rapport à des langages comme le C ou le C++ en ne permettant au développeur de ne manipuler que des références. La libération des objets est en outre réalisée par le garbage collector. Ces particularités ont de nombreux avantages, mais rendent très difficile une gestion fine de la mémoire. Elles peuvent également introduire des problèmes importants dans vos programmes.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article est le premier d'une série de trois articles consacrés à la performance des applications Java. Il traite de considérations générales applicables au niveau de l'algorithmique et de la programmation.
     
  • PDF on-line ZIP E-book 
    fr
    Les tables de hachage
    par Jean-Philippe Collette
    Ce modeste article vous présente les tables de hachage, une structure de données très répandue et pratique. En plus d'expliquer le concept, vous trouverez une implémentation faite pas à pas en Java.
    Aucune connaissance préalable n'est requise.
     
  • PDF on-line ZIP E-book 
    fr
    Présentation du développement de services en Java avec le ServiceLoader.
     
  • PDF on-line ZIP E-book 
    fr
    De Java à Cocoa
    par Sylvain Gamel
    Cet article, en plusieurs parties, permettra aux développeurs Java de pouvoir facilement passer à Cocoa et Objective-C.
     
  • PDF on-line ZIP E-book 
    fr
    La beauté des fermetures en C# et Java
    par Jon Skeet, Thomas Levesque (Traduction)
    Les fermetures (« closures » en anglais) permettent d'encapsuler un comportement et de le manipuler et le balader comme n'importe quel objet, tout en continuant à avoir accès au contexte dans lequel il a été déclaré initialement. La plupart des articles concernant les fermetures sont écrits en termes de langages fonctionnels. Il est utile d'écrire un article qui traite de comment elles apparaissent dans des langages orientés objet plus traditionnels.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article s'intéresse à détailler les annotations de type et le moteur JavaScript Nashorn. Il a été rédigé quand le JDK 8 n'était pas encore à l'état finalisé, il est possible qu'il y ait des différences entre les fonctionnalités décrites dans cet article et celles proposées dans la version finale.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article s'intéresse à détailler la nouvelle API pour gérer les dates et l'heure. Il a été rédigé quand le JDK 8 n'était pas encore à l'état finalisé, il est possible qu'il y ait des différences entre les fonctionnalités décrites dans cet article et celles proposées dans la version finale.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article s'intéresse à détailler le projet Lambda pour la future version de Java 8. Il a été rédigé quand le JDK 8 n'était pas encore à l'état finalisé, il est possible qu'il y ait des différences entre les fonctionnalités décrites dans cet article et celles proposées dans la version finale.
     
  • PDF on-line ZIP E-book 
    fr
    En attendant la sortie de Java 8, un tutoriel qui présente les nouveautés concernant les interfaces Java.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel vise à expliquer de manière succincte les concepts de java.io. Il est destiné aux personnes débutantes en Java.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article s'intéresse à la session « 50 nouvelles choses que l'on peut faire avec Java 8 » présentée par José Paumard lors de la conférence Devoxx France 2014.
     
  • PDF on-line ZIP E-book 
    fr
    Ensemble de tutoriels qui présentent en détail la machine virtuelle Java.
     
  • PDF on-line ZIP E-book 
    fr
    J'accompagne Voyages SNCF (VSCT) depuis plus de deux ans en tant qu'Architecte de suivi de production chez PALO IT. J'interviens notamment sur les problématiques liées à la mise en production de nouvelles versions des applications. À travers cet article, je vais vous faire part de mon retour d'expérience suite à ma participation à un hackathon intitulé « Faire basculer VSCT vers Java 8 ».
     
  • PDF on-line ZIP E-book 
    fr
    Né dans les locaux de SUN courant 2008, le très ambitieux projet « Jigsaw » a failli connaître la gloire en 2012. Son objectif est d'aboutir à une plateforme Java modulaire répondant, plus efficacement, aussi bien aux attentes des grandes plateformes Java EE, qu'à celles des architectures plus restreintes comme les mobiles, les tablettes et les micropuces. Une plateforme Java flexible, légère et performante est plébiscitée, attendue par tous. Or après huit ans de gestation, pourrions-nous continuer à croire à la naissance d'un miracle ?
     
  • PDF on-line ZIP E-book 
    fr
    Comprendre la machine virtuelle Java
    par Olivier Guilloux (SQLI)
    Parmi les grands axes d'optimisation d'une application Java, il y a la bonne gestion de sa mémoire et du garbage collector. Pour rappel, lorsque celui-ci s'exécute, toute l'application peut être figée pendant quelques millisecondes (ou plus), le temps de nettoyer les références inutiles. Le second axe d'amélioration est d'optimiser les accès au monde extérieur à la JVM (notamment dans le cadre d'accès à la base de données et des requêtes SQL / HSQL ou autres entrées/sorties).
     
  • PDF on-line ZIP E-book 
    fr
    Exploitation de l'API Date and Time de Java 8
    par Gérald Quintana (Zenika)
    Ce tutoriel s'intéresse à décrire les bonnes pratiques quant à l'usage de la nouvelle API pour manipuler les dates et heures avec Java 8.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel s'adresse aux développeurs qui souhaitent découvrir (ou redécouvrir) l'API stream introduite dans Java 8 grâce au langage SQL.
     
  • PDF on-line ZIP E-book 
    fr
    Comme tout système s'appuyant sur des inputs, il est très important de contrôler les arguments des méthodes quand on élabore une API, qu'elle soit locale sous forme de JAR ou distante via un service REST, afin de non seulement la rendre plus robuste et stable, mais aussi de se prémunir de certaines attaques. Cependant, en Java de base, c'est particulièrement laborieux, rébarbatif et cela engendre une fainéantise exacerbée. Conséquences directes et désastreuses : baisse de la qualité, de la robustesse du code et créations potentielles de failles de sécurité. Cet article tente de faire le tour de la question, sans prétention, en ratissant assez large. C'est-à-dire en allant de Java classique jusqu'à Bean Validation et JAX-RS, en passant par une implémentation spécifique « faite maison ».
     
  • on-line 
    fr
    La sortie récente du JDK 10 a vu débouler le mot-clé var dans le petit monde de Java ; ainsi comme dans d'autres langages avant lui (C#, JavaScript, etc.), lors de la déclaration de variables locales. Ce billet de blog s'intéresse à expliquer son usage.
     
  • PDF on-line ZIP E-book 
    fr
    Si vous avez suivi un petit peu l'actualité de Java, vous avez dû remarquer qu'il s'est passé pas mal de choses cette dernière année : Java 9 est sorti il y a un an avec pas mal de nouveautés (dont la tant attendue modularité du JDK) et n'est déjà plus supporté depuis 6 mois, Java 10 est sorti il y a 6 mois et n'est plus supporté non plus, Java 11 vient de sortir et il est LTS (Long Term Support). Oracle fournit deux distributions de Java : Oracle et OpenJDK et propose du support étendu pour ceux qui le veulent. Java 8 (la version la plus utilisée actuellement) ne sera plus supporté à partir de janvier 2019 ! Ceux qui sont un peu perdus là-dedans, cet article est fait pour eux ! Je vais tenter d'éclaircir le nouveau mode de gouvernance de Java (cycle des versions, support, distribution) et de vous présenter les principales nouveautés des versions 9, 10 et 11 en faisant le point sur les changements à destination des développeurs.
     
  • PDF on-line ZIP E-book 
    fr
    Java 12 est sorti le 20/03/19, apportant une nouvelle façon d'écrire des structures de contrôle switch/case. Cela m'a donné une idée, certes un peu étrange, de revoir le traditionnel switch/case d'un point de vue programmation fonctionnelle en s'appuyant sur des lambdas et une petite classe Switch, le tout en JAVA 8 !
     
  • on-line 
    fr
    Il y a un an, je vous faisais le bilan des nouveautés de Java dans les versions 8 à 11 ici : Java.Next. Depuis Java 10, les versions de Java arrivent tous les six mois avec une version Long Term Support (LTS) toutes les six versions, la première LTS étant Java 11. Maintenant que trois nouvelles versions de Java sont sorties depuis le précédent article (la 14, il y a quelques jours seulement), il est grand temps de se pencher sur ce qu'elles apportent. Et on peut dire qu'en trois releases nous avons eu beaucoup de nouvelles fonctionnalités fort intéressantes : Switch Expressions, Text Blocks (des Strings sur plusieurs lignes), des NullPointerExceptions avec des messages d'erreurs plus parlants, les Records et un début de Pattern Matching.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article présente la JDK Enhancement Proposal (JEP) 358 (Helpful NullPointerExceptions) qui propose de gérer plus efficacement le NullPointerException.
     
  • on-line ZIP 
    fr
    Vous trouverez dans ce tutoriel une découverte des nouveautés de Java 15 avec des explications et des exemples.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article s'intéresse au projet Skara. L'objectif du projet est d'étudier les alternatives à Mercurial pour le gestionnaire de sources et les différents fournisseurs. Ce qui est intéressant dans la démarche, c'est qu'il dissocie le choix de gestionnaire de sources et le choix de l'hébergeur. Le choix de Mercurial avait été fait par Sun Microsystems en 2006.
    Commentez Donner une note à l´article (5) Création : 26 mars 2021 
     
  • PDF on-line ZIP E-book 
    fr
    Cet article présente la JDK Enhancement Proposal (JEP) 378 (Text Blocks) qui permet l'écriture des chaines de caractères sur plusieurs lignes.
    Commentez Donner une note à l´article (5) Création : 4 mars 2021 
     
menu API standard et tierces
  • PDF on-line ZIP E-book 
    fr
    Les Collections Java ont un peu plus d'une douzaine d'années d'existence et s'imposent comme une des plus importantes API du monde Java. De nombreux framework en utilisent les fonctionnalités et les étendent. C'est notamment le cas de Google-Collections qui ajoute des évolutions intéressantes comme les Prédicats, les objets Multi ou Bi, les immutables, etc. Ce document est un point de départ à la découverte des éléments clés de Google-Collections.
     
  • PDF on-line ZIP E-book 
    fr
    Un bean classique, représentant un chien par exemple, peut vite peser des centaines de lignes quand on l'équipe avec les méthodes classiques et indispensables (constructeurs, getters, setters, equals, hashCode, toString, compareTo), même s'il possède peu d'attributs. Dans cet article, nous verrons comment mettre un tel cabot au régime et lui faire une beauté à l'aide de Commons Lang, Guava et Lombok. Nous en profiterons pour comparer ces bibliothèques entre elles et avec le code Java habituel, sans oublier celui qu'Eclipse génère.
     
  • PDF on-line ZIP E-book 
    fr
    Le RMI (ou Remote Method Invocation) est très souvent utilisé, soit directement, soit dans des couches sous-jacentes. RMI est par exemple utilisé pour exposer des EJB SessionBeans. Notre objectif va être de démystifier RMI en comprenant ses mécanismes. Nous allons analyser comment une invocation à distance est possible en allant jusqu'a implémenter notre propre version allégée de RMI. Bien entendu, afin de nous focaliser sur les objectifs de cet article, certains prérequis sont nécessaires. Aucun rappel sur l'utilisation et la gestion d'un réseau en Java ne sera fait.
     
  • PDF on-line ZIP E-book 
    fr
    Remoting avec Hessian
    par Jawher Moussa
    Cet article a pour objectif de vous présenter une solution légère et rapide de remoting avec Caucho Hessian.
     
  • PDF on-line ZIP E-book 
    fr
    Utilisation de l'API java.comm
    par Christophe Jollivet
    Cet article vous présente l'utilisation de l'api java.comm pour le contrôle des ports séries.
     
  • PDF 
    fr
    Compression Zip et GZip
    par Hugo Etiévant
    Tutoriel sur la manipulation des archives Zip et GZip avec l' API Zip de Java. Vous apprendrez comment faire de la compression Zip et comment décompresser des archives Zip.
     
  • on-line ZIP 
    fr
    Ce tutoriel vise à présenter le package java.io en décrivant les différentes classes qui le composent et en précisant quand et comment les utiliser.
     
  • PDF on-line ZIP E-book 
    fr
    Vous avez sûrement déjà utilisé Internet ou un simple réseau local. Dans un tel environnement, les applications communiquent entre elles par le biais d'objets appelés sockets. Nous allons donc apprendre à manipuler ces sockets...
     
  • PDF on-line ZIP E-book 
    fr
    Réseau en Java
    par Florent Humbert
    Ce cours introduira les notions pour permettre la gestion du réseau en Java à l'aide de la bibliothèque standard Java. Notamment pour la gestion des communications du côté serveur et du côté client suivant les protocoles TCP et UDP.
     
  • PDF on-line ZIP E-book 
    fr
    De nombreux programmeurs critiquent Java pour des raisons de performances. Malgré les améliorations constantes de nos ordinateurs et des JVM, ce reproche perdure. Nous allons cependant voir que connaître les API suffit largement pour obtenir d'excellentes performances.
     
  • on-line vidéo flash 
    fr
    Cet article présente le mode opératoire pour la création d'un rapport Birt avec une requête paramétrée.
    Il a été réalisé avec la version 2.0.1 du moteur Birt.
     
  • PDF on-line ZIP E-book 
    fr
    Journalisation avec SLF4J
    par Baptiste Wicht
    Cet article va vous présenter SLF4J qui est une couche d'abstraction de journalisation. Cette API a plusieurs avantages qui seront présentés dans cet article ainsi que les différentes fonctionnalités de cette bibliothèque.
     
  • PDF on-line ZIP E-book 
    fr
    L'objet de ce tutoriel est de montrer comment accéder simplement aux données d'un serveur Ldap via Spring Ldap 1.2.
    Il est n'est pas nécessaire d'utiliser ou de connaitre Spring pour utiliser ce tutoriel.
    Il n'est pas non plus nécessaire d'installer un serveur Ldap, car nous utiliserons le serveur public de www.openldap.com .
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel constitue une première approche pour l'utilisation de la bibliothèque Bouncy Castle, bibliothèque de cryptographie (signature, chiffrement...) libre et open source. .
     
  • PDF on-line ZIP E-book 
    fr
    Traitement d'images en Java
    par Mohamed Slim
    Cet article est destiné aux développeurs Java qui souhaitent écrire des applications permettant de faire du traitement d'images en Java avec l'API Java 2D. Pour comprendre les notions présentées dans cet article, une connaissance préalable de l'API SWING est un minimum requis.
     
  • PDF on-line ZIP E-book 
    fr
    Traitement vidéo en Java
    par Mohamed Slim
    Cet article est destiné aux développeurs Java qui souhaitent écrire des applications ou des applets permettant de traiter du son ou de la vidéo en Java en utilisant l'API Java Media Framework(JMF) sous un système Win32.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article explique comment manipuler les projections avec la bibliothèque GeotoolKit. Un zip contenant tous les exemples se trouve à la fin.
     
  • PDF on-line ZIP E-book 
    fr
    Structure et première carte avec Geotools. Une approche professionelle, mondiale en respect des normes en vigueur dans le domaine des systèmes d'informations géographiques.
     
  • PDF on-line ZIP E-book 
    fr
    Dix minutes pour faire de la géolocalisation. Vous avez tous fait des bases de données contenant l'adresse, le code postal et la ville d'un client ou d'un utilisateur. Grâce à GoogleMaps quel que soit votre langage de programmation vous pouvez accéder à une carte de localisation.
     
  • PDF on-line ZIP E-book 
    fr
    Voici une liste non exhaustive des principaux outils pouvant être utilisés pour le développement cartographique.
     
  • PDF on-line ZIP E-book 
    fr
    Article orienté SIG (Système d'information géographique). Dans cet article vous verrez comment décompresser un fichier VisualDEM .dem. Ce format est ancien et peu utilisé, il stocke un modèle numérique de terrain.
     
  • PDF on-line ZIP E-book 
    fr
    Apache Software Foundation propose une large gamme de bibliothèques facilitant grandement la tâche du développeur Java. Ce sont ces bibliothèques que nous allons découvrir dans cet article.
     
  • PDF on-line ZIP E-book 
    fr
    Afin d'éviter à tous les développeurs de gérer à la main le tableau d'arguments de la méthode main, il existe deux API dans le monde open source.
    La première est Jakarta Commons CLI, qui commence à avoir un certain âge, la seconde est Args4j qui est plus récente.
    Cet article a pour but de vous montrer leur utilisation, ainsi que les avantages de chacune d'elles.
     
  • PDF on-line ZIP E-book 
    fr
    Les Commons Collections sont des extensions développées par Jakarta pour compléter le framework Collections du JDK de Oracle. Elles définissent un certain nombre d'interfaces ainsi qu'une multitude d'implémentations relatives au comportement et à la manipulation des collections.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article décrit les mécanismes et l'utilisation de l'API Commons Configuration du projet Jakarta.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article est consacré à la programmation orientée aspect. Il présente d'abord, d'une manière indépendante de l'implémentation, les principaux concepts de l'AOP, puis illustre ces concepts avec des mises en œuvre pratiques en langage AspectJ à travers un exemple d'application.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article va vous présenter l'installation de JR sous Windows. Ce n'est pas un article pour apprendre la programmation JR, c'est juste un article pour installer JR sous Windows.
     
  • PDF on-line ZIP E-book 
    fr
    Les Behaviours dans JADE
    par Youghourta Benali
    Après avoir vu comment créer un agent JADE sous Eclipse ici. Nous allons voir dans cet article comment utiliser les comportements (behaviours), l'un des aspects les plus importants de la programmation orientée agent.
     
  • PDF on-line ZIP 
    fr
    Les communications des agents JADE
    par Youghourta Benali
    Après avoir vu comment créer un agent JADE et comment définir ses tâches ; alors pour parler d'un véritable système multiagent et non pas d'un ensemble d'agents agissant d'une manière individuelle, il est temps de voir comment les agents communiquent et s'échangent les messages. Cet article a comme but de montrer comment les agents JADE s'échangent les messages, et comment créer des conversations entre les agents JADE.
     
  • on-line ZIP 
    fr
    Canterbury Pascal
    par Richard Maurel
    Le compilateur Canterbury Pascal est un compilateur Pascal assez particulier, puisqu'il produit du code pour une machine virtuelle Java (bytecode) ou une traduction du programme en Java.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article a été rédigé pour permettre d'étudier les différentes couches d'une application répondant aux spécifications JMX. Les principales fonctionnalités des clients JMX sont discutées et accompagnées de plusieurs exemples illustratifs.
     
  • PDF on-line ZIP E-book 
    fr
    Approche de JNI via Delphi
    par Philippe Sénéchal
    Ce tutoriel a pour objectif de découvrir l'utilisation de JNI avec Delphi.
     
  • PDF on-line ZIP E-book 
    fr
    Exécuter du code natif en Java : JNI VS JNA
    par Mickael BARON, Frédéric Martini
    JNI (Java Native Interface) et JNA (Java Native Access) sont deux technologies qui permettent d'adresser du code natif dans du code Java. Nous explorerons dans cet article une comparaison de ces deux technologies en les appliquant à un même exemple dans le but de dresser un bilan de leur utilisation.
     
  • on-line ZIP 
    fr
    Dans cette série de trois articles dédiée à l'intelligence artificielle distribuée, nous allons aborder des notions liées à la fois à l'algorithmique, les mathématiques, les sciences cognitives ou encore la robotique. Aussi, nous mettrons en place une simulation basée sur le Framework Intellego afin de nous initier aux techniques de contrôle robotique avant de conclure par le développement de briques Lego RCX.

    Dans cette première partie, nous allons créer un univers dans lequel évolueront les robots : Les labyrinthes parfaits .
     
  • PDF on-line ZIP E-book 
    fr
    Présentation de FoxyTag
    par Michel Deriaz
    Présentation de FoxyTag.
     
  • PDF on-line ZIP E-book 
    fr
    Voici un petit guide des bonnes pratiques pour exécuter une application externe en Java.
     
  • PDF 
    fr
    Tutoriel sur l'analyse de la qualité du code source d'un projet de développement en Java avec l'outil JavaNCSS 21.41.
     
  • PDF 
    fr
    Tutoriel sur l'analyse de la qualité du code source d'un projet de développement en Java avec l'outil JDepend 2.7.
     
  • PDF on-line ZIP E-book 
    fr
    Oracle a décidé d'aider Java à devenir une technologie indispensable pour le développement d'applications riches. Pour cela, un projet libre a été mis en place sur javadesktop.org, les JDIC, que nous allons découvrir ensemble.
     
  • PDF on-line ZIP E-book 
    fr
    Dans de nombreuses applications, il peut paraître indispensable aux yeux de l'utilisateur de bénéficier d'un moteur de recherche. Toutefois, l'écriture d'un tel module demande beaucoup de temps et d'effort. Il est donc grand temps pour nous de découvrir Lucene.
     
  • PDF on-line ZIP E-book 
    fr
    UndoableJText est une petite API permettant d'implémenter les fonctionnalités « undo » et « redo » sur vos objets de type JTextComponent. Ces fonctionnalités sont présentes dans la quasi totalité des applications actuelles et leur absence peut même parfois surprendre.
     
  • PDF 
    fr
    Tutoriel sur la génération de variables aléatoires uniformes, normales et exponentielles avec l'API Random de Java. Tout sur la création de nombres aléatoires de bonne qualité.
     
  • PDF on-line ZIP E-book 
    fr
    API Reflection
    par Eric Siber
    L'introspection consiste en la découverte, de façon dynamique, des informations propres à une classe Java. Ces informations, que nous appellerons métadonnées, décrivent de façon exhaustive les caractéristiques d'une classe Java (champs, méthodes...). Ce mécanisme est utilisé par la machine virtuelle Java en cours d'exécution, mais également par les outils de développements. L'API Java qui permet ceci est l' API Reflection , nous allons voir à travers cet article à quoi celle-ci peut servir, mais surtout comment vous pourrez l'utiliser pour vos développements Java.
     
  • PDF on-line ZIP E-book 
    fr
    La plateforme Java offre une notion avancée de programmation nommée introspection, ou en anglais reflection. Cette notion permet de découvrir à l'exécution la nature des objets de l'environnement et d'agir sur eux sans pour autant les connaître.
     
  • PDF on-line ZIP E-book 
    fr
    Selon l'importance d'une application, certains utilisateurs expriment le besoin d'extraire régulièrement des données, calculer des statistiques, ou effectuer des opérations de maintenance. Ces tâches peuvent s'avérer coûteuses en ressources système (temps CPU, mémoire, réseau...) et donc détériorer le temps de réponse de l'application au détriment des autres utilisateurs. Une solution est de programmer l'exécution de ces tâches la nuit, de manière récurrente ou non. Ce tutoriel explique comment planifier simplement des tâches en Java avec le JDK et de manière plus sophistiquée avec la bibliothèque Quartz.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel a pour but de présenter la sérialisation binaire en Java. Après une initiation aux bases de ce concept, il poursuit sur les fonctionnalités plus complexes qui vous permettront une maîtrise totale de la sérialisation.
     
  • PDF on-line ZIP E-book 
    fr
    La sérialisation XML en Java
    par Yann D'Isanto
    Ce tutoriel a pour but de présenter la sérialisation XML en Java. Il commence par les bases et continue sur les fonctionnalités plus complexes qui vous permettront une maîtrise totale de ce mécanisme.
     
  • PDF on-line ZIP E-book 
    fr
    Les fichiers CSV avec Java
    par Thierry Leriche-Dessirier
    Le format CSV est, aujourd'hui encore, largement utilisé. Il fait le bonheur des équipes de développement car il est simple à manipuler. La lecture d'un fichier au format CSV demande toutefois un certain nombre de compétences. Ce document aborde les points clés à maîtriser, pas à pas avec une difficulté progressive, pour savoir traiter le célèbre CSV.
     
  • PDF on-line ZIP E-book 
    fr
    Ce petit article montre (par l'exemple) comment charger des données depuis un fichier CSV simple, à l'aide d'Open-CSV, en quelques minutes.
     
  • PDF on-line ZIP E-book 
    fr
    Ce petit article montre (par l'exemple) comment charger des données depuis un fichier CSV simple (avec Open-CSV) et depuis la base MySql (avec JDBC), en fusionnant les valeurs pour les afficher dans une Interface (Swing) sous forme de tableaux (JTable et Table model) et sous forme de graphes, le tout en quelques minutes seulement.
     
  • on-line ZIP E-book 
    fr
    Dans ce quatrième article sur Guava, nous allons découvrir tous les petits utilitaires de Guava, bien utiles au quotidien.
     
  • on-line ZIP E-book 
    fr
    Guava est une bibliothèque de chez Google proposant de nombreux outils pour améliorer le code des programmes Java. Elle permet, entre autres, de manipuler les collections, de jouer efficacement avec les immutables, d'éviter la gestion des beans nuls, de s'essayer à la programmation fonctionnelle, de cacher les objets, de les simplifier, et bien d'autres choses.
     
  • PDF on-line ZIP E-book 
    fr
    Découverte de l'API Java de Leap Motion
    par Patrick Guillerm, PaloIT
    Le Leap Motion Controller, commercialisé depuis août 2013, est un capteur de la taille d'un briquet qui constitue une véritable révolution en matière de navigation et de contrôle par détection de mouvements.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel aura pour but de vous apprendre à manipuler l'API Javamail, dans ses fonctions essentielles, à savoir envoyer et recevoir des mails, depuis de simples messages textes jusqu'à de complexes messages HTML avec pièces jointes.
     
  • PDF on-line ZIP E-book 
    fr
    Java intègre un framework puissant et facile à utiliser pour gérer les ensembles d'éléments. Nous nous sommes demandé s'il existait des substituts fiables, c'est-à-dire des bibliothèques simples, performantes et robustes. Pour cela nous avons testé un panel de frameworks qui semblaient intéressants.
     
  • PDF on-line ZIP E-book 
    fr
    Introduction aux collections de Guava
    par Thierry Leriche-Dessirier
    Guava est une bibliothèque proposant de nombreux outils pour améliorer le code des programmes Java. Ce tutoriel se focalise sur les fonctionnalités dédiées aux collections.
     
  • PDF on-line ZIP E-book 
    fr
    Installation et configuration d'ElasticSearch
    par Tanguy Leroux (Zenika), Zenika
    Cet article présente l'installation, la configuration et les principaux d'ElasticSearch, une bibliothèque permettant de fournir rapidement un moteur de recherche à votre application.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel vous permettra d'apprendre à concevoir et à utiliser des analyseurs à l'aide de l'outil ANTLR.
     
  • PDF on-line ZIP E-book 
    fr
    RMI (Remote Method Invocation) est une API Java basée sur les ORB (Object Request Broker) qui permet l'invocation d'objets distants entre processus. Nous verrons comment utiliser RMI pour le rendre compatible avec le protocole IIOP et permettre ainsi des appels entre applications basées sur l'architecture CORBA et développées avec d'autres langages que Java.
     
  • PDF on-line ZIP E-book 
    fr
    Supervision avec JMX et le protocole SNMP
    par Jean-Philippe Minetti
    Cet article explique l'API JMX, ainsi que l'intégration et la configuration de l'adaptateur SNMP snmpAdaptor4j.
     
  • PDF on-line ZIP E-book 
    fr
    Le but de cet article est de présenter de façon précise et concise les notions du langage Java relatives au contrôle de flux, aux exceptions et aux assertions. En clair, nous parlerons des structures conditionnelles (if-else, switch...), des boucles (while, for...), de la gestion des exceptions et enfin de l'utilisation des assertions.
     
  • PDF on-line ZIP E-book 
    fr
    Guava est une bibliothèque, de chez Google, proposant de nombreux outils pour améliorer le code des programmes Java. Elle permet, entre autres, de manipuler les collections, de jouer efficacement avec les immutables, d'éviter la gestion des beans nuls, de s'essayer à la programmation fonctionnelle, de cacher les objets, de les simplifier, et bien d'autres choses...
    Dans ce cinquième article sur Guava, nous allons découvrir comment utiliser des caches en mémoire et jouer sur la concurrence.
     
  • PDF on-line ZIP E-book 
    fr
    Le but de cet article est de présenter de façon précise et concise les notions du langage Java relatives aux opérateurs. Entre autres, nous parlerons des opérateurs relationnels, de l'opérateur instanceof, des opérateurs arithmétiques, de l'opérateur conditionnel et enfin des opérateurs logiques.
     
  • PDF on-line ZIP E-book 
    fr
    Découvrez avec Guava comment se simplifier la vie avec les classes utilitaires dédiées à la manipulation des strings et des primitifs.
     
  • PDF on-line ZIP E-book 
    fr
    Guava est une bibliothèque, de chez Google, proposant de nombreux outils pour améliorer le code des programmes Java. Elle permet, entre autres, de manipuler les collections, de jouer efficacement avec les immutables, d'éviter la gestion des beans nuls, de s'essayer à la programmation fonctionnelle, de cacher les objets, de les simplifier, et bien d'autres choses...
    Dans ce huitième article sur Guava, vous allez voir des trucs rigolos (mais pas simples) sur les hash et vous réconcilier avec les I/O.
     
  • PDF on-line ZIP E-book 
    fr
    Guava est une bibliothèque de chez Google, proposant de nombreux outils pour améliorer le code des programmes Java. Elle permet, entre autres, de manipuler les collections, de jouer efficacement avec les immutables, d'éviter la gestion des beans nuls, de s'essayer à la programmation fonctionnelle, de cacher les objets, de les simplifier, et bien d'autres choses...
     
  • PDF on-line ZIP E-book 
    fr
    Les sites Web modernes permettent de s'authentifier via des services comme Facebook ou Gmail en plus du classique formulaire maison. Mais multiplier les solutions, c'est aussi se compliquer la vie à mettre en place de nombreux protocoles. La bibliothèque PAC4j existe heureusement. Elle propose une interface simple pour s'identifier auprès des fournisseurs les plus populaires, en quelques lignes de code seulement. Dans cet article, nous allons voir comment faire cela en cinq minutes chrono.
     
  • PDF on-line ZIP E-book 
    fr
    Dans ce rapide tutoriel, nous allons voir comment utiliser la bibliothèque Apache POI pour lire, manipuler et écrire des fichiers Excel 2010 depuis un programme Java.
     
  • PDF on-line ZIP E-book 
    fr
    Présentation du projet Apache Directory, une solution LDAP très complète. Vous découvrirez le serveur LDAP, le studio et l'API Java.
     
  • PDF on-line ZIP E-book 
    fr
    Le présent tutoriel, qui s'adresse au concepteur Java d'applications sémantiques, présente une procédure de construction d'un écosystème de développement fondé sur l'Eclipse Web Tools Project (WTP) qui intègre Apache Jena ainsi que l'API Java du RDF.
     
  • on-line 
    fr
    Ce billet de blog explique comment ajouter un filigrane à chaque page d'un fichier PDF. Le filigrane peut être du texte ou une image, mais doit surtout être transparent.
     
  • on-line 
    fr
    Pour ceux qui ne connaissent pas l'ITD d'AspectJ (Déclaration Inter-Types), cela permet de rajouter des éléments dans les classes via un aspect : attributs; méthodes, annotations, héritage d'interface... L'objectif de ce tutoriel est de savoir si l'ITD peut être utilisé comme accesseurs dans un Java Bean.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article montre comment automatiser le chargement de données depuis un fichier Excel vers une collection Java. L'utilitaire développé s'appuie sur la célèbre bibliothèque Open Source Apache POI
     
  • on-line 
    fr
    Un tutoriel qui montre comment migrer des objets métiers de Java vers JavaScript.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel vous explique comment faire fonctionner une application développée en Java en tant que service Windows. Pour permettre ce fonctionnement une API JavaService est nécessaire. L'intérêt de cette API est de permettre une interaction complète avec l'instance JAVA, de pouvoir passer des arguments au lancement et d'appeler une méthode spécifique lors de l'arrêt du service.
     
  • PDF on-line ZIP E-book 
    fr
    Dans ce court tutoriel, nous allons voir comment utiliser la bibliothèque Common CLI pour gérer les paramètres d'entrée de vos programmes Java.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article s'intéresse à expliquer comment formater en chaîne de caractères un nombre, en utilisant la classe NumberFormat.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel vous apprend à découvrir la bibliothèque Lombok utilisée pour la génération de codes à partir d'annotations.
     
  • on-line 
    fr
    Dans ce billet de blog, nous allons avoir comment nous pouvons intégrer une classe, écrite initialement en Java, directement en C#, à travers un exemple concret : générer un PDF à partir de la bibliothèque Apache FOP
     
  • PDF on-line ZIP E-book 
    fr
    Depuis quelques temps, on entend de plus en plus parler de HTTP/2 et de comment il va résoudre nos problèmes, comment il va améliorer telle ou telle situation. Dans cet article, nous vous proposons de partir à la découverte de ce nouveau protocole et des changements qu'il apporte avec lui.
     
  • PDF on-line ZIP E-book 
    fr
    Dans ce billet, je vais présenter la bibliothèque Lombok dont je ne peux plus me passer pour mes développements Java. Cela fait maintenant plus de quatre ans que je l'utilise et tout n'est pas rose. Ce sera donc l'occasion de partager aussi certaines recommandations.
     
  • PDF on-line ZIP E-book 
    fr
    Le but de cet article est l'exploration de la classe ImmutableList de l'API Collections de la bibliothèque Guava de Google. A noter que j'ai déjà publié un premier tutoriel traitant de la classe Lists. Comme exemple nous utliserons un parc automobile, cela nous permettra de sonder de façon pratique et ludique les méthodes de cette classe. En effet de par mon expérience, j'ai pu constater que certains développeurs (et parfois moi aussi) implémentaient des fonctionnalités alors que ces dernières étaient présentes dans des bibliothèques tierces. Ainsi dans nos futurs projets nous respecterons le viel adage : "Ne réinventez pas la roue".
    2 commentaires Donner une note à l´article (5) Création : 15 mars 2021  · Mise à jour : 3 novembre 2021 
     
  • PDF on-line ZIP E-book 
    fr
    Le but de cet article est l'exploration de la classe Lists de l'API Collections de la bibliothèque Guava de Google. Comme exemple nous utliserons un parc automobile, cela nous permettra de sonder de façon pratique et ludique les méthodes de cette classe. En effet de par mon expérience, j'ai pu constater que certains développeurs (et parfois moi aussi) implémentaient des fonctionnalités alors que ces dernières étaient présentes dans des bibliothèques tierces. Ainsi dans nos futurs projets nous respecterons le viel adage : "Ne réinventez pas la roue".
    Commentez Donner une note à l´article (5) Création : 1er mars 2021  · Mise à jour : 3 novembre 2021 
     
menu Programmation Parallèle et Concurrente
  • PDF on-line ZIP E-book 
    fr
    Thread et Communication
    par Emmanuel Viennet
    Le cours thread et communication en Java permettra aux étudiants d'acquérir les bases de la gestion des processus dans un système d'exploitation.
     
  • PDF on-line ZIP E-book 
    fr
    Threads
    par Valère Viandier
    Ce tutoriel explique l'utilisation des Threads en Java, du cycle de vie à leur synchronisation.
     
  • PDF on-line ZIP E-book 
    fr
    Aujourd'hui, le moindre équipement électronique - ordinateur, téléphone, tablette... - possède plusieurs c?urs, répartis sur un ou plusieurs processeurs. Si on souhaite en tirer le meilleur parti, il est nécessaire de se pencher sur les arcanes de la programmation concurrente. Dans cet article, nous verrons ce que sont les threads, et comment les créer et les manipuler en Java.
     
  • on-line 
    fr
    Dans l'API Java, on trouve une classe au comportement tout à fait particulier, ThreadLocal. Son principe: stocker des données dans le thread courant afin de les récupérer plus tard, dans une autre méthode par exemple, sans avoir à les passer en argument à toute la chaine d'appel. Cette classe peut vous être d'un grand secours, mais elle doit être utilisée judicieusement et surtout avec extrême précaution !
     
  • PDF on-line ZIP E-book 
    fr
    Tutoriel expliquant la réalisation pas à pas d'un serveur multithread en Java utilisant les sockets. Ce serveur se chargera de broadcaster les messages lui arrivant à tous les clients qui y sont connectés.
    Téléchargez la version PDF
    Le serveur de chat décrit dans ce tutoriel dipose aussi d'un client Flash.
    Voir le client Flash
     
  • PDF on-line ZIP E-book 
    fr
    Java et la synchronisation
    par Romain Vimont
    La synchronisation est un élément essentiel dès lors que vous utilisez plusieurs threads (c'est-à-dire dans quasiment toutes les applications). En effet, sans synchronisation, il est impossible de développer une application robuste qui fonctionne quel que soit l'entrelacement de l'exécution des threads.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel a pour but de présenter les principaux aspects de la gestion de sémaphores et de mutex sous Delphi et Java. Il n'est pas indispensable, mais tout de même fortement recommandé, de maîtriser les principaux concepts de la programmation multithread en Delphi ou en Java. Vous pouvez à ce sujet consulter les excellents tutoriels pour Delphi et pour Java .
     
  • PDF on-line ZIP E-book 
    fr
    Java pour le traitement en temps réel
    par Jean-Marie Dautelle
    Le présent article sera consacré à l'analyse des différentes techniques permettant de réduire l'écart entre les langages C/C++ et Java dans les systèmes dits en temps réel/embarqués.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article présente les éléments de synchronisation qu'ils soient natifs du langage ou fournis par l'API.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article présente vise à présenter les structures données fournies par l'API.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article sert de préambule afin de poser les bases de la programmation parallèle en Java, à savoir la gestion des threads.
     
  • PDF on-line ZIP E-book 
    fr
    Ce quatrième article vise à présenter les différents types de verrous disponibles dans l'API.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article a pour but la présentation de l’utilitaire ExecutorService défini dans l'API Java Concurrency de la bibliothèque java.util.concurrent. Cet utilitaire propose un mécanisme très simple pour adresser les problématiques de multi-threading dans un programme. Il a été introduit dans le langage Java depuis sa version 5 et a vu sa syntaxe modifiée avec le temps au gré des évolutions. Son principal apport est qu’il nous dispense des traitements « bas niveaux » et nous permet plutôt de mettre l’accent sur la définition et la conception du modèle de tâches à exécuter. Dans « bas niveaux », nous entendons, par exemple : le démarrage/arrêt des tâches, la gestion propre des tâches périodiques/sporadiques, des offsets, de l’ordonnancement, la gestion de l'interaction entre tâches.
     
menu Bibliothèques réactives
  • PDF on-line ZIP E-book 
    fr
    Vert.x est une API asynchrone très proche du modèle d'acteurs. Vert.x est polyglotte, simple, scalable (élastique) et hautement concurrente. Vert.x est bien adapté aux architectures en microservices, mais s'intègre aussi parfaitement dans une WebApp plus classique. Dans ce premier article d'une série consacrée à Vert.x 3, nous allons tout d'abord voir comment installer le framework, écrire un premier verticle, le déployer et le tester.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel vous détaille comment utiliser RxJava pour l'écriture de codes asynchrones avec le langage Java.
     
  • PDF 
    fr
    e document décrit les bases de la bibliothèque RxJava puis utilise celles-ci dans deux applications exemples : l'une dans un environnement Swing, l'autre dans un environnement Android.
     
  • PDF on-line ZIP E-book 
    fr
    Vert.x est une API asynchrone très proche du modèle d'acteurs. Vert.x est polyglotte, simple, scalable (élastique) et hautement concurrente. Vert.x est bien adapté aux architectures en microservices, mais s'intègre aussi parfaitement dans une WebApp plus classique. Dans ce deuxième article d'une série consacrée à Vert.x 3, nous allons voir comment faire communiquer les verticles les uns avec les autres.
     
  • PDF on-line ZIP E-book 
    fr
    Vert.x est une API asynchrone très proche du modèle d'acteurs. Vert.x est polyglotte, simple, scalable (élastique) et hautement concurrente. Vert.x est bien adapté aux architectures en microservices. Dans cet article rapide, nous allons voir comment créer une API standard avec Vert.x. Et pour cela, on se donne 5 minutes.
     
menu POO, Design Patterns et Architecture
  • PDF on-line ZIP E-book 
    fr
    Introduction aux Design Patterns
    par Alexandre Brillant
    L'approche orientée objet tend à éclater les applications en composants plus simples et réutilisables. Cependant, cette approche peut vite devenir un piège lorsque le découpage s'effectue sans règles précises. Le concepteur finit par être saturé par la complexité du codage (effet spaghetti). J'en veux pour preuve ma propre expérience sur une application Java d'environ 40 000 lignes de code. Sans architecture de base, cette application est devenue progressivement ingérable avec pour conséquence l'émergence de bogues de plus en plus difficiles à corriger (effet domino). Pour réduire les risques de maintenance, il a fallu exploiter un niveau supplémentaire dans la conception objet : Les modèles de conception ou design patterns.
     
  • PDF on-line ZIP E-book 
    fr
    Ce TP vous montre comment écrire et tester un DAO en Java. Vous allez découvrir Maven, tracer le fonctionnement avec Log4j, tester vos méthodes avec JUnit, lire des fichiers CSV avec OpenCsv et CsvEngine, gérer des ressources en Java et bien plus encore...
     
  • PDF on-line ZIP E-book 
    fr
    Dans beaucoup d'applications informatiques, un module ou composant métier est régulièrement pollué par de multiples appels à des composants utilitaires externes. La programmation par aspect (AOP) va permettre d'extraire les dépendances entre modules concernant des aspects techniques entrecroisés et de les gérer depuis l'extérieur de ces modules en les spécifiant dans des composants du système à développer nommés aspects ; ils sont développés à un autre niveau d'abstraction.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article présente les bases du développement d'une application modulaire. Il présente également un exemple complet d'implémentation en Java.
     
  • PDF on-line ZIP E-book 
    fr
    L'héritage est une des grandes qualités de la programmation orientée objet, ainsi qu'une de ses caractéristiques majeures. Puisque le titre de ce billet ne devrait normalement pas attirer des énergumènes quelconques, je vais partir du principe que vous connaissez les bases de la programmation orientée objet et je ne vous ferai donc pas l'insulte de faire un rappel sur l'héritage. À propos, bien que ce billet propose des exemples en Java, ses analyses et conclusions sont valables avec n'importe quel langage orienté objet.
     
  • PDF on-line ZIP E-book 
    fr
    Introduction à MDA : Principe
    par Pierre Parrend
    Introduction générale au développement orienté modèle (MDA - Model Driven Architecture).
     
  • PDF on-line ZIP E-book 
    fr
    Choisir un langage de programmation est toujours une tâche difficile qui nécessite bien souvent de bien connaître les différentes options à notre disposition. Certaines particularités d'un langage peuvent parfois influencer votre décision en sa faveur, malgré l'absence de certaines fonctionnalités d'un autre que vous regretterez peut-être plus tard. Les paramètres optionnels et nommés sont une des fonctionnalités du langage Python que j'affectionne particulièrement.
     
  • PDF on-line ZIP E-book 
    fr
    Introduction au développement orienté modèle (MDA - Model Driven Architecture) par la pratique. Le langage utilisé est Java.
     
  • PDF on-line ZIP E-book 
    fr
    Constructeurs et méthodes exportées.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article va vous présenter les bases de la création d'une application modulaire avec JTheque Core 2.0.3.
     
  • PDF on-line ZIP E-book 
    fr
    Comment empêcher de lancer plusieurs fois simultanément une application Java ?
     
  • PDF on-line ZIP E-book 
    fr
    Cet article a pour objectif de présenter les Design Patterns du « Gang of Four » avec des exemples concis appliqués à Java.
    Chaque Design Pattern est présenté avec son diagramme de classes, ses objectifs, les motivations pour l'utiliser, les responsabilités des classes le constituant, puis une implémentation simple.
     
  • PDF on-line ZIP E-book 
    fr
    Depuis l'avènement de la programmation orientée objet, les développeurs imaginent et implémentent des composants logiciels réutilisables. Les différentes techniques employées jusqu'à aujourd'hui ne sont malheureusement pas toujours parfaites.
     
  • PDF on-line ZIP E-book 
    fr
    Les classes et objets immuables
     
  • PDF on-line ZIP E-book 
    fr
    Dans cet article nous aborderons la mise en œuvre d'un système de plugins en Java.
     
  • PDF on-line ZIP E-book 
    fr
    Dans cet article, je vais aborder le problème du Singleton en environnement multithread. Cette discussion nous amènera à parler du Java Memory Model et du double-check Locking qui, bien qu'encore recommandé dans de nombreux endroits, ne marche pas.
     
  • PDF on-line ZIP E-book 
    fr
    Les membres statiques, finals et non immuables.
     
  • PDF on-line ZIP E-book 
    fr
    MDA par la pratique
    par Sébastien Arbogast
    L'architecture pilotée par le modèle, ou MDA, est une approche standardisée de développement qui vise à concevoir une application à un niveau plus élevé que le code, notamment grâce à l'utilisation de modèles UML et d'un générateur de code spécialisé.
    Ce tutoriel présente un exemple concret d'application développée grâce à une approche MDA et au générateur open source AndroMDA.
     
  • PDF on-line ZIP E-book 
    fr
    Ce cours présente les aspects avancés de la programmation orientée objet en Java. Il s'agit de couvrir les particularités liées à l'environnement de la machine virtuelle, les aspects de programmation concurrente, les entrées/sorties, l'introspection.
     
  • PDF on-line ZIP E-book 
    fr
    Dernièrement j'ai aidé un stagiaire dans sa mission d'étude d'impact du remplacement d'un composant de génération graphique commercial vers une solution gratuite. Cette étude se faisait dans un environnement applicatif RCP avec utilisation de plugins ECLIPSE, avec un existant assez rude de prime abord ( beaucoup de classes, d'interfaces, de nouveautés TIGER, etc.). Ainsi dans cet environnement, le stagiaire n'était pas des plus rassurés, surtout que son niveau de JAVA était proche du néant ( désolé pour lui...)

    Aussi nous avons décidé de regarder ensemble les différents aspects de la programmation objet au travers de JAVA en partant de la base, pour arriver à un miniprojet qui finalement couvrait beaucoup d'aspects intéressants.
     
  • PDF on-line ZIP E-book 
    fr
    L'inconvénient du design pattern Visitor est qu'il fige la structure des classes à visiter. En effet, comme le visiteur implémente une méthode spécifique à chaque classe à visiter (chaque type), si une classe devait être ajoutée a posteriori, la classe Visitor devrait être surclassée, engendrant des tests de types et des transtypages. Je vous propose le design pattern Visitor Injector qui a pour but de résoudre cet aspect par injection de dépendances (disons plutôt par une approche fonctionnelle/comportementale du problème). Cette modification du patron original peut être utilisée chaque fois qu'un patron visiteur est utile et prend tout son sens dans le développement de bibliothèques flexibles.
     
  • PDF on-line 
    fr
    Un design pattern décrit une solution standard, utilisable dans la conception de logiciels, à des questions classiques et récurrentes.
    Cet article vous redonne les points clés pour utiliser les patterns les plus utiles. Il vous propose surtout de télécharger des mémentos à imprimer au bureau.
     
  • PDF on-line ZIP E-book 
    fr
    Le Software Craftsmanship est un mouvement visant, je cite le manifeste, « à relever le niveau du développement professionnel de logiciel par la pratique et en aidant les autres à acquérir le savoir-faire ». L'objectif est ainsi d'apprécier :
    - pas seulement des logiciels opérationnels, mais aussi des logiciels bien conçus ;
    - pas seulement l'adaptation au changement, mais aussi l'ajout constant de valeur ;
    - pas seulement les individus et leurs interactions, mais aussi une communauté de professionnels ;
    - pas seulement la collaboration avec les clients, mais aussi des partenariats productifs.
    Dans cet article, je vous propose d'aborder concrètement l'une des façades de ce mouvement, à savoir la qualité du code. Plus précisément, je vous propose de nous attarder, par l'exemple, sur les différentes manières de construire les instances dans un langage orienté-objet, notamment au travers de variations de célèbres patrons de conception.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article présente des patterns d'implémentation avec les enums Java.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article traite du sujet du design pattern classique, le pattern Command. Après un rappel de sa structure et de ses utilisations, nous irons un peu plus loin en analysant en particulier trois variations permettant d'implémenter l'undo/redo.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article propose une implémentation du patron de conception foncteurs qui respecte le principe de signature des méthodes en s'appuyant sur les génériques. À noter que les foncteurs seront proposés dans le prochain Java 8 sous le nom des Lambdas.
     
  • vidéo E-book 
    fr
    Dans cet épisode, Nadia vous explique comment réaliser un refactoring de dépendances statiques avec le langage Java. Le langage utilisé est Java avec l'outil de développement IntelliJ.
     
  • PDF on-line ZIP E-book 
    fr
    Comprendre le patron de conception Circuit breaker
    par Antonio Gomes Rodrigues, Edouard Perret
    Ce tutoriel s'intéresse à présenter Circuit breaker, qui est un patron de conception (design pattern) pour fiabiliser vos systèmes distribués (ou microservices).
     
  • PDF on-line ZIP E-book 
    fr
    La POO, ou programmation orientée objet, permet de représenter un concept, une idée ou une entité du monde physique par des entités appelées objets ayant des propriétés intrinsèques et exposant des opérations publiques pour les manipuler. Ce tutoriel a pour objectif de vous apprendre les principes de la programmation orientée objet.
     
  • PDF on-line ZIP E-book 
    fr
    L'objectif de ce billet est de présenter une implémentation simple en Java du pattern Singleton.
     
  • PDF on-line ZIP E-book 
    fr
    Quand on fait du développement orienté objet, on cherche à construire des objets cohérents avec tous leurs attributs. Il arrive que les objets que l'on souhaite construire aient plus de trois attributs et, dans ce cas, utiliser un simple constructeur avec en paramètres tous les attributs n'est pas forcément une bonne idée ! Dans ces cas, l'utilisation d'un Builder peut être une bonne solution ! Nous allons voir ici quelques-unes des manières de faire des Builders en Java.
     
  • PDF on-line ZIP E-book 
    fr
    Lorsqu'on apprend les paradigmes objets, on nous enseigne que les objets que l'on code représentent des choses du monde réel. Les attributs en sont l'état et les méthodes les actions. Alors pourquoi trouvons-nous BEAUCOUP plus de Data classes (classes avec uniquement des attributs et des getters et setters) dans nos solutions que d'objets effectuant des traitements métier ? Dans certaines équipes, faire des traitements métier dans des objets représentant le métier est même interdit parce que : « les traitements doivent être faits dans des services ! ». Depuis quelque temps j'ai pu utiliser vraiment des objets dans mon quotidien de développeur : voici mes retours !
    8 commentaires Donner une note à l´article (4) Création : 8 décembre 2020 
     
menu Langages alternatifs (Groovy, Scala, Ceylon, Kotlin, etc.)
  • on-line 
    fr
    Cet article a pour objectif de vous présenter la notion de modèles du framework Apache Wicket et ce à travers un exemple pratique et réel.
     
  • PDF on-line ZIP E-book 
    fr
    Traits Scala et décorateurs
    par Sylvain Leroux
    En première approche, les traits de Scala s'apparentent à des interfaces (au sens Java). À ceci près qu'une interface ne fait que déclarer des méthodes, alors qu'un trait a la possibilité de les mettre en œuvre ainsi que de déclarer des données membres. Mais leur usage dépasse largement celui d'une interface enrichie. Ainsi, dans cet article, nous allons voir comment il est possible de combiner des traits à une classe pour la doter de comportements spécifiques. Cet article suppose une connaissance élémentaire de la syntaxe de Scala.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article est une introduction à Groovy, un langage de script pour Java inspiré entre autres de Python, Java, Ruby et Smalltalk.
     
  • PDF on-line ZIP E-book 
    fr
    Moins attendu que Spring 3.1, mais pourtant tellement lié, Grails 2.0 est sorti le 15 décembre 2011. Mon équipe et moi-même étions impatients, car la sortie de cette version majeure était planifiée depuis plusieurs mois mais sans cesse retardée pour attendre la release finale (GA) de spring 3.1. Cela fait en effet déjà deux mois que je travaille sur la bêta, puis les releases candidates, mais sortir un produit basé sur une RC, ce n'est pas sérieux. Développeur Grails depuis trois ans, je vais vous détailler les nouveautés les plus marquantes de Grails 2.0 et de son écosystème en essayant d'aller un peu plus loin que ce qu'on peut trouver habituellement dans les RELEASES NOTES.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article se propose de présenter comment implémenter des services Web de type REST avec le langage fonctionnel Scala en utilisant la bibliothèque Unfiltered.
     
  • PDF on-line ZIP E-book 
    fr
    Nombreux sont les langages dédiés à la JVM, mais aucun autre que Ceylon ne propose un système de typage aussi poussé ainsi qu'une compilation en JavaScript. À travers une série d'articles, je propose de vous faire découvrir tous les mystères de ce langage conçu par Gavin King.
     
  • PDF on-line ZIP E-book 
    fr
    Concepts de base sur Ceylon
    par Logan Mauzaize
    Nombreux sont les langages dédiés à la JVM, mais aucun autre que Ceylon ne propose un système de typage aussi poussé ainsi qu'une compilation en JavaScript. À travers une série d'articles, je propose de vous faire découvrir tous les mystères de ce langage conçu par Gavin King.
     
  • PDF on-line ZIP E-book 
    fr
    Nombreux sont les langages dédiés à la JVM, mais aucun autre que Ceylon ne propose un système de typage aussi poussé ainsi qu'une compilation en JavaScript. À travers une série d'articles, je propose de vous faire découvrir tous les mystères de ce langage conçu par Gavin King.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article se propose de présenter le langage Ceylon qui s'exécute depuis une machine virtuelle Java.
     
  • PDF on-line ZIP E-book 
    fr
    Nombreux sont les langages dédiés à la JVM, mais aucun autre que Ceylon ne propose un système de typage aussi poussé ainsi qu'une compilation en JavaScript. À travers une série d'articles, je propose de vous faire découvrir tous les mystères de ce langage conçu par Gavin King.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article vous présente un langage original, NICE , très proche du Java et introduisant des concepts nouveaux par rapport à Java mais néanmoins anciens si l'on parcourt le spectre des langages de programmation existants. Le but de cet article est de vous présenter le langage NICE, les aspects communs avec Java et d'autres langages de programmation, le tout à travers de nombreux exemples.
     
  • PDF on-line ZIP E-book 
    fr
    Introduction au langage JR
    par Baptiste Wicht
    Cet article va vous présenter le langage de programmation JR et les concepts de base qu'il propose.
     
  • PDF on-line ZIP E-book 
    fr
    Ce cours de présentation et d'apprentissage du langage de programmation Scala est une traduction française du livre Scala by Example de Martin Odersky, professeur à l'École polytechnique fédérale de Lausanne et surtout créateur du langage Scala, qui combine les concepts de la programmation orientée objet et ceux de la programmation fonctionnelle.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel se propose de présenter les concepts clés de SBT : Keys et Settings
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel est une introduction à SBT, un outil de build utilisé par le langage Scala et Java.
     
  • PDF on-line ZIP E-book 
    fr
    Comprendre le casting de type par le biais du mot-clé when avec le langage Kotlin
     
  • PDF on-line ZIP E-book 
    fr
    Depuis l'annonce par Google du support de Kotlin sur Android, le langage de l'éditeur tchèque fait le bonheur des développeurs Android. Kotlin est puissant, simple à mettre en œuvre et apporte de nombreuses nouveautés. Pourtant, les développeurs mobiles n'ont pas l'exclusivité de ce langage. Kotlin peut en effet être utilisé dans n'importe quel applicatif Java. Le langage peut même compiler du code Kotlin en JavaScript voire en natif si le cœur vous en dit. Mais c'est le point qui nous intéressera le plus ici : comment positionner ce langage par rapport à Java dans une application Backend ? S'intègre-t-il facilement avec une application existante ? Comment l'écosystème Java actuel va-t-il assimiler ce nouveau langage ? Peut-il avoir un impact sur l'architecture de nos applicatifs mais surtout, qu'apporte ce langage qui soit suffisamment intéressant pour l'intégrer dans ses futurs projets voire ses projets actuels ?
     
menu Ecosystème
  • PDF on-line ZIP E-book 
    fr
    Il existe un processus ouvert à tous permettant d'influer sur le développement de Java et appelé Java Community Process. Méconnu, il offre pourtant des perspectives intéressantes.
     
  • PDF on-line ZIP E-book 
    fr
    Guide des certifications Java
    par Vincent Brabant
    Guide concernant les Certifications Java données par Oracle : les différences, un parcours type, comment s'inscrire en ligne, etc.
     
  • PDF on-line ZIP E-book 
    fr
    Questions factices, tirées du nouveau livre concernant la certification SCJP (Sun Certified Java Programer) 310-055, écrit par Kathy Sierra et Bert Bates.
     
  • PDF on-line ZIP E-book 
    fr
    Sun vient de rendre Java open source. Quelle est la licence qui a finalement été choisie ? Quelles en seront les conséquences pour les utilisateurs de la JRE ? Et pour les développeurs ? Vous trouverez toutes les réponses à vos questions dans cet article.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article se propose de présenter OpenJDK, l'implémentation libre de Java, en détaillant son cycle de mise à jour, la licence et les performances.
     
menu Spring Framework
  • on-line ZIP 
    fr
    Tutoriels Spring
    par L'équipe Java
    Découvrez plus de 50 tutoriels Spring rédigés par l'équipe Java.
     
menu XML et JSON
  • PDF on-line ZIP E-book 
    fr
    La sérialisation XML en Java
    par Yann D'Isanto
    Ce tutoriel a pour but de présenter la sérialisation XML en Java. Il commence par les bases et continue sur les fonctionnalités plus complexes qui vous permettront une maîtrise totale de ce mécanisme.
     
  • PDF on-line ZIP E-book 
    fr
    Introduction à JAXB
    par Denis Thomas
    À travers un exemple concret, cet article présente l'API JAXB qui nous permet de transformer un fichier XML en objet Java, et vice versa.
     
  • PDF on-line ZIP E-book 
    fr
    Dans ce tutoriel, nous allons voir comment utiliser l'API Jakarta Commons Digester qui permet de faire un mapping XML/Objet de façon relativement simple.
     
  • PDF on-line ZIP E-book 
    fr
    Utilisation de l'API JDom
    par Nicolas Cynober
    Vous apprendrez dans cet article à manipuler des données XML avec le langage Java et l'API JDOM. Nous étudierons les possibilités de cette API grâce à des exemples simples.
    Nous apprendrons ainsi à créer un simple fichier XML, à parcourir son arborescence et à modifier son contenu.
     
  • PDF on-line ZIP E-book 
    fr
    Lecture d'un flux XML via SAX
    par Sébastien Meric
    Cet article présente un rapide cours d'introduction à SAX et un exemple d'implémentation d'une lecture d'un flux XML dans cette API SAX en java.
     
  • PDF on-line ZIP E-book 
    fr
    Introduction à Stax
    par Gildas Cuisinier
    À l'heure où SAX et DOM n'ont plus à faire leur preuve dans le traitement de documents XML, une nouvelle API fait son apparition dans le monde Java.
    Celle-ci reprend les avantages de SAX, sa rapidité et faible utilisation, tout en fournissant un moyen de créer des documents XML à l'instar de DOM.
    Cet article a pour but de vous présenter les bases de l'utilisation de cette nouvelle API : StAX.
    Bonne lecture !
     
  • PDF on-line ZIP E-book 
    fr
    L'article qui suit est une introduction à l'utilisation de la technologie XPath depuis Java, grâce aux bibliothèques JDom et Jaxen.
     
  • PDF on-line ZIP E-book 
    fr
    Cet article présente une découverte de l'API XStream pour sérialiser et désérialiser des objets Java dans des fichiers XML.
     
Consultez tous les cours