Clément MILVILLE / Edouard SIMON. Projet CodeWar. Enseignant tuteur: Michaël Hauspie 1/17

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

Download "Clément MILVILLE / Edouard SIMON. Projet CodeWar. Enseignant tuteur: Michaël Hauspie 1/17"

Transcription

1 Projet CodeWar Enseignant tuteur: Michaël Hauspie 1/17

2 2/17

3 Remerciements: Nous tenons à remercier tout particulièrement notre tuteur M. Michaël HAUSPIE pour son aide, ses conseils, ses avis et sa disponibilité tout au long de la réalisation de ce projet. Merci également à notre ami Google et aux différents sites de développements qui nous ont permis de trouver de nombreuses informations précieuses ont développement de notre projet. 3/17

4 Résumé Codewar est un jeu dont le principe est de faire se battre des processeurs les uns contre les autres. Le but de notre projet est donc de créer un jeu de ce type en C++, pour cela nous avons développé un émulateur de processeur capable de traiter des instructions en langage assembleur. 4/17

5 Table des matières Introduction... 6 I. Présentation du projet... 7 A. CodeWar... 7 B. Intérêts du projet... 8 C. Structuration du projet...9 II. Réalisation du projet A. Classe Processeur...10 B. Classe Instruction...11 C. Exécution...12 III. Bilan A. Difficultés rencontrées...13 B. Améliorations possibles C. Bilan personnel...15 Conclusion Glossaire /17

6 Introduction Pendant notre quatrième et dernier semestre de D.U.T Informatique, nous avons eu à mener à bien un projet tuteuré afin de mettre en pratique nos connaissances et nos compétences en développement. Le principe de notre projet est de développer un émulateur de processeur exécutant les instructions assembleurs à partir d'un fichier binaire en vue de créer un jeu dans lequel des processeurs pourraient se confronter. Pour réaliser ce projet nous avons eu à structurer correctement notre code pour pouvoir travailler plus facilement et surtout plus «proprement». Introduction 6/17

7 I. Présentation du projet A. CodeWar Le jeu CodeWar est un jeu bien connu des développeurs et autres «geeks», son principe est de mettre en conflit des processeurs placés dans un tableau d'une taille de 16 par 16 cases. Ces 256 processeurs vont donc devoir s'affronter avec pour but d'occuper un maximum de mémoire en un minimum de temps. Pour cela chaque processeur peut exécuter des instructions qui adressent la mémoire de leurs adversaires. Le développement d'un jeu comme celui ci aurait été trop long, c'est pourquoi notre projet ne portait pas sur le jeu en son intégralité mais uniquement sur la création d'un simulateur de processeur capable d'exécuter des instructions assembleurs contenues dans un fichier binaire. Nous avons donc développer cet émulateur de processeur en langage C++, le langage devant être interpréter par le processeur est de l'assembleur comme celui utilisé par les architectures processeurs semblables à celle du Motorola mais simplifiées. I. Présentation du projet 7/17

8 B. Intérêts du projet Ce projet n'était pas le plus facile parmis ceux qui nous ont été proposé dans le cadre des projets tuteurés, cependant il nous à semblé intéressant de comprendre plus précisément le fonctionnement d'un processeur et son architecture. Au début de notre quatrième et dernier semestre, nous n'avions pas encore travailler en C++, nous avons donc du apprendre ce langage afin de pouvoir effectuer ce projet. Grâce à nos connaissances en langage C et en programmation objet, l'apprentissage de ce langage se fit assez rapidement durant les heures de TD et de TP. Pour réaliser ce projet, il nous a également fallu comprendre le principe de fonctionnement d'un processeur dans son intégralité, puisque nous allions devoir reproduire ce mode de fonctionnement. I. Présentation du projet 8/17

9 C. Structuration du projet Afin de faciliter la réalisation de notre projet, nous avons commenceé par structurer notre programme en deux classes différentes: la classe Processeur, contenant toutes les méthodes permettant aux processeurs d'exécuter des instructions, et la classe Instruction qui contient tout le code permettant d'interpréter des instructions assembleur afin de les rendre compatible avec notre processeur. Chacune de ses classes est composée de deux fichiers: un fichier.h et un fichier.cpp; le fichier.h contenant toutes les déclarations de méthodes et de variables, et le fichier.cpp contenant tous les algorithmes de traitement. Vous trouverez dans la partie suivante une explication détaillée du rôle de chacune de ses deux classes. I. Présentation du projet 9/17

