Systeme d'exploitation

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

Download "Systeme d'exploitation"

Transcription

1 Introduction au dévellopement de Methodes Natives Partie I : appelle de methodes C++ sous windows Auteur: Frank Sauvage. 1 \ introduction aux methodes natives : Les methodes natives sont des methodes devellopées dans un autre langage que Java, généralement C ou C++, mais que pour diverses raisons on souhaite tout de même utiliser dans un programme écrit en Java. Le kit de devellopement Java integre en standard une interface appelée JNI pour Java Native Interface. La documentation de cette Interface est disponible sur le site de java. Pour la version 1.5 du sdk l'addresse directe est :http://java.sun.com/j2se/1.5.0/docs/guide/jni/ le principal avantage des methodes native reside dans le fait qu'utiliser un langage de plus bas que Java permet d'eviter les contraintes qu'impose la machine virtuelle. Il devient alors possible d'ecrire des methodes beaucoup optimisées et rapides, ainsi que d'ecrire des methodes accédant directement aux fonctions du systeme d'exploitation. Cependant, le fait d'ecrire une partie d'un programme dans un langage compilé impose de fournir des bibliothéque pour chacun des systemes où l'on souhaitera voir fonctionner l'application. Notes : Dans ce document seul l'ecriture et l'utilisation de methodes en C++ sous windows sera abordé. L'ecriture de methodes natives sur un autre systeme tel que Linux reste compatible avec ce document tant que la partie C++ reste conforme à la norme ANSI, et que les bibliothéques utilisées existe sur la plateforme cible. La compilation de methodes sous Linux sera abordé dans une prochaine partie de ce document. Programme Java Machine Virtuelle Methodes Natives Systeme d'exploitation

2 2 \ prérequis : Dans ce document nous considerons que l'environnement de travail est le suivant : SDK java version 1.5 (aussi appelé jdk5.0) disponible à l'addresse : Visual C++ Toolkit le Visual C++ Toolkit (VCT) est une version gratuite et ligne de commande du compilateur C++ de Windows. Par defaut l'installation propose l'accés en ligne de commande à un environnement en ligne de commande specifique au compilateur. Pour fixer les variables d'environnement, cet environnement utilise un fichier batch contenu à la base du repertoire d'installation nommé VCVARS32.BAT. Dans notre cas, nous avons besoin de rajouter au chemin des include l'accés vers les fichiers d'entetes de la JNI. Sous windows, ces fichiers sont contenus dans le repertoire INCLUDE du JDK. Le sous repertoire WIN32 du repertoire include doit lui aussi etre rajouté. La ligne suivante represente les ajouts neccessaires : Set INCLUDE = c:\program files\java\jdk1.5.0_02\include;c:\program files\java\jdk1.5.0_02\include\win32;c:\program Files\Microsoft Visual C++ Toolkit 2003\include;%INCLUDE% Note : le chemin ici rajouté est celui de notre machine de reference. Il peut etre different sur votre propre installation.

3 3 \ création de methodes natives: Afin d'utiliser du C++ dans un code java, il est neccessaire de créer des fonctions qui serviront de lien entre les deux langages. La declaration des fonctions natives est assez delicate en ce qui concerne la partie C++, nous utiliseront donc un utilitaire fourni dans le JDK : javah. Javah est un outil qui permet de generer les fichiers d'entetes C++ a partir d'un code compilé java contenant des methodes declarées en tant que natives. A partir du fichier java suivant : package testjni; public class FonctionSimple { // chargement de la librairie associée // cette partie sera vue en details plus loin static { System.loadLibrary("testJNI_FonctionVoid"); //declaration de la fonction native.qui ne rends pas de resultat. public static native void fonctionvoid(); public static void main(string args[]) { System.out.println("Appel de la fonction C++ : "); //appel de la fonction : FonctionSimple.fonctionVoid(); on utilise la commande javah pour generer le fichier FonctionSimple.h la commande javah s'utilise de la meme maniere que la commande javac du compilateur. javah classpath repertoiredev\ -d repertoiredev\ testjni.fonctionsimple ce qui nous permet d'obtenir le fichier d'entete suivant : /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class testjni_fonctionsimple */ #ifndef _Included_testJNI_FonctionSimple #define _Included_testJNI_FonctionSimple #ifdef cplusplus extern "C" { #endif /* * Class: testjni_fonctionsimple * Method: fonctionvoid * Signature: ()V */ JNIEXPORT void JNICALL Java_testJNI_FonctionSimple_fonctionVoid (JNIEnv *, jclass); #ifdef cplusplus #endif #endif

