API Logging. Journalisation des évènements. Conserver sur un support sûr des événements survenus dans un système ou une application
|
|
- Francine Émond
- il y a 8 ans
- Total affichages :
Transcription
1 API Logging Journalisation des évènements Philippe GENOUD UJF Janvier Journalisation Conserver sur un support sûr des événements survenus dans un système ou une application Un ou plusieurs fichiers journaux (log files) générés en cours d'exécution enregistrent des informations sur le déroulement de l'application. Nature de l'événement Date et heure Gravité Utilisateur. Utilisés pour : Produire des statistiques sur utilisation du système (ex: log du serveur Apache) Détecter des problèmes d'exécution Reprise après pane Philippe GENOUD UJF Novembre
2 Api java.util.logging Java depuis la version 1.4 propose une API standard pour journaliser les événements. Définie dans le package java.util.logging D'usage simple Permet de journaliser des événements dans un fichier au format texte ou XML Différents niveaux de sévérité applicables aux messages journalisés API conçue pour rendre les opérations de logging le moins coûteuses possible Possibilité de changer dynamiquement quels niveaux de messages sont journalisés Permet de faire des logging détaillés lorsque nécessaire tout en minimisant l'impact sur l'application en mode normal Extensible Philippe GENOUD UJF Novembre Api java.util.logging Principale classes de l'apijava.util.logging Génère log messages LogManager Object Associés aux handlers pour formater les LogRecords Logger LogRecord Handler Destination pour les LogRecords Formatter Encapsule contenu d'un log message MemoryHandler StreamHandler SimpleFormatter XMLFormatter ConsoleHandler FileHandler SocketHandler <interface> Filter Philippe GENOUD UJF Novembre
3 Principes généraux de l'api Logging Filter Formatter 1 Application 2 À un Logger peuvent être associés plusieurs handlers Logger 4 Handler Handler 7 Monde extérieur Fichier Console Socket Filter Filter Formatter 1 L'application demande à un Logger d'enregistrer une information dans le journal 2 Le Logger crée un objet LogRecord qui représente cette demande 3 Le Logger transmet éventuellement le LogRecord à un filtre pour décider si il doit être traité ou non 4 Si le filtre autorise son traitement le LogRecord est transmis à un Handler. 5 Le Handler transmet éventuellement le LogRecord à un filtre pour décider si il doit être traité ou non 6 Si le filtre autorise son traitement le LogRecord est transmis à un Formatter qui se charge de sa mise en forme et de son éventuelle localisation 7 Le Handler publie lerésultat produit par le Formatter sur un flux d'entrée/sortie Philippe GENOUD UJF Novembre Création d'un journal Journal représenté par un objet instance de la classe Logger Doit être créé qu'une seule fois et partagé par les instances des différentes classes de l'application Accès au journal dans une classe Référence statique pour accéder au journal private static Logger logger = Logger.getLogger("monLogger"); Nom du journal Méthode statique de la classe Logger. si plusieurs classes appellent getlogger() avec le même nom, le journal est créé au premier appel ; pour les prochains appels le journal n'est pas recréé, seule sa référence est retournée. Philippe GENOUD UJF Novembre
4 Création d'un journal Une fois le journal (Logger) créé il faut l'associer à un ou plusieurs handlers qui géreront les messages (LoggerRecords) Pour rediriger les messages du logger vers un fichier on utilise un objet FileHandler Création d'un file Handler qui redirigera les LoggerRecords vers vers le fichier mylog.log Handler fh = new FileHandler("myLog.log"); Plusieurs constructeurs permettent de spécifier le ou les fichiers utilisés et la manière dont ils le sont. Handler fh = new FileHandler(); Système choisit lui-même le nom du fichier Handler fh = new FileHandler("myLog.log", true); Le fichier est repris tel quel (true) ou recrée (false) Handler fh = new FileHandler("myLog.log", 5000, 4); Le journal est divisé en 4 fichiers de 5000 octets, utilisés de manière cyclique,de nom mylog.log.i avec i de 0 à 3 (motif par défaut) logger.addhandler(fh); Associe le FileHanlder au logger Philippe GENOUD UJF Novembre Création d'un journal public FileHandler(String pattern,int limit,int count, boolean append) pattern : motif du nom du fichier ou des fichiers à créer limit : nombre maximum d'octets pouvant être écrits dans le fichier (0 pour pas de limite). Si cette limite est dépassée, le FileHandler ferme le fichier, le renomme et débute un nouveau fichier de log avec le nom original count : nombre de fichiers à utiliser append : le fichier est repris tel quel (true) ou recrée (false) Lorsque ces arguments ne sont pas spécifiés dans le constructeur, une valeur par défaut définie par le LogManager est utilisée. pattern : %h/java%u.log limit : 0 count : 1 append : false Philippe GENOUD UJF Novembre
5 Création du journal Des caractères spéciaux peuvent être utilisés pour définir le nom du (des) fichier(s) de log Caractère / %h %t %u %g %% Signification Séparateur de répertoire pour la plateforme Répertoire de connexion de l'utilisateur (équivalent de la propriété système "user.home") Répertoire temporaire du système Un nombre unique utilisé pour distinguer le fichier log d'autres fichiers log qui auraient le même motif Le nombre généré automatiquement pour la rotation cyclique des fichiers quand limit non nul et count > 1 '%' Exemple Handler fh = new FileHandler("%h/myApps.%g.log", 5000, 3); 3 fichiers logs dans le "homedir" de l'utilisateur nommés myapps.0.log, myapps.1.log et myapps.2.log Philippe GENOUD UJF Novembre Ecriture d'un message Pour poster un message dans le journal on utilise la méthode log() de l'objet Logger. public void log(level level, String msg) Niveau du message. Si le logger est activé pour ce niveau le message est dirigé vers tous les handlers associés au logger, sinon le message est ignoré Le message Le type Level définit niveaux pour les messages. Les niveaux sont ordonnés : lorsque le Logger est activé pour un niveau tous les niveaux supérieurs le sont également Les niveaux dans l'ordre décroissant Niveau par défaut Niveau OFF SEVERE WARNING INFO CONFIG FINE FINER FINEST ALL Description Aucun niveau Pour indiquer un problème sérieux Pour signaler un problème potentiel Message d'information Configuration Trace d'exécution Trace d'exécution plus précise Trace d'exécution encore plus précise Tous les niveaux La méthode void setlevel(level newlevel) de la classe Logger permet de modifier le niveau pour lequel le journal est activé. Exemple : pour logger tous les messages logger.setlevel(level.all) Philippe GENOUD UJF Novembre
6 Ecriture d'un message pour simplifier l'envoi de message dans le journal il existe pour chaque niveau une méthode qui évite d'avoir à spécifier le niveau en paramètre. public void severe(string msg) public void warning(string msg) public void info(string msg) public void config(string msg) public void fine(string msg) public void finer(string msg) public void finest(string msg) Exemple : logger.info("connection closed"); est équivalent à Logger.log(LEVEL.INFO,"connection closed"); Philippe GENOUD UJF Novembre Formatage des messages A un handler est associé un formateur qui se charge de la mise en forme des messages avant leur écriture dans le journal L'API logging propose deux classes de formatage de base SimpleFormatter XMLFormatter (défaut pour les FileHandler) Associés aux handlers pour formater les LogRecords Il est possible de créer son propre "formateur" en étendant la classe Formatter Formatter Utilisation du message setformatter pour fixer le formateur d'un objet Handler SimpleFormatter XMLFormatter Syntaxe : void setformatter(formatter newformatter) MyFormatter Exemple : fh.setformatter(new myformatter()); Philippe GENOUD UJF Novembre
7 Formatage des messages public static void main(string[] args) throws SecurityException, IOException { Logger logger = Logger.getLogger("monLogger"); Handler fh = new FileHandler("myLog.log"); Fichier mylog.log logger.addhandler(fh); logger.log(level.info, "coucou"); <?xml version="1.0" encoding="windows-1252" standalone="no"?> <!DOCTYPE log SYSTEM "logger.dtd"> <log> <record> <date> t19:32:13</date> <millis> </millis> <sequence>0</sequence> <logger>monjournal</logger> <level>info</level> <class>poo.cours.logging.testapilogging</class> <method>main</method> <thread>10</thread> <message>coucou</message> </record> </log> public static void main(string[] args) throws SecurityException, IOException { Logger logger = Logger.getLogger("monLogger"); Handler fh = new FileHandler("myLog.log"); Utilisation du formateur par défaut : XMLFormatter Handler fh.setformatter(new SimpleFormatter()); logger.addhandler(fh); logger.log(level.info, "coucou"); Utilisation d'un formateur SimpleFormatter Informations extraites de l'objet LogRecord Fichier mylog.log 13 nov :39:35 poo.cours.logging.testapilogging main INFO: coucou Philippe GENOUD UJF Novembre Formatage des messages Définition d'une nouvelle classe de Formatter package poo.cours.logging; import java.util.date; import java.util.logging.formatter; import java.util.logging.handler; import java.util.logging.logrecord; public class MonFormateur extends Formatter public String format(logrecord record) { return "le message '" + record.getmessage() + "' est arrivé à " + new Date(record.getMillis()) + public String gethead(handler h) { return "debut du public String gettail(handler h) { return "\nfin du log\n"; Écriture d'un entête et d'une fin au journal Formatage d'un enregistrement public static void main(string[] args) throws SecurityException, IOException { Logger logger = Logger.getLogger("monLogger"); Handler fh = new FileHandler("myLog.log"); Handler fh.setformatter(new MonFormateur()); logger.addhandler(fh); logger.log(level.info, "coucou"); Utilisation d'un formateur MonFormateur Fichier mylog.log debut du log le message 'coucou' est arrivé à Thu Nov 13 22:52:12 CET 2008 fin du log Philippe GENOUD UJF Novembre
8 Filtrage Les filtres permettent à l'application de définir éventuelleent ses propres règles de filtrage des LogRecords en plus des niveaux de message Un filtre peut être associé àlogger ou à un Handler Méthode void setfilter(filter newfilter) des classes Logger et Handler Un filtre est définit en implémentant l'interface Filter. public boolean isloggable(logrecord record) Exemple : import java.util.logging.filter; import java.util.logging.logrecord; public class myfilter implements Filter { // décide si l enregistrement doit être publié ou pas public boolean isloggable(logrecord record) { return record.getmessage().startswith("debug");; Philippe GENOUD UJF Novembre Hiérarchie des Loggers public static void main(string[] args) throws SecurityException, IOException { Logger logger = Logger.getLogger("monLogger"); Handler fh = new FileHandler("myLog.log"); Handler fh.setformatter(new MonFormateur()); logger.addhandler(fh); logger.log(level.info, "coucou"); Utilisation d'un formateur MonFormateur Fichier mylog.log debut du log le message 'coucou' est arrivé à Thu Nov 13 22:52:12 CET 2008 fin du log Sur la console : P:\CoursAPILogging\bin>java poo.cours.logging.testapilogging 14 nov :01:41 poo.cours.logging.testapilogging main INFO: coucou P:\CoursAPILogging\bin> D'où provient cette sortie? Le logger spécifié dans le programme n'a qu'un handler de type FileHandler Philippe GENOUD UJF Novembre
9 Explication : Hiérarchie des Loggers Les Loggers sont organisés en une structure arborescente Logger racine toujours défini sans nom ConsoleHandler par défaut Chaque Logger a un Logger parent Par défaut un Logger transmet les LogRecords à ses Handlers mais aussi à son Logger parent qui les transmet à ses propres Handlers (de manière récursive jusqu'au Logger racine) "" root Logger ConsoleHandler Console 14 nov :01:41 poo.cours.logging.testapilogging main INFO: coucou "monlogger" Le Logger parent ne fait pas de filtrage ou de contrôle de niveau du LogRecord logger.log(level.info, "coucou"); FileHandler Fichier mylog.log debut du log le message 'coucou' est arrivé à Thu Nov 13 22:52:12 CET 2008 fin du log Philippe GENOUD UJF Novembre Hiérarchie des Loggers La hiérarchie des loggers est construite à partir de leurs noms Dans un nom de logger un '.' correspond à un niveau de hiérarchie Niveau 0 "" Logger racine Logger l1 = Logger.getLogger("l1"); Logger l1_1 = Logger.getLogger("l1.1"); Logger l1_2 = Logger.getLogger("l1.2"); Niveau 1 Niveau 2 l1 l1.1 l1.2 Logger l1_1_1 = Logger.getLogger("l1.1.1"); Niveau 3 l1.1.1 Un Logger hérite un certain nombre d'attributs de ses parents LogingLevel : si est null, le Logger hérite du premier LoggingLevel non null parmi ses parents Handlers : par défaut le Logger transmet récursivement à tous parents les LogRecord qu'il génère ResourceBundle : pour la localisation (comme pour le LogingLevel, si le ResourceBundle est null, il est alors hérité au travers de la hiérarchie des loggers) C'est joli, mais à quoi cela sert tout cela? Philippe GENOUD UJF Novembre
10 Hiérarchie des Loggers MyClass1 La hiérarchie des Loggers et le forwarding des LogRecords permet d'avoir un contrôle fin sur la journalisation. En utilisant des noms de logger qui correspondent à la hiérarchie des packages on peut facilement contrôler le logging package par package (voire classe par classe) ce qui peut être très utile pour une analyse fine d'une application package package1.subpackage1;... public class MyClass1 { private static Logger logger = Logger.getLogger("package1.subPackage1.MyClass1"); package par défaut package1 subpackage1 subpackage2 MyClassN ""... package2 Recommandation de la documentation de l'api logging - Nom complet (fully qualified name) de la classe (une journal par classe) - Nom du package (toutes les classes du package utilisent le même journal) LogManager.getLogManager(). getlogger("package1.subpackage1").setlevel(level.all) Fixe un niveau de journal ALL pour toutes les classes du package package1.subpackage1 Philippe GENOUD UJF Novembre Configuration des journaux La configuration par défaut du LogManager est initialisée à partir d'un fichier de propriétés logging.properties défini dans le répertoire lib du JRE de la JVM Cette configuration par défaut peut être changée en modifiant ce fichier Possibilité d'utiliser une autre fichier de configuration à l'exécution java -Djava.util.logging.config.file=myLoggingconfigurationFile # Global properties handlers= java.util.logging.consolehandler, java.util.logging.filehandler.level= INFO # # Handler specific properties. # #default file output is in user's home directory. java.util.logging.filehandler.pattern = %h/java%u.log java.util.logging.filehandler.limit = java.util.logging.filehandler.count = 1 java.util.logging.filehandler.formatter = java.util.logging.xmlformatter # Limit the message that are printed on the console to INFO and above. java.util.logging.consolehandler.level = INFO java.util.logging.consolehandler.formatter = java.util.logging.simpleformatter # extra control for each logger. # set the com.xyz.foo logger to only log SEVERE messages. com.xyz.foo.level = SEVERE Philippe GENOUD UJF Novembre
11 Conclusion Java.util.logging fourni une API standard pour la journalisation Simple, flexible, efficace Il existe d'autres alternatives qui offrent plus de fonctionnalités: Log4j du projet Apache Extrait de la FAQ : Why should I use log4j when JDK 1.4 already ships with a logging API? Although both APIs are conceptually similar, the log4j API is significantly more flexible and offers many more features, too numerous to be listed here. Commons Logging du projet Jakarta Commons jlo Monolog développée par le consortium ObjectWeb Philippe GENOUD UJF Novembre Références An Introduction to the Java Logging API, Brian R. Gilstrap Java Logging Technology Philippe GENOUD UJF Novembre
Chapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailJean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique 2010-2011
1 / 21 Développement Java - Journalisation Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique 2010-2011 2 / 21 Plan Plan 1 Introduction 2
Plus en détailSupervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14
Document FAQ Supervision et infrastructure - Accès aux EXP Page: 1 / 9 Table des matières Introduction... 3 Démarrage de la console JMX...4 I.Généralités... 4 II.WebLogic... 5 III.WebSphere... 6 IV.JBoss...
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailLambda! Rémi Forax Univ Paris-Est Marne-la-Vallée
Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailLa base de données XML exist. A. Belaïd
La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailINTRODUCTION 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étailDesign patterns. Design patterns - définition. Design patterns - avantages
Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern
Plus en détailGuide de déploiement d'applications FormPublisher
Guide de déploiement d'applications FormPublisher 1. Web applications produites par FormPublisher A l'issue de la phase de rédaction et de tests, il va être demandé à FormPublisher de créer une web application
Plus en détailAPI04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture
API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailModèle à composants. Daniel Hagimont. IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7. Remerciements
Modèle à composants Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://www.enseeiht.fr/~hagimont Remerciements Eric Bruneton Sacha
Plus en détailJADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.
: Java Agent DEvelopment framework Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.fr Introduction à la plateforme JADE 1) Modèle d agent 2) Services 3) Norme FIPA
Plus en détailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détailJahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3
Jahia Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Qu'est ce que c'est? Jahia est une solution de portail internet et de gestion de contenu destiné aux entreprises. (CMS and Enterprise
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Plus en détailLMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour
LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections
Plus en détailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailAndroid et le Cloud Computing
Android et le Cloud Computing 1 Plan de l'exposé Rappels sur Android et le cloud Présentation de GCM Notions fondamentales de GCM Construire un projet GCM Ecrire un client GCM (récepteur GCM) Ecrire un
Plus en détail7 Développement d une application de MapReduce
7 Développement d une application de MapReduce Ecrire un programme d Hadoop demande un processus : écrire une fonction map, une fonction reduce et tester localement. Ecrire ensuite un programme pour lancer
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailas Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailRMI 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étailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailRMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.
RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailTP3. Mail. Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose.
Université Paris 7 M2 II Protocole Internet TP3 Mail Attention aux fausses manoeuvres lors de ce TP vous pouvez endommager votre mail sur ouindose. 1 Protocole SMTP 1. Le protocole SMTP est définit dans
Plus en détailProgrammation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailDis papa, c est quoi un bus logiciel réparti?
Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la
Plus en détailExtension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.
Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence
Plus en détailTD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting
IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailJava 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étailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailJava Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailInstitut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki
Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailJava 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étailApplication de lecture de carte SESAM-Vitale Jeebop
Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailInfo0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java
Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan
Plus en détailPrincipes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailCalcul Parallèle. Cours 5 - JAVA RMI
Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation
Plus en détailAnalyse de performance, monitoring
Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl
Plus en détailJAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.
Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins
Plus en détailThreads. Threads. USTL http://www.lifl.fr/ routier 1
Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un
Plus en détailPour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.
Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de
Plus en détail.NET - Classe de Log
.NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de
Plus en détailJavaServer Pages (JSP)
JavaServer Pages (JSP) XVIII-1 Prérequis pour ce cours Ce cours a trait à la programmation Java coté serveur Il faut connaître un minimum de technologie J2EE Il faut connaître les servlets XVIII-2 Motivation
Plus en détailJ2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailService Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3
Page 1 Service déposant Procédure d installation Version 2.3 Bourse de Luxembourg juillet 2013 1 Page 2 Sommaire 1. Introduction... 3 2. Pré-requis... 4 2.1. Configuration réseau... 4 2.2. Configuration
Plus en détailModule 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étailEnvironnements de développement (intégrés)
Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure
Plus en détailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
Plus en détailPROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)
Plus en détailPROCEDURE D'INSTALLATION OPENREPORTS
PROCEDURE D'INSTALLATION OPENREPORTS Table des matières Prérequis...2 1 Installation linux...2 2 Installation JAVA...3 2.1 Installation de la jdk...3 2.2 Configuration de l'environnement...3 3 Installation
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailApache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011
Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB
Plus en détailUne introduction à Java
Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)
Plus en détailLe Modèle de Sécurité dans JAVA
Le Modèle de Sécurité dans JAVA $Id : javasecurity.lyx 1565 2008-10-22 13 :57 :30Z phil $ 22 octobre 2008 Université de Cergy-Pontoise, 2 rue A. Chauvin 95302 Cergy-Pontoise cedex e-mail laroque@u-cergy.fr
Plus en détailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détailProgrammation avec des objets : Cours 7. Menu du jour
1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes
Plus en détailInitiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr
Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
Plus en détailJava RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011
Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détail