AL5L Architecture logicielle. Séance 2 Design patterns et qualité de code

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

Download "AL5L Architecture logicielle. Séance 2 Design patterns et qualité de code"

Transcription

1 AL5L Architecture logicielle Séance 2 Design patterns et qualité de code Sébastien Combéfis lundi 24 novembre 2014

2 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution Pas d Utilisation Commerciale Pas de Modification 4.0 International.

3 Objectifs Découvrir en détails plusieurs design patterns Comprendre un design pattern Identifier quand et comment appliquer un design pattern Comprendre et utiliser des critères de qualité de code Évaluer la qualité d un code Réfactorer un code en vue de l améliorer 3

4 Première partie Design patterns

5 Design pattern Un design pattern est une solution à un problème commun Solution répétable à appliquer en design de logiciel Il s agit d un modèle qui décrit comment résoudre le problème Il ne s agit pas de code tout fait à simplement importer Accélère le développement logiciel Solution testée et prouvée adaptée pour chaque problème 5

6 Catégories I Trois catégories principales et 23 patterns Établies par le Gang of Four (GoF) en Patterns de construction (Creational) Instanciation de classes 2 Patterns structuraux (Structural) Composition de classes et d objets 3 Patterns comportementaux (Behavioural) Communication entre objets 6

7 Catégories II Les 23 patterns du GoF Construction Structurel Comportemental Abstract factory Adapter Chain of responsibility Builder Bridge Command Factory method Composite Interpreter Prototype Decorator Iterator Singleton Facade Mediator Flyweight Memento Proxy Observer State Strategy Template method Visitor 7

8 Les design patterns vous simplifient la vie! 8

9 Trois exemples Pattern Builder Construction d objets complexes Pattern Facade Interface client pour un sous-système Pattern Template Squelette d algorithme 9

10 Le pattern Builder Séparation de la construction d un objet et de son implémentation Builders Director Builder Builder 1 Builder 2... Product 1 Product

11 Contexte et application Algorithme de création d un objet complexe Indépendant de comment les objets sont assemblés Processus de construction générique Sur base d une classe abstraite 11

12 Acteurs Builder Classe abstraite pour la création de parties du produit ConcreteBuilder Construit et assemble les parties du produit Director Construit un objet en utilisant l interface Builder Product L objet complexe en cours de construction 12

13 Exemple I p u b l i c f i n a l c l a s s SebBurgerMenu private s t a t i c enum S i z e SMALL, MEDIUM, LARGE ; private s t a t i c enum Burger CLASSIC, CHEESE, BACON ; private s t a t i c enum Drink COCA, SPRITE, FANTA ; private s t a t i c enum D e s s e r t CHURROS, DONUT ; p r i v a t e f i n a l S i z e s i z e ; p r i v a t e f i n a l Burger b u r g e r ; p r i v a t e f i n a l Drink d r i n k ; p r i v a t e f i n a l D e s s e r t d e s s e r t ; p u b l i c s t a t i c f i n a l c l a s s B u i l d e r //... p r i v a t e SebBurgerMenu ( B u i l d e r b u i l d e r ) s i z e = b u i l d e r. s i z e ; b u r g e r = b u i l d e r. b u r g e r ; d r i n k = b u i l d e r. d r i n k ; d e s s e r t = b u i l d e r. d e s s e r t ; 13

14 Exemple II p u b l i c s t a t i c f i n a l c l a s s B u i l d e r // R e q u i r e d p r i v a t e f i n a l S i z e s i z e ; p r i v a t e f i n a l Burger b u r g e r ; p r i v a t e f i n a l Drink d r i n k ; // O p t i o n a l p r i v a t e D e s s e r t d e s s e r t ; p u b l i c B u i l d e r ( S i z e s i z e, Burger burger, Drink d r i n k ) t h i s. s i z e = s i z e ; t h i s. b u r g e r = b u r g e r ; t h i s. d r i n k = d r i n k ; p u b l i c B u i l d e r d e s s e r t ( D e s s e r t d e s s e r t ) t h i s. d e s s e r t = d e s s e r t ; r e t u r n t h i s ; p u b l i c SebBurgerMenu b u i l d ( ) r e t u r n new SebBurgerMenu ( t h i s ) ; 14

