Séminaire SED «Introduction à» Franck Labat, équipe RealOpt. 8 Novembre 2010

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

Download "Séminaire SED «Introduction à» Franck Labat, équipe RealOpt. 8 Novembre 2010"

Transcription

1 1 Séminaire SED «Introduction à» Franck Labat, équipe RealOpt. 8 Novembre 2010

2 Le plan 2 La suite logicielle CMake Description Philosophie Fonctionnement Mis en place d un projet sous CMake Panorama des «Build Automation»

3 La suite logicielle CMake - Description 3 Développée par la société Kitware. Open-source, multiplateforme, extensible. Initialement développée en 1999 pour ITK. CMake fait suite à pcmaker notamment sur le projet VTK.. Aujourd hui CMake est notamment utilisée par KDE, OGRE, Blender, Second Life, MySQL, RobotCub.

4 La suite logicielle CMake Description Composants de la suite 4 CDash (Web) CMakeLists.txt Ctest Scripts Modules Cmake (*.cmake) CMake CPack CTest Sources CMake (C++)

5 La suite logicielle CMake Philosophie 5 Des scripts de haut niveau pour le développeur qui définissent de manière abstraite le build system, sans considération d OS, host, path etc. L utilisateur ne doit pas modifier ces scripts Conçu à partir du CMakeLists. L interface entre les scripts de haut niveau et l OS/host cible, l utilisateur peut configurer le build system au travers du cache Conçu à partir du cache. L utilisateur ne doit jamais avoir à modifier ces fichiers CMakeLists.txt cmake. cmakesetup.exe CMakeCache.txt ccmake. make edit_cache cmake-gui Fichier de génération make Xcode MS Visual studio Eclispe, Netbeans

6 La suite logicielle CMake Fonctionnement Les objets CMake + les commandes sur ces objets 6 Cibles Variables Répertoires Fichiers sources Commandes CMake

7 La suite logicielle CMake Fonctionnement Diagramme de classe de CMake 7 Contrôle le processus CMake cmake 1 cmglobalgenerator Contrôle la génération pour un OS donné Produit un fichier de génération pour 1 générateur donné Parse toutes les informations d un CMakeLists.txt, et stocke tous les objets CMake. * cmlocalgenerator 1 cmcommand Classe dont hérite toutes les commandes de CMake cmmakefile

8 Le plan 8 La suite logicielle CMake Mise en place d un projet sous CMake CMake, Build system CPack, Paquetages CTest, Tests CDash, Intégration continue Panorama des «Build Automation»

9 Build System Les générateurs 9 cmake G"generateur"

10 Build system Les fichiers sources 1 0 Un fichier source définit par son extension le langage utilisé. Les fichiers d en-tête ne doivent pas nécessairement être déclarés, seul leur emplacement doit être fourni. CMake calcule automatiquement les dépendances entre les fichiers sources et en-tête.

11 Build system - Mon projet 1 1 Soit un petit projet PVersusNP en C ++ sous Linux avec comme générateur le «Makefile Unix» (celui par défaut): PVersusNP.cpp PVersusNP.h

12 Build system - Mon projet Le fichier en-tête et le source 1 2 #ifndef PVERSUSNP_HPP #define PVERSUSNP_HPP #include <iostream> struct Problem{}; struct P: Problem{}; struct NP : Problem{}; #include <stdlib.h> #include "PVersusNP.hpp" using namespace std; int main(){ P p; NP np; cout << "The answer to the million dollar: " << endl; ///@todo Implement later bool operator==(const P& p, const NP &np) { std::cout << "P is not equal to NP " << std::endl; return false; } #endif //PVERSUSNP_HPP } if(p == np) return EXIT_SUCCESS; return EXIT_FAILURE;

13 Build system Les cibles 1 3 Une cible décrit une bibliothèque, un exécutable, ou un fichier que l on souhaite produire. L utilisateur peut définir des cibles personnalisées et les étapes pour la générer. add_custom_target(<name> COMMANDS <command 1>...<command n> SOURCES <src 1> <src n>)

14 Build system Mon projet Les cibles 1 4 CC=g++ CFLAGS=-W -Wall all: PVersusNP cmake_minimum_required (VERSION 2.6) project(pversusnp CXX) add_executable (PVersusNP PVersusNP.cpp) La cible PVersusNP: PVersusNP.o ${CC} o PVersusNP PVersusNP.o PVersusNP.o: PVersusNP.cpp PVersusNP.hpp ${CC} c PVersusNP.cpp \\ PVersusNP.hpp)

15 Build system - Mon projet Je veux ajouter un fichier source 1 5 cmake_minimum_required (VERSION 2.6) project(pversusnp) add_executable (PVersusNP PVersusNP.cpp PVersusNPComplete.cpp) PVersusNP CMakeLists.txt PVersusNP.hpp PVersusNP.cpp PVersusNPComplete.cpp PVersusNPComplete.hpp

16 Build system Les répertoires 1 6 Il est possible de rajouter des sous-répertoires, à condition que ceux-ci contiennent un fichier CMakeLists.txt Les objets définis dans le répertoire supérieur peuvent être hérités sous certaines conditions include_directories(<sub-directory 1> <sub-directory n>)

17 Build system - Mon projet Ajouter un répertoire et un sous-projet 1 7 PVersusNP CMakeLists.txt PVersusNP.hpp PVersusNP.cpp PVersusNPComplete CMakeLists du sous projet CMakeLists.txt PEqualNP.cpp PEqualNP.hpp

18 Build system - Mon projet Le CMakeLists.txt du projet et du sous-projet 1 8 cmake_minimum_required (VERSION 2.6) project(pversusnp) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) Inclusion du sousrépertoire Déclare la bibliothèque comme dépendance target_link_libraries(pversusnpcomplete) cmake_minimum_required (VERSION 2.6) project(pversusnpcomplete) Construira une bibliothèque dynamique add_library(pversusnp Complete SHARED PVersusNPComplete.cpp)

19 Build system Mon projet Interlude - Le mode «out of build» 1 9 CMake produit de nombreux fichiers temporaires (exe,.o, ) On peut mettre tous ces fichiers dans un répertoire de build cd Build cmake.. PVersusNP CMakeLists.txt Build PVersusNP.hpp PVersusNP.cpp PVersusNPComplete CMakeLists.txt PEqualNP.cpp PEqualNP.hpp

20 Build system Les modules CMake 2 0 Un module permet d encapsuler l extension de CMake, en ajoutant des des variables, des commandes etc. Les modules standards sont installés avec CMake et ils sont maintenus par Kitware et la communauté Un fichier module CMake est de la forme «module.cmake» L utilisateur peut créer ses propres modules et les inclure

21 Build system Les modules Cmake Panorama 2 1 Extension AddFileDependancies CMakeForceCompiler include(module) Vérification CheckFortranFunctionExists Check Outils Externes CTest CPack Paquets FindBoost FindCuda

22 Build System Mon projet Modules - Je veux utiliser boost::filesystem 2 2 Un paquet est un module qui trouve les dépendances d un logiciel tierce, on peut également faire include(findboost) mais on ne bénéficie plus des options avancées de find_package cmake_minimum_required (VERSION 2.6) project(pversusnp) find_package(boost COMPONENTS filesystem REQUIRED) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) target_link_libraries(pversusnpcomplete ${Boost_FILESYSTEM_LIBRARY})

23 Build system - Mon projet Modules - Je veux faire du OpenMP 2 3 cmake_minimum_required (VERSION 2.6) project(pversusnp) find_package(boost) include(findopenmp) On ajoute le flag OpenMP au compilateur si OpenMP est supporté if(openmp_found) set(cmake_cxx_flags "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") endif() include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) target_link_libraries(pversusnpcomplete)

24 Build System Les variables CMake 2 4 Les variables sont typées implicitement (réel, caractère, chaîne de caractères, booléen) Les variables peuvent être positionnées en ligne de commande Chaque variable a un scope Le développeur peut déclarer de nouvelles variables, notamment des variables du cache qui seront modifiables par les utilisateurs

