# Zone où typiquement seront placées des déclarations de variables et de règles # (voir plus tard)
|
|
- Anatole Ducharme
- il y a 8 ans
- Total affichages :
Transcription
1 UNIVERSITÉ DE NICE SOPHIA ANTIPOLIS UFR FACULTÉ DES SCIENCES Parc Valrose BP 71 F NICE Cedex 2 Licence 3 d Informatique Environnement de Programmation Philippe Collet Séance de TP n 02 de la semaine du 3 février 2006 Make et autres outils pour la construction Corrigé Objectifs Comprendre le fonctionnement d un Makefile explicite (cible, dépendance, mise à jour), puis des règles implicites. Créer un Makefile par adaptation. Expérimenter quelques directives. 1. Makefile explicite pour le programme de conversion Nous allons construire et modifier progressivement un Makefile pour automatiser au mieux la construction de l outil de conversion, implémenté en C et vu en cours Première version élémentaire Créez un répertoire TP2 pour ce TP. Créez un répertoire /l3i8/tp2/1.conversion pour cette question. Récupérez l archive conversion.tgz et décompactez la dans ce répertoire. ~> cd ~/l3i8 ; mkdir TP2 TP2/1.conversion ; cd TP2/1.conversion # r é c u p é r a t i o n d e l a r c h i v e a v e c M o z i l l a ~> ls -l total 6 -rw-r--r-- 1 rr profs 261 Feb Makefile.1 -rw-r--r-- 1 rr profs 693 Feb convert2sens.c -rw-r--r-- 1 rr profs 397 Feb convertir.c -rw-r--r-- 1 rr profs 235 Feb convertir.h -rw-r--r-- 1 rr profs 672 Feb outils.c -rw-r--r-- 1 rr profs 234 Feb outils.h Etudiez le fichier Makefile.1 et essayez de construire l application à l aide de make. 1.conversion/Makefile.1 : convert2sens.o : convert2sens.c convertir.o : convertir.c outils.o : outils.c convertir: convertir.o outils.o convert2sens.o -f Makefile.1 convertir
2 Séance de TP n 02 Make et autres outils pour la construction 2 Que faudrait-il faire pour que, par défaut, l application soit construite sans donner son nom de cible. Faites le dans un fichier Makefile.2. Il faut que la cible principale soit la première du Makefile. Cela s obtient, soit en déplaçant la cible principale en première position, soit en mettant en première position une cible bidon (phony) all qui dépend de la cible principale, qui peut alors rester à sa position. C est cette solution que nous retenons, car c est la plus usuelle. De plus, si lors d un appel à make sans préciser de cible explicite, il y a plusieurs cibles à construire, il suffira d ajouter d autre dépendances à la cible all. 1.conversion/Makefile.2 : # Cibles bidon qui ne doivent construire aucun fichier # Zone où typiquement seront placées des déclarations de variables et de règles # (voir plus tard) # Cible principale par défaut all: convertir # compilation séparée convert2sens.o : convert2sens.c convertir.o : convertir.c outils.o : outils.c convertir: convertir.o outils.o convert2sens.o Que faudrait-il faire pour que tout se construise simplement en tapant make et sans renommer ou recopier Makefile.2? Faites le! Il faut que le fichier Makefile.2 s appelle Makefile ou makefile. Il vaut mieux l appeler Makefile, car par ordre alphabétique, il apparaitra avant les fichiers de programmes, dont le nom commence généralement par une minuscule, et il se repérera donc mieux, comme les fichiers README ou ALIRE. Si l on a plusieurs Makefile dans le même répertoire, une solution sans renommer Makefile.2 est d utiliser un lien symbolique : ln s Makefile.2 Makefile. Ajoutez des commentaires au Makefile (vous le ferez systématiquement à partir de maintenant), par exemple pour expliquer les dépendances de compilation séparée et la reliure finale. Voir le fichier Makefile.2 précédent qui a les commentaires demandés Gestion des fichiers d en-têtes Modifiez le fichier convertir.h pour que le taux passe a Relancez make. Que se passe-t-il? Quel devrait être le comportement normal? 1.conversion/convertir.h : // convertir.h // taux de conversion #define TAUX
3 Séance de TP n 02 Make et autres outils pour la construction 3 // type de conversion #define EURO 0 #define FRANC 1 // prototypes des routines de convertir.c void franc_euro(double franc); void euro_franc(double euro) ; make: Nothing to be done for all. Une modification du taux aurait dû entraîner une recompilation des modules qui en dépendent et une reliure des modules pour produire un nouvel exécutable. Pour corriger ce défaut il faut s assurer que la reconstruction se fera bien. cela peut être obtenu en indiquant que tous les modules sources dépendent du fichier convertir.h. Mais dans ce cas, on recompilerait des modules qui ne dépendent pas de ce fichier, ce qui ferait perdre du temps. Pour un petit programme, ce n est pas grave, mais il existe des programmes avec des milliers de modules dont la compilation nécessite des heures, comme la reconstruction d un système Linux, par exemple. Il faut donc limiter les dépendances au strict nécessaire, en examinant le code ou en utilisant un outil comme makedepend. Créez un Makefile.3 qui gère correctement les.h (recherchez les dépendances dans les fichiers sources). Pour tester, votre Makefile, modifiez la date des divers fichiers.h (avec la commande touch ), puis relancez make pour observer si seuls les fichiers dépendants du.h modifié ont été recompilés. Pour déterminer les dépendances de chaque fichier.h, le plus simple, sans utiliser makedepend, est d utiliser une commande grep : ~> for f in.h > do grep $f.c > done convert2sens.c: #include "convertir.h" convertir.c: #include "convertir.h" convert2sens.c: #include "outils.h" outils.c: #include "outils. h" On modifie alors le Makefile en rajoutant ces dépendances. En toute rigueur, il faudrait exprimer que convert2sens.c dépend de convertir.h et de même pour les autres dépendances. Ainsi, chaque fois que convertir.h serait révisé, convert2sens.c le serait aussi. Oui, mais cela nécessiterait un outil pour réactualiser automatiquement le fichier convert2sens.c. En l absence d un tel outil, c est le programmeur et Emacs qui peuvent faire ce travail, et le programmeur n apprécierait pas d être appelé sur son portable par make à l occasion d une reconstruction programmée une nuit de Saint Sylvestre. Donc, on simplifie et on espère qu en recompilant simplement convert2sens.c, cela suffira pour réactualiser le module objet convert2sens.o. Le compilateur pourra détecter d éventuelles incohérences (contrôles statiques de types, etc.) et il serait plus prudent, à l occasion d un changement de convertir.h, de relancer un test de non régression, comme nous le verrons plus tard dans ce cours. En résumé, on remplace la dépendance convert2sens.c -> convertir.h par convert2sens.o -> convertir.h et cette fois on dispose d une règle pour produire le module objet. On procède de même pour les autres dépendances. 1.conversion/Makefile.3 : # Cibles bidon qui de doivent construire aucun fichier # Cible principale par défaut all: convertir # compilation séparée avec gestion des.h
4 Séance de TP n 02 Make et autres outils pour la construction 4 convert2sens.o : convert2sens.c convertir.h outils.h convertir.o : convertir.c convertir.h outils.o : outils.c outils.h convertir: convertir.o outils.o convert2sens.o ~> rm -f Makefile; ln -s Makefile.3 Makefile Effectuez le même genre de tests que précédemment (touch, make ), mais exécutez la commande make avec l option qui permet de visualiser ce qu il ferait, sans le faire! ~> touch outils.h make: Nothing to be done for all > touch convertir.c > makegcc convertir.o outils.o convert2sens.o -o convertir... On constate que les compilations et reliures qui sont faites sont bien strictement nécessaires. Pour faire un test sans faire le travail effectif, il suffit d ajouter l option -n à la commande make. Cela fait gagner du temps, mais il faut alors mettre à jour aussi les dates des cibles pour les réactualiser. L option -t de la commande make le fait automatiquement. -n make: Nothing to be done for all -nt touch convertir.o touch convert2sens.o touch convertir -nt make: Nothing to be done for all Faire le ménage Ajoutez une cible clean qui efface tous les fichiers inutiles /bin/rm.o.bak ~ core. /bin/rm.o core ~.bak Que se passe-t-il si vous lancez deux fois de suite la commande "make clean". Rendez moi cette cible robuste! La deuxième fois, il n y a rien à effacer et la commande rm transmet un code de retour d échec qui est interprété par la commande make et fait stopper make. Il faut donc dire à make d ignorer l échec en mettant le signe - devant la définition de l action. Pour effacer sans demande de confirmation au cas où il y aurait des protections, il faut aussi utiliser l option -f dans la commande rm.
5 Séance de TP n 02 Make et autres outils pour la construction 5 -/bin/rm -f.o core ~.bak Ajoutez à ce Makefile une règle qui, en plus d éliminer les fichiers qui ne vous intéressent pas, élimine aussi l exécutable. Utilisez la règle précédente pour créer cette nouvelle cible veryclean..phony: clean veryclean -/bin/rm -f.o core ~.bak very clean -/bin/rm -f convertir En mettant la dépendance clean à la cible veryclean, tout appel à veryclean sera automatiquement précédé d un appel à clean. La directive.phony permet en plus de préciser que les cibles de nettoyage ne doivent produire aucun fichier du même nom (cibles bidon). 2. Création d un nouveau Makefile Rien ne se perd, tout se transforme... La plupart du temps, on crée un nouveau Makefile en récupérant et en adaptant un précédent. Mais attention, lorsqu on récupère de l existant, il faut rester vigilant et l adapter comme il convient ; et ne jamais récupérer par copie des textes logiquement liés qui doivent évoluer en même temps : le copié-collé c est l enfer de l évolution... [Jérôme Sarvonarole, 1492]. Créez un répertoire 2.pacman pour la suite de ce TP. Récupérez l archive leretourdepacman.tgz et décompactez la. Nous allons maintenant construire, progressivement, le Makefile idéal pour ce programme... Recopiez la meilleure version de votre Makefile pour la conversion et adaptez la pour pacman. 2.pacman/Makefile.1 : all: pacman # compilation séparée avec gestion des.h graphics.o : graphics.c graphics.h gcc -c graphics.c shape.o : shape.c shape.h graphics.h gcc -c shape.c main.o : main.c graphics.h shape.h gcc -c main.c pacman: graphics.o main.o shape.o gcc -L/usr/X11R6/lib -lx11 graphics.o main.o shape.o -o pacman.phony: clean veryclean -/bin/rm -f *.o core *~ *.bak very clean -/bin/rm -f pacman
6 Séance de TP n 02 Make et autres outils pour la construction 6 Si vous ne faites que changer les cibles, les.c et les.h, cela fonctionne-t-il? Pourquoi? Ajoutez les bibliothèques manquantes et retestez. Le compilateur ne trouve pas les fichiers d entête, il faut lui dire où ils se trouvent : /usr/x11r6/include et le relieur ne trouve pas la bibliothèque graphique. Pour ce dernier il faut préciser quelle bibliothèque utiliser (-lx11) et où elle se trouve ( /usr/x11r6/lib ). D un système à l autre ces emplacements peuvent différer. 2.pacman/Makefile.2 : all: pacman pacman: graphics.o main.o shape.o gcc -L/usr/X11R6/lib -lx11 graphics.o main.o shape.o -o pacman # compilation séparée avec gestion des.h graphics.o : graphics.c graphics.h gcc -I/usr/X11R6/ i n c l u d e -c graphics.c shape.o : shape.c shape.h graphics.h gcc -I/usr/X11R6/ i n c l u d e -c shape.c main.o : main.c graphics.h shape.h gcc -I/usr/X11R6/ i n c l u d e -c main.c.phony: clean veryclean -/bin/rm -f *.o core *~ *.bak very clean -/bin/rm -f pacman En fait, pour faire les choses bien, il faudrait aussi référencer les include graphiques dans les cibles gcc c... Pourquoi cela fonctionne-t-il quand même? Rajoutez tout de même le -I qui référence les include. Les fichiers de bibliothèque et d entêtes sont très stables et n évoluent pas, sauf en cas d installation d une nouvelle version du système. Et même dans ce cas, les nouvelles versions de bibliothèque sont normalement compatibles avec les anciennes (compatibilité ascendante). Donc, il est inutile d expliciter dans les Makefiles ces dépendances qui ne serviraient que pour reconstruire le programme en cas de changement des bibliothèques. Testez bien que les dépendances (.c/.h ) sont correctement gérées à coup de "touch". Ajoutez une cible install qui déplace l exécutable créé dans votre répertoire bin. # installation install: pacman -/bin/mv -f pacman $(HOME)/bin Avec l option -f, on force le déplacement, même si le fichier s y trouve déjà. Cela permet de refaire plusieurs installations. C est dangereux si l on ne s est pas assuré au préalable qu il n y avait pas déjà un tel fichier précieux d installé. La notation /bin ne marche pas ou n est pas portable. En effet, les commandes shells exécutées par make le sont normalement pas le shell historique sh qui ne connait pas la notation avec. Au
7 Séance de TP n 02 Make et autres outils pour la construction 7 contraire, la notation $(HOME) utilise une variable d environnement exportée (cf plus loin) qui est standard pour tous les shells. Débrouillez vous pour que, par défaut, le Makefile construise et installe pacman! install all: install # installation install: pacman -/bin/mv pacman $(HOME)/bin 3. Manipulation des variables d environnement Créez un Makefile dont la cible par défaut affiche la valeur des variables SHELL, OSTYPE et USER. Cette cible sera de type PHONY. # affichage de variables.phony: showvar showvar: -@echo "SHELL=<$(SHELL)> OSTYPE=<$(OSTYPE)> USER=<$(USER)>" Regardez l effet produit en fonction du caractère d exportation de ces variables (comparer le résultat de set et export dans votre shell). -f Makefile.var1 SHELL=</bin/sh.exe> OSTYPE=<> USER=<rr> ~> set egrep ^USER= ^OSTYPE= ^SHELL= OSTYPE=cygwin SHELL=bash USER=rr ~> export egrep USER= SHELL= OSTYPE= declare -x SHELL="bash" declare -x USER="rr" On voit donc que ces trois variables sont déclarées dans le shell courant, mais seules les variables USER et SHELL sont exportées. Il n y a donc que ces variables qui sont transmises à la commande make, ce qui explique l affichage partiel des valeurs de ces variables. Modifiez ces valeurs en appelant le Makefile (par exemple make USER=pipo). -f Makefile.var1 USER=pipo SHELL=</bin/sh.exe> OSTYPE=<> USER=<pipo> Regardez l effet produit, à l exécution de make, puis dans le Shell qui a lancé make. ~> echo "SHELL=<$SHELL> OSTYPE=<$OSTYPE> USER=<$USER>" SHELL=<bash> OSTYPE=<cygwin> USER=<rr> Qu en déduisez-vous? On en déduit que la commande make peut affecter les variables d environnement exportées dans la mémoire de son processus, mais pas dans la mémoire du processus appelant, le SHELL courant. Ceci est la conséquence du mécanisme d exportation des variables par les Shells UNIX et n est pas spécifique de la commande make.
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étailTP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Plus en détailCours 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étailTP 1 Prise en main de l environnement Unix
Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session
Plus en détailMon 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étailTP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL
TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL Au cours de ce TP, vous allez installer un serveur de courrier sur un réseau local. Les étapes par lesquelles vous allez passer sont les suivantes
Plus en détailLa 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étailTP1. 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étailAlgorithmique 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étailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailRemise à niveau d un programme JAVA du domaine public
Jean-Baptiste VIGUIER 12 septembre 2002 DCEM 2 jb.viguier@free.fr Remise à niveau d un programme JAVA du domaine public Dossier réalisé pour le laboratoire d oncogénétique Docteur P.GORRY MCU-PH institut
Plus en détailIntroduction à 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étailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en détailC.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étailProcédure de Migration de G.U.N.T.3 KoXo Administrator
Procédure de Migration de G.U.N.T.3 KoXo Administrator 1 - Introduction L application G.U.N.T.3 (CRDP de Bretagne) utilise une structuration dans Active Directory qui est similaire à celle de KoXo Administrator.
Plus en détailOutils pour la pratique
Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.
Plus en détailAtelier La notion de session utilisateur sous Linux
Chapitre 6 Atelier La notion de session utilisateur sous Linux I Présentation Nous allons voir la notion de session et d utilisateur sous linux, ainsi que quelques commandes de base afin de mieux comprendre
Plus en détail1) 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étailUtiliser Dev-C++ .1Installation de Dev-C++ Table des matières
Utiliser Dev-C++ Voici quelques explications sur l utilisation de Dev-C++, un excellent environnement de développement en C et C++ pour Windows qu on peut télécharger librement depuis le site www.bloodshed.net
Plus en détailArchitecture de la plateforme SBC
Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur
Plus en détail1 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étailIntroduction aux Systèmes et aux Réseaux, Master 2 CCI
aux Systèmes et aux Réseaux, Master 2 CCI Cours 1 : Introduction et contexte Unix/Linux Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI - Université Lyon 1 -
Plus en détailSeance 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étailUtiliser Java sans BlueJ
Conception objet en Java avec BlueJ une approche interactive Utiliser Java sans BlueJ Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec BlueJ une approche
Plus en détailTP1 : Initiation à l algorithmique (1 séance)
Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la
Plus en détailGestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN
Plus en détailComment installer le gestionnaire de licence avec une nouvelle version de Arche / Effel / Melody?
Comment installer le gestionnaire de licence avec une nouvelle version de Arche / Effel / Melody? Cette question ne concerne que les utilisateurs des versions réseaux des logiciels. Nous vous invitons
Plus en détailTitre: 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étailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Plus en détailTP 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étailInstallation d ORACLE 10g sous Debian Etch
Installation d ORACLE 10g sous Debian Etch Rédacteur : TEHERY Julien Page n 2/6 1.1 Pré-requis Comme pour chaque installation de logiciel, il y a lieu d installer certains paquets nécessaires. Et Oracle
Plus en détailInstallation et prise en main
TP1 Installation et prise en main Android est le système d'exploitation pour smartphones, tablettes et autres appareils développé par Google. Pour permettre aux utilisateurs d'installer des applications
Plus en détailPerl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.
Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances
Plus en détailPoker. A rendre pour le 25 avril
Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles
Plus en détailTP 4 de familiarisation avec Unix
TP 4 de familiarisation avec Unix Réseau Filtres (suite) Variables Scripts Vincent Berry - vberry@lirmm.fr IMPORTANT : la prise de notes est une pratique très importante et pourtant négligée, elle est
Plus en détailTraitement de données
Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules
Plus en détailEXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Plus en détail1 Démarrage de Marionnet
Institut Galilée Administration Système Année 2011-2012 INFO 2ème année Master Info 1 Master Image & Réseau 1 T.P. 1 Administration Système Le logiciel Marionnet (www.marionnet.org) offre la possibilité
Plus en détailExcel 2007 Niveau 3 Page 1 www.admexcel.com
Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement
Plus en détailTD séances n 3 et n 4 Répertoires et Fichiers sous Unix
Ce TP est destiné à vous familiariser avec les fichiers sous l'environnement UNIX. Fortement axé sur la pratique, il aborde la création, la manipulation et la suppression des répertoires et fichiers. 1
Plus en détailSOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le 10.09.
SOFI Gestion+ SOFI Informatique Version 5.4 Echanges de données informatiques Spicers Sofi gestion+ Groupements Actualisé le 10.09.2004 Table des matières 1. Catalogue et tarifs... 4 1.1 Définition EDI...
Plus en détailTutoriel code::blocks
Tutoriel code::blocks E. Lunéville 2006 Le logiciel code::blocks fait partie des logiciels de type EDI (Environnement de Développement Intégré, IDE en anglais) pour le langage C++. Il est multiplateforme
Plus en détailTP Bases de données réparties
page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailCAPTURE DES PROFESSIONNELS
CAPTURE DES PROFESSIONNELS 2 Téléchargement 3 Installation 8 Prise en main rapide 10 Lancement Recherche 14 Gestion des fichiers 23 Compare et Sépare 24 Fichiers annexes 2/ Le menu Utilitaires 32 Internet
Plus en détailTP réseaux 4 : Installation et configuration d'un serveur Web Apache
TP réseaux 4 : Installation et configuration d'un serveur Web Apache Objectifs Installer, configurer, lancer et administrer le serveur Web Apache sous Linux Données de base machine fonctionnant sous Linux
Plus en détailMonter automatiquement des disques distants ou locaux avec automount/autofs
Monter automatiquement des disques distants ou locaux avec automount/autofs 31 mai 2014 (dernière révision le 31 mai 2014) par Winnt 1 Introduction Lorsque l on veut avoir accès à des disques, qu ils soient
Plus en détailChapitre I Notions de base et outils de travail
Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement
Plus en détailMesurer les performances (CPU) sous Linux
Titre : Mesurer les performances (CPU) sous Linux Date : 22/07/2015 Page : 1/7 Mesurer les performances (CPU) sous Linux Résumé : Il existe des outils permettant de tracer les temps CPU utilisés (profiling).
Plus en détailChapitre 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étailTP réseau Android. Bidouilles Tomcat. a) Installer tomcat : il suffit de dézipper l'archive apache-tomcat-8.0.15-windowsx64.zip.
TP réseau Android Ce TP utilise tomcat 8, sous windows et des.bat windows. On peut trouver ce serveur web et conteneur d'applications web à http://tomcat.apache.org/download-80.cgi. Il se trouve dans l'archive
Plus en détailCréer son premier package.deb. 19 août 2011 1
Créer son premier package.deb 19 août 2011 1 Créer son premier package.deb Atelier animé par Mohammed Adnène Trojette organisé par la Team Ubuntu Tunisie Prérequis une distribution dérivée de Debian les
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailLe 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étailEnvironnements 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étailLe 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étailReconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Plus en détailIntroduction au Système d Exploitation Unix/Linux
1 iere partie: Système de Gestion de Fichier B. Jacob IC2/LIUM 17 septembre 2013 Plan 1 Notions de fichier 2 Notions de répertoire 3 Organisation des répertoires 4 Identification d un fichier dans l arborescence
Plus en détailUtiliser Glary Utilities
Installer Glary Utilities Après avoir téléchargé Glary Utilities sur le site "http://secured-download.com/softwares/1737-glary-utilities ", double-cliquez dessus pour lancer l'installation. Choisissez
Plus en détailLicence 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étailIFT2245 - Systèmes d exploitation - TP n 1-20%
IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT
Plus en détailExplications des items d'obii pour la validation du B2I
Explications des items d'obii pour la validation du B2I Rappel le socle commun compte sept compétences dont l'une d'entre elles porte sur : la maîtrise des techniques usuelles de l information et de la
Plus en détailIntroduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été
Plus en détailArcGis Server 10 (sur VM CentOS 5.5-32bits) DOCUMENT D INSTALLATION
Auteur Jules FLEURY, SIGéo / CEREGE Date de création 04/04/11 Date de dernière modification OS VM CentOS 5.5-32bits) Type de document Notice d'ation Nom du document ArcGis Server 10 (sur VM CentOS 5.5-32bits)
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailI. Objectifs de ce document : II. Le changement d architecture :
I. Objectifs de ce document : Ce document a pour but de vous présenter : - L outil File Server Migration Toolkit 1.1. - Le mode opératoire à suivre pour migrer les données de plusieurs serveurs de fichiers
Plus en détailAUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12
GTK+ GLADE Page 1 sur 12 SOMMAIRE INTRO 3 Présentation de GTK+ 3 Présentation de GLADE 3 GTK+ 4 Installation 4 Les Widgets 4 Le système de hiérarchie 5 Les signaux 6 GLADE 7 Installation 7 L interface
Plus en détailEnvironnements 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étailSéance 0 : Linux + Octave : le compromis idéal
Séance 0 : Linux + Octave : le compromis idéal Introduction Linux est un système d'exploitation multi-tâches et multi-utilisateurs, basé sur la gratuité et développé par une communauté de passionnés. C'est
Plus en détailAnnée Universitaire 2014-2015 3 ième année IMAC Mardi 6 janvier 2015. Cloud computing Travaux Pratiques
Année Universitaire 2014-2015 3 ième année IMAC Mardi 6 janvier 2015 Cloud computing Travaux Pratiques Objectif Dans un premier temps, on utilisera libvirt : une librairie d accès aux principaux hyperviseurs
Plus en détailNiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame
www.nicelabel.fr info@nicelabel.fr NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame White Paper Version 20051114-06-FR 2005 Euro Plus. Tous droits réservés. http://www.nicelabel.fr
Plus en détail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détailLicence 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étailTitre: Version: Dernière modification: Auteur: Statut: Licence:
Titre: Installation de WebObjects 5.3 Version: 2.1 Dernière modification: 2011/02/17 11:00 Auteur: Aurélien Minet Statut: version finale Licence: Creative Commons
Plus en détailCHARTE D UTILISATION de la plateforme Commune de Microscopie Electronique, CCMA, de la Faculté de Sciences de L Université de Nice-Sophia-Antipolis
CHARTE D UTILISATION de la plateforme Commune de Microscopie Electronique, CCMA, de la Faculté de Sciences de L Université de Nice-Sophia-Antipolis SOMMAIRE 1- Présentation 2- Localisation et matériel
Plus en détailDéployer des applications Perl
Déployer des applications Perl Vincent Pit 2012-03-05 1 Structure d une distribution Perl code source des modules $ find Mon-Module-0.01 -type f sort Mon-Module-0.01/bin/script Mon-Module-0.01/Changes
Plus en détailSUPPORT DE COURS LOGICIEL SAGE SAARI COMPTABILITE 100
SUPPORT DE COURS LOGICIEL SAGE SAARI COMPTABILITE 100 SOMMAIRE Page INTRODUCTION Schéma descriptif des étapes du paramétrage du fichier comptable I CREATION DE FICHIER COMPTABLE I 1 Création du fichier
Plus en détailEclipse 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étailNRPE. Objectif. Documentation. Procédures
NRPE Objectif NRPE est un addon de Nagios permettant d établir une connexion sécurisée entre deux machines sous Linux. L intérêt est de lancer les commandes de vérifications sur la machine cliente afin
Plus en détailKWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO
_TUTO_module_magento Table des matières -1) - :...2-1.1) Introduction :...2-1.2) Description :...3-1.2.1) Schéma :...3-1.3) Mise en place :...4-1.3.1) MAGENTO :...4-1.3.1.1) Les Web Services :...4-1.3.1.2)
Plus en détailChaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.
Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires. Il est important de savoir les identifier, de connaître
Plus en détailProjet Semestre2-1SISR
Table des matières 1 Ressources... 2 2 Récupération des sources Samba... 2 3 Préparation du serveur... 2 4 Vérification et Compilation de SAMBA4... 3 5 Préparation du controleur de domaine... 3 6 Test
Plus en détail"! "#$ $ $ ""! %#& """! '& ( ")! )*+
! "! "#$ $ $ ""! %#& """! '& ( ")! )*+ "! "#$ $ $ ""! %#& """! '& ( ")! )*+, ## $ *$-./ 0 - ## 1( $. - (/$ #,-".2 + -".234-5..'"6..6 $37 89-%:56.#&(#. +6$../.4. ;-37 /. .?.@A&.!)B
Plus en détailCréer et partager des fichiers
Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailInstitut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique
Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation
Plus en détailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détailLorsque vous êtes sur le portail de l E.N.T., il y a parmi les onglets un qui s intitule «Devoirs Maison Serveurs»
Lorsque vous êtes sur le portail de l E.N.T., il y a parmi les onglets un qui s intitule «Devoirs Maison Serveurs» Comme son nom l indique, il permet d avoir accès aux serveurs de l E.N.T., ce qui implique
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailPremiers pas en Linux
Premiers pas en Linux 1 Bref historique Linux Système d'exploitation créé en 1991. Par Linus Torvalds un étudiant nlandais. Développé et amélioré par des centaines de spécialistes dans le monde. Particularité
Plus en détail27/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étailLECTURE DES FICHIERS DE FACTURES
LECTURE DES FICHIERS DE FACTURES WINGS Software Flexible, efficace & minutieux 1. Généralités La comptabilisation de factures d achat et de vente peut être automatisée d'une manière simple. Wings propose
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détail[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows
Ce dossier a une forme un peu différente des précédentes : c est un ensemble de «fiches» décrivant chacune une des opérations que l on peut effectuer avec un fichier (enregistrer, renommer, etc.). Chaque
Plus en détailFEN FICHE EMPLOIS NUISANCES
Version 4.8.2 Date mise à jour : 19 Février 2013 Auteur : LAFUMA Gilles Email : glfm02@orange.fr Web : www.procarla.fr/soft Présentation : FEN FICHE EMPLOIS NUISANCES Le Logiciel FEN Fiche emploi nuisance
Plus en détail