Fichiers d'archives java - *.jar

Dimension: px
Commencer à balayer dès la page:

Download "Fichiers d'archives java - *.jar"

Transcription

1 Fichiers d'archives java - *.jar Originaux Chapitres traités Les fichiers d'archive Java (fichiers JAR) sont les valises Java. ils constituent le moyen standard et portable d'empaqueter toutes les parties de votre application Java dans un ensemble compact à distribuer ou à installer. Vous pouvez tout mettre dans un fichier JAR : des fichiers de classe Java, des objets sérialisés, des fichiers de données, des images des sons, etc. Un fichier JAR peut même contenir plusieurs signatures numériques attestant de l'intégrité et de l'authenticité des données. Une signature peut être attachée au fichier global ou à ses éléments individuels. La machine virtuelle Java reconnaît les fichiers JAR et sait charger des fichiers de classe directement d'une archive. Il est ainsi possible d'empaqueter les classes de votre application dans un fichier JAR et de les placer dans votre répertoire de travail. Vous pouvez faire de même pour les applets, en indiquant le fichier JAR dans l'attribut archive de la balise HTML <applet>. Il est possible de récupérer d'autres types de fichiers (données, images, etc.) contenus dans votre fichier JAR. En outre, votre code n'a pas besoin de savoir si une ressource est un fichier ou un élément d'une archive JAR. Qu'un fichier de classe ou de données soit un élément d'un fichier JAR, un fichier individuel du chemin des classes, ou une applet sur un serveur distant, vous pourrez toujours y faire référence de manière standard, et laisser le chargeur de classes de Java trouver son emplacement. Originaux Afin de bien montrer l'intérêt de l'archivage de vos différents développements, je vous propose de le visualiser au travers d'une étude traduite d'une part sous la forme d'une application graphique, et d'autre part sous la forme d'une page Web, c'està-dire au travers d'une applet Java. Cette étude comporte plusieurs classes ainsi qu'une image à faire afficher en papier peint. Par ailleurs le texte qui s'affiche est sensible au mouvement du curseur de la souris, puisque lorsque ce dernier se déplace sur le texte, celui-ci change alors de couleur. Le texte reprend ensuite sa couleur d'origine lorsque le curseur de la souris s'en va en dehors de la zone de texte. Application fenêtrée Voici donc le premier exemple qui correspond à notre application Java, avec le résultat obtenu suivi de l'architecture de notre arborescence ainsi que le codage de l'ensemble de ces classes écrit dans le même fichier "Principal.java". Principal.java package texte; import java.awt.event.*; import java.io.*; import javax.imageio.imageio; import javax.swing.*; import java.awt.*;