4 Comme l'indique l'entete, il est deconseillé d'editer ce fichier mais Les devellopeurs C++ seront famillier avec la declaration conditionnelle pour le C++ qui nous interresse. les autres s'interesseront plus particulierement à la ligne suivante : JNIEXPORT void JNICALL Java_testJNI_FonctionSimple_fonctionVoid (JNIEnv *, jclass); si on la compare à la declaration java : public static native void fonctionvoid(); on peut s'appercevoir que pour une fonction void, la version C++ passe en parametre deux arguments supplementaires : JNIEnv et jclass. Ces deux parametres seront explicité plus loin, mais sachez qu'il s'agit de variables d'environnement passées dans chaque fonction native. L'implementation de la fonction en C++ devient maintenant possible en reprenant le prototype ainsi obtenu. Dans notre cas, on se contentera d'afficher un message sur la sortie standard pour verifier que l'appel a bien reussi. On peut donc ecrire le fichier testjni_fonctionsimple.cpp suivant : #include "testjni_fonctionsimple.h" #include <iostream> JNIEXPORT void JNICALL Java_testJNI_FonctionSimple_fonctionVoid (JNIEnv *, jclass) { // Un affichage sur la console en C++ printf("l'appel de la fonction a ete effectue avec succes\n"); printf("nous sommes ici en train d'executer du code C++\n");

5 4 \ Java et les Bibliothéques dynamiques lorsqu'un programme java utilise une classe où des methodes natives sont utilisées, la machine virtuelle doit charger une bibliothéque dynamique de fonctions. Ces bibliothéques sont des morceaux de programmes compilés qui peuvent etre chargés et dechargés à la demande par de larges programmes. l'avantage en programmation C++ d'utiliser ces bibliothéques reside dans la modularité acquise en terme d'espace memoire utilisé car ces portions de code peuvent alors etre utilisées par plusieurs programmes simultanément cette possibilité est assurée par le systeme d'exploitation qui à la charge de les placer en memoire et de les rendre accessibles à la demande. Dans le cas d'ecriture des methodes natives, il est neccessaire d'avoir une bibliothéque par classe, ce qui peut rapidement devenir difficillement gerable. Cest pourquoi il est preferable de regrouper au maximum les methodes natives dans des classes de liaisons plutot que de les declarer directement la où elles sont utilisées. Revenons donc au code java de notre exemple : static { System.loadLibrary("testJNI_FonctionVoid"); comme on peut le voir ici, on demande en fait au systeme de charger pour nous la librairie de notre classe. Le fichier doit etre accessible par le systeme, soit en etant dans le repertoire de lancement du programme soit dans le path systeme. Note : vous pouvez lister la liste des repertoires du path systeme grace à la méthode java: System.out.println(System.getProperty("java.library.path"));

6 5 \ création de la bibliothéque C++ dynamique pour generer la bibliothéque, il est neccessaire d'utiliser le compilateur C++. dans le VCT, le compilateur est utilisable grace à la commande cl. A partir du terminal ligne de commande du VCT, il faut alors se placer dans le repertoire contenant les sources C++ a compiler, c'est à dire dans notre exemple les fichiers : testjni_fonctionsimple.cpp testjni_fonctionsimple.h la commande : cl /LD testjni_fonctionsimple.cpp compilera alors en tant que librairie dynamique les methodes natives de la classe java. Les fichiers suivant doivent etres generés : testjni_fonctionsimple.exp testjni_fonctionsimple.obj testjni_fonctionsimple.lib testjni_fonctionsimple.dll les trois premiers sont des fichiers intermediaires utilisés par le compilateur. Le dernier est la DLL qu'il va falloir fournir avec les programmes utilisant les methodes natives. Note : Nous ne nous occuperons pas ici des problemes de link et autres qu'apporte le C++. nous considerons que toutes les methodes sont implementées dans un seul et unique fichier. Cela n'inclus pas les utilisation de bibliothéques tierces. 6 \ lancement du programme : comme nous l'avons vu plus haut, la librairire doit etre accessible dans le path systeme ou presente dans le repertoire de lancement de l'application. La commande suivante java -classpath repertoiredev\ testjni.fonctionsimple fait donc apparaître le resultat suivant de notre premier programme utilisant les methodes natives : Appel de la fonction C++ : l'appel de la fonction a ete effectue avec succes nous sommes ici en train d'executer du code C++ Notes pour eclipse, si l'on desire utiliser les methodes natives, il est neccessaire de les placer à la racine du de l'arborescence du projet et non dans le repertoire de la classe elle meme. 7 \ Conclusion ce document introduit au mechanisme de creation et d'utilisation des methodes natives. Il permet aussi d'apprehender les contraintes liées à leur utilisation et à leur création. Il est à present neccessaire d'etudier comment passer des données vers et depuis les methodes natives ainsi que comment invoquer une methode sur un objet java depuis le code C++.