25 Build System Les variables Cmake Panorama Comportement CMAKE_BUILD_TYPE BUILD_SHARED_LIBS 2 5 set(variable valeur) Ou cmake D"variable=valeur" Description CMAKE_HOST_SYSTEM UNIX Langage CMAKE_CXX_SOUCE_FILE_EXTENSIONS CMAKE_Fortran_FLAGS_DEBUGS Contrôle EXECUTABLE_OUTPUT_PATH CMAKE_INCLUDE_CURRENT_DIR Information CMAKE_GENERATOR PROJECT_NAME

26 Build system - Mon projet Variables - Je veux faire du OpenMPI et pas de OpenMP 2 6 cmake_minimum_required (VERSION 2.6) project(pversusnp) set(cmake_cxx_compiler mpicxx) On déclare que le compilateur est celui de OpenMPI find_package(boost) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) target_link_libraries(pversusnpcomplete mpi) On ajoute la bibliothèque OpenMPI comme dépendance

27 Build system - Mon projet Variables du cache - Bon en fait je veux pouvoir désactiver OpenMPI 2 7 cmake_minimum_required (VERSION 2.6) Documentation de notre variable du cache project(pversusnp) set(openmpi CACHE BOOL "Enable/Disable OpenMPI") if(openmpi) else() endif() set(cmake_cxx_compiler mpicxx) set(cmake_cxx_compiler g++) add_definitions(-dmpi) find_package(boost) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) target_link_libraries(pversusnpcomplete mpi)

28 Build system - Mon projet Bon en fait je veux pouvoir désactiver OpenMPI On modifie le cache par la commande ccmake. 2 8 On retrouve la documentation de notre variable On tape entrer, haut ou bas pour passer de On à Off puis entrer, touche C, et touche G pour générer à nouveau le cache et les Makefile

29 Build system Les propriétés 2 9 Une propriété est un attribut modifiable pour tout type d objet dans CMake (cibles, variables etc.) Une propriété permet donc de modifier le comportement du build system suivant différents scope L utilisateur peut définir de nouvelles propriétés set_property(type <name> PROPERTY <name> [values])

30 Build system Les propriétés Panorama Cache 3 0 ADVANCED HELPSTRING Fichier Source COMPILE_DEFINITIONS_<CONFIG> LABELS Test PASS_REGULAR_EXPRESSION TIMEOUT Cible OUTPUT_NAME_<CONFIG> COMPILE_DEFINITIONS_<CONFIG> Répertoire SCOPE Global ADDITIONAL_MAKE_CLEAN_FILES COMPILE_DEFINITIONS ALLOW_DUPLICATE_CUSTOM_TARGETS GLOBAL_DEPENDS_NO_CYCLES

31 Build system Mon projet Propriétés - Je veux mettre le nom de mon exécutable en français 3 1 Chaque type d objet a sa commande pour modifier les propriétés cmake_minimum_required (VERSION 2.6) project(pversusnp) set(cmake_cxx_compiler mpicxx) find_package(boost) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) Le nouveau nom en français de notre exécutable, le nom de la cible dans CMake ne change pas, l on a pas à modifier tous nos scripts, c est un exemple de puissance des propriétés dans CMake. set_target_properties(pversusnp PROPERTIES OUTPUT_NAME PestIlEgaleaNP) target_link_libraries(pversusnpcomplete mpi)

32 Build System Les commandes 3 2 Une commande est une fonction qui prend zéro ou plusieurs paramètres, ne renvoie rien, mais modifie le build system par effet de bord Les commandes définissent un nouveau scope qui hérite seulement du scope global Le développeur peut ajouter une nouvelle commande,il dispose de variables, de commandes standards, de structures de contrôle (if, for, while) pour cela function(name [ARGUMENTS]) { } endfunction()

33 Build System- Mon projet Commandes - Je veux préparer l installation de mon logiciel 3 3 Cela ajoute une cible install au Makefile: sudo make install cmake_minimum_required (VERSION 2.6) project(pversusnp) set(cmake_cxx_compiler mpicxx) find_package(boost) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) target_link_libraries(pversusnpcomplete mpi) install(pversusnp PVersusNPComplete RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib/static) Suivant que la bibliothèque est dynamique et suivant l OS, elle ne saura pas stocker au même endroit

34 Build system Mon projet Je veux encapsuler le support de MPI 3 4 cmake_minimum_required (VERSION 2.6) project(pversusnp) Définition function(build_mpi_application) set(cmake_cxx_compiler mpicxx) files(src GLOB *.cpp) add_executable(${project_name} mpi ${SRC}) target_link_libraries(mpi) endfunction() find_package(boost) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) Appel build_mpi_application() target_link_libraries(pversusnpcomplete)

35 Build system Mon projet Je veux ajouter un module pour le support de MPI 3 5 Nouveau répertoire de nos propres modules PVersusNP CMakeLists.txt Build PVersusNP.hpp PVersusNP.cpp PVersusNPComplete CMake CMakeLists.txt PEqualNP.cpp PEqualNP.hpp MyOpenMPI.cmake

36 Build system Mon projet Je veux ajouter un module pour le support de MPI 3 6 cmake_minimum_required (VERSION 2.6) project(pversusnp) set(cmake_module_path ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMake) include(myopenmpi) find_package(boost) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) build_mpi_application() target_link_libraries(pversusnpcomplete) Chemin vers le répertoire du nouveau module Inclusion du nouveau module cmake_minimum_required (VERSION 2.6) function(build_mpi_application) set(cmake_cxx_compiler mpicxx) files(src GLOB *.cpp) add_executable(${project_name} mpi ${SRC}) target_link_libraries(mpi) endfunction()

37 Paquetages 3 7 CPack fonctionne comme CMake avec la même syntaxe, les mêmes objets, les générateurs sont le format rpm, zip, nsis etc. Intégration à CMake, ou configuration indépendante en créant un fichier spécifique CPackConfig.cmake dans le répertoire courant du projet include(cpack) cpack G "generateur"

38 Paquetages Mon projet 3 8 PVersusNP Ajout du fichier pour CPack CMakeLists.txt Build PVersusNP.hpp PVersusNP.cpp PVersusNPComplete CPackConfig.cmmake CMake CMakeLists.txt PEqualNP.cpp PEqualNP.hpp MyOpenMPI

39 Paquetages Mon projet Fichier CPackConfig.cmake SET(CPACK_CMAKE_GENERATOR "Unix Makefiles") SET(CPACK_GENERATOR "STGZ;TGZ;TZ") SET(CPACK_INSTALL_CMAKE_PROJECTS "/home/flabat/pversusnp;pversusnp;all;/") SET(CPACK_NSIS_DISPLAY_NAME «PVersusNP") SET(CPACK_OUTPUT_CONFIG_FILE "/home/flabat/cpackconfig.cmake") SET(CPACK_PACKAGE_DESCRIPTION_FILE "/home/flabat/pversusnp/copyright.txt") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY «Show if P equal to NP or not") SET(CPACK_PACKAGE_EXECUTABLES "PVersusNP") SET(CPACK_PACKAGE_FILE_NAME «PVersusNP-Linux-i686") SET(CPACK_PACKAGE_INSTALL_DIRECTORY "PVersusNP") SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "PVersusNP") SET(CPACK_PACKAGE_NAME «PVersusNP") SET(CPACK_PACKAGE_VENDOR «Flabat") SET(CPACK_PACKAGE_VERSION «1") SET(CPACK_PACKAGE_VERSION_MAJOR «0") SET(CPACK_PACKAGE_VERSION_MINOR «0") SET(CPACK_PACKAGE_VERSION_PATCH "0") SET(CPACK_RESOURCE_FILE_LICENSE "/home/flabat/pversusnp/copyright.txt") SET(CPACK_RESOURCE_FILE_README "/home/flabat/pversusnp/templates/cpack.genericdescription.txt") SET(CPACK_RESOURCE_FILE_WELCOME "/home/flabat/pversusnp/templates/cpack.genericwelcome.txt") SET(CPACK_SOURCE_GENERATOR "TGZ;TZ") SET(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/flabat/pversusnpbin/cpacksourceconfig.cmake") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "PVersusNP-1.0") SET(CPACK_SOURCE_STRIP_FILES "") SET(CPACK_STRIP_FILES «PVersusNP") SET(CPACK_SYSTEM_NAME "Linux-i686") SET(CPACK_TOPLEVEL_TAG "Linux-i686") 3 9

40 Le driver de tests CTest 4 0 CTest est un driver de test, il permet donc d automatiser la conduite de tests CTest bénéficie de la même syntaxe et des même objets que CMake CTest peut être intégré à CMake, ou indépendant avec des scripts CTest: include(ctest) ctest S script.ctest

41 Le driver de test CTest Mon projet Je veux tester si P = NP cmake_minimum_required (VERSION 2.6) 4 1 project(pversusnp) include(ctest) set(cmake_cxx_compiler mpicxx) find_package(boost) find_package(qt4) findpackage(openmp) include(${qt_use_file}) include_directories(${boost_include_dirs}) add_subdirectory(pversusnpcomplete) add_executable (PVersusNP PVersusNP.cpp) target_link_libraries(pversusnpcomplete ${QT_LIBRARIES} mpi) install(pversusnp PVersusNPComplete RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib/static) La commande ctest dans le répertoire courant lancera le test add_test(name Test_PVersusNP COMMAND PVersusNP)

42 Serveur d intégration continue CDash 4 2 CDash est un Dashboard, c est un serveur Web avec un module de non-régression CDash ne lance pas les tests, il analyse les résultats des tests envoyés par CTest au format XML 3 modes de soumission Continuous, Nightly, Experimental, soit respectivement en continu, une fois chaque nuit, ou à la demande CDash permet d automatiser les tests, le profilage mémoire, la couverture de code, l envoie de mails en cas d échecs etc

43 Serveur d intégration continue CDash 4 3 Chaîne d intégration continue Exemple d une page web CDash

44 Intégration continue Mon projet Je veux mettre mon projet sur CDash 4 4 S inscrire

45 Intégration continue Mon projet Je veux mettre mon projet sur CDash 4 5 Télécharger et mettre à la racine du projet le fichier CTestConfig.cmake

46 Intégration continue Mon projet Je veux mettre mon projet sur CDash 4 6 cmake. make Experimental Télécharger et mettre à la racine du projet Sur le terminal

47 Intégration continue Mon projet Je veux mettre mon projet sur CDash 4 7 Télécharger et mettre à la racine du projet Résultat

48 Le plan 4 8 La philosophie de la suite logicielle CMake Mis en place d un projet sous CMake Panorama des «Build Automation» SCons GNU Autotools

49 SCons 4 9 Python est disponible sur de nombreuses plateformes et c est un langage très puissant Les plus Les moins Scons prend des sources et produit un binaire de bout en bout pas de délégation, donc plus compliqué Il faut installer Python. Et les développeurs de SCons ne sont pas maîtres des évolutions de Python

50 Autoconf 5 0 La partie utilisateur est puissante et simple Le plus Les moins La partie développeur est laborieuse et source d erreur

51 Références 5 1 Site de CMake: Le Wiki de CMake: Le livre Mastering CMake Fourth Edition Hello World pour Pipol avec CMake:

52 Questions? 5 2 CMake peut-il s écarter du chemin des build automation? Oui, CMake définit des commandes qui permettent quelque soit l OS et le générateur de manipuler des fichiers, des répertoires, d appeler des programmes extérieurs à CMake, de positionner des variables d environnement... etc. CMake peut -il être utiliser sur des environnements exotiques (comme c est le cas des Autotools) Oui, il est open-source, on peut télécharger les sources, et compiler CMake sur tout système disposant d un compilateur C++ récent. On peut alors commencer à utiliser les CMakeLists.txt avec les Makefile Unix comme générateur par exemple. De plus CMake fonctionne nativement sous Windows, ce qui n est pas le cas des Autotools.