2 public class Principal extends JFrame { public Principal() throws IOException { this.setdefaultcloseoperation(this.exit_on_close); this.setsize(350, 250); this.settitle("c'est chouette..."); PanneauImage panneau = new PanneauImage(ImageIO.read(new File("chouette.jpg"))); this.getcontentpane().add(panneau); public static void main(string[] args) throws IOException { new Principal().setVisible(true); class PanneauImage extends JPanel { private Image image; private Texte invite = new Texte("C'est chouette..."); public PanneauImage(Image image) { this.image = image; invite.setcouleursurvol(color.red); invite.setcouleurnormale(color.blue); this.add(invite); protected void paintcomponent(graphics g) { g.drawimage(image, 0, 0, this); class Texte extends JLabel implements MouseListener { private Color couleursurvol, couleurnormale; public Texte(String invite) { super(invite); this.setfont(new Font("Verdana", Font.BOLD, 28)); this.addmouselistener(this); public void setcouleursurvol(color couleur) { couleursurvol = couleur; public void setcouleurnormale(color couleur) { this.setforeground(couleurnormale = couleur); public void mouseentered(mouseevent e) { this.setforeground(couleursurvol); public void mouseexited(mouseevent e) { this.setforeground(couleurnormale); public void mouseclicked(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { Applet Java Cette fois-ci, nous avons une application Web. Toute la partie IHM se trouve donc dans une applet. Ant dans NetBeans NetBeans est un environnement de développement intéressant puisqu'il dispose d'un certain nombre d'outils déjà intégré sans faire appel à des plugins particuliers. Surtout, il s'agit d'un IDE gratuit qui plus est offre de très nombreuses fonctionnalités dans le monde de Java. Il propose notamment l'outil Ant qui est l'équivalent du makefile dans le monde du langage C++. Les processus de build est conduit dans Ant par l'intermédiaire de fichiers XML, dans lequel les projets, les dépendances et les phases de travail sont définis sous forme de

3 tâches. Dans le cas le plus simple, Ant effectue la compilation d'arborescences de packages avec du code source Java et l'exécution des classes. Du fait qu'avec Ant, on peut faire appel aux systèmes d'exploitation, il est également possible de piloter les tâches (task) du processus build considérablement plus importantes : la palette des tâches s'étend de la copie du code source depuis des systèmes de contrôle de version tels que CVS ou d'un environnement de développement à la création de fichiers jar, war, ear, et pour ce faire, elle s'appuie sur un ensemble de tâches prédéfinies. Dans le cas de NetBeans, vous avez deux fichiers XML qui traitent du processus de build : le fichier standard build.xml qui fait appel à un autre fichier de description build-impl.xml. C'est à l'intérieur de ce dernier que sont décrites toutes les tâches relatives à l'ensemble de construction d'un projet, comme la compilation, la fabrication des répertoires, l'exécution éventuelle, etc. Tout est déjà fait dans NetBeans sauf qu'il est possible de proposer de nouvelles tâches ou de modifier celles qui sont déjà décrites pour proposer d'autres alternatives. Nous allons justement modifier le processus de fabrication afin de l'adapter à notre contexte. En effet, par défaut, lorsque nous compilons des applets, les fichiers <*.class> correspondant sont placés automatiquement dans la zone privée de l'application Web, c'est-à-dire dans le répertoire <WEB- INF/classes> se qui empêche le bon fonctionnement de l'application Web. Nous allons, dans ce fichier de descriptions des tâches, proposer un déplacement automatique de ces fichiers <*.class> pour les placer dans la zone publique, c'est-à-dire au niveau de la page Web, et ceci après chaque phase de compilation. Dans ce fichier de configuration, des zones ont été prévues afin de proposer d'autres tâches personnalisées. Il en existe une notamment qui est souvent très utile, il s'agit de la zone "-post-compile" : <target name="-post-compile"> <!-- Empty placeholder... --> <!-- You can override this target... --> </target> Nous utiliserons donc la tâche <move> afin d'obtenir notre déplacement :

4 <target name="-post-compile"> <move todir="${build.web.dir"> <fileset dir="${build.classes.dir" /> </move> </target> Tâche move permet le déplacement ou le renommage de fichiers ou un répertoire, ou pour les renommer, nous pouvons utiliser l'élément fileset, qui permet de manipuler des jeux de fichiers. Voici les attributs possibles pour cette tâche move : file Spécifie le fichier à déplacer. Obligatoire, en l'absence de spécification de fileset. tofile Spécifie le fichier de destination du déplacement. tofile ou todir doit être spécifié. todir Le répertoire vers lequel a lieu le déplacement. tofile ou todir doit être spécifié. Voici quelques exemples d'utilisation : <move file="faux.java" tofile="vrai.java" /> renomme un fichier. <move file="echec.java" todir="jeu/" /> déplacement d'un fichier. <move todir="premier"> <fileset dir="deuxième" /> </move> renomme le répertoire. tâche fileset Les jeux de fichiers (marqueurs <fileset>) sont utilisés pour spécifier des ensembles de fichiers. Ces marqueurs sont normalement des marqueurs internes à d'autres marqueurs comme move, copy, delete, etc. dir Répertoire d'origine pour la définition des fichiers. includes Liste des noms de fichiers, séparés par des virgules. Si omis, tous les fichiers sont ajoutés. excludes Liste de tous les fichiers à exclure. tâche copy Permet de copier plusieurs fichiers dans un répertoire. Les fichiers du répertoire source ne sont copiés que s'ils sont plus récents que ceux du répertoire de destination ou lorsqu'ils n'existent pas déjà dans le répertoire de destination.

5 file Le fichier à copier. Au cas où aucun élément fileset n'est spécifié, file est un attribut obligatoire. tofile Fichier de destination. Est utilisé si l'attribut file est défini. todir Répertoire de destination. A spécifier lors de la définition de l'attribut file ou d'un jeu de fichiers. L'exemple suivant copie tous les fichiers *.class dans un autre répertoire : <copy todir="../../jars"> <fileset dir="tmp" includes="**/*.class" /> </move> L'expression **/ englobe tous les sousrépertoires. Permet la création d'une archive jar. tâche jar jarfile Nom du fichier jar à créer. basedir Répertoire source, à partir duquel les fichiers à archiver dans le fichier jar doivent être lus. compress est par défaut true ; autrement dit, le fichier est compressé. false empêche la compression. includes liste de fichiers ou de modèles séparés par des virgules, qui doivent être utilisés. excludes Liste des fichiers ou des modèles séparés par des virgules, qui ne doivent pas être utilisés. manifest Permet la spécification d'un fichier manifest. Voici comment créer l'archive correspondant à l'applet de notre étude qui correspond à la même archive fabriquée ci-contre : <target name="-post-compile"> <jar jarfile="${build.web.dir/texte.jar"> <fileset dir="${build.classes.dir" /> <fileset dir="${build.web.dir" includes="chouette.jpg" /> </jar> </target> Voici-ci dessous le résultat correspondant :

6 TexteApplet.java package texte;

7 import java.awt.event.*; import java.io.*; import java.net.*; import javax.imageio.imageio; import javax.swing.*; import java.awt.*; public class TexteApplet extends javax.swing.japplet { public void init() { this.setsize(350, 250); PanneauImage panneau = new PanneauImage(getImage(getDocumentBase(), "chouette.jpg")); this.getcontentpane().add(panneau); class PanneauImage extends JPanel { private Image image; private Texte invite = new Texte("C'est chouette..."); public PanneauImage(Image image) { this.image = image; invite.setcouleursurvol(color.red); invite.setcouleurnormale(color.blue); this.add(invite); protected void paintcomponent(graphics g) { g.drawimage(image, 0, 0, this); class Texte extends JLabel implements MouseListener { private Color couleursurvol, couleurnormale; public Texte(String invite) { super(invite); this.setfont(new Font("Verdana", Font.BOLD, 28)); this.addmouselistener(this); public void setcouleursurvol(color couleur) { couleursurvol = couleur; public void setcouleurnormale(color couleur) { this.setforeground(couleurnormale = couleur); public void mouseentered(mouseevent e) { this.setforeground(couleursurvol); public void mouseexited(mouseevent e) { this.setforeground(couleurnormale); public void mouseclicked(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { index.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>c'est chouette...</title> </head> <body> <h2 align="center">c'est chouette...</h2> <hr /> <div align="center"> <applet code="texte.texteapplet.class" width="350" height="250"></applet> </div> </body> </html>

8 Analyse de l'applet L'applet TexteApplet de cette étude utilise trois classes : l'applet elle-même TexteApplet, PanneauImage et Texte. Nous savons que la balise <applet> fait référence au fichier de classes qui contient la classe applet : <applet code="texte.texteapplet.class" width="350" height="250"></applet> Lorsque le navigateur lit cette ligne, il se connecte au serveur Web et recherche le fichier "TexteApplet.class". Le chargeur de classes de la machine virtuelle du navigateur charge la classe TexteApplet de ce fichier. Lors du processus de chargement, le chargeur de classes doit résoudre les références aux autres classes utilisées par cette classe. Il sait alors qu'il a éventuellement besoin de plus d'une classe pour exécuter l'applet et, en ce cas, se connecte de nouveau au serveur Web, un pour chaque fichier de classe. Le chargement d'une applet peut alors nécessiter plusieurs minutes pour peu que le réseau soit lent. Il faut bien comprendre que ce temps de chargement n'est pas dû à la taille des fichiers classes, relativement petits, mais à la surcharge considérable découlant d'une connexion avec un serveur Web. Java supporte donc maintenant une méthode améliorée pour le chargement de fichiers de classes : elle permet de rassembler tous les fichiers de classes nécessaires en un seul fichier. Ce fichier peut alors être chargé grâce à une requête HTTP unique vers ce serveur. Ces fichiers sont appelés fichiers JAR (acronyme de "Java Archive"). Ils peuvent contenir à la fois des fichiers de classes et d'autres types de fichiers comme des fichiers images et audios. Les fichiers JAR peuvent également être compressés au format de compression classique ZIP, ce qui réduit le temps de téléchargement. Compression des fichiers Il est possible de compresser des éléments de fichier JAR avec le standard de compression ZIP. Les fichiers JAR sont totalement compatibles avec les archives ZIP bien connues des utilisateurs Windows. La compression accélère le transfert de classes sur un réseau. Un rapide survol de la distribution SDK montre qu'un fichier de classe classique se trouve réduit d'environ 40% après compression. Les fichiers texte de type HTML ou ASCII sont réduits de plus de 75%, donc à un quart de leur taille d'origine! Par contre, les fichiers images ne gagnent rien à être compressés ; les formats d'image courants possèdent une compression interne. En termes d'envoi sur le réseau, la compression n'est pas le seul avantage d'un fichier JAR. Placer toutes les classes dans un seul fichier JAR les rend téléchargeables en une seule transaction. Supprimer le coût des requêtes HTTP est une réelle économie, dans la mesure où un fichier de classe est généralement de petite taille, et qu'une applet en utilise beaucoup. D'un autre côté, sur une connexion à faible débit, le temps de démarrage peut augmenter si un gros fichier JAR doit être descendu avant que l'applet ne soit lancée. Création d'une archive par l'intermédiare de l'utilitaire jar L'utilitaire jar livré avec le SDK permet de créer et de lire les fichiers JAR. Dans l'installation par défaut, cet outil se trouve dans le répertoire <jdk/bin>. Son interface utilisateur ressemble à la commande tar (tape archive) du monde d'unix. La commande jar doit se conformer à la syntaxe suivante : jar options Fichier1 Fichier2... Le tableau suivant liste les options possibles avec la commande jar. Elles sont tout-à-fait analogues aux options de la commande tar utilisée par le système UNIX. Option c C e f Description Crée une nouvelle archive vide et y place des fichiers. Une liste de fichiers d'entrée et/ou de répertoires doit être spécifiée comme argument final de la commande jar. Le nouveau fichier JAR possède un fichier META- INF/MANIFEST.MF comme premier élément créé automatiquement. Si l'un des noms de fichier indiqué est un répertoire, le programme jar le traite de façon récursive. Change temporairement le répertoire. Par exemple : jar cfv archive.jar -C classes *.class change en direction du sous-répertoire classes pour ajouter les fichiers classes qui y sont stockés. Crée un point d'entrée dans le manifeste (Fichier JAR exécutables). Indique que l'archive correspond au fichier JAR dont le nom est spécifié sur la ligne de commande. Si cette option n'est pas fournie, jar lit un fichier JAR à partir de l'entrée standard (lors de la création d'un fichier JAR) et/ou envoie un fichier JAR vers la sortie standard (lors de l'extraction d'un fichier JAR).

9 i m M t u v x Crée un fichier d'indice (pour accélérer les recherches dans une grande archive). Ajoute un fichier manifest au fichier JAR. Un manifeste est la description du contenu et de l'origine de l'archive. Toute archive possède un manifest par défaut, mais vous pouvez en fournir un spécial si vous souhaitez authentifier le contenu de l'archive. Utilisé avec la commande c et u pour indiquer à la commande jar qu'elle ne doit pas créer de manifeste par défaut. Affiche le contenu de l'archive Met à jour le contenu d'une archive. Tous les fichiers énumérés sur la ligne de commande sont ajoutés à l'archive. Sortie de messages très détaillés. Extrait le contenu d'une archive. Tous les fichiers et les répertoires énumérés sur la ligne de commande sont extraits et créés dans le répertoire de travail courant. Si aucun fichier ou répertoire n'est spécifié, tous les fichiers et les répertoires de l'archive sont extraits. 0 Stockage sans compression ZIP. Attention : Cette option est le chiffre 0 et non pas la lettre O. La commande la plus courante pour créer un nouveau fichier JAR est la suivante : jar cf FichierJAR Fichier1 Fichier2... Dans l'exemple de notre applet voici ce que nous pouvons écrire : jar cvf texte.jar texte/*.class chouette.jpg Nous stipulons ainsi que nous désirons créer une archive texte.jar qui sera composée de l'ensemble des fichiers *.class qui se trouve dans le paquetage texte avec en plus le fichier image chouette.jpg. Ci-dessous, nous retrouvons le même exemple suivi d'une consultation de l'archive afin de contrôler son contenu. Vous remarquez au passage la fabrication automatique du fichier MANIFEST.MF dans le répertoire <META-INF>. Les options que nous avons souvent besoin sont les lettres c, t et x qui indiquent respectivement la création d'une archive, la liste du contenu et l'extraction des fichiers. f signifie que l'argument suivant sera le nom du fichier JAR sur lequel opérer. v (verbose) demande à jar d'être plus bavard lorsqu'il affiche des renseignements sur les fichiers : tailles heures de modification, ratios de compression. Les éléments suivants de la ligne de commande (c'est-à-dire, tout ce qui est différent des lettres indiquant à jar ce qu'il doit faire sur lequel opérer) sont considérés comme des éléments d'archive. Si vous créez une archive, les fichiers et les répertoires indiqués sont archivés. Lors d'une extraction, seuls les noms des fichiers indiqués sont extraits (si vous n'indiquez aucun nom de fichier, tout le contenu de l'archive est extrait).

10 Utilisation de l'archive dans la page Web Une fois le fichier JAR créé, il faudra y faire référence dans la balise <applet> de la façon suivante : <div align="center"> <applet code="texte.texteapplet.class" archive="texte.jar" width="350" height="250"></applet> </div> L'attribut code doit toujours être présent. Il indique au navigateur le nom de l'applet. archive désigne tout simplement une source d'emplacement possible de la classe applet et des autres fichiers. Chaque fois qu'un fichier de classes, d'images ou de son est requis, un navigateur acceptant les fichiers JAR commence par rechercher ces fichiers JAR dans la liste archive. Si le ou les fichiers ne sont pas trouvés dans l'archive, ils seront alors recherchés sur le serveur WEB. Packaging des applications Nous quittons maintenant le monde des applets et passons au packaging des applications Java. Lorsque vous livrez une application, vous ne souhaitez généralement pas déployer tout un ensemble de fichiers classe. Comme pour les applets, vous devez packager les fichiers de classe ainsi que d'autres ressources exigées par votre programme dans un fichier JAR. Lorsque le programme est packagé, il peut être chargé par une commande simple ou, si le système d'exploitaiton est correctement configuré, par un double-clic sur le fichier JAR. Le manifest Vous pouvez packager des programmes d'application, des composants de programme (parfois appelés des JavaBeans) et des bibiothèques de code dans des fichiers JAR. Par exemple, la bibliothèque du runtime de la JDK est contenue dans un très grand fichier rt.jar. Un fichier JAR contient des classes, des images et d'autres ressources, ainsi qu'un fichier manifeste qui décrit les caractéristiques particulières de l'archive. Le fichier manifest est appelé MANIFEST.MF et se trouve dans un sousrépertoire <META-INF> du fichier JAR. Effectivement, la commande jar ajoute automatiquement un répertoire appelé <META-INF> à notre archive. Le répertoire <META-INF> gère les fichiers décrivant le contenu du fichier JAR. Il contient toujours au moins le fichier MANIFEST.MF. Ce fichier contient une liste des noms de fichiers contenus dans l'archive et, pour chacun d'eux, un ensemble d'attributs pouvant être définis au niveau utilisateur. 1. Le manifest minimum légal est un peu terne : Manifest-version: Des manifestes complexes peuvent posséder d'avantage de données. Celles-ci sont regroupées en sections. La première s'appelle Main. Elle s'applique à la totalité du fichier JAR. D'autres données peuvent spécifier les propriétés des entités nommées telles que des fichiers individuels, les packages ou les URL. Ces données doivent commencer par une entrée Name. Les sections sont séparées par des lignes blanches : Manifest-version: 1.0 Lignes décrivant cette archive Name: Texte.class Lignes décrivant ce fichier Name: texte Lignes décrivant ce paquetage 3. Pour créer le manifeste, placez les lignes que vous voulez éditer au manifest dans un fichier texte. Puis exécutez : jar cfm FichierJAR FichierManifest FichierClasse Par exemple, pour créer un nouveau fichier JAR avec un manifeste, exécutez : jar cfm texte.jar manifest.mf texte/*.class chouette.jpg

11 5. Pour actualiser un fichier JAR existant, placez les ajouts dans un fichier texte et utilisez une commande telle que : jar ufm texte.jar manifest-additions.mf Rendre un fichier JAR exécutable En plus des attributs, quelques valeurs spéciales peuvent être ajoutées au manifeste. L'une d'elles, Main-Class, vous permet de spécifier la classe contenant la méthode principale main() pour une application contenue dans le fichier JAR : Main-Class: texte.principal Si vous ajoutez cela au manifeste de votre fichier JAR (en utilisant l'option m décrite précédemment), vous pouvez exécuter directement votre application à partir d'un fichier JAR : java -jar texte.jar Depuis la version Java SE 6.0, vous pouvez utiliser l'option e de la commande jar pour spécifier le point d'entrée de votre programme (la classe principale de l'application qui doit être invoquée en premier par le lanceur de programme Java). Ainsi, vous n'avez plus besoin de vous préoccuper du manifeste. Tout ce fait automatiquement : jar cvfe texte.jar texte.principal Comme au-dessus, vous pouvez exécuter directement votre application à partir d'e la commande suivante : java -jar texte.jar Dans certaines configurations du système d'exploitation, vous pouvez lancer l'application en double-cliquant sur l'icône du fichier Jar. Voici les comportements pour les divers systèmes d'exploitation : 1. Sous Windows, l'installateur d'exécution Java crée une association de fichier pour l'extension ".jar" qui lance le fichier avec la commande javaw -jar (à la différence de la commande java, la commande javaw n'ouvre pas de fenêtre shell). 2. Sous Solaris, le système d'exploitation reconnaît le "nombre magique" d'un fichier Jar et le lance avec la commande java -jar. 3. Sous Mac OS X, le système d'exploitation reconnaît l'extension de fichier ".jar" et exécute le programme Java lorsque vous double-cliquez sur un fichier JAR. Toutefois, un programme Java d'un fichier Jar ne possède pas le même aspect qu'une application native. Sous Windows, vous pouvez employer des utilitaires d'enveloppe tiers qui transforment les fichiers JAR en exécutables Windows. Une enveloppe est un programme Windows possédant l'extension ".exe" bien connue qui localise et lance la machine virtuelle Java (JVM) ou indique à l'utilisateur ce qu'il faut faire lorsque nous ne trouvons aucune JVM. Sous Macintosh, la situation est un peu plus simple. L'utilitaire de paquetage d'application MRJAppBuilder permet de transformer un fichier JAR en une application Mac de premier niveau. Récapitulation Pour packager une application, réunissez tous les fichiers nécessaires à votre application dans un fichier JAR et ajoutez-y un manifeste spécifiant la classe principale de votre programme - celle qui doit être invoquée en premier par le lanceur de programme Java. La dernière ligne du manifeste doir se terminer par un caractère de nouvelle ligne, faute de quoi le manifeste ne pourra être lu correctement. Produire un fichier texte contenant simplement la ligne Main-Class sans terminaison est une erreur commune. En reprenant, notre application du début, voici donc en image toute la procédure à suivre :

12 Voici maintenant le contenu de notre archive texte.jar : Ajouter une autre archive (bibliothèque non connue de la JVM) à votre projet Il arrive souvent que nous ayons besoin d'utiliser une autre bibliothèque en même temps que l'archive relative à votre projet. Pour que cette bibliothèque soit accessible par votre projet, il est juste nécessaire de préciser où elle se situe au moyen de l'attribut Class-Path:. Prenons par exemple un projet qui est archivé sous le nom de <StockerPhoto.jar>. Ce projet, pour fonctionner correctement, doit impérativement disposer de la bibliothèque <metadata-extractor jar> qui se trouve dans le répertoire <lib>. L'organisation vous est montrée ci-contre. Voici donc ce que devra comporter le manifest de <StockerPhotos.jar> : Manifest-Version: 1.0 Ant-Version: Apache Ant Created-By: b105 (Sun Microsystems Inc.) Main-Class: Stocker Class-Path: lib/metadata-extractor jar X-COMMENT: Main-Class will be added automatically by build Les ressources

13 Il est assez fréquent, à terme, d'avoir besoin de changer le titre d'une fenêtre, de changer un ensemble de messages ou tout simplement de préférer une autre image de fond de celle prévue initialement. Nous pouvons avoir deux approches pour réaliser ces changements. Soit nous changeons dans le code source les références à ces différents éléments ce qui nécessite, bien entendu, de tout recompiler. Ou alors nous plaçons ces éléments dans des fichiers séparés afin de proposer les changements à l'extérieur du programme suivant le désir de l'utilisateur à l'aide d'un tout petit éditeur de texte. L'application se charge ensuite de lire le contenu de ces fichiers afin de configurer correctement les objets requis. Lorsque vous placez des valeurs à l'extérieur de votre programme, ces valeurs sont considérées comme des ressources. En reprenant l'exemple de notre application, nous pourrions avoir comme type de ressources, le titre de la fenêtre, le message d'invite, ainsi que l'image de fond : Ainsi, les classes employées à la fois dans les applets et les applications utilisent généralement des fichiers de données ou de configuration associés tels que : 1. des fichiers d'images et de son ; 2. des fichiers de texte contenant les messages et les libellés des boutons ; 3. des fichiers de données binaires, par exemple pour indiquer la disposition d'une carte ; 4. des fichiers contenant l'ensemble des items des menus afin de prendre en compte la langue du pays. En Java, un fichier associé de ce type est appelée une ressource.. Récupérer les valeurs des ressources Où devons nous placer ces fichiers ressources? Bien sûr, il serait pratique de les placer au même endroit que les autres programmes, par exemple dans un fichier JAR. Le chargeur de classe sait comment parcourir chacun des emplacements possibles jusqu'à retrouver le fichier de classes. Toutefois, dans notre cas, nous devons répéter le processus de recherche manuellement pour localiser les fichiers de ressources associés. La fonctionnalité de chargement de ressource automatise cette tâche. Nous suivrons donc les étapes suivantes pour charger une ressource : 1. Charger l'objet Class pour la classe possédant une ressource, par exemple Principal.class, ou si nous somme dans l'objet représentant la dite classe this.getclass(). 2. Appeler la méthode getressource() ou la méthode getressourceasstream() suivant que vous désirez obtenir le fichier ressource en tant qu'url ou directement les valeurs de ce fichier au travers d'un flux adapté. Cette deuxième méthode est souvent préférable. 3. Si la ressource est un fichier image ou audio, la lire directement à l'aides des méthodes getimage() ou getaudioclip() pour les applets, et pour l'image passer par la classe ImageIO si vous êtes sur une application. Le chargeur de classes mémorise l'emplacement où il a chargé la classe ; il peut alors rechercher dans cet emplacement la ressource associée.. Par exemple, vous pouvez utiliser les instructions suivantes pour créer l'icône de l'application à partir du fichier image "icône.gif" en suivant cette procédure : URL url = Principal.class.getRessource("icône.gif"); ImageIcon icône = new ImageIcon(url); Cela revient à rechercher le fichier "icône.gif" au même endroit que celui où vous avez trouvé Principal.class.

14 Pour lire un fichier texte "titre.txt" représentant le titre de votre application, vous pouvez, par exemple, utiliser les instructions suivantes : InputStream flux = Principal.class.getRessourceAsStream("titre.txt"); Pour lire ensuite à partir de ce flux, vous devez prendre ensuite un flux de plus niveau afin d'adapter le contenu au type requis. Ici, nous devons récupérer un texte, il faudra donc prendre un flux capable de retrouver ce texte. Pour une entrée, nous avons besoin de la classe Scanner. Scanner titre = new Scanner(flux); this.settitle(titre.nextline()); Structuration de vos ressources Il est possible de placer vos fichiers ressources dans un répertoire particulier afin d'éviter de les mélanger avec les fichiers de classes. Vous pouvez même hiérarchiser les noms des ressources. Par exemple, nous pouvons placer toutes nos ressources dans un répertoire appelé justement <ressources>. La localisation se fera alors de la façon suivante : ressources/titre.txt Ce nom de ressource relatif est interprété à partir du package de la classe chargeant la ressource. Remarquez l'utilisation obligatoire du séparateur /, quel que soit le séparateur de répertoire du système d'exploitation sur lequel se trouvent finalement les fichiers de ressources. Ainsi, sous Windows, le chargeur de ressources convertit automatiquement / en séparateur \. Le dispositif de chargement de ressources se limite à l'automatisation du chargement des fichiers. Il n'existe pas de méthodes standard pour interpréter le contenu d'un fichier de ressources. Chaque programme doit interpréter à sa façon le contenu de ses fichiers de ressources. Codage de l'application en tenant compte des ressources A titre d'exemple, voici le codage correspondant au ressources données par la structure ci-dessous : Principal.java package texte; import java.awt.event.*; import java.io.*; import java.util.scanner; import javax.imageio.imageio; import javax.swing.*; import java.awt.*; public class Principal extends JFrame { public Principal() throws IOException { this.setdefaultcloseoperation(this.exit_on_close); this.setsize(350, 250); Scanner titre = new Scanner(this.getClass().getResourceAsStream("ressources/titre.txt")); this.settitle(titre.nextline()); Image image = ImageIO.read(this.getClass().getResource("ressources/chouette.jpg")); PanneauImage panneau = new PanneauImage(image); this.getcontentpane().add(panneau); public static void main(string[] args) throws IOException { new Principal().setVisible(true);

15 class PanneauImage extends JPanel { private Image image; private Texte invite = new Texte("C'est chouette..."); public PanneauImage(Image image) { Scanner message = new Scanner(this.getClass().getResourceAsStream("ressources/message.txt")); invite = new Texte(message.nextLine()); this.image = image; invite.setcouleursurvol(color.red); invite.setcouleurnormale(color.blue); this.add(invite); protected void paintcomponent(graphics g) { g.drawimage(image, 0, 0, this); class Texte extends JLabel implements MouseListener { private Color couleursurvol, couleurnormale; public Texte(String invite) { super(invite); this.setfont(new Font("Verdana", Font.BOLD, 28)); this.addmouselistener(this); public void setcouleursurvol(color couleur) { couleursurvol = couleur; public void setcouleurnormale(color couleur) { this.setforeground(couleurnormale = couleur); public void mouseentered(mouseevent e) { this.setforeground(couleursurvol); public void mouseexited(mouseevent e) { this.setforeground(couleurnormale); public void mouseclicked(mouseevent e) { public void mousepressed(mouseevent e) { public void mousereleased(mouseevent e) { Fabrication de l'archive afin d'intégrer ces ressources Nous commençons a avoir pas mal de fichiers, et du coup, il est largement souhaitable de packager la totalité de ces éléments dans une archive. Vous avez ci-dessous en images, l'ensemble de la procédure à suivre :

16 Vérouiller un paquetage Nous pouvons vérouiller (seal) un paquetage en langage Java pour empêcher d'autres classes Java de s'installer. Un paquetage doit être vérouillé si vous utilisez des classes, des méthodes et des attributs visibles pour le paquetage dans votre code. Sans cela, d'autres classes peuvent se placer dans le même paquetage et ainsi obtenir un accès aux fonctionnalités qui lui sont visibles. Par exemple, si vous vérouillez la paquetage texte, aucune classe extérieure ne peut être définie par l'instruction : package texte; public class UneClasseQuelconque {... Mise en place du vérouillage Pour ce faire, déposez toutes les classes du paquetage dans un fichier JAR. Par défaut, les paquetages d'un fichier JAR ne sont pas vérouillés. 1. Vous pouvez modifier cela en écrivant la ligne suivante dans la section principale du manifeste : Sealed: true 2. Pour chaque paquetage, vous pouvez spécifier si vous désirez qu'il soit vérouillé ou non, en ajoutant une section

17 supplémentaire au manifeste du fichier JAR : Name: org/manu/util Sealed: true Name: org/manu/texte Sealed: true 3. Pour verrouiller un paquetage, créer un fichier texte avec les instruction du fichier texte. Puis lancez la commande jar de la manière habituelle : jar cfm archive.jar manifest.mf fichiers à ajouter

Java Licence professionnelle CISII, 2009-2010

Java Licence professionnelle CISII, 2009-2010 Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées

Plus en détail

Interactions audio sur le site web du LIA Documentation Technique

Interactions audio sur le site web du LIA Documentation Technique 2007 Interactions audio sur le site web du LIA Documentation Technique Projet 13 - IUP Avignon Master1 TAIM 28/05/2007 2 Projet 13 : Interactions audio sur le site web du LIA Sommaire Composants de l'application...

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Annexe 10 - Procédure pour créer un Jar

Annexe 10 - Procédure pour créer un Jar Annexe 10 - Procédure pour créer un Jar permet d'encapsuler une application dans un seul fichier JAR ( Java Archive File ). Le Jar étant exécutable, on peut donc démarrer l'application sans l'aide de JDeveloper.

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Déployer les Fonts, Icones, et Images avec Forms Services 11G

Déployer les Fonts, Icones, et Images avec Forms Services 11G Déployer les Fonts, Icones, et Images avec Forms Services 11G 1. Le fichier Registry.dat Le fichier Registry.dat permet de gérer les correspondances de font entre celles utilisées pour le développement

Plus en détail

Java Avancé - Cours 2

Java Avancé - Cours 2 Java avancé - cours 2 1/8 Java Avancé - Cours 2 Plan 1 Communication entre objets 1 1.1 Motivation....................................................... 1 1.2 Relations entre le panier et le rayon.........................................

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Explorateur Windows EXPLORATEUR WINDOWS...1 INTRODUCTION...2 LANCEMENT DE L'EXPLORATEUR WINDOWS...3 PRÉSENTATION PHYSIQUE...3 RECHERCHER...

Explorateur Windows EXPLORATEUR WINDOWS...1 INTRODUCTION...2 LANCEMENT DE L'EXPLORATEUR WINDOWS...3 PRÉSENTATION PHYSIQUE...3 RECHERCHER... EXPLORATEUR WINDOWS SOMMAIRE EXPLORATEUR WINDOWS...1 INTRODUCTION...2 LANCEMENT DE L'EXPLORATEUR WINDOWS...3 PRÉSENTATION PHYSIQUE...3 RECHERCHER...6 ORGANISATION DE SES DOSSIERS...7 CRÉER UN DOSSIER...7

Plus en détail

Sauvegarde automatique des données de l ordinateur. Manuel d utilisation

Sauvegarde automatique des données de l ordinateur. Manuel d utilisation Sauvegarde automatique des données de l ordinateur Manuel d utilisation Sommaire 1- Présentation de la Sauvegarde automatique des données... 3 2- Interface de l'application Sauvegarde automatique des données...

Plus en détail

Module d anonymisation

Module d anonymisation Module d anonymisation Préambule Ce module permet d «anonymiser» un fichier, c est à dire de masquer les informations qu il contient en fonction de règles préalablement spécifiées. Le fichier généré par

Plus en détail

Prise en main Windows

Prise en main Windows Prise en main Windows Windows 2000 est un système d'exploitation. Un système d exploitation est un logiciel qui intervient à presque tous les niveaux de fonctionnement de votre ordinateur. Il est donc

Plus en détail

Client SQL Server version 3

Client SQL Server version 3 Client SQL Server version 3 Présentation du programme Par Jean-Pierre LEON Mise à jour du 10/06/2014 Page 2 sur 21 Présentation du logiciel Ouvrir, analyser, consulter, modifier une base de données au

Plus en détail

Travaux Dirigés 5. Création d'un projet web sous Eclipse

Travaux Dirigés 5. Création d'un projet web sous Eclipse Travaux Dirigés 5 L objectif de ce TD est de vous permettre de construire une fiche de Maintenance ainsi que de définir les procédures à mettre en place lors d une maintenance. Dans le but d automatiser

Plus en détail

Développement de Servlets et JSP avec Eclipse

Développement de Servlets et JSP avec Eclipse Développement de Servlets et JSP avec Eclipse Sommaire 1 Mise en place o 1.1 Installation de Galileo o 1.2 Association de Galileo avec une installation de Tomcat o 1.3 Pilotage des serveurs 2 Développement

Plus en détail

FAQ. Produit: NovaScale BLADE Series Date : septembre 2009 Objet: Capture d'une image système avec la solution RDS/Ghost Solution Suite 2.5.

FAQ. Produit: NovaScale BLADE Series Date : septembre 2009 Objet: Capture d'une image système avec la solution RDS/Ghost Solution Suite 2.5. Référence Doc. : DT-ENG-017-FR FAQ Produit: NovaScale BLADE Series Date : septembre 2009 Objet: Capture d'une image système avec la solution RDS/Ghost Solution Suite 2.5. Résumé : Cette note explique comment

Plus en détail

DÉPLOIEMENT D'APPLICATIONS JAVA

DÉPLOIEMENT D'APPLICATIONS JAVA Jacques BAPST 2 juillet 2015 4.5 DÉPLOIEMENT D'APPLICATIONS JAVA SOUS FORME DE FICHIERS JAR FICHIERS JAR Les fichiers JAR (Java Archive) permettent de rassembler dans une seule entité, toutes les ressources

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

Acronis Backup & Recovery 11

Acronis Backup & Recovery 11 Acronis Backup & Recovery 11 Guide de démarrage rapide S'applique aux éditions suivantes : Advanced Server Virtual Edition Advanced Server SBS Edition Advanced Workstation Serveur pour Linux Serveur pour

Plus en détail

PPOOGL. Florent de Dinechin. Java pour les nuls

PPOOGL. Florent de Dinechin. Java pour les nuls PPOOGL Florent de Dinechin Java pour les nuls Java en 30 minutes Introduction Grands principes Pour en finir avec l organisation Types de base et objets Le reste est dans le manuel PPOOGL 1 Introduction

Plus en détail

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante : http://www.hegerys.com/documentation/magicsafe-windows-doc.pdf

Plus en détail

Initiation à L Informatique. - Cours sur Windows - La notion du SE

Initiation à L Informatique. - Cours sur Windows - La notion du SE Initiation à L Informatique - Cours sur Windows - 1 Le système d'exploitation est un ensemble d'outils logiciels permettant à l'ordinateur de gérer : - la communication entre les différents composants

Plus en détail

Fichiers et commande jar. Cours Java - F. Michel

Fichiers et commande jar. Cours Java - F. Michel Fichiers et commande jar Cours Java - F. Michel Les fichiers.jar Les fichiers jar (java archive) sont des archives de fichiers au format zip Ils contiennent les.class et autres ressources nécessaires à

Plus en détail

Installation et prise en main

Installation et prise en main TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications

Plus en détail

Installation des outils du CD-Rom

Installation des outils du CD-Rom Installation des outils du CD-Rom Installer le JDK Pour installer Java2 SDK, exécutez le programme d'installation en double-cliquant sur l icône j2sdk-1_4_0-win.exe située dans le répertoire Java2 du CD-Rom.

Plus en détail

Développement d'une application Android avec PhoneGap

Développement d'une application Android avec PhoneGap Développement d'une application Android avec PhoneGap Olivier Dommange Avant-propos PhoneGap permet le développement d'applications pour plusieurs systèmes d'exploitations de smartphones et tablettes (ios,

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Construire des plug-ins pour SAS Management Console SAS 9.1

Construire des plug-ins pour SAS Management Console SAS 9.1 Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION

Plus en détail

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés. 2010 Ing. Punzenberger COPA-DATA GmbH Tous droits réservés. La distribution et/ou reproduction de ce document ou partie de ce document sous n'importe quelle forme n'est autorisée qu'avec la permission

Plus en détail

Grandes lignes du cours. Cours JAVA : Gestion de projets Java. Gérer un gros projet. Outline. Outline. Outline. Déclaration d un package

Grandes lignes du cours. Cours JAVA : Gestion de projets Java. Gérer un gros projet. Outline. Outline. Outline. Déclaration d un package Grandes lignes du cours Cours JAVA : Gestion de projets Java. Version 1.01 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

Plus en détail

Guide d'utilisation du CFEnet Local, version 2 1 / 8

Guide d'utilisation du CFEnet Local, version 2 1 / 8 Livrable Automate de Transmission des Fichiers CFEnet, version 2 : Guide d'utilisation Version Auteur Validation Date de diffusion Destinataires Version de travail Thierry Mallard Thierry

Plus en détail

9243043 Édition 1 FR. Nokia et Nokia Connecting People sont des marques déposées de Nokia Corporation

9243043 Édition 1 FR. Nokia et Nokia Connecting People sont des marques déposées de Nokia Corporation 9243043 Édition 1 FR Nokia et Nokia Connecting People sont des marques déposées de Nokia Corporation Allez à Zip Manager Pro. Remarque : Reportez-vous au manuel d'utilisation de votre appareil Nokia 9300i

Plus en détail

Quick Start Installation de MDweb version 2.3

Quick Start Installation de MDweb version 2.3 Quick Start Installation de MDweb version 2.3 Date : 2011.08.26 1. Quickstart Quick Start - Installation de MDweb version 2011 Installation Téléchargement et Installation des logiciels requis Déploiement

Plus en détail

Le multimédia avec le Lecteur Windows Media

Le multimédia avec le Lecteur Windows Media Le multimédia avec le Lecteur Windows Media Présent dans Windows Vista et Windows XP, le Lecteur Windows Media vous permet de lire, organiser efficacement et transférer de la musique et des vidéos sur

Plus en détail

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données Table d index : 1. Généralités 1 2. Installation du logiciel 2 3. Suppression du logiciel 2 4. Activation du logiciel 3 5. Récupération de données perdues 4 6. Interprétation du résultat 6 7. Enregistrement

Plus en détail

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8 Développement J2EE avec Eclipse et WSAD Karim Djaafar avec la contribution de Olivier Salvatori Groupe Eyrolles, 2003, ISBN 2-212-11285-8 La plate-forme de développement Eclipse CHAPITRE 5 147 Les vues

Plus en détail

MEDIAplus elearning - version 6.6

MEDIAplus elearning - version 6.6 MEDIAplus elearning - version 6.6 LMS Export et LMS Etendu Sommaire 1.Avant propos... 4 1.1. Le mode LMS Export... 5 1.2. Le mode LMS Etendu... 6 2.MEDIAplus LMS Export... 7 2.1. Principe de l administration

Plus en détail

Serveur de Licences Acronis. Guide Utilisateur

Serveur de Licences Acronis. Guide Utilisateur Serveur de Licences Acronis Guide Utilisateur TABLE DES MATIÈRES 1. INTRODUCTION... 3 1.1 Présentation... 3 1.2 Politique de Licence... 3 2. SYSTEMES D'EXPLOITATION COMPATIBLES... 4 3. INSTALLATION DU

Plus en détail

DÉCOUVERTE DE L ORDINATEUR

DÉCOUVERTE DE L ORDINATEUR UNIVERSITÉ D AUVERGNE FORMATION EN INFORMATIQUE CERTIFICAT INFORMATIQUE ET INTERNET DÉCOUVERTE DE L ORDINATEUR 1. ENVIRONNEMENT ET PRINCIPE DE FONCTIONNEMENT DE WINDOWS Un système d exploitation est un

Plus en détail

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 jquery Mobile La bibliothèque JavaScript pour le Web mobile É r i c S a r r i o n Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 1 Installation de jquery Mobile

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

SAUVEGARDER SES DONNEES PERSONNELLES

SAUVEGARDER SES DONNEES PERSONNELLES SAUVEGARDER SES DONNEES PERSONNELLES Il est important de sauvegarder son environnement système Windows ainsi que ses données personnelles. Nous verrons dans ce tutorial comment créer un point de restauration

Plus en détail

W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS. Référence: W4XT_TUTORIAL_020_FR

W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS. Référence: W4XT_TUTORIAL_020_FR W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS Référence: W4XT_TUTORIAL_020_FR Les prochaines mises à jour de ce document seront disponibles sur www.myw4.com W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT

Plus en détail

JDOM. Manipulation de XML avec JDOM et Java. A. Belaïd http://cynober.developpez.com/tutoriel/java/xml/jdom/

JDOM. Manipulation de XML avec JDOM et Java. A. Belaïd http://cynober.developpez.com/tutoriel/java/xml/jdom/ JDOM Manipulation de XML avec JDOM et Java 1 JDOM C est quoi? JDOM est une API du langage Java Permet de manipuler des donnés XML plus simplement qu'avec les API classiques Son utilisation est pratique

Plus en détail

Introduction. Gestion des fichiers dans le logiciel de catalogage

Introduction. Gestion des fichiers dans le logiciel de catalogage 1 Démarrage rapide - Gestion des fichiers P h o t o S u p r e m e Introduction Photo Supreme est un logiciel dit de «Gestion de documents numériques». Photo Supreme vous permet de gérer vos photos. Il

Plus en détail

LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2)

LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2) LANDPARK HELPDESK GUIDE DE PRISE EN MAIN (VERSION 3.9.2) Avril 2014 Installation de l application Pré-requis (page 2) Mise en place de la base de données Base de données SQL Express (page 2) Base de données

Plus en détail

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com

E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com - 5, rue Soutrane - 06560 Valbonne Sophia-Antipolis E-mail : contact@nqicorp.com - Web : http://www.nqicorp.com NQI Orchestra 3.3 - Guide d'installation Windows.................................................................

Plus en détail

Guide d'installation et de configuration d'ibm SPSS Modeler Social Network Analysis 16

Guide d'installation et de configuration d'ibm SPSS Modeler Social Network Analysis 16 Guide d'installation et de configuration d'ibm SPSS Modeler Social Network Analysis 16 Remarque Certaines illustrations de ce manuel ne sont pas disponibles en français à la date d'édition. Table des matières

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Companion GUIDE D'INSTALLATION. Numéros de séie de Sagem Companion. Veuillez conserver ce manuel car il contient des informations très importantes.

Companion GUIDE D'INSTALLATION. Numéros de séie de Sagem Companion. Veuillez conserver ce manuel car il contient des informations très importantes. Companion GUIDE D'INSTALLATION Veuillez conserver ce manuel car il contient des informations très importantes. Numéros de séie de Sagem Companion Ce produit ne peut-être installé que sur un nombre d'ordinateurs

Plus en détail

Sophos Anti-Virus pour Mac : Édition Familiale Aide

Sophos Anti-Virus pour Mac : Édition Familiale Aide Sophos Anti-Virus pour Mac : Édition Familiale Aide Pour les Macs autonomes sous Mac OS X Version du produit : 9C Date du document : juin 2013 Table des matières 1 À propos de Sophos Anti-Virus...3 2 Contrôle

Plus en détail

Introduction aux applets

Introduction aux applets Introduction aux applets M. Belguidoum Université Mentouri de Constantine Département Informatique M. Belguidoum (UMC) Programmation réseau 1 / 30 Plan 1 Quelques rappels 2 Principe de fonctionnement des

Plus en détail

TbiRituel 2.1. Août 2012

TbiRituel 2.1. Août 2012 Août 2012 Idée/Conception fonctionnelle : Caroline COUDÉ (Professeur des écoles) Réalisation technique: Serge COUDÉ (Ingénieur en informatique) http://caroline-et-serge.coude.net/ Table des matières Présentation...4

Plus en détail

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java

Introduction au Java Development Kit Et quelques instructions en Java. 1 Création des répertoires d accueil des programmes Java HLIN406 - Janvier 2015 Le Java Development Kit offre un ensemble d outils de développement d applications Java. Pour utiliser ces outils, JDK ne propose pas d interface utilisateur, on doit donc écrire

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

TD/TP 1 Introduction au SDK d Android

TD/TP 1 Introduction au SDK d Android TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition

Plus en détail

Initiation au langage Java. Patrick Cégielski cegielski@u-pec.fr

Initiation au langage Java. Patrick Cégielski cegielski@u-pec.fr Initiation au langage Java Patrick Cégielski cegielski@u-pec.fr Mai 2010 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université Paris Est Créteil - IUT Route forestière Hurtault

Plus en détail

Sophos Anti-Virus pour Mac : Édition Familiale Aide

Sophos Anti-Virus pour Mac : Édition Familiale Aide Sophos Anti-Virus pour Mac : Édition Familiale Aide Pour Mac autonomes sous la version 10.4 ou supérieure de Mac OS X Version du produit : 8C Date du document : avril 2012 Table des matières 1 À propos

Plus en détail

TP 2 JAVA. public class test1{ public static void main(string arg[]){ code du programme }// main }// class

TP 2 JAVA. public class test1{ public static void main(string arg[]){ code du programme }// main }// class TP 2 JAVA La structure d'un programme Java Un programme Java n'utilisant pas de classe définie par l'utilisateur ni de fonctions autres que la fonction principale main pourra avoir la structure suivante

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

public class StaticExample { private static int compteur; public static double pi = 3.14159; } utilisation de la notation. respect des modificateurs

public class StaticExample { private static int compteur; public static double pi = 3.14159; } utilisation de la notation. respect des modificateurs static static : usage Le rôle essentiel d un moule est de permettre la création d objets. mais un moule a également des caractéristiques Il en est de même pour une classe. Usage : La déclaration des attributs

Plus en détail

CONFIGURATION DU LOGICIEL D INSTALLATION DE CASTORE

CONFIGURATION DU LOGICIEL D INSTALLATION DE CASTORE CONFIGURTION DU LOGICIEL D INSTLLTION DE CSTORE I.Introduction...1 II.Les logiciels... 1 III.Organisation et ordonnancement des tâches...2 IV.Fonctionnement de IZPCK...2.Les interactions avec utilisateur...

Plus en détail

Sophos Anti-Virus pour Mac OS X Aide

Sophos Anti-Virus pour Mac OS X Aide Sophos Anti-Virus pour Mac OS X Aide Pour Macs en réseau et autonomes sous Mac OS X Version du produit : 9 Date du document : juin 2013 Table des matières 1 À propos de Sophos Anti-Virus...3 2 Contrôle

Plus en détail

La licence fournie avec Eclipse est une licence open-source un peu particulière appelée EPL (Eclipse Public License).

La licence fournie avec Eclipse est une licence open-source un peu particulière appelée EPL (Eclipse Public License). Qu'est ce qu'eclipse? Eclipse est un environnement de développement intégré (IDE) principalement utilisé en Java. Il peut être amélioré et modifié en utilisant de nombreux plug-ins. La licence fournie

Plus en détail

Création d'un package du logiciel TI-Nspire avec Microsoft SMS 2003

Création d'un package du logiciel TI-Nspire avec Microsoft SMS 2003 Création d'un package du logiciel TI-Nspire avec Microsoft SMS 2003 Vous trouverez dans ce document des instructions détaillées pour créer et déployer un package réseau TI-Nspire à l'aide de la plate-forme

Plus en détail

FICHE PRATIQUE www.marchespublics.nc

FICHE PRATIQUE www.marchespublics.nc FICHE PRATIQUE www.marchespublics.nc UTILISATION DU COMPTE D UTILISATEUR ENTREPRISE Réf. Version Date de la version Auteur FPE2 1.0 11/09/2014 support@calneo.fr 1 OBJET DU DOCUMENT Cette fiche pratique

Plus en détail

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation Serveur Acronis Backup & Recovery 10 pour Linux Update 5 Guide d'installation Table des matières 1 Avant l'installation...3 1.1 Composants d'acronis Backup & Recovery 10... 3 1.1.1 Agent pour Linux...

Plus en détail

MANUEL. de l application «CdC Online» pour Mac. Table des matières

MANUEL. de l application «CdC Online» pour Mac. Table des matières MANUEL de l application «CdC Online» pour Mac Version 2.0 juin 2015 Table des matières 1 Introduction... 2 2 Compatibilité... 2 3 Téléchargement et installation... 2 4 Configuration... 6 5 Fonctionnement

Plus en détail

Safari, navigateur web intégré à Mac OS X

Safari, navigateur web intégré à Mac OS X Service informatique Enseignement Recherche Fiche n 50 13/11/2003 Safari, navigateur web intégré à Mac OS X Alternative à Internet Explorer et à Netscape, SAFARI est le navigateur web intégré à Mac OS

Plus en détail

EVERNOTE : gestion de notes Installer l'application cliente Evernote

EVERNOTE : gestion de notes Installer l'application cliente Evernote EVERNOTE : gestion de notes Installer l'application cliente Evernote Nos applications sur ordinateur offrent une interface complète et puissante pour gérer toutes vos notes et vos carnets de notes sur

Plus en détail

Retrospect 9 pour Mac Manuel d'utilisation, addendum

Retrospect 9 pour Mac Manuel d'utilisation, addendum Retrospect 9 pour Mac Manuel d'utilisation, addendum 2 Retrospect 9 Manuel d'utilisation, addendum www.retrospect.com 2011 Retrospect, Inc. Tous droits réservés. Manuel d'utilisation de Retrospect 9, première

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Tune Sweeper Manuel de l'utilisateur

Tune Sweeper Manuel de l'utilisateur Tune Sweeper Manuel de l'utilisateur www.wideanglesoftware.com Table des matières Introduction 2 Démarrage rapide 5 Recherche de doublons 9 Sélection des pistes à conserver 12 Éliminer les doublons 15

Plus en détail

Etude de cas : PGE JEE V2

Etude de cas : PGE JEE V2 Arrivés à ce point du tutoriel, nous savons créer une application Web implémentant la persistance des données. Toutefois, le modèle de cette application était simple et composé d'une unique classe et les

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Un système d exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d un ordinateur et les

Plus en détail

Desktop Manager 2.8 Guide de mise à jour. Janvier 2014

Desktop Manager 2.8 Guide de mise à jour. Janvier 2014 Desktop Manager 2.8 Guide de mise à jour Janvier 2014 Ce document d'aide présente une méthodologie pour migrer d'une ancienne version de Desktop Manager vers la nouvelle version 2.8. Elle comporte deux

Plus en détail

AFTEC SIO 2. Christophe BOUTHIER Page 1

AFTEC SIO 2. Christophe BOUTHIER Page 1 Christophe BOUTHIER Page 1 Nous allons traiter ici quelques exemples de stratégies de groupe courantes. Sommaire : Stratégie de groupe pour déploiement logiciel... 3 1. Introduction... 3 2. Création du

Plus en détail

FAQ. 1. Installation de l'image Windows PE pré-construite et fournie. 1.1. Pré-SE Windows PE pour les systèmes Windows (Partition virtuelle)

FAQ. 1. Installation de l'image Windows PE pré-construite et fournie. 1.1. Pré-SE Windows PE pour les systèmes Windows (Partition virtuelle) Référence Doc. : DT-ENG-016-FR FAQ Produit: NovaScale BLADE Series Date : septembre 2009 Objet: Résumé : Création de l environnement de démarrage pour le déploiement avec la Console RDS. Cette note explique

Plus en détail

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne Aperçu du Centre de copies et d'impression Bureau en Gros en ligne Pour accéder à «copies et impression Bureau en Gros

Plus en détail

MANUEL DU KIT DE DEVELOPPEMENT DE CONNECTEURS Référence: W4JC_DEVKIT_020_FR

MANUEL DU KIT DE DEVELOPPEMENT DE CONNECTEURS Référence: W4JC_DEVKIT_020_FR W4 CONNECTORS FOR JAVA MANUEL DU KIT DE DEVELOPPEMENT DE CONNECTEURS Référence: W4JC_DEVKIT_020_FR Les prochaines mises à jour de ce document seront disponibles sur www.myw4.com W4 CONNECTORS FOR JAVA

Plus en détail

DÉMARRAGE RAPIDE. Présentation et installation de NetStorage

DÉMARRAGE RAPIDE. Présentation et installation de NetStorage Novell NetStorage www.novell.com DÉMARRAGE RAPIDE Présentation et installation de NetStorage Novell NetStorage est une fonction de NetWare 6 qui permet d'accéder facilement, via Internet, au système de

Plus en détail

Guide de l'utilisateur de Crystal Reports. Installation de Crystal Reports XI

Guide de l'utilisateur de Crystal Reports. Installation de Crystal Reports XI Guide de l'utilisateur de Crystal Reports Installation de Crystal Reports XI Installation de Crystal Reports XI Installation de Crystal Reports XI L'Assistant d'installation de Crystal Reports fonctionne

Plus en détail

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Copyright 1993-2015 QlikTech International AB. Tous droits réservés. Qlik, QlikTech, Qlik Sense, QlikView,

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Extrait 183 Chapitre 7 Gérer les formulaires 1. Vue d'ensemble Gérer les formulaires 1.1 Petit rappel

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

Cours intensif Java. 3er cours: introduction aux Applets. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.

Cours intensif Java. 3er cours: introduction aux Applets. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu. . Cours intensif Java 3er cours: introduction aux Applets Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr JAVA ET L INTERNET Applet: programmes écrits en java et intégrés dans

Plus en détail

Gérer des sites avec Dreamweaver

Gérer des sites avec Dreamweaver Gérer des sites avec Dreamweaver La boîte de dialogue Gérer les sites a pour fonction de vous permettre de créer un nouveau site, de modifier, de dupliquer, de supprimer un site, d'importer ou d'exporter

Plus en détail

TotEM. Guide d installation de l application. Décembre 2012 R006

TotEM. Guide d installation de l application. Décembre 2012 R006 TotEM Guide d installation de l application Décembre 2012 R006 TotEM Guide d installation de l application 1. Introduction 3 2. Installer le serveur (autonome) 10 3. Installer le serveur (application War)

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

Installation esupdev2.5 environnement de test et prise en main d'esup-portail

Installation esupdev2.5 environnement de test et prise en main d'esup-portail Page 1 of 9 Installation esupdev2.5 environnement de test et prise en main d'esup-portail Ce document décrit comment installer et utiliser le package 'environnement de prise en main esupportail'. Vincent

Plus en détail

Tri-CATALOG 7 Manuel d utilisation

Tri-CATALOG 7 Manuel d utilisation Tri-CATALOG 7 Manuel d utilisation Votre numéro de série :..................................... Tri-CATALOG 7 - Manuel d utilisation! 1 / 20 Droits d auteur Ce logiciel est Copyright 1994-2012 TED et TRI-EDRE.

Plus en détail

La barre d'outils La barre d'outils permet d'accéder aux six commandes de base de Processing : Run, Stop, New, Open, Save, Export.

La barre d'outils La barre d'outils permet d'accéder aux six commandes de base de Processing : Run, Stop, New, Open, Save, Export. Environnement de Programmation Processing. Nous avons conçu un éditeur simple et utilisable pour écrire et exécuter des programmes. L'environnement Processing (Integrated Development Environment ou IDE)

Plus en détail

MEDIAplus elearning. version 6.6

MEDIAplus elearning. version 6.6 MEDIAplus elearning version 6.6 L'interface d administration MEDIAplus Sommaire 1. L'interface d administration MEDIAplus... 5 2. Principes de l administration MEDIAplus... 8 2.1. Organisations et administrateurs...

Plus en détail

italc supervision de salle

italc supervision de salle italc italc supervision de salle 01 Présentation générale : italc est un logiciel de supervision de salles d'ordinateurs. Il fonctionne en mode poste «maitre» et postes «élèves». Avec votre serveur AbulEdu,

Plus en détail

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven TRAVAIL RÉALISÉ PAR ABED ABDERRAHMANE Oracle Developer Suite 10g Guide de l installation 10g Release 2 (10.1.2) pour Windows Vista & Seven www.oraweb.ca Page 1 TABLE DES MATIÈRES : PARTIE 1 : CONCEPTS

Plus en détail

1 Introduction à Apache Maven

1 Introduction à Apache Maven IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (0) Introduction à MAVEN 1 Introduction à Apache Maven Les projets Java (surtout JEE) ont la particularité de dépendre de beaucoup

Plus en détail