Mis à jour le 05/10/2017
  • 4 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Déployer son application web

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Ce dernier petit chapitre va vous apprendre à déployer vos applications JavaFX et à les intégrer dans vos pages web, comme ceci :

notre application Melordi en ligne

Je vais vous donner les quatre étapes qui vous permettront de réaliser cet exploit...

Création des fichiers de notre RIA

Reprenons notre projet Melordi, vous savez... celui qu'on a réalisé pendant les dix premiers chapitres de ce tutoriel :p (en fait vous prenez le projet que vous voulez, la démarche est tout le temps la même :p ). Maintenant faites un click droit sur le projet Melordi dans le panel de gauche et sélectionnez Clean and Build :

Image utilisateur

Cette opération devrait générer un dossier et trois fichiers importants dans le dossier dist de votre projet. Dans mon cas, et surement dans le vôtre aussi, mon projet Melordi se situe à l'emplacement : C:\Users\DURAND\Documents\NetBeansProjects\Melordi. Et donc à l'intérieur du dossier Melordi devrait s'être créé le dossier dist qui devrait contenir les quatre éléments suivants :

  • 1. le fichier Melordi.html

  • 2. le fichier Melordi.jar

  • 3. le fichier Melordi.jnlp

  • 4. le dossier web-files

Si vous ouvrez le fichier Melordi.html, vous devriez voir apparaître notre application Mélordi... dans un navigateur web :

Image utilisateur

Intégration dans une page web

Pour mettre notre application en ligne, il suffit de mettre ces quatre éléments sur un serveur, et ainsi la page Melordi.html avec l'application web qu'elle contient sera accessible à la terre entière :) . Difficile de faire plus simple...

Pour intégrer l'application sur une de vos pages personnelles, vous n'avez qu'à intégrer le code suivant dans le corps de votre page (entre les balises <body> et </body>) :

<script>
  deployJava.javafx(
 {jnlp_href: "Melordi.jnlp", width: "500", height: "500", javafx_version: "2.0+" 
, jnlp_embeded: "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjYuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iTGVjdGV1clZpZGVvLmpubHAiPg0KICA8aW5mb3JtYXRpb24+DQogICAgPHRpdGxlPkxlY3RldXJWaWRlbzwvdGl0bGU+DQogICAgPHZlbmRvcj5aZXJvPC92ZW5kb3I+DQogICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBKYXZhRlggMi4wIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24+DQogICAgPG9mZmxpbmUtYWxsb3dlZC8+DQogIDwvaW5mb3JtYXRpb24+DQogIDxyZXNvdXJjZXM+DQogICAgPGoyc2UgdmVyc2lvbj0iMS42KyIgaHJlZj0iaHR0cDovL2phdmEuc3VuLmNvbS9wcm9kdWN0cy9hdXRvZGwvajJzZSIvPg0KICAgIDxqZng6amF2YWZ4LXJ1bnRpbWUgdmVyc2lvbj0iMi4wKyIgaHJlZj0iaHR0cDovL2phdmFmeC5jb20vamZ4LTIwLmV4ZSIvPg0KICAgIDxqYXIgaHJlZj0iTGVjdGV1clZpZGVvLmphciIgc2l6ZT0iMTUyNDUiIGRvd25sb2FkPSJlYWdlciIgLz4NCiAgPC9yZXNvdXJjZXM+DQogIDxqZng6amF2YWZ4LWRlc2MgIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIiBtYWluLWNsYXNzPSJsZWN0ZXVydmlkZW8uTGVjdGV1clZpZGVvIiAgbmFtZT0iTGVjdGV1clZpZGVvIiAvPg0KICA8dXBkYXRlIGNoZWNrPSJiYWNrZ3JvdW5kIi8+DQo8L2pubHA+DQo="
},
{},
{}
);
</script>

Et pour personnaliser l'animation qui apparaît lors du chargement de l'application, vous savez... le petit fichier GIF :

Image utilisateur

Vous n'avez qu'à créer votre propre animation GIF, la nommer javafx-loading-100x100.gif, ou javafx-loading-25x25.gif selon la taille de votre application, et remplacer le fichier GIF par défaut dans le dossier web-files. Voici un exemple de GIF personnalisé :