Utiliser NDK dans un projet Android

Utiliser NDK dans un projet Android Introduction NDK est une suite d outils permettant de compiler puis d utiliser du code natif dans une application Android. Ce code natif est ensuite appelé via JNI (Java Native Interface), fournissant

Plus en détail

Les outils de développement en langage C++

Les outils de développement en langage C++ Les outils de développement en langage C++ Sommaire Les étapes de réalisation d'un exécutable Le pré processeur La création d'un exécutable Les étapes de réalisation d'un exécutable Traitement des fichiers

Plus en détail

Le code obtenu est plus efficace qu'un Byte-code standard, mais il n'est plus portable et ne peut être facilement décompilé.

Le code obtenu est plus efficace qu'un Byte-code standard, mais il n'est plus portable et ne peut être facilement décompilé. classes.dex Ce fichier est le résultat de la compilation du code source. La compilation se fait en deux temps: compilation en Byte-Code.class compilation en.dex Les applications android sont généralement

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

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

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 / 24 1 Vue générale La technologie Java Le langage Java La machine virtuelle Java Résumé Plan 2 Hello World Prérequis Premier programme : 3 étapes Résumé 3 HelloWorld en

Plus en détail

Atelier 0: Initiation aux outils de développement C sous Linux

Atelier 0: Initiation aux outils de développement C sous Linux 1)Objectifs: Atelier 0: Initiation aux outils de développement C sous Linux S'initier à l'utilisation de quelques outils de développement avec le langage C sous Linux. Développer en C sous Linux à partir

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

PROGRAMMATION WINDOWS

PROGRAMMATION WINDOWS PROGRAMMATION WINDOWS Copyright 2004 Exood4 Studios, Tous droits réservés www.exood4.com Table des matières 1 Introduction... 3 2 Programmation d'une DLL... 4 2.1 Première méthode...4 2.2 Deuxième méthode...6

Plus en détail

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt benjamin.damecourt@me.com. UFR SITEC Master 2 EESC 11 janvier 2012

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt benjamin.damecourt@me.com. UFR SITEC Master 2 EESC 11 janvier 2012 Dossier Développer en Java sur téléphone mobile Benjamin Damécourt benjamin.damecourt@me.com UFR SITEC Master 2 EESC 11 janvier 2012 Table des matières Introduction 2 Pré-requis 3 Hello World! 5 Installation

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

Utiliser Java sans BlueJ

Utiliser Java sans BlueJ Conception objet en Java avec BlueJ une approche interactive Utiliser Java sans BlueJ Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec BlueJ une approche

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

Installer SharePoint Foundation 2010 sur Windows 7

Installer SharePoint Foundation 2010 sur Windows 7 Installer SharePoint Foundation 2010 sur Windows 7 Installer SP Foundation 2010 sur Windows Seven Lorsque l'on souhaite développer dans le monde SharePoint, il existe plusieurs solutions. La méthode classique

Plus en détail

420-PK2-SL. Introduction à la programmation. La Programmation

420-PK2-SL. Introduction à la programmation. La Programmation 420-PK2-SL Introduction à la programmation La Programmation 1 La programmation La programmation est la discipline par laquelle un humain apprendra à un ordinateur à produire une tâche ou travail utile.

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

Catalogue Augmenté. Projet : Interfaces Multimodales