10 II. Réalisation du projet A. Classe Processeur La classe Processeur comporte le code permettant d'exécuter les instructions assembleur. Cette classe contient la déclaration de deux tableaux: un de 8 short représentant le registre du processeur et un second de 256 char, permettant de simuler la mémoire vive. Nous déclarons également une variable de type short, nommée opcode permettant de stocker le code représentant les instructions à exécuter. En ce qui concerne les méthodes de la classe Processeur, les plus importantes sont: -getopcode: permet de récupérer l'opcode en allant le chercher dans la mémoire vive. -ExecuterCycle: permet d'effectuer toutes les actions contenues dans une instruction. -lirefichier: se charge d'ouvrir le fichier binaire contenant les instructions et de stocker son contenu dans la mémoire du processeur. Ces méthodes sont déclarées dans le fichier Processeur.h et sont implémentées dans le fichier Processeur.cpp II. Réalisation du projet 10/17

11 B. Classe Instruction La classe Instruction comporte les différents codes source effectuant le traitement nécessaire à chaque instructions. Elle possède deux méthodes virtuelles: -La méthode execute qui prend en paramètre un opcode et un processeur. -La méthode décoder qui va permettre de décoder l'opcode afin de le rendre «lisible» par le processeur. La classe Instruction possède également ses propres classes permettant de différencier les instructions en fonction de leur nombre d'opérandes; il s'agit des classes ZeroOperande, UnOperande et DeuxOperande. Chacune des instructions héritera de ces méthodes suivant le nombre de paramètres dont celles-ci ont besoin. II. Réalisation du projet 11/17

12 C. Exécution L'exécution du programme se fait dans le «Main» de la classe Processeur. Cette exécution se fait en plusieurs étapes: Premièrement on créé un nouveau processeur en faisant appel à son constructeur puis on ouvre le fichier binaire passé en paramètre lors de l'appel du programme (à défaut un fichier binaire placé dans le répertoire du projet), cette lecture se fait grâce à la méthode LireFichier de la classe Processeur. Ensuite, pour un nombre de cycles définis préalablement, on appelle la méthode ExecuterCycle afin qu'elle exécute les instructions lues dans le fichier binaire, afin de vérifier si l'exécution s'est bien déroulée, on affiche l'état du registre et de la mémoire après chaque exécution. II. Réalisation du projet 12/17

13 III. Bilan A. Difficultés rencontrées La réalisation de ce projet ne s'est pas faites très facilement. Effectivement, nous avons eu à faire à de nombreux questionnements et de nombreux problèmes. Tout d'abord, nous avons eu du mal à trouver une bonne façon de structurer nos fichiers, nous nous sommes demandés s'il fallait créer une classe par instruction ou si il fallait toutes les mettre dans une seule et même classe. Puis nous avons eu des problèmes afin de choisir nos méthodes dans le but d'éviter de recopier le même code plusieurs fois, l'utilisation de méthodes virtuelles nous a aidé à résoudre ce problème! La prise en compte des flags fut également très difficile, c'est pourquoi nous avons préféré les mettre de côté, cependant nous avons essayé d'arranger le programme pour qu'il fonctionne au mieux sans ceux-ci. III. Bilan 13/17

14 B. Améliorations possibles Notre programme est fonctionnel mais il lui manque quelques instructions importantes comme par exemple le MOVE que nous avons essayé d'implémenter mais son exécution ne fonctionne malheureusement pas! Une meilleure prise en charge des FLAGS et du registre d'état serait également nécessaires à l'amélioration de notre programme puisque sans ceux-ci le processeur ne peut pas fonctionner correctement. Enfin, si nous prenons le sujet de départ, il manque encore beaucoup de chose afin de créer un véritable «jeu»; nous avons créé un modèle de joueur mais toutes les règles et stratégies ainsi que le plateau ne sont pas réalisées! III. Bilan 14/17

15 C. Bilan personnel Grâce à ce projet nous avons pu acquérir de solides bases en langage C++; d'un point de vue structuration des fichiers mais également d'un point de vue objet puisque la différence majeure entre le langage C que nous connaissions déjà et le C++ et le côté objet. Nous avons eu beaucoup de mal à trouver un point de départ pour notre projet, mais une fois celui-ci trouver nous avons pu progresser avec plaisir et comprendre au fur et à mesure le fonctionnement d'un microprocesseur. Ce projet nous a donc permis de comprendre avec précision comment fonctionne un microprocesseur, connaissances non négligeables quand on est développeur. Nous regrettons cependant le manque de temps puisque nous aurions voulu mettre en place la stratégie de jeu afin de réaliser un vrai CodeWar. III. Bilan 15/17