Builds et tests Utilisation de CMake et de Dart

Builds et tests Utilisation de CMake et de Dart Builds et tests Utilisation de CMake et de Dart Séminaire Code & Travaux ASCII Fabien Spindler Projet Lagadic IRISA / INRIA Rennes http://www.irisa.fr/lagadic 16 novembre 2006 Plan 1. CMake Installation,

Plus en détail

Construction de logiciel et packaging

Construction de logiciel et packaging Construction de logiciel et packaging Matthieu Herrb Ecole IDL2011, La Londes Les Maures, 5 au 9 décembre 2011 http://homepages.laas.fr/matthieu/idl2011/ Licence Ce document est sous licence Creative Commons

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

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

Installation et compilation de gnurbs sous Windows

Installation et compilation de gnurbs sous Windows Installation et compilation de gnurbs sous Windows Installation de l environnement de développement Code::Blocks (Environnement de développement) 1. Télécharger l installateur de Code::Blocks (version

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

TP1 : Initiation à Java et Eclipse

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

Plus en détail

Initiation à la librairie graphique VTK

Initiation à la librairie graphique VTK Initiation à la librairie graphique VTK Telecom Bretagne, Février 2011 Jean CHAOUI Objectif : Être capable de créer une scène 3D simple composée de quelques primitives géométriques et de pouvoir modifier,

Plus en détail

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2 Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Optimisation de logiciels de modélisation sur centre de calcul

Optimisation de logiciels de modélisation sur centre de calcul Optimisation de logiciels de modélisation sur centre de calcul Gérald Monard Pôle de Chimie Théorique http://www.monard.info/ Introduction Les ordinateurs sont des appareils électroniques permettant d

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

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

Module d anonymisation

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

Plus en détail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

Plus en détail

Cours Langage C/C++ Programmation modulaire

Cours Langage C/C++ Programmation modulaire Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1 INSTALLATION D OCS INVENTORY NG V2.1 Procédure d utilisation Installation d OCS Inventory NG (Open Computer and Software Inventory) sur un serveur Linux N version : v1 Installation d OCS Inventory NG v2.1

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

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/

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

INFO-F-105 Language de programmation I Séance VI

INFO-F-105 Language de programmation I Séance VI INFO-F-105 Language de programmation I Séance VI Jérôme Dossogne Année académique 2008 2009 Un grand merci à Yves Roggeman pour ses relectures et remarques des codes et commentaires qui ont contribuées

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

Programmation stochastique

Programmation stochastique Programmation stochastique (Partie 1) IFT-6512 Hiver 2008 Présentation succinte COIN-OR? COmputational INfrastructure for Operations Research. Préalablement, COIN-OR tenait pour Common Optimization INterface

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Chapitre 10 : Logiciels

Chapitre 10 : Logiciels Chapitre 10 : Logiciels Installation de logiciels dans Linux IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 1 10.1 Installation manuelle Cette partie explique comment on compile et installe un logiciel

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Module.NET 3 Les Assemblys.NET

Module.NET 3 Les Assemblys.NET Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly

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

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

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Exercice sur les Dockers

Exercice sur les Dockers Exercice sur les Dockers Les parties composant les Dockers: 1 docker daemon: est un démon qui gère les dockers (les conteneurs LXC) qui tournent sur la machine hôte 2 docker CLI: une série de commandes

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Projet De Stijl Plate-forme pour robots mobiles

Projet De Stijl Plate-forme pour robots mobiles Projet De Stijl Plate-forme pour robots mobiles Guide de prise en main de Xenomai et des cibles Version : 22 janvier 2013 S. Di Mercurio, P.-E. Hladik Table des matières 1 Glossaire.........................................

Plus en détail

La programmation orientée objet et le langage C++

La programmation orientée objet et le langage C++ Cours précédents La programmation orientée objet et le langage C++ Pablo Rauzy rauzy @ enst fr pablo.rauzy.name/teaching.html#epu-cpp EISE4 @ Polytech UPMC 22 octobre 2014 Cours 5 Nouveautés du C++ par

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: 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étail

pythonocc: une plateforme de développement agile d applications CAO.

pythonocc: une plateforme de développement agile d applications CAO. pythonocc: une plateforme de développement agile d applications CAO. PyConFR 2009 Cité des Sciences et de l Industrie, Paris Thomas Paviot*, Jelle Feringa* *pythonocc project: tpaviot@gmail.com; jelleferinga@gmail.com

Plus en détail

Systeme d'exploitation

Systeme d'exploitation 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

Plus en détail

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre info@academielibre.fr

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre info@academielibre.fr Cours Linux Cours en ligne Administrateur Systèmes Linux Académie Libre info@academielibre.fr Programme général du cours Linux MODULE 1 - Fondamentaux Introduction à Linux La procédure de Login et Logout

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

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

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte? Avant-propos... V CHAPITRE 1 Scripting Windows, pour quoi faire?... 1 Dans quel contexte?.................................................. 1 La mauvaise réputation............................................

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Environnement Informatique EMSE Linux

Environnement Informatique EMSE Linux Environnement Informatique EMSE Linux Xavier Serpaggi École Nationale Supérieure des Mines de Saint-Étienne. Septembre 2013 Xavier Serpaggi (ENSM-SE) Environnement Informatique

Plus en détail

WPKG Gestion de paquets pour Windows

WPKG Gestion de paquets pour Windows wpkg.org Fabrice Flore-Thebault fab@centsix.org 14 octobre 2010 A propos de l auteur A propos de l auteur Fabrice Flore-Thébault administrateur systèmes GNU/Linux, Windows, MacOS X travaille dans des PME

Plus en détail

FusionInventory. Guillaume Rousse <guillomovitch@gmail.com> Journées francophones de Perl 2011

FusionInventory. Guillaume Rousse <guillomovitch@gmail.com> Journées francophones de Perl 2011 Journées francophones de Perl 2011 Sommaire 1 Solutions de gestion de parc informatique 2 Caractéristiques Capacités 3 Avancement 1 Solutions de gestion de parc informatique 2

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7 Sommaire 1-Introduction 2 1-1- BPM (Business Process Management)..2 1-2 J-Boss JBPM 2 2-Installation de JBPM 3 2-1 Architecture de JOBSS JBPM 3 2-2 Installation du moteur JBoss JBPM et le serveur d application

Plus en détail

Création d objet imbriqué sous PowerShell.

Création d objet imbriqué sous PowerShell. Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

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

Plus en détail

Connexion à SQL server

Connexion à SQL server Micromedia International Etude technique Auteur : Pierre Chevrier Nombre de pages : 18 Société : Date : 12/09/2012 Réf. : ETT_20110624_000001.docx Connexion à SQL server Ce document précise les modalités

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

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

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

Plus en détail

Informatique I. Sciences et Technologies du Vivant (Semestre 1)

Informatique I. Sciences et Technologies du Vivant (Semestre 1) Informatique I Sciences et Technologies du Vivant (Semestre 1) Vincent Lepetit vincent.lepetit@epfl.ch http://cvlabwww.epfl.ch/~lepetit/courses/sv https://www.coursera.org/course/intro-cpp-fr 1 Cours 1

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

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1 SAS Cost and Profitability Management, également appelé CPM (ou C&P), est le nouveau nom de la solution SAS Activity-Based Management. Cette version

Plus en détail

sshgate Patrick Guiran Chef de projet support pguiran@linagora.com WWW.LINAGORA.COM

sshgate Patrick Guiran Chef de projet support pguiran@linagora.com WWW.LINAGORA.COM sshgate Patrick Guiran Chef de projet support pguiran@linagora.com WWW.LINAGORA.COM Sommaire 1. Problématique des accès aux serveurs Besoins Linagora Recherche d'une solution 2. Présentation de sshgate

Plus en détail

Programmer 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) 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étail