Catalogue Augmenté. Projet : Interfaces Multimodales Catalogue Augmenté Projet : Interfaces Multimodales Réalisé par Nicolas Martenet Patrick Terreaux Timothée Maret Semestre d'été 2006 Table des matières 1 Introduction... 3 2 Principe...3 2.1 Principe Global...

Plus en détail

1 Librairies sous Linux avec GCC... 1. 1.1 Projet multi-fichiers simple... 1. 1.2 Projet multi-fichiers avec une librairie statique...

1 Librairies sous Linux avec GCC... 1. 1.1 Projet multi-fichiers simple... 1. 1.2 Projet multi-fichiers avec une librairie statique... 1 Librairies sous Linux avec GCC... 1 1.1 Projet multi-fichiers simple... 1 1.2 Projet multi-fichiers avec une librairie statique... 2 1.3 Création d une librairie dynamique... 2 1.4 Projet multi-fichiers

Plus en détail

Utilisation d une dll dans un ActiveX

Utilisation d une dll dans un ActiveX Utilisation d une dll dans un ActiveX Auteur : Philippe Lacomme et Raksmey Phan. But : Ce tutorial a pour but de vous aider à intégrer dans un projet ActiveX existant une dll créée dans un autre projet.

Plus en détail

Tutoriel de création et d utilisation d une bibliothèque dynamique (dll)

Tutoriel de création et d utilisation d une bibliothèque dynamique (dll) Tutoriel de création et d utilisation d une bibliothèque dynamique (dll) Cette procédure démontre comment on crée une bibliothèque dynamique (Dynamic Link Library ou DLL) contenant des classes utiles pour

Plus en détail

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 1 Méthodologie Map/Reduce - programmation Hadoop. 1 Installer VirtualBox (https://www.virtualbox.org/). Importer la machine

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

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

JAVA. Installation et. l'environnement de base pour le développement.

JAVA. Installation et. l'environnement de base pour le développement. JAVA Installation et configuration de l'environnement de base pour le développement. Installation Dans Google, entrez JDK en guise de texte de recherche. Allez au lien Java SE Development Kit 7 2 Double-clic

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

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

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

TP de Java n 1 1 AVANT DE COMMENCER... INF 120 JAVA (TP1) JOHN CHAUSSARD OCT. 2010

TP de Java n 1 1 AVANT DE COMMENCER... INF 120 JAVA (TP1) JOHN CHAUSSARD OCT. 2010 TP de Java n 1 1 AVANT DE COMMENCER... Avant de commencer, on va vérifier que Windows a été correctement configuré pour pouvoir écrire des programmes en Java. 1. Cliquez sur Démarrer, puis sur Exécuter.

Plus en détail

La programmation Orientée Objet 420-PK4-SL

La programmation Orientée Objet 420-PK4-SL La programmation Orientée Objet Installation de l environnement 420-PK4-SL Comment Java peut-il communiquer avec Oracle? Les moteurs de banque de données sont en général des services fonctionnant sous

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

cmake: création de Makele et compilation de projets ctest: mise en place de tests sur vos projets

cmake: création de Makele et compilation de projets ctest: mise en place de tests sur vos projets Introduction à CMake CMake fournit un ensemble d'outils permettant de compiler un projet pour diérentes plateformes, de faire des tests et de créer des packages pour diérents systèmes. Il est utilisé dans

Plus en détail

Les fichiers batch. 1 Introduction

Les fichiers batch. 1 Introduction Les fichiers batch 1 Introduction Les fichiers batch ont pour intérêt de pouvoir automatiser des tâches répétitives. En utilisant la fonction EDIT sous CMD, ou tout simplement le Notepad (bloc note), vous

Plus en détail

Informatique / Programmation

Informatique / Programmation Informatique / Programmation Programmation orientée objet avec Java 10 : Packages / Contrôle d'accès / Encapsulation Jacques Bapst jacques.bapst@hefr.ch Unités de compilation Un programme Java est généralement

Plus en détail

Vanilla. Installation

Vanilla. Installation Vanilla Installation Guide d'installation de la plateforme Vanilla Charles Martin, Côme Moyne et Patrick Beaucamp BPM Conseil Contact : charles.martin@bpm-conseil.com, come.moyne@bpm-conseil.com, patrick.beaucamp@bpm-conseil.com

Plus en détail

Introduction aux exercices en Java

Introduction aux exercices en Java Introduction aux exercices en Java Avant de commencer les séries proprement dites, nous allons voir quelques informations utiles concernant le langage de programmation principal de ce cours d'informatique

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

Tp 1 correction. Structures de données (IF2)

Tp 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étail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

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

Laboratoire MSSMat. Formation Makefiles. GNU Make, niveau débutant. A.-S. Mouronval. Mars 2005

Laboratoire MSSMat. Formation Makefiles. GNU Make, niveau débutant. A.-S. Mouronval. Mars 2005 Laboratoire MSSMat Formation Makefiles GNU Make, niveau débutant A.-S. Mouronval Mars 2005 1 A quoi sert make? Utilitaire permettant d'exécuter des instructions pour construire une application Permet d'optimiser

Plus en détail

Utilisation du Rôle IIS :

Utilisation du Rôle IIS : Utilisation du Rôle IIS : I. Installation du Rôle "Serveur Web" Dans la console de gestion du serveur Windows 2008, ajouter un rôle : Sélectionner le rôle "Serveur Web" : Ajouter "CGI" afin de permettre

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

Avant-propos. 1. Introduction

Avant-propos. 1. Introduction Avant-propos Les sections ou sous-sections marquées d un astérisque (*) ne font pas partie de la matière du cours IFT1969. Elles sont destinées à définir complètement le langage C (ANSI-C99) et à en préciser

Plus en détail

Architecture de la plateforme SBC

Architecture de la plateforme SBC Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur

Plus en détail

GANTTPROJECT. Julien TENDERO

GANTTPROJECT. Julien TENDERO GANTTPROJECT Julien TENDERO SOMMAIRE : 1 -Introduction : 2 -Installation et utilisation : 3-Édition, compilation et exécution dans Eclipse : 4-Améliorations apportées : 5-Conclusion: 1 -Introduction :

Plus en détail

Configuration d'iis quand les 2 versions du FrameWork sont sur le Serveur

Configuration d'iis quand les 2 versions du FrameWork sont sur le Serveur Nous allons voir dans cet article une méthode possible pour conserver des projets WEB fonctionnant avec des FrameWorks.NET différents assez simplement. Configuration d'iis quand les 2 versions du FrameWork

Plus en détail

Java Message Service TD

Java Message Service TD labo-sun@supinfo.com Java Message Service TD Auteur : Frédéric Chuong Version n 0.1 20 octobre 2004 Nombre de pages : 8 Ecole Supérieure d Informatique de Paris 23. rue Château Landon 75010 PARIS www.supinfo.com

Plus en détail

Mise en place de l'environnement CUDA

Mise en place de l'environnement CUDA Mise en place de l'environnement CUDA Programmation parallèle CPU / GPU Auteur : Clément Hermite clement.hermite@etu.upmc.fr Mai 2010 Avant propos Ce document décrit toute la procédure à suivre pour pouvoir

Plus en détail

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

Plus en détail

Procédure d'installation et d'utilisation Pilote ODBC (Open DataBase Connectivity) Solune

Procédure d'installation et d'utilisation Pilote ODBC (Open DataBase Connectivity) Solune Solune Informatique, 34 chemin de Pau, 64 121 MONTARDON Tél. 0970 460 594 Procédure d'installation et d'utilisation Pilote ODBC (Open DataBase Connectivity) Solune 1 / 11 Introduction L'objectif de ce

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 1 : Eclipse

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 1 : Eclipse iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 1 : Eclipse Nom(s) : Groupe : Date : Objectifs : Apprendre à se servir du logiciel Eclipse pour le développement d

Plus en détail

WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE

WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE 1. Introduction WINDOWS SERVER 2003 ADMINISTRATION A DISTANCE En règle générale, les administrateurs ne travaillent pas en salle serveurs. Et cette dernière peut se trouver n'importe où dans le bâtiment.

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

Comment compiler un programme MATLAB

Comment compiler un programme MATLAB Comment compiler un programme MATLAB 1- Introduction Le compilateur MATLAB génère un code source C à partir d une fonction MATLAB. Le code C généré par le compilateur MATLAB peut être: soit un code source

Plus en détail

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente

Université Joseph Fourier UFR IMA Module Système. TP Systèmes n 1 Programmation concurrente TP Systèmes n 1 Programmation concurrente Titre Simulation du comportement de processus producteurs et de processus consommateurs avec tampon intermédiaire borné. Organisation Binôme Durée de réalisation

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

Gestion d utilisateurs et stratégie systèmes.

Gestion d utilisateurs et stratégie systèmes. Gestion d utilisateurs et stratégie systèmes. Déscription de l'activité: Administration de gestion d utilisateurs sous l environnement Windows 2003 Serveur Contexte de l activité Etant administrateur réseau

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à 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étail

Hadoop / Big Data. Benjamin Renaut MBDS 2014-2015

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS 2014-2015 Hadoop / Big Data Benjamin Renaut MBDS 2014-2015 TP 1 - Correction Méthodologie Map/Reduce - programmation Hadoop. Rappel 1 La première partie du TP consistait à mettre en

Plus en détail

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 1. Téléchargement des sources AppInventor http://appinventor.mit.edu/appinventor-sources/ Télécharger ces

Plus en détail

Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée

Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée Sauf mention contraire, le contenu de cet ouvrage est publié sous la licence : Creative Commons BY-NC-SA 2.0 La copie de cet ouvrage est autorisée sous réserve du respect des conditions de la licence Texte

Plus en détail

Cours Java Native Interface

Cours Java Native Interface Cours Java Native Interface 1999, Cnam Paris jean-michel Douin, douin@cnam.fr Version du 28 Mars 2002 http://lmi92.cnam.fr:8080/tp_cdi/{douin/ Notes de cours jni : de Java vers C/C++ et de C/C++ vers Java

Plus en détail

Note pour l installation du serveur Z39.50 pour MDweb

Note pour l installation du serveur Z39.50 pour MDweb Note pour l installation du serveur Z39.50 pour MDweb Version Commentaires 1 Auteurs : Jean Christophe Desconnets (jcd@teledetection.fr) Date de création : 20/02/2008 16:27:00 Sommaire Introduction...

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

Titre: Version: Dernière modification: Auteur: Statut: Remplace: Licence:

Titre: Version: Dernière modification: Auteur: Statut: Remplace: Licence: Titre: Installation WebObjects 4.5.1 Version: 1.0 Dernière modification: 2010/09/05 21:00 Auteur: Aurélien Minet Statut: version finale Remplace: INSTALL.txt contenu

Plus en détail

Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7

Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7 Note explicative pour la réalisation des TPs avec le Serveur Web IIS 7 Installation du service IIS Fermer toutes les applications ouvertes (par précaution) Ouvrir le panneau de configuration, Programmes,

Plus en détail

IN104. Programmation orientée objet Introduction aux objets

IN104. Programmation orientée objet Introduction aux objets IN104 Programmation orientée objet Introduction aux objets Séance de Travaux Dirigés du 24 septembre 2009 B. Monsuez, F. Védrine Exercice 1 Notre compteur en C++ Nous étudions dans cet exercice l exemple

Plus en détail

.: Mini Projet : Déploiement d'une application sous Windows :.

.: Mini Projet : Déploiement d'une application sous Windows :. Table des matières Liens...1 Objectif...1 Exemple : le jeu du démineur...2 Mise en situation et contraintes...2 Déploiement...2 Fabriquer une version finale de l'application (release)...3 Fabriquer un

Plus en détail

Manuel d'utilisation de la console de supervision

Manuel d'utilisation de la console de supervision Manuel d'utilisation de la console de supervision Ce document décrit la mise en route et l'utilisation de la console d'administration web de PEtALS. EBM WebSourcing (MarieSauvage) - Mai 2007 - (CC) EBM

Plus en détail

IFT-2900 Algorithmes de l'ingénieur 1. Notions avancées de programmation en C/C++

IFT-2900 Algorithmes de l'ingénieur 1. Notions avancées de programmation en C/C++ IFT-2900 Algorithmes de l'ingénieur 1 Notions avancées de programmation en C/C++ Notions avancées de programmation 1. Compilation et édition de liens Fichiers impliqués Exemple Dépendances entre les fichiers

Plus en détail

L'objectif du TP est de: mettre en pratique un exemple simple de service Web, de programmer un service Web calculatrice, et son client.

L'objectif du TP est de: mettre en pratique un exemple simple de service Web, de programmer un service Web calculatrice, et son client. MASTER SSR - SERVICES WEB! Version 2011 L'objectif du TP est de: mettre en pratique un exemple simple de service Web, de programmer un service Web calculatrice, et son client. Introduction Nous proposons

Plus en détail

TD Objets distribués : Introduction à.net Remoting

TD Objets distribués : Introduction à.net Remoting IUT Bordeaux 1 2008-2009 Département Informatique Licence Professionnelle ~ SI TD Objets distribués : Introduction à.net Remoting Vous mettrez en œuvre votre première application en.net remoting. Les sources

Plus en détail

Auto-évaluation Programmation en Java

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

Plus en détail

Guide d intégration. Protection de logiciels en JAVA avec DinkeyPRO/FD. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.

Guide d intégration. Protection de logiciels en JAVA avec DinkeyPRO/FD. Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika. Guide d intégration Protection de logiciels en JAVA avec DinkeyPRO/FD Contact Commercial : Tél. : 02 47 35 70 35 Email : com@aplika.fr Contact Technique : Tél. : 02 47 35 53 36 Email : support@aplika.fr

Plus en détail

Derrière toi Une machine virtuelle!

Derrière toi Une machine virtuelle! Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936

Plus en détail

Objets distribués et Appel de Méthodes à Distance 2009-2010

Objets distribués et Appel de Méthodes à Distance 2009-2010 Objets distribués et Appel de Méthodes à Distance 2009-2010 1 Objectif : construire une application où différents modules peuvent être situés sur des machines différentes, en utilisant un modèle à objets

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

TME 5 plateforme OSGi

TME 5 plateforme OSGi UPMC Paris Universitas Master d'informatique M1/STL/CPS 1 TME 5 plateforme OSGi Frédéric Peschanski 26 mars 2008 Ce sujet de TME est un tutoriel à la technologie OSGi, une plateforme industrielle pour

Plus en détail

JAXB pour le XML-Binding

JAXB pour le XML-Binding JAXB pour le XML-Binding Eric BELLARD JAXB pour le XML-Binding... 1 Introduction...1 But du document...1 Lexique... 1 Articles liés... 2 JAXB (Java Architecture for XML Binding)...2 Utilisation de JAXB...3

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement

Plus en détail

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12 GTK+ GLADE Page 1 sur 12 SOMMAIRE INTRO 3 Présentation de GTK+ 3 Présentation de GLADE 3 GTK+ 4 Installation 4 Les Widgets 4 Le système de hiérarchie 5 Les signaux 6 GLADE 7 Installation 7 L interface

Plus en détail

Test de HSQLDB et Comparatif avec Sqlite

Test de HSQLDB et Comparatif avec Sqlite Test de HSQLDB et Comparatif avec Sqlite Table des matières 1 - Conditions préalables... 2 2 - Installation de HSQLDB... 2 3 - Premier Test de HSQLDB... 2 4 - Deuxième Test pour bien comprendre :-)...