16 Conclusion L'élaboration de ce projet nous a permis de mettre en pratique nos connaissances et compétences en développement mais également d'apprendre à organiser notre travail pour rendre efficace le travail en groupe. L'objectif de départ n'est pas atteint mais notre travail est un bon début en vue de la réalisation d'un vrai jeu. 16/17

17 Glossaire Emulateur: Dans les domaines de l'informatique et de l'électronique, le terme émulation est employé au sens de simulation et d'imitation (acception du mot influencé par les termes anglais emulation et emulator). Plus précisément ce terme décrit un principe général consistant à remplacer un système par un autre sans changement du fonctionnement d'un point de vue externe. On peut aussi utiliser le terme de simulation. Le recours à un émulateur selon le contexte permet de faciliter le développement ou le déboguage d'un système ou de remplacer un système obsolète ou inutilisable par un autre. Dans ce cadre, il est possible de faire fonctionner le nouveau système, l'émulateur, de la même manière que le système simulé. Motorola : Apparu en 1979, le Motorola est un microprocesseur CISC 16/32 bits développé par Motorola. C'est le premier de la famille de microprocesseurs souvent appelée m68k ou 680x0, qui comprend notamment les microprocesseurs Motorola 68010, Motorola 68020, Motorola 68030, Motorola et Motorola Le nom du vient à la fois de la continuité avec la famille de microprocesseurs Motorola 6800 et du nombre de transistors qu'il contient, un peu plus de Glossaire 17/17

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

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

Plus en détail

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java Sylvain Archenault Yves Houpert Projet Informatique : Langage Java : Jeu De Dames en Java Projet GM3 Mai 2005 Chapitre 1 INTRODUCTION Le projet qui nous a été confié est de réaliser un jeu de dames en

Plus en détail

Apprendre la dichotomie avec Colobot

Apprendre la dichotomie avec Colobot Apprendre la dichotomie avec Colobot CHABALIER Nicolas MONCEL Arnaud Année Universitaire 2014 2015 1 Apprendre la dichotomie avec Colobot Présenté par CHABALIER Nicolas et MONCEL Arnaud Tuteur : Jacques

Plus en détail

Introduction à l Informatique

Introduction à l Informatique Introduction à l Informatique. Généralités : Etymologiquement, le mot informatique veut dire «traitement d information». Ceci signifie que l ordinateur n est capable de fonctionner que s il y a apport

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

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

Plus en détail

Projet de cryptographie. Algorithme de cryptage de type Bluetooth

Projet de cryptographie. Algorithme de cryptage de type Bluetooth Projet de cryptographie Algorithme de cryptage de type Bluetooth Le but de ce projet est de créer une application qui crypte et décrypte des fichiers en utilisant le principe de cryptage du Bluetooth.

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Morgan Beau Nicolas Courazier

Morgan Beau Nicolas Courazier EPSI - 2010 Rapport projet IA Conception et mise en œuvre d un générateur de systèmes experts Morgan Beau Sommaire Cahier des charges 3 Présentation générale 4 Analyse et modélisation 6 Le moteur d inférence

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

MarioUS Plombier génétique. IFT615 Intelligence artificielle. IFT630 Processus concurrents et parallélisme

MarioUS Plombier génétique. IFT615 Intelligence artificielle. IFT630 Processus concurrents et parallélisme MarioUS Plombier génétique IFT615 Intelligence artificielle IFT630 Processus concurrents et parallélisme Présenté par Gabriel P. Girard 07 173 738 Marc-Alexandre Côté 07 166 997 Simon Renaud-Deputter 07

Plus en détail

TPS 5 : Prise en main du système de Développement IMAP137L. Préparation. Objectifs : Manipulation :

TPS 5 : Prise en main du système de Développement IMAP137L. Préparation. Objectifs : Manipulation : TPS 5 : Prise en main du système de Développement IMAP137L Préparation 1. Prendre connaissance de l annexe de ce TP et revoir les pages 110-126 du cours. 2. Quels sont les principaux constituants du Système

Plus en détail

PROJET EHPTMMMORPGSVR

PROJET EHPTMMMORPGSVR PROJET EHPTMMMORPGSVR Déroulement du projet Tableau d avancement : https://docs.google.com/spreadsheets/d/1aq1odbyaavk_rcxdcvowvz9kvmzy8nc5f1p26at2ufq/e dit?usp=sharing Tous d abord, nous avons installé

Plus en détail

Rapport de projet IMA4

Rapport de projet IMA4 Rapport de projet IMA4 Dessin 3D en environnement immersif Alexandre Jouy Romain Libaert 1 Table des matières Remerciements... 3 Introduction... 4 1. Le système ART-Track... 5 1.1. Présentation générale...

Plus en détail

Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup

Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup Serveur d intégration continue Jenkins et d analyse de code Sonar couplés à la forge logiciel SourceSup Sébastien MEDARD GIP RENATER 263 avenue du Général Leclerc CS 74205 35042 Rennes Cedex Résumé L intégration

Plus en détail

Projet de Machines Virtuelles

Projet de Machines Virtuelles Projet de Machines Virtuelles Gabriel Kerneis Vendredi 11 mars 2011 1 Introduction Le but de ce sujet est d implémenter la MARS (Memory Array Redcode Simulator), une machine virtuelle utilisée dans le

Plus en détail

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

utbm SET Stamp Partage convivial de photos HAJJAM-EL-HASSANI Amir GRÉA Antoine TISSERAND Geoffrey TX52 Travaux de laboratoire

utbm SET Stamp Partage convivial de photos HAJJAM-EL-HASSANI Amir GRÉA Antoine TISSERAND Geoffrey TX52 Travaux de laboratoire Printemps 2012 TX52 Travaux de laboratoire Stamp Partage convivial de photos Création d'une application Android de partage convivial de photographies. utbm université de technologi e Belfort-Montbéliard

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

Sauvegardes sous Windows 2003 server. 2. Comment effectuer une sauvegarde?

Sauvegardes sous Windows 2003 server. 2. Comment effectuer une sauvegarde? Sauvegardes sous Windows 2003 server http://www.supinfo-projects.com/fr/2005/save%5f2003/2/ 2. Comment effectuer une sauvegarde? 2.1. En utilisant l'assistant sauvegarde (avancé) Cette partie du document

Plus en détail

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

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

Plus en détail

III - PROGRAMMATION EN ASSEMBLEUR

III - PROGRAMMATION EN ASSEMBLEUR III - PROGRAMMATION EN ASSEMBLEUR 3.1 Introduction à la programmation en assembleur Pour programmer un ordinateur on utilise généralement des langages dits évolués ou de haut niveau : C, C++, Java, Basic,

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

StockMalin l application pour les brocanteurs!

StockMalin l application pour les brocanteurs! StockMalin l application pour les brocanteurs! Conçue en intégralité par Quentin Comte-Gaz StockMalin Gestion de stock/clients/fournisseurs en ligne (2014) 1/15 Sommaire Introduction...3 PARTIE 1 : DESCRIPTION

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Les modèles technologiques de la localisation

Les modèles technologiques de la localisation Les modèles technologiques de la localisation Les modèles technologiques de la localisation Cécile Martin Université Rennes 2 Avant d entrer en détails dans les modèles technologiques de la localisation,

Plus en détail

Braquelaire Tristan Sollaud Timothée IN-501-A1 SHOAL. Projet de Réseau et Programmation Objet 2012 / 2013. Note de Synthe se

Braquelaire Tristan Sollaud Timothée IN-501-A1 SHOAL. Projet de Réseau et Programmation Objet 2012 / 2013. Note de Synthe se Braquelaire Tristan Sollaud Timothée IN-501-A1 SHOAL Projet de Réseau et Programmation Objet 2012 / 2013 Note de Synthe se Sommaire I. Présentation générale :...1 A. La Connexion :... 1 B. L interface

Plus en détail

Introduction à la programmation

Introduction à la programmation Chapitre 2 Introduction à la programmation Nous avons vu, dans le chapitre précédent, ce qu est un algorithme et un certain nombre de façons pour exécuter les algorithmes à la main. Nous allons voir, dans

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

TP Informatique 1 Présentation prise en main Visual Studio

TP Informatique 1 Présentation prise en main Visual Studio TP Informatique 1 Présentation prise en main Visual Studio But : prise en en main visual studio 1ères notions Variable Informatique : domaine d'activité scientifique, technique et industriel en rapport

Plus en détail

Classes et templates C++

Classes et templates C++ Classes et templates C++ Ce TP propose une application des classes, des templates et du polymorphisme au travers du design de classes permettant de gérer des courbes de Bézier. Contents 1 Bézier unidimensionnelle

Plus en détail

Logiciel de statistiques pour le Volley-ball

Logiciel de statistiques pour le Volley-ball Lucas society Logiciel de statistiques pour le Volley-ball Partie Modèle Anthony 13 Table des matières I) Préambule...2 1) Motivation...2 2) Contrainte...2 II) Introduction...3 1) Le travail en équipe...3

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Types et performances des processeurs

Types et performances des processeurs Types et performances des processeurs Laboratoire de Systèmes Logiques Structure d un ordinateur contrôle processeur traitement séquenceur registres mémoire entrées/sorties micromémoire opérateurs bus

Plus en détail

Cadre de gestion du risque de fraude Rapport d audit Rapport n o 5/14 2 septembre 2014

Cadre de gestion du risque de fraude Rapport d audit Rapport n o 5/14 2 septembre 2014 Diffusion : Cadre de gestion du risque de fraude Rapport d audit Rapport n o 5/14 2 septembre 2014 Destinataires : Président et chef de la direction Premier vice-président et chef de la direction financière

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

Plus en détail

Application de gestion de tâche

Application de gestion de tâche Université de Montpellier 2 Rapport TER L3 Application de gestion de tâche Tuteur : M. Seriai Participant : Cyril BARCELO, Mohand MAMMA, Feng LIU 1 er Fevrier 2015 26 Avril 2015 Table des matières 1 Introduction

Plus en détail

RÉSUMÉ DU TRAVAIL DE DIPLÔME

RÉSUMÉ DU TRAVAIL DE DIPLÔME Filière d'informatique de gestion Travail de diplôme ÉTUDE ORACLE XE & APEX RÉSUMÉ DU TRAVAIL DE DIPLÔME AUTEUR: BRUNO DA COSTA RESPONSABLE DU PROJET: FABRICE CAMUS MANDANT: LABORATOIRE DE GÉNIE LOGICIEL

Plus en détail

ASP. Etape par étape. 1ère partie : Introduction à asp.net. (Révision : 2 du 05/11/2004 13 pages) Avertissement :

ASP. Etape par étape. 1ère partie : Introduction à asp.net. (Révision : 2 du 05/11/2004 13 pages) Avertissement : ASP Etape par étape 1ère partie : Introduction à asp.net (Révision : 2 du 05/11/2004 13 pages) Avertissement : Ce document peut comporter des erreurs. Cependant, tout a été mis en œuvre afin de ne pas

Plus en détail

Convertisseur de monnaies

Convertisseur de monnaies Convertisseur de monnaies La logique algorithmique en première STG Propriétés Intitulé long Formation concernée Matière Notions Présentation Pré-requis Outils Mots-clés Auteur(es) Version 1.0 Description

Plus en détail

Module "Installer et configurer un PC"

Module Installer et configurer un PC Rapport d'activités Module "Installer et configurer un PC" (i-ch/ict 304) Auteur : Rafael Ruiz Classe : 1IIN Mandataire(s) : PLu Date : 14 novembre 2013 rapport d'activité.odt 1 / 11 PLu : 14/11/2013 Table

Plus en détail

Poker. A rendre pour le 25 avril

Poker. 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étail

Dossier projet isn 2015 par Victor Gregoire

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

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu d échec valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

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

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

Plus en détail

TP de programmation DSP pour le traitement d'image ISBS2/SP 13 2011-2012

TP de programmation DSP pour le traitement d'image ISBS2/SP 13 2011-2012 TP de programmation DSP pour le traitement d'image ISBS2/SP 13 2011-2012 Introduction 1.1 Objectifs Le TP sur carte EVM6437 s'étend sur une séance de 4 heures. Vous aurez l'occasion durant ces séances

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

Calcul de moyenne de portrait

Calcul de moyenne de portrait Calcul de moyenne de portrait Dupont Maurane & Bourriaud Typhaine TS2 Mon CV. 1 Présentation POURQUOI CE PROJET : Parmi la liste des projets proposés pour le bac, ce sujet m a semblé le plus attrayant.

Plus en détail

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri Types et langages de programmation Algorithmique et Programmation Unisciel/K.Zampieri 1 Généalogie partielle des langages de programmation FORTRAN BASIC PL/1 PROLOG ALGOL60 COBOL C PASCAL ADA MODULA-2

Plus en détail

START AIR SAFE PROJECT AF 10/04/2014. Par corentin RICOU & William BOBO

START AIR SAFE PROJECT AF 10/04/2014. Par corentin RICOU & William BOBO START AIR SAFE PROJECT AF 10/04/2014 Par corentin RICOU & William BOBO TABLE DES MATIÈRES Table des matières Introduction 1 les besoins 1 platforme de travail 2 Conception 3 Architecture 3 Réalisation

Plus en détail

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

Plus en détail

Tutoriel. octave, logiciel de calcul matriciel

Tutoriel. octave, logiciel de calcul matriciel Version 001 Tutoriel octave, logiciel de calcul matriciel Auteur : Jean-Louis Gutzwiller. Dernière modification : 19 mai 2010 Jean-Louis.Gutzwiller@supelec.fr - 2 / 10 - Table des matières 1 Objectif de

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux 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

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

RAPPORT PROJET PROFESSIONNEL. Outil de Prévision de l Eau Facturée

RAPPORT PROJET PROFESSIONNEL. Outil de Prévision de l Eau Facturée RAPPORT PROJET PROFESSIONNEL Outil de Prévision de l Eau Facturée Présenté par Ugo BOESSO et Emilie DELIAT 07 Philippe AUDRA.,... Tuteur académique Hugo BOURGEOIS, Lyonnaise des Eaux... Tuteur professionnel

Plus en détail

Imprimer sur Caldera depuis un client distant

Imprimer sur Caldera depuis un client distant Imprimer sur Caldera depuis un client distant À partir de Mac OS X... 1 Récupération des fichiers nécessaires...1 Via le serveur web intégré...1 Via les fichiers partagés...2 Installation et configuration

Plus en détail

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants»

Compte-Rendu SDL. «Reprise de l application de gestion de listes de présences des alternants» Compte-Rendu SDL Auteurs : BOUTROUILLE Alexis BAILLEUL Pierre Tuteur : Ioan Marius Bilasco «Reprise de l application de gestion de listes de présences des alternants» Master MIAGE 1 Année 2012/2013 1 Remerciements

Plus en détail

La programmation sous Android : Quels sont les moyens disponibles?

La programmation sous Android : Quels sont les moyens disponibles? La programmation sous Android : Quels sont les moyens disponibles? Cet article présente plusieurs manières, plusieurs méthodes pour arriver à coder pour Android. Nous commencerons par la programmation

Plus en détail

Plateforme AnaXagora. Guide d utilisation

Plateforme AnaXagora. Guide d utilisation Table des matières 1. PRESENTATION DE LA PLATE-FORME D APPRENTISSAGE ANAXAGORA... 3 2. ARCHITECTURE FONCTIONNELLE... 4 3. L APPRENTISSAGE... 5 3.1. L ESPACE DE TRAVAIL... 5 3.1.1. Le calendrier... 5 4.

Plus en détail

S E C U R I N E T S C l u b d e l a s é c u r i t é i n f o r m a t i q u e I N S A T. Atelier IDS. Snort. Outil de Détection d intrusion

S E C U R I N E T S C l u b d e l a s é c u r i t é i n f o r m a t i q u e I N S A T. Atelier IDS. Snort. Outil de Détection d intrusion Atelier IDS Snort Outil de Détection d intrusion Introduction Les systèmes de détection d intrusion ou IDS pour (Intrusion Detection System) sont indispensables pour la sécurité du réseau, ils permettent

Plus en détail

Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

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

Livret du Stagiaire en Informatique

Livret du Stagiaire en Informatique Université François-Rabelais de Tours Campus de Blois UFR Sciences et Techniques Département Informatique Livret du Stagiaire en Informatique Licence 3ème année Master 2ème année Année 2006-2007 Responsable

Plus en détail

Soutien scolaire au collège Michelet 2006-2007

Soutien scolaire au collège Michelet 2006-2007 Soutien scolaire au collège Michelet 2006-2007 Membres du PIF : DE BAZELAIRE Marc DUCASSE Marie-Laure GRIMAL Clément LAFFAYE Nicolas PAILLASSA David Marraine : Madame Danielle ANDREU (professeur à l'enseeiht)

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Contexte PPE GSB CR. Analyse. Projet réalisé :

Contexte PPE GSB CR. Analyse. Projet réalisé : Contexte PPE GSB CR Le laboratoire est issu de la fusion entre le géant américain Galaxy et le conglomérat Swiss Bourdin. Cette fusion a eu pour but de moderniser l activité de visite médicale et de réaliser

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Sollaud Timothée Girard Alexis. Rapport de projet

Sollaud Timothée Girard Alexis. Rapport de projet Sollaud Timothée Girard Alexis Rapport de projet 20 avril 2012 Table des matières Introduction 3 1 Présentation du projet......................................... 3 2 Présentation de l environnement de

Plus en détail

RAPPORT DE STAGE GENERATION DE TESTS POUR AMELIORER DES OUTILS DE CALCUL DE TEMPS D'EXECUTION PIRE CAS

RAPPORT DE STAGE GENERATION DE TESTS POUR AMELIORER DES OUTILS DE CALCUL DE TEMPS D'EXECUTION PIRE CAS Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE GENERATION DE TESTS POUR AMELIORER DES OUTILS DE CALCUL DE TEMPS D'EXECUTION PIRE CAS Laboratoire d'accueil : Verimag

Plus en détail

La hiérarchie du système DNS

La hiérarchie du système DNS LA RÉSOLUTION DE NOMS 1. PRÉSENTATION DU SYSTÈME DNS 1.1 INTRODUCTION À LA RÉSOLUTION DE NOMS Pour pouvoir communiquer, chaque machine présente sur un réseau doit avoir un identifiant unique. Avec le protocole

Plus en détail

GUIDE D INSTALLATION. Logiciel Gestion des matières dangereuses résiduelles (GMDR) Édition janvier 2015 version 1.4 (logiciel GMDR 7.

GUIDE D INSTALLATION. Logiciel Gestion des matières dangereuses résiduelles (GMDR) Édition janvier 2015 version 1.4 (logiciel GMDR 7. GUIDE D INSTALLATION Logiciel Gestion des matières dangereuses résiduelles (GMDR) Édition janvier 2015 version 1.4 (logiciel GMDR 7.0) TABLE DES MATIÈRES Page INTRODUCTION... 1 1. Vérification des préalables

Plus en détail

Contrôle Architecture des microprocesseurs Durée 2 heures

Contrôle Architecture des microprocesseurs Durée 2 heures Contrôle Architecture des microprocesseurs Durée 2 heures Tous les documents personnels (cours, TD, TP) sont autorisés. La machine à calculer est autorisée. La qualité de la présentation sera prise en

Plus en détail

Dossier- Projet Informatique et science du numérique

Dossier- Projet Informatique et science du numérique Dossier- Projet Informatique et science du numérique Laetitia BIZOT avec la participation Eve ETIENNE Année 2014 Table des matières I. But du projet... 2 1. L enjeu du projet... 2 2. La problématique...

Plus en détail

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415

Projet Informatique. Philippe Collet. Licence 3 Informatique S5 2014-2015. http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Projet Informatique Philippe Collet Licence 3 Informatique S5 2014-2015 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Réalisation d'un développement de taille conséquente? r Firefox? Ph.

Plus en détail

Les composantes d'une application et la logique de programmation

Les composantes d'une application et la logique de programmation Chapitre 10 Les composantes d'une application et la logique de programmation Introduction La mise en situation propose d'étudier le principe de fonctionnement d'une application sous forme d'une base de

Plus en détail

Installer SharePoint Foundation 2010 sur Windows 7

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

Plus en détail

Langage procédural C

Langage procédural C Langage procédural Le langage C Laboratoire ISIR (email: ouarti@isir.upmc.fr) 2012 Qu est ce qu un algorithme Ici nous n étudierons que les algorithmes séquentiels Chaque instruction se fait l une à la

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

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

Plus en détail

Compte rendu de PHP MySQL : création d un formulaire de base de données

Compte rendu de PHP MySQL : création d un formulaire de base de données REVILLION Joris Décembre 2009 3EI Compte rendu de PHP MySQL : création d un formulaire de base de données Objectifs : Le principal objectif de ce cours est de découvrir et de nous familiariser avec le

Plus en détail

Notions de langage machine

Notions de langage machine Notions de langage machine 18 décembre 2009 Rappels et introduction Architecture de Van Neumann : Processeur = UC + UAL Mémoire interne au processeur = les registres (soit seulement l accumulateur, soit

Plus en détail

Département informatique de l université d Angers

Département informatique de l université d Angers Département informatique de l université d Angers Amélioration d'un logiciel d'émulation du fonctionnement d'un microprocesseur x8 6 SCHAEFFER Florian ROUSSEAUX Billy L3 Informatique Responsable du projet:

Plus en détail

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008.

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008. 1 CONCEPT DE BASE 1.1 Visual Basic 6 1.1.1 Pour quoi faire? VB est un langage de type RAD : «Rapid Application Development». Il permet de créer des applications rapidement grâce à une conception simple

Plus en détail

AD-Sign : Signature automatique des mails avec Outlook. AD-Sign v1.0. Signature automatique des mails Avec Outlook 97/2000/XP/2003

AD-Sign : Signature automatique des mails avec Outlook. AD-Sign v1.0. Signature automatique des mails Avec Outlook 97/2000/XP/2003 AD-Sign v1.0 Signature automatique des mails Avec Outlook 97/2000/XP/2003 Groupe Prodware Page 1/8 Table des matières 1. INTRODUCTION... 3 2. COMPOSANTS D AD-SIGN... 3 3. LE SCRIPT SIGNATURES.VBS... 4

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

UNIVERSITE BORDEAUX MONTAIGNE - DÉPARTEMENT MMI

UNIVERSITE BORDEAUX MONTAIGNE - DÉPARTEMENT MMI UNIVERSITE BORDEAUX MONTAIGNE - DÉPARTEMENT MMI Projet Tuteuré - Deuxième Année Site de la RMMS de la Réole Etudiants : Menor Dimitri Lu Cong Sang Maxime Traveaux Olivier Nouvet Pierre Tuteur : M. Emery

Plus en détail

CONCLUSIONS. Par rapport aux résultats obtenus, on peut conclure les idées suivantes :

CONCLUSIONS. Par rapport aux résultats obtenus, on peut conclure les idées suivantes : CONCLUSIONS L application de la PNL à l entreprise est confrontée aux besoins des leaders d équipe, tels que: la gestion de son propre développement, du stress, la résolution des problèmes tels que les

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

Julien Rosener (julien.rosener@digital-scratch.org) Le contrôle CRC. 17/05/2004 : Rajout des références

Julien Rosener (julien.rosener@digital-scratch.org) Le contrôle CRC. 17/05/2004 : Rajout des références Historique des versions Le contrôle CRC 03/05/2004 : Création du document 17/05/2004 : Rajout des références Sommaire 1 Introduction... 1 2 Rappel sur l'arithmétique sur les nombres binaire...2 2.1 L'opérateur

Plus en détail

Mesure d'une concentration en dioxygène à l'aide d'une carte Arduino reliée à une sonde de Clark

Mesure d'une concentration en dioxygène à l'aide d'une carte Arduino reliée à une sonde de Clark Mesure d'une concentration en dioxygène à l'aide d'une carte Arduino reliée à une sonde de Clark DOMENJOD Quentin GAMIN Cécile TS1 Projet ISN 2014/2015 Lycée Antoine Roussin SOMMAIRE Présentation......p3

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

CHOISIR LES BONS MOTS CLES POUR SON

CHOISIR LES BONS MOTS CLES POUR SON CHOISIR LES BONS MOTS CLES POUR SON REFERENCEMENT Blog: http://collegedesbruyeres.site50.net/ 1 PRESENTATION DU POSITIONNEMENT A) Promesse ou valeur utilisateur Le site du collège des Bruyères se distinguera

Plus en détail

ARFGA. 7. Dossier de formation. Association Romande pour la Formation des Gardiens d'animaux

ARFGA. 7. Dossier de formation. Association Romande pour la Formation des Gardiens d'animaux 7. Le dossier de formation collecte les rapports d apprentissage et doit être complété régulièrement. Il est très important pour deux raisons : d une part, et selon l'opan, la personne en formation est

Plus en détail

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Le 29 novembre 2013, Rapport projet TS114 COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Par Marc BELLINGER et Antoine BINON. 2eme année Télécommunications. 1 Introduction : Le but de ce projet est d implémenter

Plus en détail

HERVIEU Valentin ODDON Agathe LU Jigang. SI28 - Projet intéractif. Initiation à la langue chinoise

HERVIEU Valentin ODDON Agathe LU Jigang. SI28 - Projet intéractif. Initiation à la langue chinoise HERVIEU Valentin ODDON Agathe LU Jigang SI28 - Projet intéractif Initiation à la langue chinoise 1 Introduction En tant que groupe franco-chinois et étudiants en génie informatique, nous avons décidé d

Plus en détail

Analyse d'un réseau social

Analyse d'un réseau social Licence 2, Semestre 3 2012 Projet Programmation Orientée Objet BRIDOUX Florian KEITH Bruno DUPRE-PAWLAK Sandra 1 Sommaire I) Présentation du Projet. 1. Projet demandé 2. Projet réalisé II) Diagrammes de

Plus en détail

Introduction à la Programmation Sylvain Tisserant

Introduction à la Programmation Sylvain Tisserant INFO 1 Introduction à la Programmation Sylvain Tisserant Mes coordonnées Enseignant-Chercheur Professeur au département IRM depuis sa création (ES2I, ESIL, Polytech Marseille) Directeur du département

Plus en détail