User Documentation. Documentation utilisateur. version 0.2b 04-2009

User Documentation. Documentation utilisateur. version 0.2b 04-2009 User Documentation Documentation utilisateur version 0.2b 04-2009 Table des matières 3 French Version....4 English Version.22 Table des matières 4 Table des matières TABLE DES MATIERES 3 A PROPOS DE CE

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Vue d ensemble de Windows PowerShell

Vue d ensemble de Windows PowerShell Chapitre 1 Vue d ensemble de Windows PowerShell Après avoir lu ce chapitre, vous serez capable de : Comprendre l utilisation et les capacités de base de Microsoft Windows PowerShell. Installer Windows

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

FORMATION TALEND. Page 1 sur 9

FORMATION TALEND. Page 1 sur 9 FORMATION TALEND Ce livret contient et détaille les formulaires que vous devez nous retourner avec votre bon de commande. Vous y trouverez aussi toutes les informations susceptibles de vous aider à organiser

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Environnements et Outils de Développement Cours 1 Introduction

Environnements et Outils de Développement Cours 1 Introduction Environnements et Outils de Développement Cours 1 Introduction Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/~zack/teaching/1112/ed6/

Plus en détail

C.M. 1 & 2 : Prise en main de Linux

C.M. 1 & 2 : Prise en main de Linux Grégory Bonnet gregory.bonnet@unicaen.fr GREYC Université Caen Basse Normandie Diaporama original : Jean-Philippe Métivier - Boris Lesner But de cet enseignement 1 - Apprendre à manipuler un système Unix/Linux

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Le serveur web Apache