Image utilisateur

Signer son application

Comme tout artiste, vous devez signer votre œuvre avant de la rendre public :p . Non je plaisante, il ne s'agit pas du tout de ça. Il peut arriver que votre application web ait besoin d'accéder à des ressources extérieures pour fonctionner, ou à des ressources situées sur l'ordinateur de l'utilisateur. Dans ce cas, java a mis en place certaine barrière de sécurité... Et heureusement !! Imaginez qu'une application web puisse accéder, sans vous demander la permission, à tous vos fichiers o_O .

Pour ce genre d'application, vous devez signer le fichier XXXX.jar de votre RIA. Ainsi, avant chaque exécution de votre application, un message d'alerte apparaitra sur l'écran de l'utilisateur :

Image utilisateur

Si l'utilisateur fait confiance dans votre application, il cliquera sur Exécuter, sinon sur Annuler et votre application n'aura pas accès aux ressources protégées.

Bon d'accord, mais comment on fait pour signer son fichier JAR ??

C'est une opération un peu casse pied à faire mais il faut la connaître.
Avant toute chose, ne signez votre application que si vous en avez besoin ! Si elle n'a besoin d'aucune ressource particulière, inutile de la signer.

Donc pour signer notre fichier JAR, par exemple notre fichier Melordi.jar, le JDK met à notre disposition deux outils : keytool.exe et jarsigner.exe. Et pour les utiliser, nous allons devoir utiliser la console windows.

  • 1. Donc commencez par ouvrir un invité de commande en tant qu'administrateur : allez dans le menu démarrer >> Tous les programmes >> Accessoires, puis faites un click droit sur "Invité de commande" et sélectionnez "Exécuter en tant qu'administrateur.

  • 2. Dans l'invité de commande qui apparaît, allez dans le dossier bin de votre JDK, c'est le dossier qui contient les outils keytool et jarsigner:

    cd "C:\Program Files\Java\jdk1.6.0_25\bin"
  • 3. Pour créer la clé avec laquelle nous allons signer notre JAR, entrez la commande suivante :

    keytool -genkey -alias melordi -keystore zerostore
  • 4. Puis entrez les informations qui vous sont demandées : mot de passe, nom, prénom, unité organisationnelle... Puis quand on vous demande de confirmer, entrez "oui". (Si ça vous barbe... vous n'êtes pas obligé d'entrer toutes ces infos, vous pouvez appuyer sur entrer sans remplir :p ). Et pour terminer, choisissez le même mot de passe pour la clé que pour le Keystore, pour ça appuyez tout simplement sur entrer.

  • 5. Très bien, pour la dernière étape, nous allons créer un fichier sMelordi.jar qui correspondra à notre fichier Melordi.jar signé. Pour ça, entrez la commande :

    jarsigner -keystore zerostore -signedjar C:\Users\DURAND\Documents\NetBeansProjects\Melordi\dist\sMelordi.jar C:\Users\DURAND\Documents\NetBeansProjects\Melordi\dist\Melordi.jar

Vous avez ainsi obtenu un fichier JAR signé et prêt à être intégré dans votre page web.

Et voilà le travail ! Vous savez maintenant déployer vos propres applications JavaFX. Avec tout ce que vous avez appris dans ce tutoriel vous êtes capable d'enrichir vos sites web avec de magnifiques RIAs, ça peut vraiment changer l'allure d'une page web :) .

Maintenant c'est à vous de jouer et de mettre ces nouvelles connaissances au service de votre créativité ;) . J'espère que ce tutoriel vous a plu :) . Je pense que je le ferais souvent évoluer, JavaFX est une technologie assez jeune et qui subit très féquemment d'importantes évolutions. En tout cas si vous voulez vous tenir informé par vous même, vous pouvez consulter régulièrement le site de javafx : javafx.com.

Et bien sûr, n'hésitez pas à laisser vos commentaires, vos critiques, vos conseils... ;) .

J'espère que ce tutoriel vous a plu :) . N'hésitez pas à laisser vos commentaires, critiques et conseils d'évolution...

Exemple de certificat de réussite
Exemple de certificat de réussite