15 Exemple III p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) // Simple menu avec f r i t e s, burger et boisson SebBurgerMenu menu = new SebBurgerMenu. B u i l d e r ( S i z e. SMALL, Burger. CHEESE, Drink. SPRITE ). b u i l d ( ) ; System. out. p r i n t l n ( menu ) ; // Menu avancé avec un d e s s e r t en p l u s SebBurgerMenu. Builder b u i l d e r = new SebBurgerMenu. Builder ( S i z e. LARGE, Burger.BACON, Drink.COCA ) ; b u i l d e r. d e s s e r t ( D e s s e r t.donut) ; System. out. p r i n t l n ( b u i l d e r. b u i l d ( ) ) ; 15

16 Le pattern Facade Point d entrée unifié pour accéder aux fonctionnalités offertes par un sous-système Client Client Subsystem class Subsystem class Subsystem class Subsystem class Subsystem 16

17 Le pattern Facade Point d entrée unifié pour accéder aux fonctionnalités offertes par un sous-système Client Client Facade Subsystem class Subsystem class Subsystem class Subsystem class Subsystem 16

18 Contexte et application Interface simplifiée d un sous-système pour certains clients Le sous-système reste complètement accessible L implémentation peut changer, mais l interface reste stable La façade fait le lien avec des interfaces du sous-système Diminuer le couplage avec le sous-système Couplage avec les clients ou avec d autres sous-systèmes 17

19 Acteurs Facade Connait les classes responsables des requêtes Délégue les requêtes clients aux objets appropriés Classes du sous-système Ne savent pas qu elles sont derrière une façade Gèrent les requêtes transmises par le façade Implémentent les fonctionnalités du sous-système 18

20 Le pattern Template Définir le squelette d un algorithme et définir certaines opérations dans des sous-classes Client Abstract Concrete 1 Concrete 2 19

21 Contexte et application Plusieurs algorithmes avec des parties variables Factorisation de parties communes dans une sous-classe On remonte les parties communes dans la classe mère Impose un contrôle sur la liberté des sous-classes Par la définition de «hook» 20

22 Acteurs Abstract class Définit des opérations primitives abstraites Définit le squelette d un algorithme, basé sur les primitives Concrete class Implémente les opérations primitives 21

23 Exemple I c l a s s S o r t e r : metaclass = ABCMeta # Trie l e tableau tab d e f s o r t ( s e l f, tab ) : w h i l e not s e l f. _ i s S o r t e d ( tab ) : f o r i i n range ( l e n ( tab ) 1 ) : i f ( s e l f. _compare ( tab [ i ], tab [ i + 1 ] ) > 0 ) : s e l f. _swap ( tab, i, i + 1) # I n t e r v e r t i t l e s v a l e u r s d i n d i c e i e t j dans tab d e f _swap ( s e l f, tab, i, j ) : tab [ i ], tab [ j ] = tab [ j ], tab [ i ] # Teste s i l e t a b l e a u tab e s t t r i é d e f _ i s S o r t e d ( s e l f, tab ) : f o r i i n range ( l e n ( tab ) 1 ) : i f s e l f. _compare ( tab [ i ], tab [ i + 1 ] ) > 0 : r e t u r n F a l s e r e t u r n True # Compare x e t y # <0 s i x v i e n t avant y # >0 s i x v i e n t a p r è s y # =0 s i n o d e f _compare ( s e l f, x, y ) : pass 22

24 Exemple II # T r i par o r d r e c r o i s s a n t c l a s s A s c S o r t e r ( S o r t e r ) : d e f _compare ( s e l f, x, y ) : r e t u r n x y # T r i par o r d r e d é c r o i s s a n t c l a s s D e s c S o r t e r ( S o r t e r ) : d e f _compare ( s e l f, x, y ) : r e t u r n y x i f name == " main " : tab = [ 7, 2, 9, 5] p r i n t ( tab ) s o r t e r = A s c S o r t e r ( ) s o r t e r. s o r t ( tab ) p r i n t ( tab ) s o r t e r = D e s c S o r t e r ( ) s o r t e r. s o r t ( tab ) p r i n t ( tab ) 23

25 Autres patterns GoF patterns Concurrency patterns Patterns utilisés lors de la programmation multithread (Double-checking locking, Lock, Monitor, Thread pool...) Architectural patterns Patterns avec une portée plus large que les design patterns (Interceptor, MVC, n-tier, Active record...) 24

26 Deuxième partie Qualité de code

27 Refactoring I Transformation de code qui préserve son comportement A change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behaviour Martin Fowler Objectifs Rendre plus facile l ajout de nouveau code Améliorer le design du code existant Mieux comprendre un code Rendre le code moins ennuyeux 26

28 Refactoring II 27

29 Refactoring III Ne faire du refactoring que sur du code fonctionnel et testé Jeux de tests pour s assurer que le refactoring n a rien altéré Les problèmes de design proviennent de code......dupliqué...pas clair...compliqué 28

30 Code smell Les 22 code smells de Fowler et Beck Alternative classes with Long method different interfaces Comments Long parameter list Data class Message chains Data clumps Middle man Divergent change Parallel inheritance hierarchies Duplicated code Primitive obsession Feature envy Refused bequest Inappropriate intimacy Shotgun surgery Incomplete library class Speculative generality Large class Switch statements Lazy class Temporary field 29

31 Bien commenter son code! 30

32 Choisir ses noms 31

33 Duplicated code Deux formes de code dupliqué Duplication explicite de code identique Structure ou processus similaire Solutions Template design pattern Chain constructor... 32

34 Exemple p u b l i c f i n a l c l a s s Contact // I n s t a n c e v a r i a b l e s p r i v a t e String firstname ; p r i v a t e S t r i n g lastname ; p r i v a t e Address address ; // C o n s t r u c t o r s p u b l i c Contact ( S t r i n g l a s t n a m e ) t h i s. l a s t n a m e = l a s t n a m e ; p u b l i c Contact ( String firstname, String lastname ) t h i s. f i r s t n a m e = f i r s t n a m e ; t h i s. l a s t n a m e = l a s t n a m e ; p u b l i c Contact ( S t r i n g f i r s t n a m e, S t r i n g lastname, Address a d d r e s s ) t h i s. f i r s t n a m e = f i r s t n a m e ; t h i s. l a s t n a m e = l a s t n a m e ; t h i s. a d d r e s s = a d d r e s s ; 33

35 Après refactoring p u b l i c f i n a l c l a s s Contact p r i v a t e String firstname ; p r i v a t e S t r i n g lastname ; p r i v a t e Address address ; p u b l i c Contact ( S t r i n g l a s t n a m e ) t h i s ( n u l l, lastname, n u l l ) ; p u b l i c Contact ( String firstname, String lastname ) t h i s ( f i r s t n a m e, lastname, n u l l ) ; p u b l i c Contact ( S t r i n g f i r s t n a m e, S t r i n g lastname, Address a d d r e s s ) t h i s. f i r s t n a m e = f i r s t n a m e ; t h i s. l a s t n a m e = l a s t n a m e ; t h i s. a d d r e s s = a d d r e s s ; 34

36 Long method Méthode dont le corps comporte beaucoup d instructions Ne possède pas une seule fonctionnalité Limite la réutilisabilité Difficile à comprendre Solutions Compose method Extract method... 35

37 Exemple i n t main ( ) i n t data [ 1 5 ] ; // I n i t i a l i s a t i o n i n t i ; f o r ( i = 1 ; i <= 1 5 ; i ++) data [ i 1 ] = 42; // A f f i c h a g e p r i n t f ( " [ " ) ; i n t j ; f o r ( j = 0 ; j < 1 5 ; j ++) i f ( j == 14) p r i n t f ( "%d ", data [ j ] ) ; e l s e p r i n t f ( "%d, ", data [ j ] ) ; p r i n t f ( " ] \ n " ) ; r e t u r n 0 ; 36

38 Après refactoring v o i d f i l l T a b ( i n t data, i n t N, i n t v a l u e ) i n t i ; f o r ( i = 0 ; i < N; i ++) data [ i ] = v a l u e ; v o i d p r i n t T a b ( i n t data, i n t N) p r i n t f ( "[%d ", tab [ 0 ] ) ; i n t j ; f o r ( j = 1 ; j < N; j ++) p r i n t f ( ", %d ", data [ j ] ) ; p r i n t f ( " ] \ n " ) ; i n t main ( ) i n t N = 1 5 ; i n t data [N ] ; f i l l T a b ( data, N, 4 2 ) ; printtab ( data, N ) ; r e t u r n 0 ; 37

39 Large class Grosse classe... God Class Trop de variables d instance Trop de responsabilités Solutions Extract class Extract subclass... 38

40 Exemple c l a s s Student d e f i n i t i a l i z e ( f i r s t n a m e, lastname, day, month, year, s t u d y y e a r, c o u r s e s l i s t f i r s t n a m e = f i r s t n a m = l a s t n a m = = = y e a s t u d y y e a r = s t u d y y e a c o u r s e l i s t = c o u r s e s l i s t end d e f p r i n t n a m e puts "#@ firstname #@lastname " end d e f b i r t h y e a end d e f age end d e f i s r e g i s t e r e d ( c o u r s e c o u r s e l i s t. i n c l u d e? c o u r s e end end 39

41 Après refactoring I c l a s s Date d e f i n i t i a l i z e ( day, month, y e a r = = = y e a r end a t t r _ r e a d e r end : y e a r c l a s s Person d e f i n i t i a l i z e ( f i r s t n a m e, lastname, b i r t h d a t e f i r s t n a m e = f i r s t n a m = l a s t n a m b i r t h d a t e = b i r t h d a t e end d e f p r i n t n a m e puts "#@ firstname #@lastname " end d e f age birthdate. year end end 40

42 Après refactoring II c l a s s Student < Person d e f i n i t i a l i z e ( f i r s t n a m e, lastname, b i r t h d a t e, s t u d y y e a r, c o u r s e s l i s t ) s u p e r ( f i r s t n a m e, lastname, b i r t h d a t e s t u d y y e a r = s t u d y y e a c o u r s e l i s t = c o u r s e s l i s t end a t t r _ r e a d e r : c o u r s e s l i s t d e f i s r e g i s t e r e d ( c o u r s e c o u r s e l i s t. i n c l u d e? c o u r s e end end 41

43 Refactoring et développement agile Itérations courtes : développement, test, refactoring... Le refactoring ne doit pas affecter les fonctionnalités existantes Idéalement, tests après chaque transformation du code 42

44 Exemple I <html> <head>< t i t l e>mon A p p l i c a t i o n</ t i t l e></ head> <body> <h1>a c c u e i l</h1> <u l> < l i ><a h r e f=" page1. htm">page 1</a></ l i > < l i ><a h r e f=" page2. htm">page 2</a></ l i > < l i ><a h r e f=" page3. htm">page 3</a></ l i > </ u l> </ body> </ html> <html> <head>< t i t l e>mon A p p l i c a t i o n</ t i t l e></ head> <body> <h1>page 1</h1> <u l> < l i ><a h r e f=" page1 1.htm">Page 1</a></ l i> < l i ><a h r e f=" page1 2.htm">Page 2</a></ l i> </ u l> </ body> </ html> 43

45 Exemple II <html> <head>< t i t l e>a c c u e i l</ t i t l e></ head> < s c r i p t type=" t e x t / j a v a s c r i p t " s r c=" j q u e r y min. j s "></ s c r i p t> < s c r i p t type=" t e x t / j a v a s c r i p t " s r c=" s c r i p t. j s "></ s c r i p t> <body> <u l i d=" menu1 "> < l i ><a h r e f=" page1. htm">page 1</a></ l i > < l i ><a h r e f=" page2. htm">page 2</a></ l i > < l i ><a h r e f=" page3. htm">page 3</a></ l i > </ u l> <u l i d=" menu2 " s t y l e=" d i s p l a y : none "> < l i ><a h r e f=" page1 1.htm">Page 1</a></ l i> < l i ><a h r e f=" page1 2.htm">Page 2</a></ l i> </ u l> </ body> </ html> $ ( f u n c t i o n ( ) $ ( # menu1 li a:nth - child (1) ). c l i c k ( f u n c t i o n ( ) $ ( # menu1 ). h i d e ( ) ; $ ( # menu2 ). show ( ) ; ) ; ) ; 44

46 Exemple III <html> <head>< t i t l e>a c c u e i l</ t i t l e></ head> < s c r i p t type=" t e x t / j a v a s c r i p t " s r c=" j q u e r y min. j s "></ s c r i p t> < s c r i p t type=" t e x t / j a v a s c r i p t " s r c=" s c r i p t. j s "></ s c r i p t> <body> <u l i d="menu"></ u l> </ body> </ html> " data " : [ "id" : " menu1 ", " content " : [ " name " : " Page 1", " url " : " page1. html ", " name " : " Page 2", " url " : " page2. html ", " name " : " Page 3", " url " : " page3. html " ], "id" : " menu2 ", " content " : [ " name " : " Page 1", " url " : " page1-1. html ", " name " : " Page 2", " url " : " page1-2. html " ] ] $ ( f u n c t i o n ( ) $. getjson ( "data.json ", f u n c t i o n ( data ) //... $ ( # menu ). html ( c o n t e n t ) ; ) ; ) ; 45

47 Troisième partie Gestion de projet

48 L outil Trello 47

49 Crédits Photos des livres depuis Amazon 48

Analyse,, Conception Objet

Analyse,, Conception Objet Analyse,, Conception Objet Design Patterns Introduction Sommaire Conception Réutilisabilité Bibliothèque de classe vs. Framework Design Pattern Historique Catégories de Patterns Bibliographie O. Boissier,

Plus en détail

Plan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet

Plan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet Plan Patrons de conception Philippe Collet Master 1 Informatique 2005-2006 http://deptinfo.unice.fr/twiki/bin/view/minfo/gloo Introduction Premier exemple Principes et classification Présentation des patrons

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

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

LOG4430 : Architecture logicielle et conception avancée

LOG4430 : Architecture logicielle et conception avancée LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique

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

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Introduction à ElasticSearch

Introduction à ElasticSearch Introduction à ElasticSearch Présentée par : Romain Pignolet Lundi 7 Juillet 2014 Sommaire 1 Présentation de Elasticsearch 2 Installation et exemples simples 3 API Rest 4 Comment fonctionne Elasticsearch?

Plus en détail

Design patterns. Design patterns - définition. Design patterns - avantages

Design patterns. Design patterns - définition. Design patterns - avantages Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern

Plus en détail

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE

GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE GOUVERNANCE DES IDENTITES ET DES ACCES ORIENTEE METIER : IMPORTANCE DE CETTE NOUVELLE APPROCHE RÉSUMÉ Depuis des années, les responsables de la sécurité de l information et les responsables opérationnels

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

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

WINDOWS SHAREPOINT SERVICES 2007

WINDOWS SHAREPOINT SERVICES 2007 WINDOWS SHAREPOINT SERVICES 2007 I. TABLE DES MATIÈRES II. Présentation des «content types» (Type de contenu)... 2 III. La pratique... 4 A. Description du cas... 4 B. Création des colonnes... 6 C. Création

Plus en détail

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles Laurent PY CEO, Smartesting Laurent.py@smartesting.com @py_laurent www.smartesting.com Guillaume Coquelle Testeur,

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Les Bonnes PRATIQUES DU TEST LOGICIEL

Les Bonnes PRATIQUES DU TEST LOGICIEL Les Bonnes PRATIQUES DU TEST LOGICIEL SOMMAIRE Qu est-ce que le test logiciel? Pourquoi le test est-il un maillon crucial de l ingénierie logicielle? Quels sont les différents types de tests? Qu est-ce

Plus en détail

Orchestrer son cloud OpenStack avec Heat

Orchestrer son cloud OpenStack avec Heat Orchestrer son cloud OpenStack avec Heat Adrien Cunin adrien.cunin@osones.com Osones 7 juillet 2014 Adrien Cunin (Osones) Orchestrer son cloud OpenStack avec Heat 7 juillet 2014 1 / 43 Adrien Cunin (Osones)

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Retour d expérience RATP Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Les intervenants Alexis Bourgeois Chef de projet MOE (front web)

Plus en détail

Savoir- Faire Offres mé1ers Offres technologiques

Savoir- Faire Offres mé1ers Offres technologiques www.neuros.fr Savoir- Faire Offres mé1ers Offres technologiques! Audit et conseil (stratégie, organisation, urbanisation )! Assistance à maîtrise d'ouvrage! Développement d'applications métiers! Migration

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

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

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Modélisation UML. Christine Solnon 2013-2014. INSA de Lyon - 3IF 1/140.

Modélisation UML. Christine Solnon 2013-2014. INSA de Lyon - 3IF 1/140. 1/140. Modélisation UML Christine Solnon INSA de Lyon - 3IF 2013-2014 Introduction Positionnement de l UE / IF Domaines d enseignement du département IF : Système d Information Réseaux Architectures matérielles

Plus en détail

Bases de données - Modèle relationnel

Bases de données - Modèle relationnel Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS) FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE Database as a Service (DBaaS) 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may

Plus en détail

Agile&:&de&quoi&s agit0il&?&

Agile&:&de&quoi&s agit0il&?& Association Nationale des Directeurs des Systèmes d Information &:&de&quoi&s agit0il&?& Pierre Delort, Président, Association Nationale des DSI http://www.andsi.fr/tag/delort/ Document confidentiel Ne

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Conférence SIG 2011 Versailles 5-6 Octobre 2011 Atelier Technique ArcGIS for Server en 10.1

Conférence SIG 2011 Versailles 5-6 Octobre 2011 Atelier Technique ArcGIS for Server en 10.1 Conférence SIG 2011 Versailles 5-6 Octobre 2011 Atelier Technique ArcGIS for Server en 10.1 Gaëtan LAVENU Plan de la présentation Vision Installation et Configuration Architecture Publication de services

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

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

Plus en détail

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015 Retour d expérience Le rôle du Business Analyst chez Orange Nadia Magarino & Christophe Dufour 29 avril 2015 Plus de 161 000 salariés à votre service mobile entreprises internet et fixe Plus de 161 000

Plus en détail

XP DAY 2009 26 mai. Erwan Alliaume Nicolas Le Coz

XP DAY 2009 26 mai. Erwan Alliaume Nicolas Le Coz Qualité du code source et intégration continue XP DAY 2009 26 mai Erwan Alliaume Nicolas Le Coz www.xebia.fr / blog.xebia.fr Sommaire de la présentation La démarche Intégration continue Comment faire du

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon L Y O N Département Informatique Année 2011/2012 Rapport de Synthèse Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon Laboratoire Ptidej de L Ecole Polytechnique de Montréal

Plus en détail

IFT785 Approches Orientées Objets. FINAL Été 2002. Remise : Jeudi 19 août 2002 à 9h00 am

IFT785 Approches Orientées Objets. FINAL Été 2002. Remise : Jeudi 19 août 2002 à 9h00 am IFT785 Approches Orientées Objets FINAL Été 2002 2 e session d examen Début : Lundi 16 septembre 2002 à 9h00 am Remise : Jeudi 19 août 2002 à 9h00 am Professeur : Sylvain GIROUX Note : /100 points Remarques

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

SYSTÈMES D INFORMATIONS

SYSTÈMES D INFORMATIONS SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.

Plus en détail

Les méthodes Agile. Implication du client Développement itératif et incrémental

Les méthodes Agile. Implication du client Développement itératif et incrémental Les méthodes Agile Simon ALEXANDRE - CETIC Plan Overview Agile ne signifie pas Agile signifie Objectifs poursuivis Pourquoi les méthodes Agile apparaissent-elles? Principales causes des échecs de projets

Plus en détail

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES Département Informatique UFR Sciences 2 Boulevard Lavoisier 49045 Angers Cedex 01 Auteur : Jean-Michel Richer Email : jean-michel.richer@univ-angers.fr

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Architecture Agile et développement durable

Architecture Agile et développement durable Architecture Agile et développement durable FÉLIX-ANTOINE BOURBONNAIS B.ING., M.SC., PSM Agile Tour Québec 2014 5 novembre 2014 http://www.internetlivestats.com/ ^ 2 Je suis formateur et coach Je fournis

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations

Plus en détail

Formula Negator, Outil de négation de formule.

Formula Negator, Outil de négation de formule. Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Vers une meilleure gouvernance des plateformes d ingénierie

Vers une meilleure gouvernance des plateformes d ingénierie Vers une meilleure gouvernance des plateformes d ingénierie Vincent Chartier 2012 IBM Corporation La mise en œuvre d une plateforme d ingénierie est complexe Intégrations entre produits nombreuses et complexes

Plus en détail

Architecture distribuée

Architecture distribuée Architecture distribuée Conception et développement d algorithmes distribués pour le moteur Baboukweb Jean-Christophe DALLEAU Département de Mathématiques et Informatique Université de La Réunion 26 juin

Plus en détail

tech days AMBIENT INTELLIGENCE

tech days AMBIENT INTELLIGENCE tech days 2015 AMBIENT INTELLIGENCE techdays.microsoft.fr techdays.microsoft.fr Time To Market Demande croissante des métiers de réduire le délai de mise sur le marché Immédiateté Ergonomie, rapidité et

Plus en détail

Présentation du Modèle de Référence pour les Bibliothèques FRBR

Présentation du Modèle de Référence pour les Bibliothèques FRBR Submitted on: 03.08.2015 Présentation du Modèle de Référence pour les Bibliothèques FRBR French translation of the original paper: Introducing the FRBR Library Reference Model. Traduit par : Mélanie Roche,

Plus en détail

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia Pour l architecte de solutions web Table des matières Présentation générale... 3 Des outils disparates.... 4 Une gestion

Plus en détail

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003.

Par Laurent DESECHALLIERS. Mastère Spécialisé en Management de Projets en Milieu Industriel. CESI de Rouen Promotion 2002/2003. JAVA et Design Pattern Page 1/26 JAVA et Design Pattern Etude des Pattern Design Modélisation UML, Etude et critique des implémentations Java Par Laurent DESECHALLIERS Mastère Spécialisé en Management

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

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

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.) Atelier «Science du projet» séance 4 8 novembre 2008 Compte rendu 1. Sébastien Larribe : la méthode AGILE, méthode de gestion de projet Sébastien Larribe part de l hypothèse que des méthodes de conception,

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

CP Upgrade Guide HOPEX V1R1 FR. Révisé le : 25 octobre 2013. Créé le : 16 juillet 2012. Auteur : Jérôme Horber

CP Upgrade Guide HOPEX V1R1 FR. Révisé le : 25 octobre 2013. Créé le : 16 juillet 2012. Auteur : Jérôme Horber CP Upgrade Guide HOPEX V1R1 FR Révisé le : 25 octobre 2013 Créé le : 16 juillet 2012 Auteur : Jérôme Horber SOMMAIRE Sommaire... 2 Préambule... 3 Mettre à niveau les programmes HOPEX... 4 Mettre à niveau

Plus en détail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

Plus en détail

Accélérer la transformation de vos nouveaux modèles assurances

Accélérer la transformation de vos nouveaux modèles assurances Accélérer la transformation de vos nouveaux modèles assurances Enjeux critiques des systèmes de distribution Assurance Etude Accenture Assurances 2020 4 axes d amélioration : Articuler le SI Assurance

Plus en détail

WWW.MELDANINFORMATIQUE.COM

WWW.MELDANINFORMATIQUE.COM Solutions informatiques Procédure Sur Comment créer un premier Site SharePoint 2010 Historique du document Revision Date Modification Autor 3 2013-04-29 Creation Daniel Roy 1. But.4 2. Configuration..4

Plus en détail

Proxies,, Caches & CDNs

Proxies,, Caches & CDNs Proxies,, Caches & CDNs Anthony Busson Plan Exemple de page web simple Anatomie du téléchargement d une page web Problématique Définition : Proxy, Reverse Proxy Interception, Redirection Système de cache

Plus en détail

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet REALSENTRY TM Gestion, Performance et Sécurité des infrastructures Web La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet L authentification

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

vcloud Director Comment créer et gérer son «Cloud» Jean-Claude DAUNOIS Senior Systems Engineer VMware

vcloud Director Comment créer et gérer son «Cloud» Jean-Claude DAUNOIS Senior Systems Engineer VMware vcloud Director Comment créer et gérer son «Cloud» Jean-Claude DAUNOIS Senior Systems Engineer VMware «Rendre les choses compliquées est facile. Rendre les choses faciles est compliqué.» *Dicton informatique

Plus en détail

OSIATISBIZ UN SERVICE DESK HORS DU COMMUN EQUANT SOLUTIONBIZ PARTAGEONS NOS SAVOIRS EXTRAIT DU Nº9

OSIATISBIZ UN SERVICE DESK HORS DU COMMUN EQUANT SOLUTIONBIZ PARTAGEONS NOS SAVOIRS EXTRAIT DU Nº9 OSIATISBIZ PARTAGEONS NOS SAVOIRS EXTRAIT DU Nº9 SOLUTIONBIZ EQUANT UN SERVICE DESK HORS DU COMMUN Gilles Deprost, responsable Knowledge Management & Tools d Equant 2F LES PHASES CLÉS DU PROJET SYNERGY

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

3 Octobre 2013. Les Communautés MS

3 Octobre 2013. Les Communautés MS 3 Octobre 2013 Les Communautés MS Développement Office 365 et SharePoint 2013 : Apps ou pas Apps? Qui suis-je? Gilles Pommier Consultant sénior MCT et co-fondateur de la société SmartView http://www.smartview.fr

Plus en détail

Atelier Progress Rollbase

Atelier Progress Rollbase Atelier Progress Rollbase Laurent KIEFFER : laurent@progress.com 11 Février 2014 Demonstration Application 10 Min Atelier Progress Rollbase Introduction à Rollbase 1 Rollbase avec OpenEdge 6 2 Créer l

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin 2011. Talend 2010 1 Big Data Cyril Amsellem Consultant avant-vente 16 juin 2011 Talend 2010 1 Big Data Architecture globale Hadoop Les projets Hadoop (partie 1) Hadoop-Core : projet principal. HDFS : système de fichiers distribués

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Automatiser le Software-Defined Data Center avec vcloud Automation Center

Automatiser le Software-Defined Data Center avec vcloud Automation Center Automatiser le Software-Defined Data Center avec vcloud Automation Center 5 Juin 2014 2014 VMware Inc. All rights reserved. CONFIDENTIAL 2 Impact de l accélération du rythme de l entreprise DEMANDES CONSEQUENCES

Plus en détail

Séance 1 Introduction aux bases de données

Séance 1 Introduction aux bases de données Introduction aux bases de données Séance 1 Introduction aux bases de données Sébastien Combéfis mardi 24 février 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons

Plus en détail

L enseignement de méthodes agiles dans un contexte d apprentissage actif

L enseignement de méthodes agiles dans un contexte d apprentissage actif L enseignement de méthodes agiles dans un contexte d apprentissage actif Ruben González-Rubio Eugène Morin Balkrishna Sharma Gukhool Groupe ɛ X it C1-3019 Département de génie électrique et de génie informatique

Plus en détail

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu Daniel Roch Optimiser son référencement WordPress Référencement naturel (SEO) Préface d Olivier Andrieu Groupe Eyrolles, 2013, ISBN : 978-2-212-13714-9 Table des matières AVANT-PROPOS... 1 Pourquoi ce

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

Comment bien référencer mes sites internet? Les 100 SECRETS EN VIDÉO

Comment bien référencer mes sites internet? Les 100 SECRETS EN VIDÉO Comment bien référencer mes sites internet? Les 100 SECRETS EN VIDÉO éditions Page 2/14 A propos de l auteur... Souvent défini comme «sérial-créateur», Jean-Marie PÉRON est à l origine depuis 1992 d entreprises

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)

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

Urbanisation des systèmes d information

Urbanisation des systèmes d information Urbanisation des systèmes d information 29-08-2013 Université Lyon 1, 7 Novembre 2013 Présentation Julien VILLANTI (julien.villanti@worldline.net) Unité Public Santé Transport (département Contacts) Fonctions

Plus en détail

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE Projet de semestre ITI soir 4ème année Résumé configuration OpenVpn sur pfsense 2.1 Etudiant :Tarek

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

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Introduction a MongoDB Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail