ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE

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

Download "ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE"

Transcription

1 ÉCOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE INFORMATIQUE LOG2410 Conception logicielle Solutionnaire examen final Automne 2008 Documentation : Aucune Calculatrice : Aucune Date : 13 décembre 2008 Cet examen comprend 5 questions sur 14 pages Répondre sur le cahier de réponse Question 1 Analyse (15 pts) En considérant les récents événements politiques, le Directeur Général des Élections vous approche, vous et votre entreprise, pour faire l'analyse et la conception d'un système de vote électronique qui portera le nom de POLY-VOTE. Suite à des rencontres avec plusieurs intervenants impliqués dans le projet, voici les notes prises par votre équipe sur les différents aspects du futur système de votation : I Configuration matérielle Chacun des bureaux de votes sera équipés de 10 appareils de vote automatiques. Chaque appareil sera relié à un serveur central via une connexion sécurisée. Le serveur central aura accès aux données du Directeur Général des Élections. Les appareils de votes électroniques seront utilisés avant, pendant et après les élections. II Utilisation du système pour la préparation de l'élection Avant le jour de l'élection, différentes tâches devront être effectuées par un administrateur du système pour faire la gestion des partis politiques qui prendront part aux élections. L'administrateur pourra consulter la liste des partis, ajouter un nouveau parti politique autorisé, enlever un parti existant ou modifier les informations sur un parti (le nom du chef,...). III Utilisation du système le jour de l'élection Le jour même de l'élection, les électeurs se rendront à un poste de vote électronique situé dans leur arrondissement pour enregistrer leur vote. Ils pourront alors visualiser la liste des partis politiques inscrits dans leur comté, puis, après s'être dument identifiés, ils pourront voter pour leur parti politique préféré. L'identité de l'électeur sera vérifiée par un Page 1 sur 15

2 employé à l'aide d'un registre fourni par le Directeur Général des Élections. De plus, pour voter, l'électeur utilisera une carte d électeur qui sera lue par le système. Cette carte d électeur, que l'électeur aura reçue par la poste, comportera un numéro d identification unique. Cette carte sera validée par le Directeur Général des élections (via le serveur central) qui s'assurera que chaque carte n'est utilisée qu'une seule fois. Lorsque la carte aura été validée, le système se déverrouillera et l'électeur pourra entrer son vote en complétant un bulletin que lui aura remis l employé d élection, puis en insérant le bulletin dans le lecteur de l appareil de vote. Ce vote sera enregistré localement et sur le serveur central sans aucune référence à l'électeur, gardant ainsi le vote confidentiel. L appareil de vote produira un son pour confirmer que le vote a bien été enregistré. L'enregistrement et la transmission des bulletins au serveur seront bien entendu encryptés pour en assurer la confidentialité. IV Utilisation du système après le vote Lorsque les bureaux de vote seront officiellement fermés, les scrutateurs utiliseront le système pour comptabiliser les votes. Tout d'abord, une vérification sera faite pour s'assurer que les données locales correspondent à celles présentes sur le serveur central pour détecter une éventuelle fraude. Par la suite, un scrutateur pourra récupérer le résultat du vote. Il aura accès aux données globales, pour chacun des comtés et pour chacun des partis politiques. Sur la base de ces notes, et en vous fiant à votre expertise en matière d'élection, on vous demande de : a) (4 pts) Tracer un diagramme de cas d utilisation de haut niveau (diagramme de contexte) pour le système POLY-VOTE. b) (4 pts) Fournissez une description en format étendu du scénario normal d un électeur qui désire enregistrer son vote pour un parti politique. c) (3 pts) Tracer une première ébauche d architecture logicielle pour le système POLY-VOTE qui respecte les principes d architecture à 3 couches. d) (1 pt) Dans quelle direction les communications doivent-elles circuler dans une architecture multi couches? Utilisez le diagramme fait en c) comme exemple pour illustrer votre réponse. e) (3 pts) Tracer le diagramme de séquence correspondant au cas d utilisation décrit en b). Page 2 sur 15

3 Réponses: 1-a) Figure 1 : Diagramme de contexte Page 3 sur 15

4 1-c) Figure 2 : Diagramme de paquetage 1-d) Dans une architecture multi couches, les communications doivent aller des couches supérieures vers les couches inférieures. Idéalement, elles devraient passer par des façades. En b), les éléments de la couche Présentation communiquent directement avec la couche de la logique d application, mais pas l inverse. De même façon, la couche de la logique d application communique avec la couche de sauvegarde et non l inverse. Page 4 sur 15

5 1-e) Figure 3 : Diagramme de séquence de Voter pour un parti politique Question 2 Conception (17 pts) En considérant la mise en situation de la question précédente, le petit nouveau de votre entreprise vous présente le diagramme de classe suivant pour vous expliquer de quelle façon fonctionneront les communications entre le client et le serveur. Figure 4 : Client-Serveur Vous lui expliquez qu il serait préférable d utiliser le patron Proxy. a) (1 pt) Donnez l intention du patron Proxy Page 5 sur 15

6 b) (4 pts) Modifiez le diagramme de classe fourni pour y intégrer le patron Proxy et expliquez comment fonctionneront les communications entre le client et le serveur. Questions générales c) ( 9 pts ) Pour chacun des diagrammes de classes ci-dessous, identifiez le nom du patron de conception, son intention et une courte description de son fonctionnement : d) ( 3 pts ) Voici la définition d une classe pour gérer les objets d une scène 3D : class CSceneManager Page 6 sur 15

7 CSceneManager( void ) ~CSceneManager() void Initialize( void ) void Update( void ) void Render( void ) void Clear( void ) void AddObject( CSceneObject* obj ) void RemoveObject( const int i ) private: vector<csceneobject*> m_sceneobjects; Sachant que cette classe doit être unique, ré implémentez la en forme de singleton et donner l intention de ce patron. Notez bien qu on ne doit pas être en mesure de la copier aussi. Réponses : 2-a) Fournir un remplaçant ou une doublure pour un autre objet afin de contrôler l accès à ce dernier. 2-b) Les communications entre le client et le serveur se font via les proxys. Le client interroge sont Proxy_Serveur comme s il s agissait d un serveur local. Ce dernier est responsable de transmettre les requêtes au Serveur_POLY_VOTE. Le Proxy_Serveur sait comment accéder au serveur qu il soit local ou distant. Si le type de communication change, il suffit de remplacer le Proxy_Serveur. L impact sur le client est ainsi minimiser. Page 7 sur 15

8 Figure 5 :Application du patron proxy 2c 1 ) Patron Chain of Responsability Intention : Éviter de coupler l émetteur et le récepteur d une requête en donnant la possibilité à plus d un objets de traiter la requête. 2 ) Patron Composite Intention : Traiter les objets individuels et les objets multiples, composés récursivement, de façon uniforme. 3 ) Patron Abstract Factory Intention : Procure une interface permettant de créer une famille d objets connexes ou dépendants sans spécifier leurs classes concrètes. 2d class CSceneManager static CSceneManager* GetInstance( void ) if( m_instance == NULL ) m_instance = new CSceneManager(); return m_instance; void Initialize( void ) void Update( void ) void Render( void ) void Clear( void ) void Free( void ) Page 8 sur 15

9 delete m_instance; m_instance = NULL; void AddObject( CSceneObject* obj ) void RemoveObject( const int i ) private: static CSceneManager* m_instance; CSceneManager( void ) ~CSceneManager( void ) Free(); CSceneManager ( const CSceneManager & ); CSceneManager& operator = ( const CSceneManager& ); vector<csceneobject*> m_sceneobjects; // Dans le *.cpp CSceneManager* CSceneManager::m_Instance = NULL; Page 9 sur 15

10 Question 3 Héritage et polymorphisme (10 pts) a) (1,5 pts) Quelle est la différence entre une fonction virtuelle, une fonction virtuelle pure et une fonction non-virtuelle? b) (3 pts) Que sera-t-il affiché à l écran suite à l exécution du programme suivant : #include <iostream> using namespace std; class A A( void ) cout << "A::A()" << endl; virtual ~A() cout << "A::~A()" << endl; void methode1( void ) cout << "A::methode1()" << endl; virtual void methode2( void ) cout << "A::methode2()" << endl; virtual void methode3( void )=0 cout << "A::methode3()" << endl; class B : public A B( void ) : A() cout << "B::B()" << endl; virtual ~B() cout << "B::~B()" << endl; void methode3( void ) cout << "B::methode3()" << endl; virtual void methode4( void ) cout << "B::methode4()" << endl; class C : public B C( void ) : B() cout << "C::C()" << endl; virtual ~C() cout << "C::~C()" << endl; void methode1( void ) cout << "C::methode1()" << endl; void methode2( void ) cout << "C::methode2()" << endl; void methode3( void ) cout << "C::methode3()" << endl; void methode5( void ) cout << "C::methode5()" << endl; int main( int argc, char** argv ) B b; C c; A* pab = &b; A* pac = &c; pab->methode1(); pac->methode1(); cout << endl; Page 10 sur 15

11 pab->methode2(); pac->methode2(); cout << endl; pab->methode3(); pac->methode3(); cout << endl; return 0; c) (1.5 pts) Donnez les tables virtuelles des classes A, B et C d) (1 pt) Que faut-il constater en tant que programmeur lorsque le destructeur d une classe n est pas virtuel? Pourquoi? e) (3 pts) Si nous ajoutons les classes suivantes au projet courant : class D D( void ) virtual ~D() virtual void methode3() cout << "D::methode3()" << endl; class E : public C, public D E( void ) : C(), D() virtual ~E() Expliquez l erreur obtenue par la ligne suivante : E e; cout << e.methode3() << endl; Que faut-il faire pour être en mesure de surcharger la fonction methode3() dans la classe E? Bref nous aimerions pouvoir conserver le polymorphisme est utiliser la classe E comme telle : E e; A* pae = &e; D* pde = &e; pae->methode3(); pde->methode3(); Écrivez le code qui nous permettra d obtenir le fonctionnement désiré. Page 11 sur 15

12 Réponses : 3a Méthode virtuelle: méthode pouvant être surchargée dans les classes enfant Méthode virtuelle pure: méthode devant être surchargées dans les classes enfant Méthode non-virtuelle: méthode ne pouvant pas être surchargée 3b A::A() B::B() A::A() B::B() C::C() A::methode1() A::methode1() A::methode2() C::methode2() B::methode3() C::methode3() C::~C() B::~B() A::~A() B::~B() A::~A() 3c Tables virtuelles : Offset Classe A Classe B Classe C 0 A ::~A() B ::~B() C ::~C() 4 A ::methode2() A ::methode2() C ::methode2() 8 NULL B ::methode3() C ::methode3() 12 B ::methode4() B ::methode4() 3d Cette classe n a pas été conçue pour être héritée et utilisée de façon polymorphique. Le compilateur se base sur le type du pointeur et non sur l objet pointé. Donc, si nous gérons notre objet dérivé avec un pointeur de base, seul le destructeur de la classe de base sera appelé. 3e 1) Compilateur génére une erreur car l appel à la fonction est ambigue. 2) class CAux : public C CAux() : C() Page 12 sur 15

13 virtual ~CAux() void methode3() Cmethode3(); virtual void Cmethode3() = 0; class DAux : public D DAux() : D() virtual ~DAux() void methode3() Dmethode3(); virtual void Dmethode3() = 0; class E : public CAux, public DAux E( void ) : CAux(), DAux() virtual ~E() void Cmethode3() cout << "E::Cmethode3()" << endl; void Dmethode3() cout << "E::Dmethode3()" << endl; Question 4 Gestion des exceptions (3 pts) a) (1,5 pts) Voici trois déclarations de fonction différentes : void methode1( void ) throw "Exception methode1()"; void methode2( void ) throw() throw "Exception methode2()"; void methode3( void ) throw( int ) throw "Exception methode3()"; Pour chacune expliquez la suite du déroulement de l application si elle lance son exception. b) (0,5 pt) Quelle est l affichage du programme suivant : #include <iostream> #include <exception> using namespace std; class A A( void ) throw() ~A() throw "A::~A()"; class B B( void ) : m_a() throw "B::B()"; Page 13 sur 15

14 ~B() throw() A m_a; void NewTerminate() cout << "Nouveau Terminate!" << endl; abort(); void NewUnexpected() cout << "Nouveau Unexpected!" << endl; int main( int argc, char** argv ) set_unexpected( NewUnexpected ); set_terminate( NewTerminate ); try B b; catch( char* exception ) cout << "Exception : " << exception << endl; catch(... ) cout << "On attrape le reste!" << endl; return 0; c) (1 pt) Selon vous a-t-il une meilleure façon de gérer les exceptions dans le code présenté en b)? Pourquoi? Réponses : 4a Methode1 remonte la pile des appels jusqu à l endroit ou cette erreur peut être traitée. S il n y a pas de catch correspondant terminate() appelé. Methode2 est déclarée avec une liste vide donc unexpected() sera appelé suivi de terminate() Methode3 réagira comme methode2 car sa liste contient seulement le type int. Page 14 sur 15

15 4b Nouveau Terminate! 4c - Ne jamais lancer d exception dans un destructeur car on ne sait pas quand il sera appeler soit lors de sa destruction normale ou sinon en remontant la pile lors du traitement d une exception. Selon le standard c++ terminate sera invoqué si deux exceptions simultanées sont lancées. - Si c est absolument nécessaire de lancer l exception dans le destructeur, une solution possible serait de l avalé avec catch( ) puis écrire l exception dans un log. Question Bonus ( 1 pt ) Soit le code suivant : for( int i = 0; i < 100; i++ ) if(???????????? ) cout << i << endl; Écrire la condition du if pour afficher seulement les chiffres de puissance de 2. Réponse :!( i & ( i - 1 ) ) Page 15 sur 15

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

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

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

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

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

Plus en détail

Introduction à l héritage en C++

Introduction à l héritage en C++ Algorithmique/Langage 1ère année Introduction à l héritage en C++ Yacine BELLIK IUT d Orsay Yacine.Bellik@iut-orsay.fr 1 Bibliographie Ce cours est basé sur le livre suivant : Programmer en C++, 5ème édition

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

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

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

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

et Programmation Objet

et Programmation Objet FACULTE POLYTECHNIQUE DE MONS Service d Informatique et Programmation Objet Mohammed Benjelloun 2 ème Bachelier Année académique 2008-2009 Table des matières Avant-propos--------------------------------------------------------------------------

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

Corrigés des premiers exercices sur les classes

Corrigés des premiers exercices sur les classes Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.

Plus en détail

Ingénérie logicielle dirigée par les modèles

Ingénérie logicielle dirigée par les modèles Ingénérie logicielle dirigée par les modèles Destercq Lionel & Dubuc Xavier 17 décembre 2009 Table des matières 1 Introduction 1 2 Diagrammes de classes 1 2.1 Principal..............................................

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Génie Logiciel I Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M.

Plus en détail

Plan Pédagogique du cours

Plan Pédagogique du cours Plan Pédagogique du cours Module: Programmation Orientée Objet Section : informatique Niveau : 3 ème niveau (gestion, industriel, réseau) Volume Horaire : 22,5 heures Cours Intégrés + 45 Travaux Pratiques

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

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

Plus en détail

PROJET 1 : BASE DE DONNÉES REPARTIES

PROJET 1 : BASE DE DONNÉES REPARTIES PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties

Plus en détail

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

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

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Derrière toi Une machine virtuelle!

Derrière toi Une machine virtuelle! Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

Calcul Parallèle. Cours 5 - JAVA RMI

Calcul Parallèle. Cours 5 - JAVA RMI Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation

Plus en détail

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

LOG4430 : Architecture et conception avancée

LOG4430 : Architecture et conception avancée LOG4430 : Architecture et conception avancée Abdou Maiga Patrons pour la conception d applications distribuées Département de génie informatique et de génie logiciel École Polytechnique de Montréal Guéhéneuc,

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

COMPARAISONDESLANGAGESC, C++, JAVA ET

COMPARAISONDESLANGAGESC, C++, JAVA ET REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

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

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5 Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur

Plus en détail

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

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

Plus en détail

Documentation Annexe sur le PGI :

Documentation Annexe sur le PGI : Documentation Annexe sur le PGI : Notions de droits utilisateurs Dans un environnement informatisé Gestion des dossiers : Création Sauvegarde Restauration Documentation Annexe sur le PGI EBP Open Line:

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object Facultés Universitaires Notre-Dame de la Paix Conception et Programmation Orientées- Object 2008-2009 RÉSUMÉ PRATIQUE... 4 CLASSE OBJET... 4 NOTION D HÉRITAGE... 4 LE POLYMORPHISME... 5 LES CLASSES ABSTRAITES...

Plus en détail

Dis papa, c est quoi un bus logiciel réparti?

Dis papa, c est quoi un bus logiciel réparti? Dis papa, c est quoi un bus logiciel réparti? Raphael.Marvie@lifl.fr LIFL IRCICA Equipe GOAL Octobre 2006 10. Des sockets aux bus logiciels répartis 1 0. Une application répartie 2 Objectif Découvrir la

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier 1. Installation de Windows Server 2003 Standard Edition (pour le serveur)

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier 1. Installation de Windows Server 2003 Standard Edition (pour le serveur) Atelier 1 Préparation des machines virtuelles Installation de Windows Server 2003 Standard Edition (pour le serveur) Installation de Windows XP Professionnel (pour le client) Configuration du protocole

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Envoyer et recevoir son courrier

Envoyer et recevoir son courrier Envoyer et recevoir son courrier Ecrire un mail Ecrire à plusieurs destinataires Comment répondre à un message Après avoir rédigé un message Envoyer et recevoir son courrier Consulter son courrier sur

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

La base de données dans ArtemiS SUITE

La base de données dans ArtemiS SUITE 08/14 Vous préférez passer votre temps à analyser vos données plutôt qu à chercher un fichier? La base de données d ArtemiS SUITE vous permet d administrer et d organiser confortablement vos données et

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Création d objet imbriqué sous PowerShell.

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

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

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

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

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

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/

Plus en détail

1.6- Génération de nombres aléatoires

1.6- Génération de nombres aléatoires 1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

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

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Configuration d'un annuaire LDAP

Configuration d'un annuaire LDAP Le serveur Icewarp Configuration d'un annuaire LDAP Version 10.3 Juillet 2011 Icewarp France / DARNIS Informatique i Sommaire Configuration d'un annuaire LDAP 1 Introduction... 1 Qu'est-ce que LDAP?...

Plus en détail

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1 SPF FIN Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale Version 1.1 Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale Date: 17/06/2004 Historique

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C++ 1. 16.mars.10 Cours 4 11.mai.10 Cours C++ 2

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C++ 1. 16.mars.10 Cours 4 11.mai.10 Cours C++ 2 2ème partie de cours: 23.fév.10 Cours 1 20.avr.10 TEST 24.fév.10 TP1 21.avr.10 miniprojet 26.fév.10 TP réserve 23.avr.10 miniprojet 2.mars.10 Cours 2 27.avr.10 Présentation miniprojet 3.mars.10 TP2 28.avr.10

Plus en détail

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1. Plateforme PAYZEN Intégration du module de paiement pour la plateforme Magento version 1.3.x.x Paiement en plusieurs fois Version 1.4a Guide d intégration du module de paiement Multiple Magento 1/24 SUIVI,

Plus en détail

Introduction au langage C

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

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

Début de la procédure

Début de la procédure Service informatique Introduction au VPN sous Windows 7 Ce document décrit comment configurer votre ordinateur personnel pour pouvoir accéder au serveur d archives médicales du collège. Il contient deux

Plus en détail

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Programmation en C/C++

Programmation en C/C++ INSA de Lyon Département Génie Electrique Module IF1,IF3,IF4 Programmation en C/C++ Thomas Grenier Nicolas Ducros Tanneguy Redarce Lyon, le 3 mars 2015 2 / 63 Table des matières 1 Développement en C++

Plus en détail

EXIN Cloud Computing Foundation

EXIN Cloud Computing Foundation Exemple d examen EXIN Cloud Computing Foundation Édition Septembre 2012 Droits d auteur 2012 EXIN Tous droits réservés. Aucune partie de cette publication ne saurait être publiée, reproduite, copiée, entreposée

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

[APPLICATON REPARTIE DE VENTE AUX ENCHERES] 2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...

Plus en détail

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles Manuel d utilisation de la plate-forme de gestion de parc UCOPIA La mobilité à la hauteur des exigences professionnelles 2 Manuel d utilisation de la plate-forme de gestion de parc UCOPIA 1 Table des matières

Plus en détail

Une introduction à la technologie EJB (2/3)

Une introduction à la technologie EJB (2/3) Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

Plus en détail

Informatique III: Programmation en C++

Informatique III: Programmation en C++ Informatique III: Programmation en C++ Listes haînées Lundi 9 Janvier 2006 1 2 Introdution Les listes hainées permettent de stoker un nombre d objets qui n a pas besoin d être spéifié a priori. Rajouter

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

! #$ $ $ ! %#& ! '& ( )! )*+ ! "! "#$ $ $ ""! %#& """! '& ( ")! )*+ "! "#$ $ $ ""! %#& """! '& ( ")! )*+, ## $ *$-./ 0 - ## 1( $. - (/$ #,-".2 + -".234-5..'"6..6 $37 89-%:56.#&(#. +6$../.4. ;-37 /. .?.@A&.!)B

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

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

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

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

Plus en détail

TEPZZ 6Z85Z5A T EP 2 608 505 A2 (19) (11) EP 2 608 505 A2 (12) DEMANDE DE BREVET EUROPEEN

TEPZZ 6Z85Z5A T EP 2 608 505 A2 (19) (11) EP 2 608 505 A2 (12) DEMANDE DE BREVET EUROPEEN (19) TEPZZ 6Z8ZA T (11) EP 2 608 0 A2 (12) DEMANDE DE BREVET EUROPEEN (43) Date de publication: 26.06.13 Bulletin 13/26 (21) Numéro de dépôt: 12197432.3 (1) Int Cl.: H04M 3/487 (06.01) H04M 7/00 (06.01)

Plus en détail