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

Download "http://www.ed-diamond.com"

Transcription

1 Ceci est un extrait électronique d'une publication de Diamond Editions : Ce chier ne peut être distribué que sur le CDROM offert accompagnant le numéro 100 de GNU/Linux Magazine France. La reproduction totale ou partielle des articles publiés dans Linux Magazine France et présents sur ce CDROM est interdite sans accord écrit de la société Diamond Editions. Retrouvez sur le site tous les anciens numéros en vente par correspondance ainsi que les tarifs d'abonnement. Pour vous tenir au courant de l'actualité du magazine, visitez : Ainsi que : et

2 développement compilation Auto-tools : génération du./congure Yves Mettier EN DEUX MOTS Le mois précédent, nous avions vu comment générer la commande congure et automatiser la compilation avec les auto-tools. Ce mois-ci, nous allons le rendre capable d exécuter la commande suivante :./congure --enable-syslog --with-compression_level=9. Introduction tiliser les auto-tools présente un grand intérêt pour la conguration de la compilation. En effet, le script congure est capable de comprendre un certain nombre d options de la ligne de commande pour peu que nous lui ayons expliqué de quoi il s agissait. Dans cet article, nous allons travailler avec les options --enable-feature et --with- PACKAGE que vous pouvez lire dans l aide en ligne du script congure lorsqu il est exécuté avec l option --help. Pour illustrer cet article, nous allons nous servir d un exemple, un programme qui stocke une chaîne de caractères dans un chier compressé. Le programme principal fera appel à une fonction de prototype int stocker (const char *str, const char *chier, int compression_level); src/main.c #dene COMPRESSION_LEVEL 3 Nous allons proposer ci-dessous une implémentation simple de cette fonction. L étape suivante consistera à coder un taux de compression par défaut, par l intermédiaire de la commande congure --with-compression_level=4 (valeur xée ici à 4 par défaut). Et nous nirons en rendant facultative l utilisation de zlib (sans support zlib, le chier est alors non compressé évidemment). Mais voici, dans un premier temps, notre exemple de départ : int stocker(const char*str, const char*chier, int compression) { gzfile *fh; char mode[] = wb3 ; /* Vérication du taux de compression */ if((0 <= compression) && ( 9 >= compression)) mode[2] = 0 +compression; mode[2] = 0 +COMPRESSION_LEVEL; /* Ecriture de la chaîne dans le chier */ if (NULL == (fh = gzopen(chier, mode))) { fprintf(stderr, «Impossible d ouvrir %s en écriture\n, chier); exit(exit_failure); gzprintf(fh, «%s», str); gzclose(fh); return(0); int main(int argc, char**argv) { stocker(«bonjour», «/tmp/test.gz»,5); exit(exit_success); congure.ac AC_INIT(bonjour, 0.1, AC_SEARCH_LIBS(gzopen,z, [], [exit Makele src/makele Makele.am SUBDIRS=src src/makele.am bin_programs=bonjour bonjour_sources=main.c Rappel Si vous n avez pas sous la main l article du mois précédent, nous vous rappelons que pour générer le nécessaire pour compiler le projet, vous devez lancer d abord aclocal, puis dans l ordre que vous voulez, autoconf et automake -a -c. Pour ce dernier, créez les chiers (vides si vous ne savez pas quoi mettre dedans au début) dont il ne manquera pas de vous signaler l absence. Un nouveau chier d en-tête cong.h Nous allons modier notre exemple pour que la macro COMPRESSION_LEVEL ne soit plus codée en dur dans main.c. Pour cela, nous allons disposer d un chier d en-tête cong. h généré par le script congure, dans lequel ce dernier 56 GNU Linux Magazine France

3 mettra la valeur indiquée. Le chier congure.ac devient le suivant : AC_INIT(bonjour, 0.2, AC_CONFIG_HEADER([cong.h AC_SEARCH_LIBS(gzopen,z, [], [exit AC_DEFINE_UNQUOTED(COMPRESSION_LEVEL, 3, [Niveau de compression Makele src/makele Relancez la chaîne aclocal, autoconf. Mais ici, cela change. En effet, nous avons ajouté la ligne avec AC_CONFIG_HEADER qui signale qu il faut générer un chier d en-têtes cong.h. Pour qu elle soit prise en compte, vous devez exécuter autoheader qui génère un chier cong.h.in. L exécution du script congure créera entre autres un chier cong.h à partir du chier cong.h.in. Terminez avec automake -a c : aclocal autoconf autoheader automake -a -c La ligne AC_DEFINE_UNQUOTED ajoute une macro au chier cong.h. Le premier argument correspond au nom et le deuxième à sa valeur. Le troisième est un commentaire qui précède la dénition de la macro. Nous dénissons ainsi notre macro COMPRESSION_LEVEL et forçons son contenu à 3. Il ne reste plus qu à adapter le code de main.c de la sorte : #include «cong.h» int stocker(const char*str, const char*chier, int compression) {... La dénition de la macro a disparu ici, mais nous incluons le chier cong.h dès le début. M4 et shell portable Dans la section suivante, nous allons voir la présence de tests de la forme if test «x$withval» = «xno»; then. En effet, le test if [ «x${withval = «xno» ] ; then ne fonctionne pas. De quel langage s agit-il? Lorsque autoconf analyse le chier congure. ac, il fait, entre autres, appel au processeur de macros m4. Celui-ci remplace ainsi chaque macro du chier congure.ac par sa description. Le langage m4 prévoit aussi la possibilité de changer les caractères servant aux citations. Dans la plupart des langages, y compris m4, ces caractères sont soit l apostrophe soit le guillemet, (parfois les deux). Vous indiquez par exemple une chaîne ainsi : «chaîne». Cependant, autoconf prote de la fonctionnalité de changement de caractère de citation pour utiliser les crochets. Dans congure.ac, vous écrivez plutôt [chaîne]. Vous comprenez ici pourquoi l utilisation des crochets dans un test avec if ne fonctionne pas et vous devez donc utiliser test. Le langage m4 ne sert qu à remplacer les macros par leur contenu. Dans ce cas, de quel shell s agit-il? Nous ne pouvons répondre à cette question pour la simple et bonne raison que cela varie d un système à l autre. En effet, /bin/sh n a de point commun sur chaque système que le fait d être un shell de la famille des Bourne Shell. Que ce soit ash, ksh ou tout simplement la dernière version de bash, vous ne pouvez être sûr que d une chose : cela sera peut-être différent sur une autre machine. Il faut donc écrire dans un langage Bourne Shell le plus simple possible, ce que nous faisons ici. De nombreux exemples de choses à faire et à ne pas faire se trouvent dans la documentation d autoconf, dans la section «Limitations of Shell Builtins» du chapitre «Portable Shell Programming». AC_ARG_WITH Maintenant que nous avons déplacé la dénition de la macro COMPRESSION_LEVEL dans le chier congure.ac, nous allons le rendre paramétrable à l aide de AC_ARG_WITH. Ses quatre arguments sont, dans l ordre, le nom qui sera collé à --with-. Nous allons mettre compression_level pour que l option de la ligne de commande devienne, par exemple, --with-compression_level=8. En deuxième argument, nous avons l aide en ligne. Ce que nous mettons ici sera afché lorsque l utilisateur exécute congure -- help. Pour cela, il est recommandé d utiliser AC_HELP_STRING que nous allons voir plus Numéro 76 / Octobre

4 Développement compilation loin. En troisième argument se trouve un script, exécuté lorsque --with-xxx se trouvait effectivement sur la ligne de commande. Nous pouvons utiliser la variable dont le nom est toujours ${withval qui contient ce que l utilisateur a pu fournir comme valeur. En l absence de valeur, cette variable contient yes. Et en quatrième argument se trouve un autre script, exécuté lui quand se trouvait --without-xxx. Remarquez que rien n est exécuté si rien ne se trouve sur la ligne de commande. Voici ce que devient le chier congure.ac : AC_ARG_WITH(compression_level, [AC_HELP_STRING([--with-compression_level],[Niveau de compression (3 par défaut)], [ if test «x$withval» = «xno»; then COMPRESSION_LEVEL=0 ; elif test «x$withval» = «xyes»; then AC_MSG_ERROR([Vous devez specier un nombre entre 0 et 9 pour le niveau de compression COMPRESSION_LEVEL=${withval ], [ COMPRESSION_LEVEL=3 AC_DEFINE_UNQUOTED(COMPRESSION_LEVEL, ${COMPRESSION_LEVEL, [Niveau de compression AC_MSG_ERROR Cette macro porte bien son nom : elle est chargée d afcher un message d erreur sur la sortie du script congure. Contrairement aux autres de sa famille, celle-ci arrête l exécution du script. Les autres sont : AC_MSG_CHECKING (description) ; AC_MSG_RESULT (résultat) ; AC_MSG_NOTICE (message) ; AC_MSG_ERROR (description, [code pour exit ; AC_MSG_FAILURE (description, [code pour exit ; AC_MSG_WARN (description). AC_HELP_STRING Nous avons vu plus haut un exemple d utilisation d AC_HELP_STRING. Il s agit en fait de réaliser simplement un afchage formaté lorsque l utilisateur exécute congure --help. Il est tout à fait possible de s en passer en comptant les espaces, mais voilà le premier problème pour les flemmards : il faut compter. Le problème le plus gênant est que cet espacement peut éventuellement varier à l avenir, dans une nouvelle version d autoconf. Dans ce cas, AC_HELP_STRING serait mis à jour en fonction, mais pas votre espacement si vous le faites à la main. Conclusion : soyez flemmards! AC_HELP_STRING prend deux arguments. Le premier correspond aux arguments de la ligne de commande, donc --withcompression_level dans notre cas. Et le second indique la signication du premier : Niveau de compression (3 par défaut). Voici le résultat de la commande./congure -- help (extraits) : Optional Packages: --with-package[=arg] use PACKAGE [ARG=yes] --without-package do not use PACKAGE (same as --with- PACKAGE=no) --with-compression_level Niveau de compression (3 par défaut) Remarque AC_HELP_STRING est capable d aller sur la ligne suivante pour le texte explicatif lorsque l option indiquée dans le premier argument est trop longue. Voulez-vous journaliser les erreurs? Lorsque dans notre programme, nous échouons à l ouverture du chier en écriture, un message d erreur est envoyé sur la sortie d erreur, avant la sortie. Souhaitez-vous que votre programme soit capable d envoyer ce message au journal système (syslog)? Nous allons considérer cela comme une fonctionnalité que l on peut désactiver. Pour cela, nous allons utiliser une macro ENABLE_SYSLOG et voici à nouveau le code de notre programme : #include «cong.h» #ifdef ENABLE_SYSLOG #include <syslog.h> #include <stdarg.h> #include <string.h> #include <errno.h> #endif int stocker(const char*str, const char*chier, int compression_ level) { gzfile *fh; char mode[] = wb3 ; /* Vérication du taux de compression */ if((0 <= compression_level) && ( 9 >= compression_level)) mode[2] = 0 +compression_level; mode[2] = 0 +COMPRESSION_LEVEL; /* Ecriture de la chaîne dans le chier */ if (NULL == (fh = gzopen(chier, mode))) { fprintf(stderr, «Impossible d ouvrir %s en écriture\n», chier); #ifdef ENABLE_SYSLOG syslog(log_err LOG_USER, «Impossible d ouvrir %s en écriture (%s)\n», chier, errno?strerror(errno): mémoire insufsante»); #endif exit(exit_failure); 58 GNU Linux Magazine France

5 Auto-tools : génération du./congure gzprintf(fh, «%s», str); gzclose(fh); return(0); int main(int argc, char**argv) { stocker(«bonjour», «/tmp/test.gz»,5); exit(exit_success); Il n y a plus qu à compiler en dénissant ou non la macro ENABLE_SYSLOG. AC_ARG_ENABLE Pour proposer à l utilisateur de dénir ou non la macro ENABLE_SYSLOG, nous pourrions utiliser AC_ARG_WITH, ce qui donnerait./congure --with-syslog. Mais il s agit plutôt d activer ou non syslog et nous préférons AC_ARG_ENABLE, ce qui amène l utilisateur à./congure --enable-syslog. AC_ARG_ENABLE s utilise comme AC_ARG_WITH à peu de choses près. La différence notable se trouve dans le nom de la variable ${enableval au lieu de ${withval. Ajoutez les lignes AC_ARG_ENABLE suivi du test sur la variable ${ENABLE_SYSLOG, et le chier congure.ac devient le suivant : AC_INIT(bonjour, 0.2, AC_CONFIG_HEADER([cong.h AC_ARG_ENABLE(syslog,[AC_HELP_STRING([--enable-syslog], [Compiler avec le support syslog],[ if test «x${enableval»!= «xno»; then ENABLE_SYSLOG=1 ], [ ENABLE_SYSLOG=1 if test «x${enable_syslog» = «x1»; then AC_CHECK_FUNC(syslog, [], [exit AC_DEFINE_UNQUOTED(ENABLE_SYSLOG, 1, [Support de syslog AC_SEARCH_LIBS(gzopen,z, [], [exit AC_ARG_WITH(compression_level, [AC_HELP_STRING([--with-compression_level],[Niveau de compression (3 par défaut)], [ if test «x$withval» = «xno»; then COMPRESSION_LEVEL=0 ; elif test «x$withval» = «xyes»; then AC_MSG_ERROR([Vous devez specier un nombre entre 0 et 9 pour le niveau de compression COMPRESSION_LEVEL=${withval ], [ COMPRESSION_LEVEL=3 AC_DEFINE_UNQUOTED(COMPRESSION_LEVEL, ${COMPRESSION_LEVEL, [Niveau de compression Makele src/makele echo Zlib : taux de compression = ${COMPRESSION_LEVEL if test «x${enable_syslog» = «x1»; then echo «Syslog : support active» echo Syslog : support desactive Différence entre AC_ ARG_WITH et AC_ ARG_ENABLE Si AC_ARG_WITH et AC_ARG_ENABLE s utilisent de la même manière (à la variable ${withval/ ${enableval près), pourquoi utiliser l un plutôt que l autre? Le premier, AC_ARG_ WITH, sert à indiquer des valeurs, comme le taux de compression dans notre exemple précédent. C est avec lui que vous pouvez aussi décider si vous utilisez par exemple un code natif ou une bibliothèque. Le second, AC_ARG_ENABLE, s utilise pour activer ou non une fonctionnalité. Voulez-vous journaliser les messages ou non? Lorsqu il s agit d une fonctionnalité, nous résumons la situation ainsi : la question de savoir si la fonctionnalité doit être activée se pose avec AC_ARG_ENABLE et celle pour choisir l implémentation parmi toutes les implémentations possibles se pose avec AC_ARG_WITH. Et dans les autres cas, AC_ARG_ WITH permet de proposer à l utilisateur de passer des paramètres pour congurer la compilation. Conclusion Nous avons vu comment démarrer un projet le mois dernier et comment permettre à l utilisateur d indiquer des paramètres pour la conguration de la compilation. Il nous reste encore tant à voir. Le mois prochain peut-être? Yves Mettier, Remarque À la n, nous avons ajouté quelques lignes afchant le résumé des paramètres qui nous intéressent. Libre à vous de les supprimer ou au contraire d améliorer cet afchage. liens Le manuel d autoconf : org/manual/autoconf/index.html ; Le manuel d automake : org/manual/automake/index.html ; La page de manuel de syslog ; Le chier d en-tête zlib.h ; C en action (O Reilly). Numéro 76 / Octobre

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c Langage Impératif 1 TP 1 du 11 octobre 2010 Série d exercices Rappels rapides : - Un programme C s écrit toujours dans un fichier d extension.c (en minuscule!! sinon ce serait compilé comme du C++). Ce

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

Philosophie des extensions WordPress

Philosophie des extensions WordPress 8 Philosophie des extensions WordPress Le concept L une des forces de WordPress dans la jungle CMS, c est la simplicité de création d extensions. Il y a plusieurs raisons à cela. Des raisons techniques

Plus en détail

Traducteur mot à mot

Traducteur mot à mot Traducteur mot à mot CORRECTION Ce document, ainsi que le programme C et un exemple de programme trad-fr-us, peut être trouvé en ligne à l'addresse suivante : http ://www.lifl.fr/hauspie/hauspie/teaching.

Plus en détail

Programmation Unix Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits.

Programmation Unix Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits. Département d Informatique Faculté des Sciences de Luminy Programmation Unix Vendredi 17 décembre 2010 Durée 3h Licence MI, UE INF5, resp. E. Thiel Notes de Cours/TD/TP autorisées; autres documents, calculettes,

Plus en détail

L utilitaire "make" et son inséparable Makefile

L utilitaire make et son inséparable Makefile L utilitaire "make" et son inséparable Makefile Compilation et exécution Programme source Analyse lexicale (scaning) Optimisation du code Programme abstrait (optimisé) Génération du code Séquence d unités

Plus en détail

Formation Unix/Linux (9) Introduction à la programmation C sous Unix

Formation Unix/Linux (9) Introduction à la programmation C sous Unix Formation Unix/Linux (9) Introduction à la programmation C sous Unix Olivier BOEBION Mars 2004 1 Le langage C Introduire un langage de développement dans des travaux pratiques sur un système d exploitation

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2014-2015 (1ere session) durée 3h Tous documents et calculatrices autorisés. Répondez aux questions sur une copie séparée Le sujet comporte 8 pages

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

Utilisation de make. Chapitre 1. 1.1 make : pour quoi faire? 1.2 Introduction aux makefiles

Utilisation de make. Chapitre 1. 1.1 make : pour quoi faire? 1.2 Introduction aux makefiles Chapitre 1 Utilisation de make 1.1 make : pour quoi faire? make est un programme qui détermine automatiquement quelles parties d un programme doivent être recompilées, et exécute les commandes nécessaires

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

0.1 Création d une bibliothèque

0.1 Création d une bibliothèque 0.1 Création d une bibliothèque 1 0.1 Création d une bibliothèque Je vais ici simplement me contenter de reprendre l exemple de l introduction et réécrire le programme cette fois en utilisant une bibliothèque

Plus en détail

Chapitre 3 : Pointeurs et références

Chapitre 3 : Pointeurs et références p. 1/18 Chapitre 3 : Pointeurs et références Notion de pointeur L adresse d une variable est une valeur. On peut donc la stocker dans une variable. Un pointeur est une variable qui contient l adresse d

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

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 système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Langages et concepts de programmation

Langages et concepts de programmation Langages et concepts de programmation Séances 3 et 4 Tri d un fichier de voitures Une correction possible 1 Le sujet On dispose d un fichier contenant des informations sur des voitures d occasion : le

Plus en détail

Arguments d un programme

Arguments d un programme Arguments d un programme L2 SPI, Bruno Jacob 1 Arguments Quand on appelle un programme dans un environnement UNIX ou MS- DOS, on compose une ligne de commandes de la forme : nom-du-programme argument1

Plus en détail

TP 1 - Utilisation de Python

TP 1 - Utilisation de Python TP 1 - Utilisation de Python L objectif de ce TP est d apprendre à faire réaliser des calculs et des tâches répétitives à un ordinateur. Pour faire cela, il est nécessaire de communiquer avec l ordinateur

Plus en détail

Algorithmie ISI301 TP 1 : Python et premiers algorithmes

Algorithmie ISI301 TP 1 : Python et premiers algorithmes Algorithmie ISI301 TP 1 : Python et premiers algorithmes 1 Python : apprentissage Pour avoir une vision plus large des différentes possibilités du langage Python, nous ne pouvons que vous conseiller d

Plus en détail

Examen de Langage C Vendredi 2 Décembre 2011

Examen de Langage C Vendredi 2 Décembre 2011 Année 2011-2012 Examen de Langage C Vendredi 2 Décembre 2011 Promotion Guichet 1 ière année É. Salvat Modalités : Durée : 2 heures Seul document autorisé : carte de référence du C, pas de machine à calculer,

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

Plus en détail

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : 1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

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

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

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

Introduction au langage C

Introduction au langage C Organisation du cours Introduction au langage C Premier cours Notions générales Aurélien Max aurelien.max@limsi.fr 12 séances de cours de 1h: mercredi 16-17h, salle A203 12 séances de TD de 1h: mercredi

Plus en détail

Examen. Les processus. Examen : systèmes d exploitation L3, parcours informatique, 2004-2005

Examen. Les processus. Examen : systèmes d exploitation L3, parcours informatique, 2004-2005 Mercredi 5 janvier 2005 Durée : 3 heures Documents autorisés Examen : systèmes d exploitation L3, parcours informatique, 2004-2005 Corrigé préliminaire et partiel. Examen Les valeurs de retour des primitives

Plus en détail

Préparer l'installation de R pour une formation

Préparer l'installation de R pour une formation Préparer l'installation de R pour une formation Samir Messad Septembre 2008 1 Introduction Notre expérience des formations avec le logiciel R nous a montré qu'un temps important

Plus en détail

Notes sur la compilation séparée

Notes sur la compilation séparée Annexe B Notes sur la compilation séparée Ce document est probablement imparfait, mais il devrait déjà donner une introduction raisonnable au sujet traité... B.1 Introduction La compilation séparée est

Plus en détail

Une macro. Que représente une macro? Enregistrer une macro

Une macro. Que représente une macro? Enregistrer une macro 1 Une macro Que représente une macro? Une macro est une suite d instructions écrites l une après l autre. Lors de son exécution, Excel interprète les lignes de code de votre macro dans l ordre où vous

Plus en détail

INTRODUCTION A L EDITEUR ed

INTRODUCTION A L EDITEUR ed ed 1 INTRODUCTION A L EDITEUR ed d est l éditeur standard de Unix. Unix supporte également d autres éditeurs, tels Eque emacs de J. Gosling, edith de P. Amar, etc, mais ed est le plus simple à apprendre

Plus en détail

Edition de fichier avec nano

Edition de fichier avec nano 3 janvier 2015 Table des matières 1 Introduction 2 2 Qu est-ce que nano? 2 3 Démarrer nano 2 3.1 Fichier sans nom........................... 3 3.2 Fichier existant ou avec nom.................... 3 3.3

Plus en détail

Pas-à-pas Excel 2000 et suivants

Pas-à-pas Excel 2000 et suivants Pas-à-pas Excel 2000 et suivants calculer automatiquement un date d échéance Objectif : calculer une date d échéance tenant compte de la durée variable d un contrat, faire apparaître automatiquement les

Plus en détail

intro aux SE et mise en œuvre sous UNIX

intro aux SE et mise en œuvre sous UNIX TP: Programmer sous GNU/LINUX Ce premier TP introductif à la programmation en C va vous familiariser avec : la syntaxe du langage ; la mise en oeuvre du compilateur ; le préprocesseur cpp ; l'utilisation

Plus en détail

TOP 10 : les erreurs les plus fréquentes en programmation de scripts shell

TOP 10 : les erreurs les plus fréquentes en programmation de scripts shell TOP 10 : les erreurs les plus fréquentes en programmation de scripts shell Formations Logilin : http://www.logilin.fr/ Voici ci-dessous les dix erreurs les plus fréquemment commises lors de l'écriture

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

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,

Plus en détail

La Clé informatique. Formation Access XP Aide-mémoire

La Clé informatique. Formation Access XP Aide-mémoire La Clé informatique Formation Access XP Aide-mémoire Septembre 2003 Définitions de termes Base de données : Se compare à un énorme classeur ayant plusieurs tiroirs où chacun d eux contient des informations

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

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Procédure d installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5

Procédure d installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5 Procédure d installation de OpenOffice.org non graphique sur un serveur Linux Fedora Core 5 1. OpenOffice.org Ce paragraphe présente la manière d installer la suite bureautique OpenOffice.org sur le serveur

Plus en détail

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape)

CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) CREER UNE BASE DE DONNEES ACCESS AVEC DAO (étape par étape) NIVEAU : PREMIERE RENCONTRE AVEC VB INITIES/EXPERIMENTES Pré requis pour comprendre ce tutorial : - Connaître les principales commandes de VB

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

TP Compilation Analyse lexicale

TP Compilation Analyse lexicale TP Compilation Analyse lexicale Eric Ramat ramat@lisic.univ-littoral.fr 9 mai 2014 Durée : 6 heures 1 Introduction Le but de cet TP est de vous donner les bases nécessaires afin de pouvoir écrire votre

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

MANUEL D UTILISATION DU SITE INTERNET (PUBLIER) Chapitre 18 : Remplir les champs pour une information, un récit,

MANUEL D UTILISATION DU SITE INTERNET (PUBLIER) Chapitre 18 : Remplir les champs pour une information, un récit, MANUEL D UTILISATION DU SITE INTERNET (PUBLIER) Chapitre 18 : Remplir les champs pour une information, un récit, (Nous ne ferons ici pas de rappel à d autres chapitres, sans quoi, chaque ligne écrite mériterait

Plus en détail

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

Sujet 17 : Exploitation de données financières de Google Finance en C#

Sujet 17 : Exploitation de données financières de Google Finance en C# Amsellem Ari Pour le 01/06/11 Ohayon Alexandre Gueguen Tristan Sujet 17 : Exploitation de données financières de Google Finance en C# Introduction : Il convient tout d abord de signaler que le titre de

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

Plus en détail

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation.

Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Mode d emploi pour la P-machine utilisée lors des TPs et des projets du cours INFO010 Théorie des langages et de la compilation. Sébastien COLLETTE et Gilles GEERAERTS 1 Introduction Ce document décrit

Plus en détail

Leçon N 13 Création d un album photo avec CEWE 2 ème partie

Leçon N 13 Création d un album photo avec CEWE 2 ème partie Leçon N 13 Création d un album photo avec CEWE 2 ème partie 7 Les éléments de réalisation. A gauche du poste de travail vous avez une fenêtre où vous pourrez faire apparaître les éléments qui vous permettrons

Plus en détail

Des macros Excel pour exporter et importer des modules de code VBA

Des macros Excel pour exporter et importer des modules de code VBA Cah. Techn. Inra, 2008, 65, 13-22 Des macros Excel pour exporter et importer des modules de code VBA Jean-Baptiste Duclos 1 Résumé : Cet article présente deux macros VBA Excel pour sauvegarder facilement

Plus en détail

Les sauvegardes Définition :

Les sauvegardes Définition : Les sauvegardes Définition : la sauvegarde (backup en anglais) est une opération qui consiste à mettre en sécurité les données contenues dans un système informatique. Pour cela, il faut planifier les sauvegardes

Plus en détail

1 Les structures de commande dans les scripts shell

1 Les structures de commande dans les scripts shell Université de Nice-Sophia Antipolis Semestre 2 Licence Mathématiques-Informatique Semaine du 26 mars 2007 Systèmes Informatiques Travaux Pratiques Séance n 9 1) Pour commencer et comme d habitude, créez

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

Série 16: Entrées-sorties sur les fichiers Buts

Série 16: Entrées-sorties sur les fichiers Buts Série 16: Entrées-sorties sur les fichiers Buts Dans cette série, vous allez voir comment on peut écrire et lire dans un fichier. Ceci est très utile quand on veut par exemple initialiser un programme

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

WinTask Le Planificateur de tâches sous Windows XP et 2003 Server. Manuel d initiation du Planificateur

WinTask Le Planificateur de tâches sous Windows XP et 2003 Server. Manuel d initiation du Planificateur WinTask Le Planificateur de tâches sous Windows XP et 2003 Server Manuel d initiation du Planificateur 2 INTRODUCTION 5 CHAPITRE I : INSTALLATION 7 CHAPITRE II : PARAMETRER LE LANCEMENT D UNE TACHE 9 CHAPITRE

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

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

Facturation / Trains de facture INTRODUCTION. On peut accéder à la gestion des trains de facture de deux manières : Via les menus classiques

Facturation / Trains de facture INTRODUCTION. On peut accéder à la gestion des trains de facture de deux manières : Via les menus classiques INTRODUCTION On peut accéder à la gestion des trains de facture de deux manières : Via les menus classiques Via le bouton de raccourci Contrairement aux rôles, aux secteurs ou aux tournées, qui regroupent

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers Programmation en Python - Cours 2 : Premiers programmes Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Utilisation en mode interactif Ecriture d un programme

Plus en détail

Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet

Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet Institut Galilée L2 Info S1 Année 2011 2012 Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet 1 Introduction Pendant la première partie

Plus en détail

Ranger et classer Ses documents avec XP

Ranger et classer Ses documents avec XP Ranger et classer ses documents Pourquoi faire? Lorsque nous «travaillons» sur nos ordinateurs personnels, nous avons souvent l impression de ne plus savoir où sont stockés ceux-ci. Dans un premier temps,

Plus en détail

TP6: Introduction à Linux: Shell scripting

TP6: Introduction à Linux: Shell scripting INFO-F-201 Systèmes d exploitations 1 TP6: Introduction à Linux: Shell scripting avec l accord de Sébastien Collette Résumé Suite à la séance précédente sur l utilisation du shell bash, nous allons voir

Plus en détail

INF-130 Travail Pratique #2

INF-130 Travail Pratique #2 École de technologie supérieure INF-30 Travail Pratique #2 Travail individuel Tracé d un métro Francis Bourdeau, Frédérick Henri et Patrick Salois Remise à la 0 e semaine. Objectifs - Amener l étudiant

Plus en détail

Le Site Uranoscope. manuel du rédacteur. (sur moteur Dotclear) Février 2008 version 1.0

Le Site Uranoscope. manuel du rédacteur. (sur moteur Dotclear) Février 2008 version 1.0 Le Site Uranoscope (sur moteur Dotclear) manuel du rédacteur Février 2008 version 1.0 Consulter le blog Pour consulter le blog, lire les billets publiés, il faut aller sur internet à l adresse suivante

Plus en détail

Informatique TP1 : Découverte de Python CPP 1A

Informatique TP1 : Découverte de Python CPP 1A Informatique TP1 : Découverte de Python CPP 1A Romain Casati, Wafa Johal, Frederic Devernay, Matthieu Moy Avril - juin 2014 1 Découverte de l IDE : IDLE IDLE est un environnement de développement (Integrated

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

Plus en détail

Programmation Impérative 2006-2007

Programmation Impérative 2006-2007 Programmation Impérative 2006-2007 Licence Physique-Applications, Phisique-Chimie Université Jean Monnet Ruggero G. PENSA ruggero.pensa@univ-st-etienne.fr Définition de nouveaux types En pseudo-langage

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (2eme session) durée 2h Tous documents et calculatrices autorisés. Le sujet comporte 6 pages Le temps approximatif ainsi que le barème

Plus en détail

TP N o 2 - Utilisateurs et droits

TP N o 2 - Utilisateurs et droits IUT de Villetaneuse E. Viennet GTR 2ème année Introduction au Système UNIX 22/09/03 TP N o 2 - Utilisateurs et droits Vous rédigerez un compte rendu, sur lequel vous indiquerez la réponse à chaque question,

Plus en détail

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume Studio HERITIER Emmanuelle PERSYN Elodie SCHMUTZ Amandine SCHWEITZER Guillaume Cours R Présentation projet 10/10/2013 Introduction RStudio est une interface créé par JJ Allaire Elle est sortie le 11 Février

Plus en détail

Introduction à Access VBA (article invité)

Introduction à Access VBA (article invité) Introduction à Access VBA (article invité) Suite à des demandes d abonnés concernant le VBA, j ai proposé à Hervé Inisan du blog Le grenier Access d écrire un article invité à ce sujet, comme je l ai proposé

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

Cours WebDev Numéro 1. Objectifs : Connaître les éléments de base de l'éditeur WebDev. Création d'un convertisseur Francs / Euro.

Cours WebDev Numéro 1. Objectifs : Connaître les éléments de base de l'éditeur WebDev. Création d'un convertisseur Francs / Euro. Cours WebDev Numéro 1 Objectifs : Connaître les éléments de base de l'éditeur WebDev. Création d'un convertisseur Francs / Euro. Pré requis : Aucun Pour ce premier cours, nous allons créer un convertisseur

Plus en détail

WinTask : Automatisation de sites Web

WinTask : Automatisation de sites Web WinTask : Automatisation de sites Web Introduction Ce document a pour but de vous faire découvrir WinTask, le logiciel d'automatisation de tâches pour Windows et sites Web. WinTask vous permet d'automatiser

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

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

Accès au serveur SQL. Où ranger les accès au serveur SQL?

Accès au serveur SQL. Où ranger les accès au serveur SQL? 150 requête SQL, cela aura un impact sur un nombre limité de lignes et non plus sur l ensemble des données. MySQL propose une clause originale en SQL : LIMIT. Cette clause est disponible avec les différentes

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

Sauvegarde des bases SQL Express

Sauvegarde des bases SQL Express Sauvegarde des bases SQL Express Sauvegarder les bases de données avec SQL Express Dans les différents articles concernant SQL Server 2005 Express Edition, une problématique revient régulièrement : Comment

Plus en détail

Département de génie électrique. ELE784 - Ordinateurs et programmation système. Laboratoire #2

Département de génie électrique. ELE784 - Ordinateurs et programmation système. Laboratoire #2 Département de génie électrique ELE784 - Ordinateurs et programmation système Laboratoire #2 Développement d un pilote pour une caméra USB sous Linux Partie 3 Description sommaire : Dans ce laboratoire,

Plus en détail

ACTIVATION DES MACROS

ACTIVATION DES MACROS ACTIVATION DES MACROS Il faut d abord activer les macros dans Excel. Cela permet d afficher le menu développeur et d avoir accès à la page de programmation Visual Basic. Accès au menu développeur : Fichier

Plus en détail

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP L INTEGRATION DE SAS AVEC JMP Quelles sont les techniques possibles pour intégrer SAS avec JMP? Comment échanger des données entre SAS et JMP? Comment connecter JMP à SAS? Quels sont les apports d une

Plus en détail

Projet 2A STI : Supervision et audit de la sécurité système dans un réseau

Projet 2A STI : Supervision et audit de la sécurité système dans un réseau Projet 2A STI : Supervision et audit de la sécurité système dans un réseau Jeremy Briffaut,??? 8 septembre 2014 1 Objectifs Ce projet vous permettra de mettre en pratique vos connaissances acquises dans

Plus en détail

AppleScript et Mac OSX Snow

AppleScript et Mac OSX Snow Annexe AppleScript et Mac OSX Snow Le langage lui-même (version 2.1) a subi peu de modifications ou d améliorations (détaillées dans la note RN-AppleScript/RN-10_6/RN-10_6.html du site http://developer.apple.com).

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX MEUTER Cédric / LEVY Eythan Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX p. 1 Comment écrire son programme? Principaux éditeurs : XEmacs Emacs vi

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

Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie

Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie Formation Unix/Linux (3) Le Shell: gestion des processus, redirection d entrée/sortie Olivier BOEBION Mars 2004 1 Définition Un programme se compose d un ou plusieurs fichiers composés d instructions.

Plus en détail

Afficher le contenu du script au fur et à mesure de son exécution.

Afficher le contenu du script au fur et à mesure de son exécution. 5 Commandes, variables et utilitaires système Ns avons étudié en détail les structures offertes par le langage de programmation des scripts shell, ainsi que les mécanismes d évaluation des expressions.

Plus en détail

A. Introduction. Chapitre 7

A. Introduction. Chapitre 7 Chapitre 7 A. Introduction Le concept des listes SharePoint est parfois le plus difficile à appréhender tellement ses applications sont sans limites. Une liste SharePoint est l équivalent d un tableau

Plus en détail

Automatisation des tâches avec les macros Visual Basic

Automatisation des tâches avec les macros Visual Basic Automatisation des tâches avec les macros Visual Basic Si vous ne connaissez pas les macros, ne vous laissez pas impressionner par le terme. Une macro est tout simplement un ensemble mémorisé de frappes

Plus en détail