Le Modèle de Sécurité dans JAVA
|
|
|
- Colette Rochefort
- il y a 10 ans
- Total affichages :
Transcription
1 Le Modèle de Sécurité dans JAVA $Id : javasecurity.lyx :57 :30Z phil $ 22 octobre 2008 Université de Cergy-Pontoise, 2 rue A. Chauvin Cergy-Pontoise cedex [email protected] Table des matières 1 Historique La sécurité dans le JDK La sécurité dans le JDK La sécurité dans la J2XE Le contrôle des applets Exemple simple Code source Java Code source HTML Fonctionnement par défaut Ajout d une ACL dans le policy tool Contenu du policy file Le contrôle des applications 8 4 Les outils de gestion de la sécurité Signatures électroniques Certificats Autorités de certification Stockage des clés (keystores) Outils et moyens techniques dans le JDK Mise en œuvre de la signature par les API du JDK Mise en œuvre de la signature par les outils du JDK
2 5 Signature de code et permissions Un exemple simple Les étapes côté fournisseur Création du JAR et génération des clés Signature du fichier JAR Exportation d un certificat Les étapes côté utilisateur Importation du certificat Création d une nouvelle ACL Echange de documents signés Etapes côté émetteur Etapes côté destinataire Historique 1.1 La sécurité dans le JDK 1.0 Binaire : Tout code local a un accès non limité aux ressources Tout code distant est exclu de l accès à ces ressources, il tourne dans la sandbox 1.2 La sécurité dans le JDK 1.1 La notion d applet signée va sophistiquer le modèle Une applet signée a les mêmes droits que du code local 2
3 Elle est livrée dans un fichier archive JAR, avec la signature électronique Encore très binaire 1.3 La sécurité dans la J2XE Beaucoup plus sophistiqué : Tout code, local comme distant, est soumis à des règles d accessibilité. Ces règles sont regroupées dans un policy file. Des outils sont fournis pour constituer/ modifier ce fichier (policytool). Il contient des ACL (Access Control List). Chaque ACL définit l accessibilité à une (un groupe de) ressource(s) par un domaine (ensemble de classes). 3
4 2 Le contrôle des applets Le contrôle d accès est fait à l aide d un security manager. Si l accès est refusé, une exception est levée. Pour permettre l accès à la ressource à l applet, il faut modifier le policy file ou le security manager. La modification du policy file peut se faire à l aide du policy tool (commande policytool) : 2.1 Exemple simple On écrit une applet qui va tenter d écrire un (nouveau) fichier dans le répertoire home (donc côté client) Code source Java Le code source de l applet a l allure suivante : // $Id: AppletSecurity.java :57:30Z phil $ package pl.security; 4
5 import java.awt.*; import java.io.*; import java.applet.*; /** * Test for java applet security. * This applet tries to write a local (client) file. Without ACL, a * SecurityException is thrown. With the correct ACL, the code executes * normally [email protected] $Rev: 1565 $ */ public class AppletSecurity extends Applet { String myfile = "newfile"; File f = new File(myFile); DataOutputStream dos; public void init() { String osname = System.getProperty("os.name"); } } public void paint(graphics g) { try { dos = new DataOutputStream (new BufferedOutputStream(new FileOutputStream(myFile),128)); dos.writechars("the applet could write local FS\n"); dos.flush(); g.drawstring("successfully wrote to the file named " + myfile, 10, 10); } catch (SecurityException e) { g.drawstring("caught security exception: " + e, 10, 10); } catch (IOException ioe) { g.drawstring("caught i/o exception", 10, 10); } } Code source HTML <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> 5
6 <head> <meta content="text/html; charset=iso " http-equiv="content-type"> <title>applet security test</title> </head> <body> Applet security test: <br> <applet code="pl.security.appletsecurity" archive="pl.jar" alt="if you see this, then the applet couldn t start" height=100 width=400 > This browser ignores "applet" tags </applet> </body> </html> Fonctionnement par défaut Sans précaution particulière, le chargement de la page (soit dans l appletviewer lancé depuis le home directory, soit depuis un navigateur web) provoque comme on peut s y attendre une exception : Il va falloir autoriser ce code à écrire dans le FS local. Pour cela, on va définir une ACL. 6
7 2.2 Ajout d une ACL dans le policy tool Une ACL est constituée de trois paramètres : Le type de permission (E/S, propriétés systèmes, etc.) La ressource concernée (par exemple tel fichier/répertoire) Les droits donnés (par exemple lecture et/ou écriture) On indique dans le champ CodeBase l URL à laquelle on souhaite fournir un accès Il faut ensuite préciser le type de permission, le nom de la ressource concernée et le type d opération qu on autorise. Les permissions existantes sont regroupées dans la figure suivante : 2.3 Contenu du policy file Dans notre exemple, le fichier a l allure suivante : grant codebase "http ://depinfo.u-cergy.fr/~pl/pl.jar" { permission java.io.filepermission "/home/phil/newfile", "write" ; } ; Si ce fichier a été sauvé sous le nom ~/mypolicy, il faut indiquer au gestionnaire de sécurité (le security file, ~java/jre/lib/security/java.security, où ~java est le répertoire racine de JAVA) où il se trouve. On peut avoir plusieurs policy files. Chaque exemplaire doit faire l objet d une ligne de la forme suivante dans le fichier java.security : policy.url.1=file :${java.home}/lib/security/java.policy 7
8 policy.url.2=file :${user.home}/.java.policy policy.url.3=file :${user.home}/mypolicy Enfin, on peut indiquer directement sur la ligne de commande que l on désire exécuter l applet avec les ACL définies dans le fichier mypolicy : $ appletviewer -J-Djava.security.policy=~/myPolicy TheAppletURL.html Après ajout de l entrée précédente, on peut exécuter avec succès le code de l applet de notre exemple : 3 Le contrôle des applications La différence principale avec les applets est que, par défaut, aucun gestionnaire de sécurité n est actif pour les applications. On peut l activer explicitement : $ java -Djava.security.manager MonAppli Dans ce cas, l accès à certaines propriétés (par exemple user.home) est refusé. Les droits par défaut sont donnés dans le system policy file, ~java/jre/lib/security/java.policy. Dans le fichier /mypolicy précédent, il faut alors rajouter (par exemple) : grant codebase "file :${user.home}/src/java/-" { permission java.util.propertypermission "user.home", "read" ; permission java.util.propertypermission "java.home", "read" ; } ; 8
9 On peut également (à la place) spécifier explicitement le policy file à utiliser : $ java -Djava.security.manager \ -Djava.security.policy=mypolicy MonAppli N.B. : le - en fin d URL permet de donner les mêmes droits à toute l arborescence de répertoires dont la racine est spécifiée par l URL. 4 Les outils de gestion de la sécurité L utilisation intensive d Internet implique la nécessité d être certain de la provenance d un code (notamment applet) avant son utilisation locale. Les outils principaux permettant d effectuer cette vérification sont au nombre de trois : les signatures électroniques, les certificats et les keystores 4.1 Signatures électroniques Reposent sur des algorithmes a clés dissymétriques (publique / privée) On envoie sa clé publique à tous ses interlocuteurs On signe un document avec sa clé privée (qu on est seul à connaître!) Le destinataire utilise la clé publique pour vérifier que l on est bien l auteur du document (par confrontation avec la clé privée) Le problème est repoussé à être certain de la validité de la clé publique! C est là qu interviennent les certificats 4.2 Certificats Un certificat contient : La clé publique de l entité concernée. Le distinguished name de l entité concernée (le propriétaire, owner), i.e. son nom son organisation (et sa sous-organisation au sens LDAP) ses ville, état/province, pays et code postal Une signature électronique de l émetteur du certificat (issuer) qui en certifie la validité. Le distinguished name de l émetteur. On peut souvent vérifier la clé publique d une entité inconnue en vérifiant celle de son émetteur, et en remontant la chaîne jusqu à arriver à un émetteur auquel on fait confiance. 4.3 Autorités de certification Si cette vérification est impossible, on peut toujours créer une empreinte (fingerprint) du certificat, puis appeler l émetteur en lui demandant de lui envoyer 9
10 son certificat. En comparant les deux empreintes, il peut s assurer de la validité du premier... Un émetteur peut certifier lui-même sa signature (self-signed certificate), en le signant à l aide de sa clé privée. Bien entendud il doit être connu du destinataire comme fiable. Sinon, l authentification passe par un tiers de confiance (Certification Authority, CA) : l émetteur envoie un certificate signing request (CSR) auto-signé au CA, qui en vérifie la validité. Il émet alors un certificat concernant l émetteur qu il signe lui-même. Ainsi, toute personne qui fait confiance au CA fait confiance à l émetteur. Les CA sont organisés de manière arborescente. Le JDK fournit un certain nombre d outils pour la gestion des signatures et des certificats. 4.4 Stockage des clés (keystores) Dans des bases protégées par mot de passe. Deux types d information : Les certificats auxquels on fait confiance (trusted certificates) : les documents signés de la clé publique correspondante sont considérés comme authentiques. Des couples clé privée/certificat contenant la clé publique correspondante. Chaque entrée est repérée par un alias unique. 4.5 Outils et moyens techniques dans le JDK La constitution de signatures et de certificats peut être faite de plusieurs façons : A l aide d outils livrés avec la J2SE (et la J2EE) : jar, jarsigner, keytool A l aide d API incluses dans le JDK (sauf, pour l instant, pour la création de certificats) Par un mélange des deux techniques. Avant de pouvoir exécuter un code signé en local, il est nécessaire d avoir (ou d obtenir) un certificat validant cette signature, et de l incorporer dans son keystore. 4.6 Mise en œuvre de la signature par les API du JDK Ces classes permettent à l émetteur de générer des paires clé publique / clé privée ; générer une signature électronique pour un document, à partir de la clé privée ; joindre la signature (et la clé publique) aux données signées. 10
11 Elles permettent au destinataire de importer une clé publique dont il a besoin ; vérifier l authenticité d une signature. 4.7 Mise en œuvre de la signature par les outils du JDK Ces outils permettent à l émetteur de générer des paires clé publique / clé privée ; générer une signature électronique pour un document, à partir de la clé privée ; joindre la signature (et la clé publique) aux données signées. Ils permettent au destinataire de importer une clé publique dont il a besoin ; vérifier l authenticité d une signature. 5 Signature de code et permissions Tâches côté fournisseur du code : placer le code dans une archive JAR ; signer l archive ; exporter le certificat correspondant à la clé privée ayant signé l archive. Tâches côté utilisateur du code : vérifier que l application ne peut normalement pas accéder à une ressource donnée si elle s exécute sous la responsabilité d un security manager ; importer le certificat relatif au code utilisé dans son keystore ; modifier le policy file pour fournir l accès nécessaire au code authentifié par ce certificat ; vérifier que l application peut alors accéder à la ressource demandée. 5.1 Un exemple simple L exemple repose sur une classe Count qui donne le nombre de caractères d un fichier passé en paramètre : import java.io.* ; public class Count { public static void countchars(inputstream in) throws IOException { int count = 0 ; while (in.read()!= -1) count++ ; System.out.println("Counted " + count + " chars.") ; } 11
12 } public static void main(string[] args) throws Exception { if (args.length >= 1) countchars(new FileInputStream(args[0])) ; else System.err.println("Usage : Count filename") ; } 5.2 Les étapes côté fournisseur L émetteur prétend être Susan Georges. Les étapes à suivre sont résumées dans la figure suivante : 5.3 Création du JAR et génération des clés 1. $ jar cvf Count.jar Count.class $ keytool -genkey -alias signfiles -keypass \ kpi135 -keystore susanstore -storepass ab987c Options de genkey : -genkey : indique à keytool que l on souhaite générer des clés -alias signfiles : identifie cette entrée de manière unique sous l alias signfiles -keypass kpi135 : fournit un mot de passe lié à la clé privée qui va être générée. Il sera demandé pour tout accès à cette clé privée. Il peut être identique à celui du keystore. 12
13 -keystore susanstore : indique le nom du keystore à utiliser (/créer). Par défaut il est placé dans ~/.keystore -storepass ab987c : fournit un mot de passe pour le keystore Cette commande crée un certificat auto-signé valide 90 jours (c est le défaut, modifiable par -validity) 5.4 Signature du fichier JAR $ jarsigner -keystore susanstore -signedjar \ scount.jar Count.jar signfiles Le système demande alors le mot de passe du keystore et de la clé. S ils sont corrects, le fichier scount.jar est généré. 5.5 Exportation d un certificat On produit un certificat par l option -export de keytool : $ keytool -export -keystore susanstore \ -alias signfiles -file SusanJones.cer Là encore, le mot de passe du keystore est demandé. Le fichier généré, SusanJones.cer, peut être envoyé au destinataire. 5.6 Les étapes côté utilisateur Elles sont résumées dans la figure suivante : 13
14 5.7 Importation du certificat L utilisateur a reçu l archive signée. Comme elle contient le certificat, il faut d abord l extraire de l archive : $ keytool -import -alias susan -file \ SusanJones.cer -keystore raystore Ceci crée un nouveau keystore (raystore n existait pas), le protège par un mot de passe et affiche l empreinte du certificat. On peut alors la comparer à celle fournie par des sources de confiance sur le certificat de Susan Georges (par exemple en lui téléphonant et en lui demandant de donner la suite des chiffres de l empreinte de sa version de l archive signée). On l obtient par la commande $ keytool -printcert -file SusanJones.cer Si les empreintes sont identiques, on peut faire confiance à ce certificat et l inclure dans son keystore. 5.8 Création d une nouvelle ACL Il faut modifier le policy file pour autoriser l application à accéder aux ressources souhaitées (par exemple, lire les fichiers contenus dans le repertoire test.d). Pour cela, il faut indiquer dans le policy tool que l on va utiliser le keystore raystore pour le certificat le type d accès souhaité pour tout code possédant ce certificat de Susan Georges L ACL constituée a l aspect suivant : grant signedby "susan" { permission java.io.filepermission "${user.home}/src/tex.d/javasecurity.d/test.d/*", "read" } ; 6 Echange de documents signés La signature électronique est un excellent moyen d assurer l originalité d un document. Le principe est proche de celui mis en œuvre pour la signature d un code JAVA. La description qui suit suppose la transmission d un contrat entre l émetteur, Spirou, et le destinataire, Fantasio. 14
15 6.1 Etapes côté émetteur Introduction du document (le fichier contract) dans une archive JAR $ jar cvf Contract.jar contract Génération des clés de l émetteur (si elles n existent pas encore) $ keytool -genkey -alias signlegal \ -keystore spiroustore (optionnel) Génération d une demande de certificat (Certificate Signing Request, CSR) Signature de l archive $ jarsigner -keystore spiroustore -signedjar \ scontract.jar Contract.jar signlegal Exportation du certificat contenant la clé publique $ keytool -export -keystore spiroustore \ -alias signlegal -file spirou.cer Fourniture de l archive signée et du certificat au destinataire 6.2 Etapes côté destinataire Obtention de l archive (scontract.jar) et du certificat (spirou.cer) Importation du certificat (après vérification éventuelle de sa validité par comparaison à partir de l empreinte d un autre certificat trusted (autre.cer)) $ keytool -import -alias spirou -file \ spirou.cer -keystore fantasiostore $ keytool -printcert -file autre.cer 186 Fri May :53 :28 CEST 2000 META-INF/SIGNLEGA.SF 973 Fri May :53 :28 CEST 2000 META-INF/SIGNLEGA.DSA 0 Fri May :48 :26 CEST 2000 META-INF/ smk 1023 Fri May :48 :02 CEST 2000 contract s = signature was verified m = entry is listed in manifest k = at least one certificate was found in keystore i = at least one certificate was found in identity scope jar verified. Vérification de la signature de l archive $ jarsigner -verify -verbose -keystore \ fantasiostore scontract.jar 15
16 Extraction du contrat à partir de l archive vérifiée $ jar xvf scontract.jar contract 16
Programmation Réseau. Sécurité Java. [email protected]. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java [email protected] 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
Sécurité Java 2. Première approche. Installation des exemples. Exemple d'une applet
Sécurité Java 2 Première approche L 'internet permet une multiplication des moyens de diffusion des applications. Le courrier électronique, le Web, le FTP sont autant de moyens de distribuer des composants
Remote 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
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
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
Documentation CAS à destination des éditeurs
Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges
Structure 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
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
EJBCA PKI Open Source
PKI Open Source http://www.auditiel.fr/docs/installation.pdf 1 SOMMAIRE 1Sommaire... 2 2Introduction... 3 2.1Pré requis...3 2.2Versions... 3 2.3Glossaire...3 3Installation...4 3.1Composants nécessaires...
Introduction au langage Java
Introduction au langage Java 1 Introduction : Langage développé par Sun et purement orienté objet. N a pas de rapport direct avec Javascript développé par Netscape. Les applications java peuvent être des
Programmation Réseau SSH et TLS (aka SSL)
Programmation Réseau SSH et TLS (aka SSL) [email protected] Coloriages: François Armand [email protected] UFR Informatique 2011-2012 Réseau et Sécurité Problèmes
Programmation réseau avec Java. 3/7 RMI, un peu de sécurité et CORBA
Programmation réseau avec Java 3/7 RMI, un peu de sécurité et CORBA Olivier Ricou 5 juin 2008 Java, comme CORBA avant, permet d exécuter des taches à distances avec la RMI. Cette partie aborde les points
Aspects techniques : guide d interfaçage SSO
COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans
Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima
Introduction à la sécurité Cours 8 Infrastructure de clés publiques Catalin Dima 1 Gestion des clés La gestion des clés concerne : La distribution de clés cryptographiques, Les mécanismes utilisés pour
Web Tier : déploiement de servlets
Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation
Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions
Langage JAVA Bases du langage Opérations sur les fichiers Réseau Multi-tâche Logiciel: interfaces... Gestion des périphériques (méthodes natives) Accès aux bases de données Bases du langage Historique
Politique de certification et procédures de l autorité de certification CNRS
Politique de certification et procédures de l autorité de certification CNRS V2.1 1 juin 2001 Jean-Luc Archimbaud CNRS/UREC Directeur technique de l UREC Chargé de mission sécurité réseaux informatiques
[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Introduction à 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
Corrigé 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
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
Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code
Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes
Accéder à PostgreSQL par JDBC via un tunnel SSL Java
LinuxFocus article number 285 http://linuxfocus.org Accéder à PostgreSQL par JDBC via un tunnel SSL Java par Chianglin Ng L auteur: Je vis à Singapour, un pays moderne et cosmopolite
Notes de cours Practical BigData
Notes de cours Practical BigData Nguyen-Nhut DOAN 15 janvier 2015 Introduction Ces notes personnelles traduisent la deuxième partie du cours INF553 de l Ecole Polytechnique sur les bases de données et
Pour 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
Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet [email protected].
Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet [email protected] Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML
API04 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
Titre: Version: Dernière modification: Auteurs: Statut: Remplace: Licence:
Titre: Déploiement des applications: partie cliente Version: 1.1 Dernière modification: 2008/11/03 17:25 Auteurs: Aurélien Minet , Hugues Villesuzanne
Les architectures 3-tiers Partie I : les applications WEB
Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux
PROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 [email protected] B. Carré Polytech Lille 2 Java (Sun 1995)
Plan 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
Cours 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/
Paris Airports - Web API Airports Path finding
Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : [email protected] Date : 19/05/2015 Approbateur
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
as 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
Programmation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Exceptions. 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
Certificat Big Data - Master MAthématiques
1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia
A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT
DOCUMENTATION CAS A DESTINATION DES SERVICES TIERS Titre descriptif du document Référence du document REFO-DT-ENTV2-ServeurCAS-v1.2.docx Nom du fichier REFO-DT-ENTV2-ServeurCAS-v1.2.docx Version du document
La 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
Fichiers d'archives java - *.jar
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
RMI. 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
Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Serveur 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
Installation d'un TSE (Terminal Serveur Edition)
Installation d'un TSE (Terminal Serveur Edition) Par LoiselJP Le 01/05/2013 (R2) 1 Objectifs Le TSE, comprenez Terminal Server Edition est une application de type 'main-frame' de Microsoft qui réside dans
RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado
- RAPPORT AUDIT SEO Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado 17 septembre 2013 Table des matières Optimisation structurelle 2 Optimisation des standards, performances et
TP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
BOUCHARD Nicolas. GENTILE Pierre
PPE ENT Installation d Esup Portail sous Windows De A à Z - Version du 19/04/2007 Page2 Table des Matières PRE REQUIS... 3 INSTALLATION DE L OUTIL ANT... 4 INSTALLATION DU SERVEUR APACHE TOMCAT... 5 PASSER
Programmation avancée et répartie en Java : interfaçage avec d autres langages
Programmation avancée et répartie en Java : interfaçage avec d autres langages Frédéric Gava L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours de M1 MIAGE (d après les notes de cours de
INSTALLATION ET CONFIGURATION DE OPENLDAP
INSTALLATION ET CONFIGURATION DE OPENLDAP Ce document a pour intérêt de décrire les étapes de l installation et de la configuration de l outil OpenLDAP sous l OS FreeBSD 4.8 Installation et Configuration
Architectures PKI. Sébastien VARRETTE
Université du Luxembourg - Laboratoire LACS, LUXEMBOURG CNRS/INPG/INRIA/UJF - Laboratoire LIG-IMAG [email protected] http://www-id.imag.fr/~svarrett/ Cours Cryptographie & Securité Réseau Master
7 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
Serveur 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/
Auto-é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
Java Licence Professionnelle CISII, 2009-2010
Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd [email protected] Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :
Premiers 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.
27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)
Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)
OpenPaaS 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
Programmation Internet en Java
Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.
RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java
RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes [email protected] LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande
TP3. 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
Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte
Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte UN GUIDE ÉTAPE PAR ÉTAPE, pour tester, acheter et utiliser un certificat numérique
Censio Tutorial Sharepoint Cloud Connector exporter les données d un fichier plat dans Sharepoint Online. Version 1.
Censio Tutorial Sharepoint Cloud Connector exporter les données d un fichier plat dans Sharepoint Online Version 1.0 du 10/08/2011 Objectif L objectif est d alimenter une liste «Articles2» sur Sharepoint
Développement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Programmer en JAVA. par Tama ([email protected]( [email protected])
Programmer en JAVA par Tama ([email protected]( [email protected]) 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
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
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
Signature électronique. Romain Kolb 31/10/2008
Romain Kolb 31/10/2008 Signature électronique Sommaire I. Introduction... 3 1. Motivations... 3 2. Définition... 3 3. La signature électronique en bref... 3 II. Fonctionnement... 4 1. Notions requises...
COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : 12-07-2005 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE
COMMUNICATION TECHNIQUE N TCV060 Ed. 01 OmniVista 4760 Nb de pages : 18 Date : 12-07-2005 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE OBJET : GESTION ANNUAIRE Veuillez trouver ci-après une documentation
Gestion des certificats en Internet Explorer
Gestion des certificats en Internet Explorer Comment exporter, sauvegarder/restaurer et supprimer vos clés et certificats avec Internet Explorer 6 ou plus récent Version 1.0 2007-07-13 Revision History
Création d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Public Key Infrastructure (PKI)
Public Key Infrastructure (PKI) Introduction Authentification - Yoann Dieudonné 1 PKI : Définition. Une PKI (Public Key Infrastructure) est une organisation centralisée, gérant les certificats x509 afin
A. À propos des annuaires
Chapitre 2 A. À propos des annuaires Nous sommes familiers et habitués à utiliser différents types d'annuaires dans notre vie quotidienne. À titre d'exemple, nous pouvons citer les annuaires téléphoniques
ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5
ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre
SPECIFICATION ET DESCRIPTION DU MULTICAST FIABLE DANS ETOILE
page 1 / 10 Date : 19 décembre 2002 Origine : INRIA RESO Dossier : MULTICAST Titre : SPECIFICATION ET DESCRIPTION DU MULTICAST FIABLE DANS E Référence : Multicast version 0 État : DRAFT VERSIONS SUCCESSIVES
TP1 : 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
JavaServer 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
Java 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
Institut 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
OPTENET DCAgent 2.01. Manuel d'utilisateur
OPTENET DCAgent 2.01 Manuel d'utilisateur SOMMAIRE 1. INTRODUCTION...1 2. INSTALLATION...2 3. ÉTABLISSEMENT DES PERMISSIONS...4 Pour de plus amples informations, reportez-vous aux annexes «Conditions requises
TD3: 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
Sun Java System Access Manager Notes de version pour Microsoft Windows
Sun Java System Access Manager Notes de version pour Microsoft Windows Version 7 Numéro de référence 819-5800-10 Ces notes de version contiennent d importantes informations disponibles au moment de la
Solutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance
Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance Auteur : François CHAUSSON Date : 8 février 2008 Référence : utiliser le Bureau a distance.doc Préambule Voici quelques
JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA
JAVA Introduction à la programmation objet avec java 1/4 Nadir BOUSSOUKAIA v1.04 SOMMAIRE Caractéristiques de java (40mn) Eléments du langage (40mn) Les core API java (20mn) 2 Partie 1 Caractéristiques
TP Programmation Java / JDBC / Oracle
TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie
Gestion Electronique de Document (ECM/GED)
Gestion Electronique de Document (ECM/GED) Analyse de l existant Découpage modulaire La gestion électronique de documents repose sur un ensemble de deux modules conjoints, au sein de la famille «ecm» :
Une introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Extension 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
et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion
et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion Copyright 2009 Alt-N Technologies. 3 allée de la Crabette Sommaire Résumé... 3 MDaemon
Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Desktop Intégration. Rémi Forax
Desktop Intégration Rémi Forax 1 Intégration au bureau L intégration de l application au bureau de l utilisateur se fait en combinant plusieurs techniques L écran d annonce de l application (SplashScreen)
Mysql avec EasyPhp. 1 er mars 2006
Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe
WEBSERVICES. Michael Fortier. Master Informatique 2ème année. [email protected] A308, Université de Paris 13
WEBSERVICES Michael Fortier Master Informatique 2ème année [email protected] A308, Université de Paris 13 https ://lipn.univ-paris13.fr/ fortier/enseignement/webservices/ Sommaire 1 Rappels
Java RMI. Arnaud Labourel Courriel: [email protected]. Université de Provence. 8 mars 2011
Java RMI Arnaud Labourel Courriel: [email protected] 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
Guide Numériser vers FTP
Guide Numériser vers FTP Pour obtenir des informations de base sur le réseau et les fonctions réseau avancées de l appareil Brother : consultez le uu Guide utilisateur - Réseau. Pour obtenir des informations
Application 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
Java 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