Plus en détail

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL

Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Conseil, Etudes et Edition de logiciels NORMES & CONVENTIONS DE DEVELOPPEMENT JAVA ET SQL Table des matières Système d'exploitation... 3 Environnement de développement intégré... 3 Le workspace... 3 Le

Plus en détail

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows! Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows! par X. HINAULT www.mon-club-elec.fr Tous droits réservés 2013. Document gratuit. Ce support PDF d'atelier

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence 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étail

Cours 1: Java et les objets

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/

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

[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...

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

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 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

Plus en détail

HMI target Visu CE. Pour faire une interface homme machine avec PLC control

HMI target Visu CE. Pour faire une interface homme machine avec PLC control HMI target Visu CE Pour faire une interface homme machine avec PLC control VERSION : 1.0 / PH DATE : 06 Février 2005 Sommaire Ce manuel explique de manière pratique les étapes successives pour installer

Plus en détail

Installation de (K)unbutu

Installation de (K)unbutu Installation de (K)unbutu Après avoir créer notre machine virtuelle, il s'agit de lui installer un Système d'exploitation ou OS. Nous avons choisi de lui installer (K)ubuntu. Pour cela, après avoir fini

Plus en détail

Configuration de l environnement de travail

Configuration de l environnement de travail Configuration de l environnement de travail Préambule Windows Java Afin d utiliser l environnement de développement Android, vous devez installer au préalable JDK (Java Development Kit) sur votre système.

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 Linux....................................................................

Plus en détail