Le serveur web Apache Le serveur web Apache Emmanuel Courcelle Lipm CNRS INRA Auzeville Emmanuel Courcelle Apache au Lipm Applications avec interface Web Applications bioinformatiques Wikis, CMS,... Serveur Web = apache sur

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

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

Titre: Version: Dernière modification: Auteur: Statut: Licence: Titre: Mise en œuvre de mod_webobjects Version: 2.0 Dernière modification: 2010/09/06 20:00 Auteur: Aurélien Minet Statut: version finale Licence: Creative Commons

Plus en détail

Introduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn

Introduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn Introduction à Linux (pour le HPC) «Linux 101» Présentation : http://goo.gl/bvfyn maxime.boissonneault@calculquebec.ca U. Laval - Mars 2013 1 2 Plan de la présentation 1.Accéder à une grappe 2.Fichiers

Plus en détail

Étude de l application DNS (Domain Name System)

Étude de l application DNS (Domain Name System) Étude de l application DNS (Domain Name System) RICM 4 - Option Réseaux Pascal Sicard Introduction Le but de ce TP est de comprendre l utilisation et le fonctionnement de l application réseau DNS (Domain

Plus en détail

MSDN Academic Alliance Département SRC Vichy

MSDN Academic Alliance Département SRC Vichy MSDN Academic Alliance Département SRC Vichy INTRODUCTION : Grâce à l abonnement MSDN Academic Alliance pris par le Pôle Universitaire de Vichy, tous les étudiants et enseignants du département SRC de

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

Intégration de l interface graphique de Ptidej dans Eclipse

Intégration de l interface graphique de Ptidej dans Eclipse Intégration de l interface graphique de Ptidej dans Eclipse Driton Salihu (salihudr@iro.umontreal.ca) Lulzim Laloshi (laloshil@iro.umontreal.ca) Département d informatique et de recherche opérationnelle

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

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

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

Plus en détail

Gestion de clusters de calcul avec Rocks

Gestion de clusters de calcul avec Rocks Gestion de clusters de calcul avec Laboratoire de Chimie et Physique Quantiques / IRSAMC, Toulouse scemama@irsamc.ups-tlse.fr 26 Avril 2012 Gestion de clusters de calcul avec Outline Contexte 1 Contexte

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

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)

Plus en détail

1 Description générale de VISFIELD

1 Description générale de VISFIELD Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit

Plus en détail

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

Plus en détail

Langage Java. Classe de première SI

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail