Télécom Nancy Année
|
|
- Flavie Marier
- il y a 8 ans
- Total affichages :
Transcription
1 Télécom Nancy Année Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON Martin Promotion 2016
2 1
3 Remerciement Je tiens à remercier Monsieur Martin QUINSON, chef d'équipe d'algorille au Loria, pour son accueil au sein de son équipe ainsi que de son aide avec la PLM. Je remercie également Monsieur Gérald OSTER pour son aide. Je remercie également Monsieur Jean-François SCHEID de m'avoir autorisé à faire mon stage de première année au Loria. Pour nir je remercie les membres de l'équipe AlGorille pour m'avoir accueilli. 2
4 Table des matières 1 Introduction 4 2 L'application existante La PLM L'ajout du C Solution envisagée Mise en place d'un protocole Compilation à la volé Lancement du programme Organisation pratique des travaux Comprendre la PLM Mettre en place les commandes Création d'un client C Compilation à la volée Adapter les exercices Modier la documentation Vers un version nale Problèmes rencontrés et solutions apportées La séparation des commandes et de l'achage
5 1 Introduction Dans le cadre de ma première année a Télécom Nancy j'ai eu l'occasion de réaliser un stage de six semaines au Loria en tant que développeur. Ce stage avait pour but d'ajouter un langage de programmation à la PLM 1. La PLM pouvant déjà nous enseigner le Java, le Scala ou le python, il m'a été demandé d'ajouter le langage C qui est encore l'un des langages les plus utilisés et également enseigné à Télécom Nancy. La PLM est un programme écrit en Java et de ce fait, l'ajout du langage C se révèle problématique, car par rapport à Scala ou à un langage de script comme python, le C n'est pas compatible avec Java. J'ai dû trouver une solution pour allier le Java et le C dans ce programme. 1. Programmer's Learning Machine, dépôt git : https ://github.com/oster/plm 4
6 2 L'application existante 2.1 La PLM Le PLM est un programme simple d'utilisation permettant d'apprendre à programmer de façon ludique. Voici une image de la toute première leçon : 1. La première partie est un menu permettant de lancer son code, de voir une démo, de changer d'exercice ou de leçons, La deuxième contient la leçon ou le code utilisateur. C'est cette leçon que l'utilisateur va devoir lire pour pouvoir coder. 3. La troisième partie représente le monde dans lequel on se trouve. Ici le monde des termites où on peut voir la carte et en dessous, des commandes pour pouvoir contrôler les termites avant de vouloir coder, cela permet de se familiariser avec le monde. 4. La quatrième partie est une console, les messages d'erreurs s'acheront dedans pour dire à l'utilisateur ce qui ne fonctionne pas dans son code. Elle permet également d'acher ce que l'utilisateur voudra, comme le contenu d'une variable par exemple Cette image représente le monde des buggles, mais il existe également d'autres mondes comme le monde de la tortue ou le monde des tris. Le code que l'utilisateur écrit dans la partie de gauche sera exécutée et interagira avec la partie de droite en déplaçant le buggle par exemple. Le but de l'exercice étant de faire faire au buggle ce que la leçon demande. 5
7 2.2 L'ajout du C La PLM étant écrite en Java, l'ajout du Scala et du Python fut rapide et simple. En eet Scala est très proche de Java, car il exécute également dans la JVM et pour python, il existe un interpréteur de script qui permet de l'exécuter dans la JVM 2. En revanche pour ce qui est du langage C, il existe une librairie capable d'interfacer du C et du Java qui est JNI 3 mais celle-ci peut ce révéler dangereuse pour la PLM. En eet si le code C de l'utilisateur provoque une erreur de segmentation (accès à une case mémoire interdite) alors la PLM sera tué par le système d'exploitation. Nous allons voir comment j'ai fait pour que le C puisse interagir avec le Java. 2. Java Virtual Machine : machine virtuelle Java 3. Java Native Interface 6
8 3 Solution envisagée Pour parer cette incompatibilité entre Java et C je me suis inspiré d'un projet de RS créé par Martin Quinson (en ). Ce projet avait pour but de créer une PLM simpliée en C, en gérant la communication entre plusieurs thread, via des tubes. Pour résumer le principe de fonctionnement, l'utilisateur va écrire du code qui va être récupéré pour être compilé. Une fois le code compilé, la PLM va le lancer et écouter via des tubes ce que demande le programme C, celui-ci enverra des commandes sous forme de numéro pour interagir avec le monde sélectionné. Une fois que le programme C aura terminé son exécution, la PLM reprendra la main et vériera la validité de ce que l'utilisateur a fait. 3.1 Mise en place d'un protocole Ce protocole mis en place entre le code élève et la PLM est ligne à ligne. Chaque ligne correspond à une commande et suit la syntaxe suivante. Elle est composée d'un nombre a trois chires, d'une liste d'arguments et du nom de la commande pour faciliter de débogage. Prenons un exemple : les buggles peuvent avancer à l'aide d'une fonction avance(nb), cette fonction dit au buggle d'avancer de nb cases. Si nb vaut 4, le code de cette commande sera "113 4 avance", la PLM saura alors que 113 correspond à l'avancement du buggle et que l'argument derrière, ici 4, dira le nombre de pas à faire. D'autres fonctions renvoient un résultat, par exemple la fonction estfaceunmur() renvoie 1 si le buggle est face à un mur, 0 sinon. Elle écrit tout simplement 0 ou 1 dans la ligne et l'envoie aussitôt. 3.2 Compilation à la volé L'une des dicultés spéciques au langage C est que le code doit être compilé sur l'architecture de la machine où il s'exécutera. De plus le compilateur C s'exécute en dehors de la JVM contrairement au compilateur Java ou Scala y est intégré. De ce fait, le code C est compilé à chaque fois à la volée, pour ce faire la PLM devra un appel système pour lancer gcc 4 an de compiler le code. C'est également elle qui dira à gcc ce qu'il faut compiler et où ça se trouve. 4. GNU Compiler Collection : Permet de compiler du code C ainsi que d'autres langages 7
9 3.3 Lancement du programme Tout comme avec gcc, le programme créé va être lancé par un appel système, cet appel permet notamment de relier la PLM et le programme C par trois tubes sont : Un tube "entrée standard" (stdin) qui permet d'envoyer au programme C des commandes, par défaut il s'agit du clavier. Un tube "sortie standard" (stdout) qui permet de récupérer ce que le programme C va écrire par le biais de printf notamment. Par défaut il s'agit de l'écran. Un tube "sortie d'erreur" (stderr) qui permet de récupérer les erreurs du programme C, par exemple quand il y a une division par zéro ou une erreur de segmentation. Ici ces trois tubes sont récupérés par la PLM, c'est elle qui va faire oce d'écran et de clavier pour échanger avec le programme C. 8
10 4 Organisation pratique des travaux 4.1 Comprendre la PLM La première étape de ce stage a été de comprendre le fonctionnement de la PLM. En eet il s'agit d'un programme assez conséquent que je n'ai pas l'habitude de traiter. Avec l'aide de Martin Quinson et de Gérald Oster j'ai pu très vite commencer mon sujet. 4.2 Mettre en place les commandes La deuxième étape a consisté en l'ajout une méthode permettant de comprendre des commandes comme décrit précédemment. Pour cela j'ai dû regarder le schéma de classe de la PLM an d'y voir une séquence d'exécution. De ce schéma j'ai pu en déduire que je devait ajouter une méthode dans la classe Entity an que cette entité puisse communiquer avec un programme extérieur à Java. Cette méthode, que j'ai appelé "command" est hérité dans toutes les sous classe, ce qui oblige à l'implémenter lorsqu'une nouvelle entité va être créée lors de l'ajout d'un type de monde par exemple. Une fois cette méthode ajoutée, des tests ont été fait sur son fonctionnement avec de simples scripts shell qui envoyaient des commandes. Ces commandes ont été écrites en dur pour chaque cas diérents. 4.3 Création d'un client C Une fois ces tests nis, j'ai réalisé un client C, c'est-à-dire le programme qui contient les mêmes fonctions que la PLM pour un monde donné. Par exemple pour les buggles, il y a les fonctions avance, recule, droite, gauche, demitour, etc. L'utilisateur appelle donc ces fonctions depuis le client. C'est ce client qui va envoyer la commande comme expliqué précédemment et c'est donc la méthode "command" qui intercepte la commande. Pour chaque monde il y a un client qui lui est très spécique, car les mondes n'orent pas les mêmes fonctions. Une fois le client créé, je l'ai compilé à la main pour que la PLM puisse le lancer. Des tests ont également été faits lors de cette étape an de vérier que les informations passent bien de part et d'autre entre la PLM et le client. 4.4 Compilation à la volée Ensuite, une fois les tests passés, j'ai implémenté la partie permettant à la PLM de compiler le programme C directement. Pour cela il faut faire un 9
11 appel système en demandant l'exécution de gcc. Le programme compilé est mis dans un dossier temporaire. Il est supprimé et recréé a chaque lancement de compilation par l'utilisateur. 4.5 Adapter les exercices A cette étape, la PLM est autonome pour la compilation et lancement de programme C, mais les diérentes leçons devaient êtres adaptées en C avant de pouvoir les utiliser. Cette partie fut assez longue, car il y a beaucoup de leçons et certaines étant plus compliquées, j'ai dû faire appel à certaines astuces pour pouvoir transformer le code Java en C. De plus pour chaque exercice je devais tester pour vérier son fonctionnement ainsi que la conformité avec la solution développé en Java. 4.6 Modier la documentation Pour chaque exercice il y a un énoncé décrivant ce que l'utilisateur doit faire, cet énoncé expliquant le fonctionnement des langages, j'ai dû les modier pour qu'ils s'adaptent au C. Pour cela, il y a un éditeur de leçon dans la PLM qui permet de modier les énoncés ainsi que les diérentes fonctions disponibles pour le monde. Après avoir modié les expressions régulières de cet éditeur j'ai pu faire la modication de tous les énoncés de la PLM. 4.7 Vers un version nale A partir de ce moment, la PLM est fonctionnelle pour l'apprentissage du C. Elle permet de compiler et de lancer le code d'un utilisateur et également de lui indiquer les fonctions. Mais il reste quelques petits problèmes qu'il conviendrait de corriger an que la PLM soit la plus stable et sécurisée possible. 10
12 5 Problèmes rencontrés et solutions apportées 5.1 La séparation des commandes et de l'achage Au début, le seul moyen pour le programme C de communiquer était les printf. Cette fonction permet d'acher à l'écran ce que l'utilisateur veut acher (comme du texte ou la valeur de variables ). Cette fonction écrit par défaut dans la sortie standard du système qui est récupérée par le Java. Le problème est que si l'utilisateur fait un printf contenant une commande (par exemple "113 4 avance") cela va déclancher une commande indésirée. Pour cela il faut séparer les commandes des achages de l'utilisateur en les faisant passer dans deux tubes diérents. Pour les commandes, c'est toujours dans stdout, mais pour les printf on crée un chier dans lequel le programme C écrit ce que l'utilisateur demande à acher sur l'écran. Un chier est utilisé car il semble impossible d'ouvrir un tube de plus en C pour communiquer avec le Java. De ce fait la sortie standard est séparé des commandes et l'utilisateur ne pourra pas interagir avec la partie qui gère les commandes. 11
13 Conclusion sur ce stage Ce que j'ai appris Durant ce stage j'ai pu perfectionner mon niveau en Java ainsi qu'en C notamment sur l'interaction entre eux. J'ai également découvert la façon dont on peut participer à un projet libre en proposant des améliorations au créateur du logiciel. J'ai également découvert la vie à l'intérieur d'un laboratoire ce qui m'intéresse si je veux continuer dans cette voie après Télécom Nancy. Ce qu'il reste a faire sur la PLM N'ayant pas pu faire tout ce que je pouvais faire, il reste du travail à fournir sur la PLM. L'éditeur de leçons pourrait utiliser le scala pour parser de manière plus complète les leçons. D'autres langages peuvent également y être intégrés. Et on peut même envisager une interface web an d'utiliser la PLM depuis n'importe quel navigateur. 12
14 Figure 1 Vue d'ensemble Figure 2 Détails des communications 13
TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
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étailProjet de Veille Technologique
Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...
Plus en détailRef : Résolution problème d'accès aux supports de cours
PLATE FORME e-learning LLMS Pôle national de compétences FOAD (Formation Ouverte et A Distance) Ref : Résolution problème d'accès Pôle compétences FOAD SIGAT http://foad.ac-toulouse.fr/ Page 2 SOMMAIRE
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étailAnnexe : La Programmation Informatique
GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de
Plus en détailP3PC-3772-01FRZ0. ScanSnap N1800 Scanner pour réseau Guide d utilisation de l'addiciel pour Google Documents
P3PC-3772-01FRZ0 ScanSnap N1800 Scanner pour réseau Guide d utilisation de l'addiciel pour Google Documents Table des matières Introduction... 4 À propos de ce guide... 4 Consulter les rubriques d'aide...
Plus en détailJava 7 Les fondamentaux du langage Java
184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque
Plus en détailAteliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?
Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi? par X. HINAULT www.mon-club-elec.fr Tous droits réservés 2013. Document gratuit. Ce support
Plus en détailAteliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!
Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows! par X. HINAULT www.mon-club-elec.fr Tous droits réservés 2013. Document gratuit. Ce support PDF d'atelier
Plus en détailPetit guide à l'usage des profs pour la rédaction de pages pour le site Drupal du département
Petit guide à l'usage des profs pour la rédaction de pages pour le site Drupal du département Le nouveau site du département Le nouveau site du département est situé, comme l'ancien à l'adresse suivante
Plus en détailRaja Bases de données distribuées A Lire - Tutoriel
Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys
Plus en détailAuteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA
Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2
Plus en détailSOUTIEN INFORMATIQUE DEP 5229
SOUTIEN INFORMATIQUE DEP 5229 Le Diplôme d études professionnelles D.E.P. en soutien informatique a une durée totale de 1800 heures à temps plein. Le programme permet de développer les compétences nécessaires
Plus en détail2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE
2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance
Plus en détailJAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.
Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins
Plus en détail1 TD 2 : Construction d'une chier Acrobat et envoi par email
1 TD 2 : Construction d'une chier Acrobat et envoi par email (correction page??) Un professeur de maths a instauré une coutume lors de la dernière séance de la semaine. Le vendredi est consacré à la correction
Plus en détailAdministration du site (Back Office)
Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface
Plus en détailManuel d Utilisateur - Logiciel ModAFi. Jonathan ANJOU - Maud EYZAT - Kévin NAVARRO
Manuel d Utilisateur - Logiciel ModAFi Jonathan ANJOU - Maud EYZAT - Kévin NAVARRO Grenoble, 12 juin 2012 Table des matières 1 Introduction 3 2 Modèles supportés 3 2.1 Les diérents modèles supportés pour
Plus en détailSweetyPix, mode d'emploi
Université de Nice Sophia-Antipolis Master 1 STIC Informatique SweetyPix, mode d'emploi Edouard Jan Mendher Merzoug Anne-Laure Radigois Amaury Tinard 2005-2006 Université de Nice Sophia-Antipolis Master
Plus en détailLivre Blanc WebSphere Transcoding Publisher
Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,
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étailNovell. ifolder. www.novell.com. Lisezmoi
Novell ifolder www.novell.com Lisezmoi Notices légales Novell exclut toute garantie relative au contenu ou à l'utilisation de cette documentation. En particulier, Novell ne garantit pas que cette documentation
Plus en détailFORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
Plus en détailPFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %
PFE Télécommunications Pré-rapport à l'issue des 6 premières semaines de stage!"!"#$%&' ()*()!")+")# (#),()-,)*)"-./0 1 ()*()!")+-)# % 23 &0 )14) 56 7$8797%77:7' '72 Page 1 sur 5 Contexte Les centres de
Plus en détailManuel de l'utilisateur d'intego VirusBarrier Express et VirusBarrier Plus
Manuel de l'utilisateur d'intego VirusBarrier Express et VirusBarrier Plus Bienvenue dans le manuel de l'utilisateur d'intego VirusBarrier Express et VirusBarrier Plus. VirusBarrier Express est un outil
Plus en détailVous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.
MAIL > configuration de mozilla thunderbird > SOMMAIRE Qu'est ce que Thunderbird? Téléchargement du logiciel Thunderbird Configuration Installation d'un compte POP Installation d'un compte IMAP En cas
Plus en détailServeur de travail collaboratif Michaël Hoste -
Serveur de travail collaboratif Michaël Hoste - Table des matières 1. Qu'est ce qu'un serveur de travail collaboratif?...2 2. Pourquoi ce projet?...2 3. Possibilités d'utilisation dans le cadre de l'université...3
Plus en détailGuide de l'utilisateur
BlackBerry Internet Service Version: 4.5.1 Guide de l'utilisateur Publié : 2014-01-08 SWD-20140108170135662 Table des matières 1 Mise en route...7 À propos des formules d'abonnement pour BlackBerry Internet
Plus en détailAnnée : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM Rahma NAKARA Philippe NGUYEN
Projet de Fin d'étude Rapport de gestion de projet Recherche de méthode d'estimation de volume de production à risque Équipe 5e me Année : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM
Plus en détailVM Card. Manuel des paramètres des fonctions étendues pour le Web. Manuel utilisateur
VM Card Manuel utilisateur Manuel des paramètres des fonctions étendues pour le Web 1 Introduction 2 Écrans 3 Paramètres de démarrage 4 Info fonctions avancées 5 Installer 6 Désinstaller 7 Outils administrateur
Plus en détailComment congurer WinEdt pour L A TEX?
Comment congurer WinEdt pour L A TEX? Christophe BONTEMPS 12 décembre 2001 Abstract: Cette note se veut un guide pratique post-installation de l'éditeur WinEdt, dans le but d'utiliser LATEX. En particulier
Plus en détailTD/TP 1 Introduction au SDK d Android
TD/TP 1 Introduction au SDK d Android Romain Raveaux 1 Introduction Android est un système d'exploitation pour téléphone portable de nouvelle génération développé par Google. Celui-ci met à disposition
Plus en détailLES TOUT PREMIERS PAS
DESMODO, un logiciel de gestion d idées http://www.desmodo.net/ LES TOUT PREMIERS PAS Desmodo est un logiciel (libre) qui permet, entre autre, de visualiser et de synthétiser, de manière organisée, sous
Plus en détailRappel. 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étailPrésentation d'un MOM open-source
Présentation d'un MOM open-source Saber Dir - Victor Laborie - Guillaume Penaud Licence ASRALL 25 mars 2015 Middleware Orientés Message 25 mars 2015 1 / 29 Sommaire 1 Introduction 2 Etat de l'art 3 Maquette
Plus en détailSommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et
Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...
Plus en détailFAQ Trouvez des solutions aux problématiques techniques.
FAQ Trouvez des solutions aux problématiques techniques. 1. Au lieu des livres numériques dont je m'attendais, j'ai téléchargé un fichier qui s'intitule «urllink.acsm». Où est le livre numérique? 2. Comment
Plus en détailÉléments d'architecture des ordinateurs
Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailCINEMATIQUE DE FICHIERS
ANDRE ANTHONY BRUNEAU Vincent JOUANNIN ROMAIN MAZEAUD MARINE RIOCHET Tony Groupe 609 CINEMATIQUE DE FICHIERS Mini-projet: Gestion de Ventes d'articles Enseignant: MONCEAUX Laura Année 2011 / 2012 TABLE
Plus en détailBase de Connaissances
Base de Connaissances La section Base de Connaissances fournit des réponses aux questions qui se posent le plus couramment lors de l'utilisation de DevInfo 7. Cliquez sur une catégorie ci- dessous pour
Plus en détailClient Kiwi Backup : procédures d'installation et de mise à jour. Gilles Arnoult, Clément Varaldi
Client Kiwi Backup : procédures d'installation et de mise à jour Gilles Arnoult, Clément Varaldi 10 juin 2005 Première partie Installation du client Kiwi Backup 1 Chapitre 1 Sous Windows 1.1 Avant toutes
Plus en détailCRÉER DES LEÇONS AVEC L'ÉDITEUR DU LOGICIEL 1000 MOTS POUR APPRENDRE À LIRE EN FRANÇAIS, ANGLAIS ET ALLEMAND
93 CRÉER DES LEÇONS AVEC L'ÉDITEUR DU LOGICIEL 1000 MOTS POUR APPRENDRE À LIRE EN FRANÇAIS, ANGLAIS ET ALLEMAND 1 - LE LOGICIEL 1000 MOTS 1000 mots est un logiciel destiné aux classes du cycle II en France
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étailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détail1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5
1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en
Plus en détailContrat d'assistance Technique PyKota entre :
Conseil Internet & Logiciels Libres Jérôme Alet 48 Avenue Vincent Arnaud 06300 Nice France Téléphone : +33 (0) 493 271 298 Web : http://www.pykota.com Email : alet@librelogiciel.com SIRET : 433 032 570
Plus en détailTutoriel d'utilisation du logiciel Thunderbird version 2.0
Tutoriel d'utilisation du logiciel Thunderbird version 2.0 par Estyaah Tutoriel sur l'utilisation de Thunderbird 2.0 pour Windows Estyaah -1- Introduction 1 Présentation 2 Utilisation Basique 2-1 - Installation
Plus en détailGuide de l informatique Le courrier électronique
Guide de l informatique Le courrier électronique Le courrier électronique - également appelé email ou courriel - occupe désormais une place importante dans la vie de beaucoup d'internautes. Se créer une
Plus en détailLivre blanc Mesure des performances sous Windows Embedded Standard 7
Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...
Plus en détailChapitre 4 Pierre, papier, ciseaux
Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements
Plus en détailLe Framework.Net. Introduction. Pourquoi.Net?
Introduction. Pourquoi.Net? Le Framework.Net Cela fait une dizaine d'années que le monde du développement est bouleversé d'une part par la programmation objet et d'autre part par les applications web.
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étailLes messages d erreur d'applidis Client
Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de
Plus en détailJexcel. V1.1.4 Manuel d'utilisation. modifié le 16 nov. 2004
Jexcel V1.1.4 Manuel d'utilisation modifié le 16 nov. 2004 Où trouver cette documentation : http://adullact.net/docman/?group_id=125 Page du projet : http://adullact.net/projects/jexcel/ Evolutions : Cette
Plus en détailTP 1 : 1 Calculs en binaire, octal et hexadécimal
Univ. Lille 1 - Licence Informatique 2ème année 2013-14 Objectifs du TP Ce TP a pour but Codage de l'information TP 1 : 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats
Plus en détailDébuter avec OOo Base
Open Office.org Cyril Beaussier Débuter avec OOo Base Version 1.0.7 Novembre 2005 COPYRIGHT ET DROIT DE REPRODUCTION Ce support est libre de droit pour une utilisation dans un cadre privé ou non commercial.
Plus en détailCréation d'un questionnaire (sondage)
Création d'un questionnaire (sondage) Le but de ce petit tuto est d'avoir les séquences pas à pas pour la création d'un questionnaire de façon à ne pas devoir rechercher la manière de procéder si l'outil
Plus en détailMOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006
MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4
Plus en détailSysteme 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étailWindows 8 Installation et configuration
Editions ENI Windows 8 Installation et configuration Collection Ressources Informatiques Extrait 112 Windows 8 Installation et configuration Pour terminer l'application de l'image, nous devons configurer
Plus en détailet Groupe Eyrolles, 2006, ISBN : 2-212-11747-7
Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,
Plus en détailRetrospect 7.7 Addendum au Guide d'utilisation
Retrospect 7.7 Addendum au Guide d'utilisation 2011 Retrospect, Inc. Certaines parties 1989-2010 EMC Corporation. Tous droits réservés. Guide d utilisation d Retrospect 7.7, première édition. L utilisation
Plus en détailPré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étail1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j ))
La logique oue dans les PME/PMI Application au dosage de l'eau dans les bétons P.Y. Glorennec INSA de Rennes/IRISA glorenne@irisa.fr C. Hérault Hydrostop christophe@hydrostop.fr V. Hulin Hydrostop vincent@hydrostop.fr
Plus en détailhttp://www.jdl68160.com/informatique/yawcam.htm
Date de publication: le 11/05/2013 Date de modification le : 19/05/2013-20:45 Edition de la version PDF le 20/05/2013 Yawcam est un petit logiciel gratuit, mais très complet, permettant de diffuser/d'enregistrer
Plus en détailConduite et Gestion de Projet - Cahier des charges
Conduite et Gestion de Projet - Cahier des charges 1 Introduction Sophie Toulouse LIPN - Université Paris 13 +33.1.49.40.40.73 99 av. Jean-Baptiste Clément toulouse@lipn.univ-paris13.fr 93430 Villetaneuse
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailDossier. Développer en Java sur téléphone mobile. Benjamin Damécourt benjamin.damecourt@me.com. UFR SITEC Master 2 EESC 11 janvier 2012
Dossier Développer en Java sur téléphone mobile Benjamin Damécourt benjamin.damecourt@me.com UFR SITEC Master 2 EESC 11 janvier 2012 Table des matières Introduction 2 Pré-requis 3 Hello World! 5 Installation
Plus en détailConditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.
Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide
Plus en détailDossier projet isn 2015 par Victor Gregoire
Dossier projet isn 2015 par Victor Gregoire Plan: I) But du projet: créer un jeu de blackjack fonctionnel et le poster sur une page web mise en ligne. Le jeu sera developpé en C++ a l'aide de code blocks.
Plus en détailJava c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
Plus en détailJava pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Plus en détailRapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources
Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils
Plus en détailProgrammation système I Les entrées/sorties
Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les
Plus en détailENSIAS Rapport De Stage BPCS. Rapport de stage. Encadré par : MAREQUAZ Saâd. Réalisé par : Pratic Abdellah
Rapport de stage Réalisé par : Pratic Abdellah Encadré par : MAREQUAZ Saâd Année universitaire : 2005-2006 1 3.1. Java Java est à la fois un langage de programmation et une plateforme d'exécution [7].
Plus en détailUtiliser CHAMILO pour le travail collaboratif
1/5 TP utiliser CHAMILO pour le travail collaboratif Chamilo 1.8 Utiliser CHAMILO pour le travail collaboratif 1. Qu'est ce que CHAMILO? Chamilo est une plate-forme d apprentissage à distance offrant une
Plus en détailRapport de Stage Christopher Chedeau 2 au 26 Juin 2009
Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies
Plus en détailDessiner dans Galaad FRANÇOIS PALLUT
Dessiner dans Galaad FRANÇOIS PALLUT Paternité - Pas d'utilisation Commerciale - Pas de Modification : http://creativecommons.org/licenses/by-nc-nd/2.0/fr/ Table des matières Objectifs 5 Introduction 7
Plus en détailAnnée Universitaire 2009/2010 Session 2 de Printemps
Année Universitaire 2009/2010 Session 2 de Printemps DISVE Licence PARCOURS : CSB4 & CSB6 UE : INF 159, Bases de données Épreuve : INF 159 EX Date : Mardi 22 juin 2010 Heure : 8 heures 30 Durée : 1 heure
Plus en détailMicrosoft Application Center Test
Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou
Plus en détailGuide de démarrage rapide
Guide de démarrage rapide 2006 AWSG Limited. Tous droits réservés. Enfocus PitStop Automate 1.0 Guide de démarrage rapide Enfocus est une marque d'artwork Systems. Certified PDF est une marque déposée
Plus en détailRaspberry pi : Développer une petite application web sur Raspberry
Raspberry pi : Développer une petite application web sur Raspberry Introduction Le Raspberry Pi est un nano-ordinateur basé sur une architecture ARM (conçu par David Braden) qui permet l'exécution de plusieurs
Plus en détailTraitement de texte : Quelques rappels de quelques notions de base
Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui
Plus en détailclaroline classroom online
de la plate-forme libre d'apprentissage en ligne Claroline 1.4 Manuel Révision du manuel: 06/2003 Créé le 07/09/2003 12:02 Page 1 Table des matières 1) INTRODUCTION...3 2) AFFICHER LA PAGE DE DEMARRAGE...3
Plus en détail(Fig. 1 :assistant connexion Internet)
MAIL > configuration de OUTLOOK EXPRESS > SOMMAIRE Qu'est ce que Outlook Express? Configuration Installation d'un compte POP Installation d'un compte IMAP Configuration du serveur SMTP En cas de problème
Plus en détailSimple Database Monitoring - SDBM Guide de l'usager
- SDBM Version 0.01 (2011/07/05) Tables des matières Simple Database Monitoring - SDBM.1.1 Tables des matières2 Architecture3 Installation..4 Installation sur Linux (image virtuelle pré-configuré)..4 Changement
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étailGuide d'installation
1/7 The-Excalibur.com The Excalibur "hors ligne" : La poker-clock sans connection Internet Guide d'installation 2/7 Sommaire 1 Important... 3 2 Présentation... 3 3 Pré-requis... 3 4 Installation du serveur
Plus en détailSystèmes d'exploitation virtuels
Systèmes d'exploitation virtuels Introduction Tout d'abord, je tiens à vous faire savoir que ce tutoriel est plutôt destiné à ceux qui sont intéressés par les nouveautés informatiques et aiment sortir
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
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étailHemoMap v1.0. 1. Utilisation de l'application sur smartphone Android
HemoMap v1.0 Tristan Colombo HemoMap est une application Web accessible depuis n'importe quel navigateur à l'adresse http://services.info2dev.com/hemomap. Elle est également
Plus en détailService de certificat
Service de certificat Table des matières 1 Introduction...2 2 Mise en place d une autorité de certification...3 2.1 Introduction...3 2.2 Installer le service de certificat...4 3 Sécuriser un site web avec
Plus en détailOutil de gestion et de suivi des projets
Outil de gestion et de suivi des projets Proposition technique et commerciale Amselem Jonathan - Corniglion Benoit - Sorine Olivier Troche Mariela - Zekri Sarah 08 Sommaire I. Les atouts de la proposition
Plus en détailQu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
Plus en détail